[ Index ] WAROFGENERALS

PHP Cross Reference of WAROFGENERALS MODS SOURCES

title

Body

[close]

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

   1  Object Slth_GLAHole
   2  
   3    ; *** ART Parameters ***
   4    SelectPortrait           = SUHole_L
   5    ButtonImage              = SUHole_L
   6    Draw                     = W3DModelDraw  ModuleTag_01
   7      OkToChangeModelColor   = Yes
   8      ConditionState         = NONE
   9        Model                = UBHole
  10      End
  11      ConditionState         = DAMAGED
  12        Model                = UBHole_D
  13        ParticleSysBone      = Smoke01 SteamVent
  14      End
  15      ConditionState         = REALLYDAMAGED
  16        Model                = UBHole_E
  17        ParticleSysBone      = Smoke01 SteamVent
  18        ParticleSysBone      = Smoke02 SteamVent
  19        ParticleSysBone      = Fire01 GLAPowerPlantFlame
  20        ParticleSysBone      = Fire02 GLAPowerPlantFlame
  21        ParticleSysBone      = Fire03 GLAPowerPlantFlame
  22      End
  23    End
  24    
  25  ; ----------------- the door -------------------
  26    Draw                = W3DModelDraw ModuleTag_02
  27      OkToChangeModelColor   = Yes
  28      DefaultConditionState
  29        Model           = UBHole_A1
  30        Animation       = UBHole_A1.UBHole_A1
  31        AnimationMode   = MANUAL
  32        Flags           = START_FRAME_FIRST
  33      End
  34      ConditionState    = SOLD
  35        Model           = NONE
  36      End   
  37      ConditionState  = SOLD SNOW
  38         Model   = NONE
  39      End    
  40  
  41      ConditionState  = SOLD NIGHT
  42         Model   = NONE
  43      End    
  44  
  45      ConditionState  = SOLD NIGHT SNOW
  46         Model   = NONE
  47      End   
  48      ConditionState    = DAMAGED
  49        Model           = UBHole_A1D
  50        Animation       = UBHole_A1D.UBHole_A1D
  51        AnimationMode   = MANUAL
  52        Flags           = START_FRAME_FIRST
  53      End
  54      ConditionState    = DOOR_1_OPENING
  55        Model           = UBHole_A1
  56        Animation       = UBHole_A1.UBHole_A1
  57        AnimationMode   = ONCE
  58        Flags           = START_FRAME_FIRST
  59      End   
  60      ConditionState    = DOOR_1_OPENING DAMAGED
  61        Model           = UBHole_A1D
  62        Animation       = UBHole_A1D.UBHole_A1D
  63        AnimationMode   = ONCE
  64        Flags           = START_FRAME_FIRST
  65      End
  66      ConditionState    = DOOR_1_CLOSING
  67        Model           = UBHole_A1
  68        Animation       = UBHole_A1.UBHole_A1
  69        AnimationMode   = ONCE_BACKWARDS
  70        Flags           = START_FRAME_LAST
  71      End   
  72      ConditionState    = DOOR_1_CLOSING DAMAGED
  73        Model           = UBHole_A1D
  74        Animation       = UBHole_A1D.UBHole_A1D
  75        AnimationMode   = ONCE_BACKWARDS
  76        Flags           = START_FRAME_LAST
  77      End   
  78      ConditionState    = DOOR_1_WAITING_OPEN
  79        Model           = UBHole_A1
  80        Animation       = UBHole_A1.UBHole_A1
  81        AnimationMode   = MANUAL
  82        Flags           = START_FRAME_LAST
  83      End   
  84      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
  85        Model           = UBHole_A1D
  86        Animation       = UBHole_A1D.UBHole_A1D
  87        AnimationMode   = MANUAL
  88        Flags           = START_FRAME_LAST
  89      End
  90    End  
  91       
  92    PlacementViewAngle       = -135
  93  
  94    ; ***DESIGN parameters ***
  95    DisplayName       = OBJECT:GLAHole
  96    Side              = GLAStealthGeneral
  97    EditorSorting     = SYSTEM
  98    Prerequisites
  99      Object = Slth_GLACommandCenter
 100    End
 101    BuildCost         = 100
 102    BuildTime         = 10.0           ; in seconds
 103    EnergyProduction  = 0
 104    VisionRange       = 50.0           ; Shroud clearing distance
 105    ShroudClearingRange = 50
 106    ArmorSet
 107      Conditions      = None
 108      Armor           = StructureArmor
 109      DamageFX        = StructureDamageFXNoShake
 110    End
 111  
 112    ; *** AUDIO Parameters ***
 113    VoiceSelect = TunnelNetworkSelect
 114    SoundOnDamaged        = BuildingDamagedStateLight
 115    SoundOnReallyDamaged  = BuildingDestroy
 116  
 117    UnitSpecificSounds
 118      UnderConstruction     = UnderConstructionLoop
 119    End
 120  
 121    ; *** ENGINEERING Parameters ***
 122    RadarPriority     = STRUCTURE
 123    KindOf            = PRELOAD STRUCTURE SELECTABLE IMMOBILE REBUILD_HOLE CAN_SEE_THROUGH_STRUCTURE IMMUNE_TO_CAPTURE SCORE_DESTROY MP_COUNT_FOR_VICTORY
 124    Body              = StructureBody ModuleTag_03
 125      ; To set the health for a particular hole, edit the entry in the object
 126      ; that will leave the hole behind (edit the RebuildHoleExposeDie entry)
 127      MaxHealth       = 9999999.9  ;bigger than anything realistic we use
 128      InitialHealth   = 9999999.9  ;bigger than anything realistic we use
 129    End
 130    Behavior                    = RebuildHoleBehavior ModuleTag_04
 131      WorkerObjectName          = GLAInfantryWorker
 132      WorkerRespawnDelay        = 20000 ;in milliseconds
 133      HoleHealthRegen%PerSecond = 0.5%    ;regen this % of HoleMaxHealth per second
 134    End 
 135    
 136    Behavior             = CreateObjectDie ModuleTag_13
 137      CreationList  = OCL_LargeStructureDebris
 138    End
 139    Behavior             = FXListDie ModuleTag_14
 140      DeathFX       = FX_StructureSmallDeath
 141    End
 142    
 143    
 144    
 145    Geometry            = CYLINDER
 146    GeometryMajorRadius = 25.0
 147    GeometryHeight      = 5.0    
 148    GeometryIsSmall     = No
 149    Shadow              = SHADOW_VOLUME
 150    BuildCompletion     = PLACED_BY_PLAYER
 151  
 152  End
 153  
 154  
 155  
 156  
 157  
 158  
 159  ;------------------------------------------------------------------------------
 160  ;GLA Command Center
 161  Object Slth_GLACommandCenter
 162  
 163    ; *** ART Parameters ***
 164    SelectPortrait         = SUHeadquarters_L
 165    ButtonImage            = SUHeadquarters
 166  
 167  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
 168    UpgradeCameo1 = Upgrade_GLACamoNetting
 169  
 170    ; ----- The actual command center
 171    Draw                   = W3DModelDraw ModuleTag_01
 172       
 173      OkToChangeModelColor = Yes
 174      
 175      ; day
 176      ConditionState       = NONE
 177        Model              = UBCmdHQS
 178        ParticleSysBone    = Smoke01 SteamVent
 179        ParticleSysBone    = Fire01 SmolderingFire
 180        ParticleSysBone    = Fire01 SmolderingSmoke
 181        Animation          = UBCmdHQS.UBCmdHQS
 182        AnimationMode      = LOOP
 183      End
 184      
 185      ConditionState       = DAMAGED
 186        Model              = UBCmdHQS_D
 187        Animation          = UBCmdHQS_D.UBCmdHQS_D
 188        AnimationMode      = LOOP
 189      End
 190      ConditionState       = REALLYDAMAGED RUBBLE
 191        Model              = UBCmdHQS_E
 192        Animation          = UBCmdHQS_E.UBCmdHQS_E
 193        AnimationMode      = LOOP
 194      End    
 195      ConditionState         = GARRISONED
 196        Model                = UBCmdHQSE
 197        ParticleSysBone      = Smoke01 SmolderingSmoke
 198        Animation            = UBCmdHQSE.UBCmdHQSE
 199        AnimationMode        = LOOP
 200      End
 201      ConditionState         = DAMAGED GARRISONED
 202        Model                = UBCmdHQSE_D
 203        ParticleSysBone      = Smoke01 SmolderingSmoke
 204        Animation            = UBCmdHQSE_D.UBCmdHQSE_D
 205        AnimationMode        = LOOP
 206      End
 207      ConditionState         = REALLYDAMAGED GARRISONED
 208        Model                = UBCmdHQSE_E
 209        ParticleSysBone      = Smoke01 SmolderingSmoke
 210        Animation            = UBCmdHQSE_E.UBCmdHQSE_E
 211        AnimationMode        = LOOP
 212      End
 213  
 214      ; night    
 215      ConditionState       = NIGHT
 216        Model              = UBCmdHQS_N
 217        ParticleSysBone    = Smoke01 SteamVent
 218        ParticleSysBone    = Fire01 SmolderingFire
 219        ParticleSysBone    = Fire01 SmolderingSmoke
 220        Animation          = UBCmdHQS_N.UBCmdHQS_N
 221        AnimationMode      = LOOP
 222      End
 223      ConditionState       = DAMAGED NIGHT
 224        Model              = UBCmdHQS_DN
 225        Animation          = UBCmdHQS_DN.UBCmdHQS_DN
 226        AnimationMode      = LOOP
 227      End
 228      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
 229        Model              = UBCmdHQS_EN
 230        Animation          = UBCmdHQS_EN.UBCmdHQS_EN
 231        AnimationMode      = LOOP
 232      End
 233      ConditionState         = GARRISONED NIGHT
 234        Model                = UBCmdHQSE_N
 235        ParticleSysBone      = Smoke01 SmolderingSmoke
 236        Animation            = UBCmdHQSE_N.UBCmdHQSE_N
 237        AnimationMode        = LOOP
 238      End
 239      ConditionState         = DAMAGED GARRISONED NIGHT
 240        Model                = UBCmdHQSE_DN
 241        ParticleSysBone      = Smoke01 SmolderingSmoke
 242        Animation            = UBCmdHQSE_DN.UBCmdHQSE_DN
 243        AnimationMode        = LOOP
 244      End
 245      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
 246        Model                = UBCmdHQSE_EN
 247        ParticleSysBone      = Smoke01 SmolderingSmoke
 248        Animation            = UBCmdHQSE_EN.UBCmdHQSE_EN
 249        AnimationMode        = LOOP
 250      End
 251      
 252          ; day snow
 253      ConditionState       = SNOW
 254        Model              = UBCmdHQS_S
 255        ParticleSysBone    = Smoke01 SteamVent
 256        ParticleSysBone    = Fire01 SmolderingFire
 257        ParticleSysBone    = Fire01 SmolderingSmoke
 258        Animation          = UBCmdHQS_S.UBCmdHQS_S
 259        AnimationMode      = LOOP
 260      End   
 261      ConditionState       = DAMAGED SNOW
 262        Model              = UBCmdHQS_DS
 263        Animation          = UBCmdHQS_DS.UBCmdHQS_DS
 264        AnimationMode      = LOOP
 265      End
 266      ConditionState       = REALLYDAMAGED RUBBLE SNOW
 267        Model              = UBCmdHQS_ES
 268        Animation          = UBCmdHQS_ES.UBCmdHQS_ES
 269        AnimationMode      = LOOP
 270      End
 271      ConditionState         = GARRISONED SNOW
 272        Model                = UBCmdHQSE_S
 273        ParticleSysBone      = Smoke01 SmolderingSmoke
 274        Animation            = UBCmdHQSE_S.UBCmdHQSE_S
 275        AnimationMode        = LOOP
 276      End
 277      ConditionState         = DAMAGED GARRISONED SNOW
 278        Model                = UBCmdHQSE_DS
 279        ParticleSysBone      = Smoke01 SmolderingSmoke
 280        Animation            = UBCmdHQSE_DS.UBCmdHQSE_DS
 281        AnimationMode        = LOOP
 282      End
 283      ConditionState         = REALLYDAMAGED GARRISONED SNOW
 284        Model                = UBCmdHQSE_ES
 285        ParticleSysBone      = Smoke01 SmolderingSmoke
 286        Animation            = UBCmdHQSE_ES.UBCmdHQSE_ES
 287        AnimationMode        = LOOP
 288      End
 289      
 290      ; night snow
 291      ConditionState       = NIGHT SNOW
 292        Model              = UBCmdHQS_NS
 293        ParticleSysBone    = Smoke01 SteamVent
 294        ParticleSysBone    = Fire01 SmolderingFire
 295        ParticleSysBone    = Fire01 SmolderingSmoke
 296        Animation          = UBCmdHQS_NS.UBCmdHQS_NS
 297        AnimationMode      = LOOP
 298      End
 299      ConditionState       = DAMAGED NIGHT SNOW
 300        Model              = UBCmdHQS_DNS
 301        Animation          = UBCmdHQS_DNS.UBCmdHQS_DNS
 302        AnimationMode      = LOOP
 303      End
 304      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
 305        Model              = UBCmdHQS_ENS
 306        Animation          = UBCmdHQS_ENS.UBCmdHQS_ENS
 307        AnimationMode      = LOOP
 308      End
 309      ConditionState         = GARRISONED NIGHT SNOW
 310        Model                = UBCmdHQSE_NS
 311        ParticleSysBone      = Smoke01 SmolderingSmoke
 312        Animation            = UBCmdHQSE_NS.UBCmdHQSE_NS
 313        AnimationMode        = LOOP
 314      End
 315      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
 316        Model                = UBCmdHQSE_DNS
 317        ParticleSysBone      = Smoke01 SmolderingSmoke
 318        Animation            = UBCmdHQSE_DNS.UBCmdHQSE_DNS
 319        AnimationMode        = LOOP
 320      End
 321      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
 322        Model                = UBCmdHQSE_ENS
 323        ParticleSysBone      = Smoke01 SmolderingSmoke
 324        Animation            = UBCmdHQSE_ENS.UBCmdHQSE_ENS
 325        AnimationMode        = LOOP
 326      End
 327  
 328  
 329          ;**************************************************************************************************************************
 330      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
 331      ;for this draw module
 332      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 333        Model              = UBCmdHQS
 334        Animation          = UBCmdHQS.UBCmdHQS
 335        AnimationMode      = LOOP
 336        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 337      End
 338      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
 339        Model              = UBCmdHQS_D
 340        Animation          = UBCmdHQS_D.UBCmdHQS_D
 341        AnimationMode      = LOOP
 342        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 343      End
 344      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
 345        Model              = UBCmdHQS_E
 346        Animation          = UBCmdHQS_E.UBCmdHQS_E
 347        AnimationMode      = LOOP
 348        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 349      End
 350      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
 351        Model              = UBCmdHQS_N
 352        Animation          = UBCmdHQS_N.UBCmdHQS_N
 353        AnimationMode      = LOOP
 354        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 355      End
 356      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
 357        Model              = UBCmdHQS_DN
 358        Animation          = UBCmdHQS_DN.UBCmdHQS_DN
 359        AnimationMode      = LOOP
 360        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 361      End
 362      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
 363        Model              = UBCmdHQS_EN
 364        Animation          = UBCmdHQS_EN.UBCmdHQS_EN
 365        AnimationMode      = LOOP
 366        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 367      End
 368      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
 369        Model              = UBCmdHQS_S
 370        Animation          = UBCmdHQS_S.UBCmdHQS_S
 371        AnimationMode      = LOOP
 372        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 373      End
 374      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
 375        Model              = UBCmdHQS_DS
 376        Animation          = UBCmdHQS_DS.UBCmdHQS_DS
 377        AnimationMode      = LOOP
 378        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 379      End
 380      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
 381        Model              = UBCmdHQS_ES
 382        Animation          = UBCmdHQS_ES.UBCmdHQS_ES
 383        AnimationMode      = LOOP
 384        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 385      End
 386  
 387      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
 388        Model              = UBCmdHQS_NS
 389        Animation          = UBCmdHQS_NS.UBCmdHQS_NS
 390        AnimationMode      = LOOP
 391        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 392      End
 393      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
 394        Model              = UBCmdHQS_DNS
 395        Animation          = UBCmdHQS_DNS.UBCmdHQS_DNS
 396        AnimationMode      = LOOP
 397        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 398      End
 399      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
 400        Model              = UBCmdHQS_ENS
 401        Animation          = UBCmdHQS_ENS.UBCmdHQS_ENS
 402        AnimationMode      = LOOP
 403        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 404      End
 405  
 406      ConditionState       = AWAITING_CONSTRUCTION 
 407        Model              = NONE
 408      End
 409      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
 410      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
 411      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
 412      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
 413      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
 414      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
 415      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
 416      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
 417      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
 418      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
 419      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
 420      AliasConditionState  = SOLD 
 421      AliasConditionState  = SOLD DAMAGED
 422      AliasConditionState  = SOLD REALLYDAMAGED
 423      AliasConditionState  = SOLD NIGHT
 424      AliasConditionState  = SOLD NIGHT DAMAGED
 425      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
 426      AliasConditionState  = SOLD SNOW
 427      AliasConditionState  = SOLD SNOW DAMAGED
 428      AliasConditionState  = SOLD SNOW REALLYDAMAGED
 429      AliasConditionState  = SOLD NIGHT SNOW
 430      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
 431      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
 432      AliasConditionState  = GARRISONED SOLD 
 433      AliasConditionState  = GARRISONED SOLD DAMAGED
 434      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
 435      AliasConditionState  = GARRISONED SOLD NIGHT
 436      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
 437      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
 438      AliasConditionState  = GARRISONED SOLD SNOW
 439      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
 440      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
 441      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
 442      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
 443      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
 444      ;**************************************************************************************************************************
 445    End
 446  
 447    PlacementViewAngle = -135
 448  
 449    ; ------------ construction done flashing lights ----------
 450  ;  Draw = W3DModelDraw
 451  ;    DefaultConditionState
 452  ;      Model           = None
 453  ;    End
 454  ;    ConditionState    = SOLD
 455  ;      Model           = NONE
 456  ;    End    
 457  ;    ConditionState    = CONSTRUCTION_COMPLETE
 458  ;      Model           = ABWarFact_A2
 459  ;      Animation       = ABWarFact_A2.ABWarFact_A2
 460  ;      AnimationMode   = LOOP
 461  ;      Flags           = START_FRAME_FIRST
 462  ;    End  
 463  ;  End
 464      
 465    ; ------------ construction-zone fence -----------------
 466    Draw                = W3DModelDraw ModuleTag_02
 467    AnimationsRequirePower = No
 468      DefaultConditionState
 469        Model           = None
 470        TransitionKey   = DOWN_DEFAULT
 471      End
 472      ConditionState    = NIGHT
 473        Model           = None
 474        TransitionKey   = DOWN_DEFAULT
 475      End
 476      ConditionState    = SNOW
 477        Model           = None
 478        TransitionKey   = DOWN_DEFAULT
 479      End
 480      ConditionState    = SNOW NIGHT
 481        Model           = None
 482        TransitionKey   = DOWN_DEFAULT
 483      End
 484      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 485        Model           = UBCmdHQ_A4
 486        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
 487        AnimationMode   = MANUAL
 488        Flags           = START_FRAME_LAST
 489        TransitionKey   = UP_DAY
 490      End
 491      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 492        Model           = UBCmdHQ_A4N
 493        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
 494        AnimationMode   = MANUAL
 495        Flags           = START_FRAME_LAST
 496        TransitionKey   = UP_NIGHT
 497      End
 498      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 499        Model           = UBCmdHQ_A4S
 500        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
 501        AnimationMode   = MANUAL
 502        Flags           = START_FRAME_LAST
 503        TransitionKey   = UP_SNOW
 504      End
 505      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 506        Model           = UBCmdHQ_A4SN
 507        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
 508        AnimationMode   = MANUAL
 509        Flags           = START_FRAME_LAST
 510        TransitionKey   = UP_SNOWNIGHT
 511      End
 512      TransitionState   = DOWN_DEFAULT UP_DAY
 513        Model           = UBCmdHQ_A4
 514        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
 515        AnimationMode   = ONCE
 516        AnimationSpeedFactorRange = 1.0 1.0
 517        Flags           = START_FRAME_FIRST
 518      End
 519      TransitionState   = DOWN_DEFAULT UP_NIGHT
 520        Model           = UBCmdHQ_A4N
 521        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
 522        AnimationMode   = ONCE
 523        AnimationSpeedFactorRange = 1.0 1.0
 524        Flags           = START_FRAME_FIRST
 525      End
 526      TransitionState   = DOWN_DEFAULT UP_SNOW
 527        Model           = UBCmdHQ_A4S
 528        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
 529        AnimationMode   = ONCE
 530        AnimationSpeedFactorRange = 1.0 1.0
 531        Flags           = START_FRAME_FIRST
 532      End
 533      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
 534        Model           = UBCmdHQ_A4SN
 535        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
 536        AnimationMode   = ONCE
 537        AnimationSpeedFactorRange = 1.0 1.0
 538        Flags           = START_FRAME_FIRST
 539      End
 540      TransitionState   = UP_DAY DOWN_DEFAULT
 541        Model           = UBCmdHQ_A4
 542        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
 543        AnimationMode   = ONCE_BACKWARDS
 544        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 545        Flags           = START_FRAME_LAST
 546      End
 547      TransitionState   = UP_NIGHT DOWN_DEFAULT
 548        Model           = UBCmdHQ_A4N
 549        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
 550        AnimationMode   = ONCE_BACKWARDS
 551        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 552        Flags           = START_FRAME_LAST
 553      End
 554      TransitionState   = UP_SNOW DOWN_DEFAULT
 555        Model           = UBCmdHQ_A4S
 556        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
 557        AnimationMode   = ONCE_BACKWARDS
 558        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 559        Flags           = START_FRAME_LAST
 560      End
 561      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
 562        Model           = UBCmdHQ_A4SN
 563        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
 564        AnimationMode   = ONCE_BACKWARDS
 565        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 566        Flags           = START_FRAME_LAST
 567      End
 568    End
 569  
 570    ; ------------ under-construction scaffolding -----------------
 571    Draw                = W3DModelDraw ModuleTag_03
 572    AnimationsRequirePower = No
 573      MinLODRequired = MEDIUM
 574      DefaultConditionState
 575        Model           = None
 576        TransitionKey   = DOWN_DEFAULT
 577      End
 578      ConditionState    = NIGHT
 579        Model           = None
 580        TransitionKey   = DOWN_DEFAULT
 581      End
 582      ConditionState    = SNOW
 583        Model           = None
 584        TransitionKey   = DOWN_DEFAULT
 585      End
 586      ConditionState    = SNOW NIGHT
 587        Model           = None
 588        TransitionKey   = DOWN_DEFAULT
 589      End
 590      ConditionState    = PARTIALLY_CONSTRUCTED
 591        Model           = UBCmdHQ_A6
 592        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
 593        AnimationMode   = MANUAL
 594        Flags           = START_FRAME_LAST
 595        TransitionKey   = UP_DAY
 596        ParticleSysBone = Dust01 BuildingDust
 597        ParticleSysBone = Smoke01 BuildUpSmoke
 598        ParticleSysBone = Smoke02 BuildUpSmoke
 599        ParticleSysBone = Smoke03 BuildUpSmoke
 600      End
 601      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
 602        Model           = UBCmdHQ_A6S
 603        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
 604        AnimationMode   = MANUAL
 605        Flags           = START_FRAME_LAST
 606        TransitionKey   = UP_SNOW
 607        ParticleSysBone = Dust01 BuildingSnowDust
 608        ParticleSysBone = Smoke01 BuildUpSnowSmoke
 609        ParticleSysBone = Smoke02 BuildUpSnowSmoke
 610        ParticleSysBone = Smoke03 BuildUpSnowSmoke
 611      End
 612      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
 613        Model           = UBCmdHQ_A6N
 614        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
 615        AnimationMode   = MANUAL
 616        Flags           = START_FRAME_LAST
 617        TransitionKey   = UP_NIGHT
 618        ParticleSysBone = Dust01 BuildingDust
 619        ParticleSysBone = Smoke01 BuildUpSmoke
 620        ParticleSysBone = Smoke02 BuildUpSmoke
 621        ParticleSysBone = Smoke03 BuildUpSmoke
 622      End
 623      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
 624        Model           = UBCmdHQ_A6SN
 625        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
 626        AnimationMode   = MANUAL
 627        Flags           = START_FRAME_LAST
 628        TransitionKey   = UP_SNOWNIGHT
 629        ParticleSysBone = Dust01 BuildingNightSnowDust
 630        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
 631        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
 632        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
 633      End
 634      TransitionState   = DOWN_DEFAULT UP_DAY
 635       Model            = UBCmdHQ_A6
 636        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
 637        AnimationMode   = ONCE
 638        AnimationSpeedFactorRange = 1.0 1.0
 639        Flags           = START_FRAME_FIRST
 640      End
 641      TransitionState   = DOWN_DEFAULT UP_NIGHT
 642       Model            = UBCmdHQ_A6N
 643        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
 644        AnimationMode   = ONCE
 645        AnimationSpeedFactorRange = 1.0 1.0
 646        Flags           = START_FRAME_FIRST
 647      End
 648      TransitionState   = DOWN_DEFAULT UP_SNOW
 649       Model            = UBCmdHQ_A6S
 650        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
 651        AnimationMode   = ONCE
 652        AnimationSpeedFactorRange = 1.0 1.0
 653        Flags           = START_FRAME_FIRST
 654      End
 655      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
 656       Model            = UBCmdHQ_A6SN
 657        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
 658        AnimationMode   = ONCE
 659        AnimationSpeedFactorRange = 1.0 1.0
 660        Flags           = START_FRAME_FIRST
 661      End
 662      TransitionState   = UP_DAY DOWN_DEFAULT
 663        Model           = UBCmdHQ_A6
 664        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
 665        AnimationMode   = ONCE_BACKWARDS
 666        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 667        Flags           = START_FRAME_LAST
 668      End
 669      TransitionState   = UP_NIGHT DOWN_DEFAULT
 670        Model           = UBCmdHQ_A6N
 671        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
 672        AnimationMode   = ONCE_BACKWARDS
 673        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 674        Flags           = START_FRAME_LAST
 675      End
 676      TransitionState   = UP_SNOW DOWN_DEFAULT
 677        Model           = UBCmdHQ_A6S
 678        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
 679        AnimationMode   = ONCE_BACKWARDS
 680        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 681        Flags           = START_FRAME_LAST
 682      End
 683      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
 684        Model           = UBCmdHQ_A6SN
 685        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
 686        AnimationMode   = ONCE_BACKWARDS
 687        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 688        Flags           = START_FRAME_LAST
 689      End
 690    End
 691  
 692    ; Officers club flag
 693    Draw = W3DModelDraw ModuleTag_OfficersClub
 694      OkToChangeModelColor = No
 695  
 696      ConditionState       = NONE
 697        Model              = None
 698      End
 699      AliasConditionState  = DAMAGED
 700      AliasConditionState  = REALLYDAMAGED
 701      AliasConditionState  = RUBBLE
 702      AliasConditionState  = REALLYDAMAGED RUBBLE
 703      ConditionState       = PREORDER
 704        Model              = OCFlagGLA
 705        Animation          = OCFlagGLA.OCFlagGLA
 706        AnimationMode      = LOOP
 707        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 708      End
 709  ;    ConditionState       = PREORDER DAMAGED
 710  ;      Model              = OCFlagGLA_D
 711  ;      Animation          = OCFlagGLA_D.OCFlagGLA_D
 712  ;      AnimationMode      = LOOP
 713  ;      Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 714  ;    End
 715  ;    ConditionState       = PREORDER REALLYDAMAGED RUBBLE
 716  ;      Model              = OCFlagGLA_E
 717  ;      Animation          = OCFlagGLA_E.OCFlagGLA_E
 718  ;      AnimationMode      = LOOP
 719  ;      Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 720  ;    End
 721    End
 722  
 723    ; ***DESIGN parameters ***
 724    DisplayName         = OBJECT:CommandCenter
 725    Side                = GLAStealthGeneral
 726    EditorSorting       = STRUCTURE
 727    BuildCost           = 2000
 728    BuildTime           = 45.0           ; in seconds
 729    EnergyProduction    = 0  ;Command center should be free
 730    CommandSet          = Slth_GLACommandCenterCommandSet
 731    VisionRange         = 300.0           ; Shroud clearing distance
 732    ShroudClearingRange = 300
 733    ArmorSet
 734      Conditions        = None
 735      Armor             = StructureArmorTough
 736      DamageFX          = StructureDamageFXNoShake
 737    End
 738    ArmorSet
 739      Conditions        = PLAYER_UPGRADE
 740      Armor             = GLAUpgradedStructureArmorTough
 741      DamageFX          = StructureDamageFXNoShake
 742    End
 743  
 744    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
 745  
 746    ; *** AUDIO Parameters ***
 747    VoiceSelect         = CommandCenterGLASelect
 748    SoundOnDamaged        = BuildingDamagedStateLight
 749    SoundOnReallyDamaged  = BuildingDestroy
 750  
 751    UnitSpecificSounds
 752      UnderConstruction     = UnderConstructionLoop
 753    End
 754  
 755  
 756    ; *** ENGINEERING Parameters ***
 757    RadarPriority       = STRUCTURE
 758    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE
 759    Body                = StructureBody ModuleTag_04
 760      MaxHealth         = 5000.0
 761      InitialHealth     = 5000.0
 762  
 763      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
 764      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
 765      SubdualDamageCap = 5200
 766      SubdualDamageHealRate = 500
 767      SubdualDamageHealAmount = 100
 768    End
 769  
 770    Behavior        = ArmorUpgrade ModuleTag_Armor01
 771      TriggeredBy   = Upgrade_GLAFortifiedStructure
 772    End
 773  
 774    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
 775      ConditionFlag = GARRISONED
 776      TriggeredBy   = Upgrade_GLAFortifiedStructure
 777    End
 778  
 779    Behavior = PreorderCreate ModuleTag_PreorderCreate
 780    End
 781  
 782    Behavior = ProductionUpdate ModuleTag_05
 783      ; nothing
 784    End
 785    Behavior = DefaultProductionExitUpdate ModuleTag_06
 786      UnitCreatePoint   = X: 25.0  Y:  0.0   Z:0.0
 787      NaturalRallyPoint = X: 65.0  Y:  0.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
 788    End
 789    Behavior             = RebuildHoleExposeDie ModuleTag_07
 790      HoleName      = GLAHoleCommandCenter
 791      HoleMaxHealth = 500.0
 792    End
 793    Behavior             = DestroyDie ModuleTag_08
 794      ;nothing
 795    End  
 796    Behavior             = CreateObjectDie ModuleTag_09
 797      CreationList  = OCL_LargeStructureDebris
 798    End
 799    Behavior             = FXListDie ModuleTag_10
 800      DeathFX       = FX_StructureMediumDeath
 801    End
 802  
 803    Behavior           = OCLSpecialPower ModuleTag_11
 804      SpecialPowerTemplate = SuperweaponRebelAmbush
 805      UpgradeOCL           = SCIENCE_RebelAmbush3 Slth_SUPERWEAPON_RebelAmbush3
 806      UpgradeOCL           = SCIENCE_RebelAmbush2 Slth_SUPERWEAPON_RebelAmbush2
 807      OCL                  = Slth_SUPERWEAPON_RebelAmbush1
 808      CreateLocation       = CREATE_AT_LOCATION
 809      OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs.
 810    End
 811  
 812    Behavior           = OCLSpecialPower ModuleTag_12
 813      SpecialPowerTemplate = SuperweaponBlackMarketNuke
 814      OCL                  = SUPERWEAPON_BlackMarketNuke
 815      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
 816    End
 817  
 818    Behavior           = OCLSpecialPower ModuleTag_13
 819      SpecialPowerTemplate = SuperweaponAnthraxBomb
 820      OCL                  = SUPERWEAPON_AnthraxBomb
 821      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
 822    End
 823    Behavior           = OCLSpecialPower ModuleTag_14
 824      SpecialPowerTemplate = Early_SuperweaponEmergencyRepair
 825      UpgradeOCL           = Early_SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3
 826      UpgradeOCL           = Early_SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2
 827      OCL                  = SUPERWEAPON_RepairVehicles1
 828      CreateLocation       = CREATE_AT_LOCATION
 829    End
 830    Behavior           = OCLSpecialPower ModuleTag_21
 831      SpecialPowerTemplate = SuperweaponSneakAttack
 832      OCL                  = OCL_CreateSneakAttackTunnelStart
 833      ReferenceObject      = GLASneakAttackTunnelNetwork ;So we know what the final product is for script placement calculations
 834      CreateLocation       = CREATE_AT_LOCATION
 835    End
 836    Behavior           = OCLSpecialPower ModuleTag_22
 837      SpecialPowerTemplate = Slth_SuperweaponGPSScrambler
 838      OCL                  = SUPERWEAPON_GPSScrambler
 839      CreateLocation       = CREATE_AT_LOCATION
 840    End
 841  
 842  
 843    Behavior = CashBountyPower ModuleTag_15
 844      SpecialPowerTemplate    = SpecialAbilityCashBounty1
 845      Bounty                  = 5%
 846    End
 847    Behavior = CashBountyPower ModuleTag_16
 848      SpecialPowerTemplate    = SpecialAbilityCashBounty2
 849      Bounty                  = 10%
 850    End
 851    Behavior = CashBountyPower ModuleTag_17
 852      SpecialPowerTemplate    = SpecialAbilityCashBounty3
 853      Bounty                  = 20%
 854    End
 855   
 856    Behavior = FlammableUpdate ModuleTag_19
 857      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 858      AflameDamageAmount = 5       ; taking this much damage...
 859      AflameDamageDelay = 500       ; this often.
 860    End
 861  
 862    Behavior = TransitionDamageFX ModuleTag_20
 863      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
 864      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
 865      ;---------------------------------------------------------------------------------------
 866      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
 867      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
 868      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
 869    End
 870  
 871    Behavior = StealthUpdate ModuleStealth_09
 872      StealthDelay                = 2500 ; msec
 873      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
 874      InnateStealth               = No ;Requires upgrade first
 875      OrderIdleEnemiesToAttackMeUponReveal  = Yes
 876    End
 877    Behavior = StealthUpgrade ModuleTag_23
 878      TriggeredBy = Upgrade_GLACamoNetting
 879    END
 880  
 881    Geometry            = BOX
 882    GeometryMajorRadius = 65.0
 883    GeometryMinorRadius = 65.0
 884    GeometryHeight      = 54.0
 885    FactoryExitWidth    = 25 
 886    GeometryIsSmall     = No
 887    Shadow              = SHADOW_VOLUME
 888    BuildCompletion     = PLACED_BY_PLAYER
 889  
 890    
 891  
 892  End
 893  
 894  ;------------------------------------------------------------------------------
 895  ObjectReskin Slth_GLAHoleCommandCenter Slth_GLAHole
 896    Draw                     = W3DModelDraw ModuleTag_01
 897      OkToChangeModelColor   = Yes
 898      ConditionState         = NONE
 899        Model                = UBHole
 900      End
 901      ConditionState         = DAMAGED
 902        Model                = UBHole_D
 903        ParticleSysBone      = Smoke01 SteamVent
 904      End
 905      ConditionState         = REALLYDAMAGED RUBBLE
 906        Model                = UBHole_E
 907        ParticleSysBone      = Smoke01 SteamVent
 908        ParticleSysBone      = Smoke02 SteamVent
 909        ParticleSysBone      = Fire01 GLAPowerPlantFlame
 910        ParticleSysBone      = Fire02 GLAPowerPlantFlame
 911        ParticleSysBone      = Fire03 GLAPowerPlantFlame
 912      End
 913    End
 914    Draw                     = W3DModelDraw ModuleTag_02
 915      OkToChangeModelColor   = Yes
 916      ConditionState         = NONE
 917        Model                = UBCmdHQ_R
 918        ParticleSysBone      = Smoke01 SmolderingSmoke
 919        ParticleSysBone      = Smoke02 SmolderingSmoke
 920        ParticleSysBone      = Smoke03 SmolderingSmoke
 921        ParticleSysBone      = Smoke04 SmolderingSmoke
 922      End
 923      ConditionState         = DAMAGED REALLYDAMAGED RUBBLE
 924        Model                = UBCmdHQ_R
 925        ParticleSysBone      = Smoke01 SmolderingSmoke
 926        ParticleSysBone      = Smoke02 SmolderingSmoke
 927        ParticleSysBone      = Smoke03 SmolderingSmoke
 928        ParticleSysBone      = Smoke04 SmolderingSmoke
 929      End
 930    End
 931  End
 932  
 933  
 934  
 935  
 936  ;------------------------------------------------------------------------------
 937  ;Fake GLA Command Center
 938  Object Slth_FakeGLACommandCenter
 939  
 940    ; *** ART Parameters ***
 941    SelectPortrait         = SUHeadquarters_L
 942    ButtonImage            = SUHeadquarters
 943  
 944  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
 945    UpgradeCameo1 = Upgrade_GLACamoNetting
 946    ; ----- The actual command center
 947    Draw                   = W3DModelDraw ModuleTag_01
 948       
 949      OkToChangeModelColor = Yes
 950      
 951      ; day
 952      ConditionState       = NONE
 953        Model              = UBCmdHQS
 954        ParticleSysBone    = Smoke01 SteamVent
 955        ParticleSysBone    = Fire01 SmolderingFire
 956        ParticleSysBone    = Fire01 SmolderingSmoke
 957        Animation          = UBCmdHQS.UBCmdHQS
 958        AnimationMode      = LOOP
 959      End
 960      
 961      ConditionState       = DAMAGED
 962        Model              = UBCmdHQS_D
 963        Animation          = UBCmdHQS_D.UBCmdHQS_D
 964        AnimationMode      = LOOP
 965      End
 966      ConditionState       = REALLYDAMAGED RUBBLE
 967        Model              = UBCmdHQS_E
 968        Animation          = UBCmdHQS_E.UBCmdHQS_E
 969        AnimationMode      = LOOP
 970      End    
 971      ConditionState         = GARRISONED
 972        Model                = UBCmdHQEG
 973        ParticleSysBone      = Smoke01 SmolderingSmoke
 974        Animation            = UBCmdHQEG.UBCmdHQEG
 975        AnimationMode        = LOOP
 976      End
 977      ConditionState         = DAMAGED GARRISONED
 978        Model                = UBCmdHQEG_D
 979        ParticleSysBone      = Smoke01 SmolderingSmoke
 980        Animation            = UBCmdHQEG_D.UBCmdHQEG_D
 981        AnimationMode        = LOOP
 982      End
 983      ConditionState         = REALLYDAMAGED GARRISONED
 984        Model                = UBCmdHQEG_E
 985        ParticleSysBone      = Smoke01 SmolderingSmoke
 986        Animation            = UBCmdHQEG_E.UBCmdHQEG_E
 987        AnimationMode        = LOOP
 988      End
 989  
 990      ; night    
 991      ConditionState       = NIGHT
 992        Model              = UBCmdHQS_N
 993        ParticleSysBone    = Smoke01 SteamVent
 994        ParticleSysBone    = Fire01 SmolderingFire
 995        ParticleSysBone    = Fire01 SmolderingSmoke
 996        Animation          = UBCmdHQS_N.UBCmdHQS_N
 997        AnimationMode      = LOOP
 998      End
 999      ConditionState       = DAMAGED NIGHT
1000        Model              = UBCmdHQS_DN
1001        Animation          = UBCmdHQS_DN.UBCmdHQS_DN
1002        AnimationMode      = LOOP
1003      End
1004      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
1005        Model              = UBCmdHQS_EN
1006        Animation          = UBCmdHQS_EN.UBCmdHQS_EN
1007        AnimationMode      = LOOP
1008      End
1009      ConditionState         = GARRISONED NIGHT
1010        Model                = UBCmdHQEG_N
1011        ParticleSysBone      = Smoke01 SmolderingSmoke
1012        Animation            = UBCmdHQEG_N.UBCmdHQEG_N
1013        AnimationMode        = LOOP
1014      End
1015      ConditionState         = DAMAGED GARRISONED NIGHT
1016        Model                = UBCmdHQEG_DN
1017        ParticleSysBone      = Smoke01 SmolderingSmoke
1018        Animation            = UBCmdHQEG_DN.UBCmdHQEG_DN
1019        AnimationMode        = LOOP
1020      End
1021      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
1022        Model                = UBCmdHQEG_EN
1023        ParticleSysBone      = Smoke01 SmolderingSmoke
1024        Animation            = UBCmdHQEG_EN.UBCmdHQEG_EN
1025        AnimationMode        = LOOP
1026      End
1027      
1028          ; day snow
1029      ConditionState       = SNOW
1030        Model              = UBCmdHQS_S
1031        ParticleSysBone    = Smoke01 SteamVent
1032        ParticleSysBone    = Fire01 SmolderingFire
1033        ParticleSysBone    = Fire01 SmolderingSmoke
1034        Animation          = UBCmdHQS_S.UBCmdHQS_S
1035        AnimationMode      = LOOP
1036      End   
1037      ConditionState       = DAMAGED SNOW
1038        Model              = UBCmdHQS_DS
1039        Animation          = UBCmdHQS_DS.UBCmdHQS_DS
1040        AnimationMode      = LOOP
1041      End
1042      ConditionState       = REALLYDAMAGED RUBBLE SNOW
1043        Model              = UBCmdHQS_ES
1044        Animation          = UBCmdHQS_ES.UBCmdHQS_ES
1045        AnimationMode      = LOOP
1046      End
1047      ConditionState         = GARRISONED SNOW
1048        Model                = UBCmdHQEG_S
1049        ParticleSysBone      = Smoke01 SmolderingSmoke
1050        Animation            = UBCmdHQEG_S.UBCmdHQEG_S
1051        AnimationMode        = LOOP
1052      End
1053      ConditionState         = DAMAGED GARRISONED SNOW
1054        Model                = UBCmdHQEG_DS
1055        ParticleSysBone      = Smoke01 SmolderingSmoke
1056        Animation            = UBCmdHQEG_DS.UBCmdHQEG_DS
1057        AnimationMode        = LOOP
1058      End
1059      ConditionState         = REALLYDAMAGED GARRISONED SNOW
1060        Model                = UBCmdHQEG_ES
1061        ParticleSysBone      = Smoke01 SmolderingSmoke
1062        Animation            = UBCmdHQEG_ES.UBCmdHQEG_ES
1063        AnimationMode        = LOOP
1064      End
1065      
1066      ; night snow
1067      ConditionState       = NIGHT SNOW
1068        Model              = UBCmdHQS_NS
1069        ParticleSysBone    = Smoke01 SteamVent
1070        ParticleSysBone    = Fire01 SmolderingFire
1071        ParticleSysBone    = Fire01 SmolderingSmoke
1072        Animation          = UBCmdHQS_NS.UBCmdHQS_NS
1073        AnimationMode      = LOOP
1074      End
1075      ConditionState       = DAMAGED NIGHT SNOW
1076        Model              = UBCmdHQS_DNS
1077        Animation          = UBCmdHQS_DNS.UBCmdHQS_DNS
1078        AnimationMode      = LOOP
1079      End
1080      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
1081        Model              = UBCmdHQS_ENS
1082        Animation          = UBCmdHQS_ENS.UBCmdHQS_ENS
1083        AnimationMode      = LOOP
1084      End
1085      ConditionState         = GARRISONED NIGHT SNOW
1086        Model                = UBCmdHQEG_NS
1087        ParticleSysBone      = Smoke01 SmolderingSmoke
1088        Animation            = UBCmdHQEG_NS.UBCmdHQEG_NS
1089        AnimationMode        = LOOP
1090      End
1091      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
1092        Model                = UBCmdHQEG_DNS
1093        ParticleSysBone      = Smoke01 SmolderingSmoke
1094        Animation            = UBCmdHQEG_DNS.UBCmdHQEG_DNS
1095        AnimationMode        = LOOP
1096      End
1097      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
1098        Model                = UBCmdHQEG_ENS
1099        ParticleSysBone      = Smoke01 SmolderingSmoke
1100        Animation            = UBCmdHQEG_ENS.UBCmdHQEG_ENS
1101        AnimationMode        = LOOP
1102      End
1103  
1104  
1105          ;**************************************************************************************************************************
1106      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
1107      ;for this draw module
1108      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1109        Model              = UBCmdHQS
1110        Animation          = UBCmdHQS.UBCmdHQS
1111        AnimationMode      = LOOP
1112        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1113      End
1114      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
1115        Model              = UBCmdHQS_D
1116        Animation          = UBCmdHQS_D.UBCmdHQS_D
1117        AnimationMode      = LOOP
1118        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1119      End
1120      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
1121        Model              = UBCmdHQS_E
1122        Animation          = UBCmdHQS_E.UBCmdHQS_E
1123        AnimationMode      = LOOP
1124        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1125      End
1126      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
1127        Model              = UBCmdHQS_N
1128        Animation          = UBCmdHQS_N.UBCmdHQS_N
1129        AnimationMode      = LOOP
1130        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1131      End
1132      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
1133        Model              = UBCmdHQS_DN
1134        Animation          = UBCmdHQS_DN.UBCmdHQS_DN
1135        AnimationMode      = LOOP
1136        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1137      End
1138      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
1139        Model              = UBCmdHQS_EN
1140        Animation          = UBCmdHQS_EN.UBCmdHQS_EN
1141        AnimationMode      = LOOP
1142        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1143      End
1144      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
1145        Model              = UBCmdHQS_S
1146        Animation          = UBCmdHQS_S.UBCmdHQS_S
1147        AnimationMode      = LOOP
1148        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1149      End
1150      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
1151        Model              = UBCmdHQS_DS
1152        Animation          = UBCmdHQS_DS.UBCmdHQS_DS
1153        AnimationMode      = LOOP
1154        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1155      End
1156      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
1157        Model              = UBCmdHQS_ES
1158        Animation          = UBCmdHQS_ES.UBCmdHQS_ES
1159        AnimationMode      = LOOP
1160        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1161      End
1162  
1163      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
1164        Model              = UBCmdHQS_NS
1165        Animation          = UBCmdHQS_NS.UBCmdHQS_NS
1166        AnimationMode      = LOOP
1167        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1168      End
1169      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
1170        Model              = UBCmdHQS_DNS
1171        Animation          = UBCmdHQS_DNS.UBCmdHQS_DNS
1172        AnimationMode      = LOOP
1173        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1174      End
1175      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
1176        Model              = UBCmdHQS_ENS
1177        Animation          = UBCmdHQS_ENS.UBCmdHQS_ENS
1178        AnimationMode      = LOOP
1179        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1180      End
1181  
1182      ConditionState       = AWAITING_CONSTRUCTION 
1183        Model              = NONE
1184      End
1185      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
1186      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
1187      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
1188      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
1189      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
1190      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
1191      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
1192      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
1193      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
1194      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
1195      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
1196      AliasConditionState  = SOLD 
1197      AliasConditionState  = SOLD DAMAGED
1198      AliasConditionState  = SOLD REALLYDAMAGED
1199      AliasConditionState  = SOLD NIGHT
1200      AliasConditionState  = SOLD NIGHT DAMAGED
1201      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
1202      AliasConditionState  = SOLD SNOW
1203      AliasConditionState  = SOLD SNOW DAMAGED
1204      AliasConditionState  = SOLD SNOW REALLYDAMAGED
1205      AliasConditionState  = SOLD NIGHT SNOW
1206      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
1207      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
1208      AliasConditionState  = GARRISONED SOLD 
1209      AliasConditionState  = GARRISONED SOLD DAMAGED
1210      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
1211      AliasConditionState  = GARRISONED SOLD NIGHT
1212      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
1213      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
1214      AliasConditionState  = GARRISONED SOLD SNOW
1215      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
1216      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
1217      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
1218      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
1219      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
1220      ;**************************************************************************************************************************
1221    End
1222  
1223    PlacementViewAngle = -135
1224  
1225    ; ------------ construction done flashing lights ----------
1226  ;  Draw = W3DModelDraw
1227  ;    DefaultConditionState
1228  ;      Model           = None
1229  ;    End
1230  ;    ConditionState    = SOLD
1231  ;      Model           = NONE
1232  ;    End    
1233  ;    ConditionState    = CONSTRUCTION_COMPLETE
1234  ;      Model           = ABWarFact_A2
1235  ;      Animation       = ABWarFact_A2.ABWarFact_A2
1236  ;      AnimationMode   = LOOP
1237  ;      Flags           = START_FRAME_FIRST
1238  ;    End  
1239  ;  End
1240      
1241    ; ------------ construction-zone fence -----------------
1242    Draw                = W3DModelDraw ModuleTag_02
1243    AnimationsRequirePower = No
1244      DefaultConditionState
1245        Model           = None
1246        TransitionKey   = DOWN_DEFAULT
1247      End
1248      ConditionState    = NIGHT
1249        Model           = None
1250        TransitionKey   = DOWN_DEFAULT
1251      End
1252      ConditionState    = SNOW
1253        Model           = None
1254        TransitionKey   = DOWN_DEFAULT
1255      End
1256      ConditionState    = SNOW NIGHT
1257        Model           = None
1258        TransitionKey   = DOWN_DEFAULT
1259      End
1260      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1261        Model           = UBCmdHQ_A4
1262        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
1263        AnimationMode   = MANUAL
1264        Flags           = START_FRAME_LAST
1265        TransitionKey   = UP_DAY
1266      End
1267      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1268        Model           = UBCmdHQ_A4N
1269        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
1270        AnimationMode   = MANUAL
1271        Flags           = START_FRAME_LAST
1272        TransitionKey   = UP_NIGHT
1273      End
1274      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1275        Model           = UBCmdHQ_A4S
1276        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
1277        AnimationMode   = MANUAL
1278        Flags           = START_FRAME_LAST
1279        TransitionKey   = UP_SNOW
1280      End
1281      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1282        Model           = UBCmdHQ_A4SN
1283        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
1284        AnimationMode   = MANUAL
1285        Flags           = START_FRAME_LAST
1286        TransitionKey   = UP_SNOWNIGHT
1287      End
1288      TransitionState   = DOWN_DEFAULT UP_DAY
1289        Model           = UBCmdHQ_A4
1290        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
1291        AnimationMode   = ONCE
1292        AnimationSpeedFactorRange = 1.0 1.0
1293        Flags           = START_FRAME_FIRST
1294      End
1295      TransitionState   = DOWN_DEFAULT UP_NIGHT
1296        Model           = UBCmdHQ_A4N
1297        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
1298        AnimationMode   = ONCE
1299        AnimationSpeedFactorRange = 1.0 1.0
1300        Flags           = START_FRAME_FIRST
1301      End
1302      TransitionState   = DOWN_DEFAULT UP_SNOW
1303        Model           = UBCmdHQ_A4S
1304        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
1305        AnimationMode   = ONCE
1306        AnimationSpeedFactorRange = 1.0 1.0
1307        Flags           = START_FRAME_FIRST
1308      End
1309      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
1310        Model           = UBCmdHQ_A4SN
1311        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
1312        AnimationMode   = ONCE
1313        AnimationSpeedFactorRange = 1.0 1.0
1314        Flags           = START_FRAME_FIRST
1315      End
1316      TransitionState   = UP_DAY DOWN_DEFAULT
1317        Model           = UBCmdHQ_A4
1318        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
1319        AnimationMode   = ONCE_BACKWARDS
1320        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1321        Flags           = START_FRAME_LAST
1322      End
1323      TransitionState   = UP_NIGHT DOWN_DEFAULT
1324        Model           = UBCmdHQ_A4N
1325        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
1326        AnimationMode   = ONCE_BACKWARDS
1327        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1328        Flags           = START_FRAME_LAST
1329      End
1330      TransitionState   = UP_SNOW DOWN_DEFAULT
1331        Model           = UBCmdHQ_A4S
1332        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
1333        AnimationMode   = ONCE_BACKWARDS
1334        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1335        Flags           = START_FRAME_LAST
1336      End
1337      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
1338        Model           = UBCmdHQ_A4SN
1339        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
1340        AnimationMode   = ONCE_BACKWARDS
1341        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1342        Flags           = START_FRAME_LAST
1343      End
1344    End
1345  
1346    ; ------------ under-construction scaffolding -----------------
1347    Draw                = W3DModelDraw ModuleTag_03
1348    AnimationsRequirePower = No
1349      MinLODRequired = MEDIUM
1350      DefaultConditionState
1351        Model           = None
1352        TransitionKey   = DOWN_DEFAULT
1353      End
1354      ConditionState    = NIGHT
1355        Model           = None
1356        TransitionKey   = DOWN_DEFAULT
1357      End
1358      ConditionState    = SNOW
1359        Model           = None
1360        TransitionKey   = DOWN_DEFAULT
1361      End
1362      ConditionState    = SNOW NIGHT
1363        Model           = None
1364        TransitionKey   = DOWN_DEFAULT
1365      End
1366      ConditionState    = PARTIALLY_CONSTRUCTED
1367        Model           = UBCmdHQ_A6
1368        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
1369        AnimationMode   = MANUAL
1370        Flags           = START_FRAME_LAST
1371        TransitionKey   = UP_DAY
1372        ParticleSysBone = Dust01 BuildingDust
1373        ParticleSysBone = Smoke01 BuildUpSmoke
1374        ParticleSysBone = Smoke02 BuildUpSmoke
1375        ParticleSysBone = Smoke03 BuildUpSmoke
1376      End
1377      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
1378        Model           = UBCmdHQ_A6S
1379        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
1380        AnimationMode   = MANUAL
1381        Flags           = START_FRAME_LAST
1382        TransitionKey   = UP_SNOW
1383        ParticleSysBone = Dust01 BuildingSnowDust
1384        ParticleSysBone = Smoke01 BuildUpSnowSmoke
1385        ParticleSysBone = Smoke02 BuildUpSnowSmoke
1386        ParticleSysBone = Smoke03 BuildUpSnowSmoke
1387      End
1388      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
1389        Model           = UBCmdHQ_A6N
1390        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
1391        AnimationMode   = MANUAL
1392        Flags           = START_FRAME_LAST
1393        TransitionKey   = UP_NIGHT
1394        ParticleSysBone = Dust01 BuildingDust
1395        ParticleSysBone = Smoke01 BuildUpSmoke
1396        ParticleSysBone = Smoke02 BuildUpSmoke
1397        ParticleSysBone = Smoke03 BuildUpSmoke
1398      End
1399      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
1400        Model           = UBCmdHQ_A6SN
1401        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
1402        AnimationMode   = MANUAL
1403        Flags           = START_FRAME_LAST
1404        TransitionKey   = UP_SNOWNIGHT
1405        ParticleSysBone = Dust01 BuildingNightSnowDust
1406        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
1407        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
1408        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
1409      End
1410      TransitionState   = DOWN_DEFAULT UP_DAY
1411       Model            = UBCmdHQ_A6
1412        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
1413        AnimationMode   = ONCE
1414        AnimationSpeedFactorRange = 1.0 1.0
1415        Flags           = START_FRAME_FIRST
1416      End
1417      TransitionState   = DOWN_DEFAULT UP_NIGHT
1418       Model            = UBCmdHQ_A6N
1419        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
1420        AnimationMode   = ONCE
1421        AnimationSpeedFactorRange = 1.0 1.0
1422        Flags           = START_FRAME_FIRST
1423      End
1424      TransitionState   = DOWN_DEFAULT UP_SNOW
1425       Model            = UBCmdHQ_A6S
1426        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
1427        AnimationMode   = ONCE
1428        AnimationSpeedFactorRange = 1.0 1.0
1429        Flags           = START_FRAME_FIRST
1430      End
1431      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
1432       Model            = UBCmdHQ_A6SN
1433        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
1434        AnimationMode   = ONCE
1435        AnimationSpeedFactorRange = 1.0 1.0
1436        Flags           = START_FRAME_FIRST
1437      End
1438      TransitionState   = UP_DAY DOWN_DEFAULT
1439        Model           = UBCmdHQ_A6
1440        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
1441        AnimationMode   = ONCE_BACKWARDS
1442        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1443        Flags           = START_FRAME_LAST
1444      End
1445      TransitionState   = UP_NIGHT DOWN_DEFAULT
1446        Model           = UBCmdHQ_A6N
1447        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
1448        AnimationMode   = ONCE_BACKWARDS
1449        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1450        Flags           = START_FRAME_LAST
1451      End
1452      TransitionState   = UP_SNOW DOWN_DEFAULT
1453        Model           = UBCmdHQ_A6S
1454        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
1455        AnimationMode   = ONCE_BACKWARDS
1456        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1457        Flags           = START_FRAME_LAST
1458      End
1459      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
1460        Model           = UBCmdHQ_A6SN
1461        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
1462        AnimationMode   = ONCE_BACKWARDS
1463        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1464        Flags           = START_FRAME_LAST
1465      End
1466    End
1467  
1468    ; Officers club flag
1469    Draw = W3DModelDraw ModuleTag_OfficersClub
1470      OkToChangeModelColor = No
1471  
1472      ConditionState       = NONE
1473        Model              = None
1474      End
1475      AliasConditionState  = DAMAGED
1476      AliasConditionState  = REALLYDAMAGED
1477      AliasConditionState  = RUBBLE
1478      AliasConditionState  = REALLYDAMAGED RUBBLE
1479      ConditionState       = PREORDER
1480        Model              = OCFlagGLA
1481        Animation          = OCFlagGLA.OCFlagGLA
1482        AnimationMode      = LOOP
1483        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1484      End
1485  ;    ConditionState       = PREORDER DAMAGED
1486  ;      Model              = OCFlagGLA_D
1487  ;      Animation          = OCFlagGLA_D.OCFlagGLA_D
1488  ;      AnimationMode      = LOOP
1489  ;      Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1490  ;    End
1491  ;    ConditionState       = PREORDER REALLYDAMAGED RUBBLE
1492  ;      Model              = OCFlagGLA_E
1493  ;      Animation          = OCFlagGLA_E.OCFlagGLA_E
1494  ;      AnimationMode      = LOOP
1495  ;      Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1496  ;    End
1497    End
1498  
1499    ; ***DESIGN parameters ***
1500    DisplayName         = OBJECT:CommandCenter
1501    Side                = GLAStealthGeneral
1502    EditorSorting       = STRUCTURE
1503    Prerequisites
1504      Object = Slth_GLACommandCenter
1505    End
1506    BuildCost           = 500
1507    BuildTime           = 30.0           ; in seconds
1508    EnergyProduction    = 0  ;Command center should be free
1509    CommandSet          = FakeGLACommandCenterCommandSet
1510    VisionRange         = 300.0           ; Shroud clearing distance
1511    ShroudClearingRange = 300
1512    WeaponSet
1513      Conditions          = None 
1514      Weapon = PRIMARY SuicideWeapon
1515      AutoChooseSources = PRIMARY None
1516    End
1517  
1518    ArmorSet
1519      Conditions        = None
1520      Armor             = StructureArmorTough
1521      DamageFX          = StructureDamageFXNoShake
1522    End
1523    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
1524  
1525    ; *** AUDIO Parameters ***
1526    VoiceSelect         = CommandCenterGLASelect
1527    SoundOnDamaged        = BuildingDamagedStateLight
1528    SoundOnReallyDamaged  = BuildingDestroy
1529  
1530    UnitSpecificSounds
1531      UnderConstruction     = UnderConstructionLoop
1532    End
1533  
1534  
1535    ; *** ENGINEERING Parameters ***
1536    RadarPriority       = STRUCTURE
1537    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE
1538    Body                = StructureBody ModuleTag_04
1539      MaxHealth         = 1250.0
1540      InitialHealth     = 1250.0
1541  
1542      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
1543      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
1544      SubdualDamageCap = 1450
1545      SubdualDamageHealRate = 500
1546      SubdualDamageHealAmount = 100
1547    End
1548  
1549    Behavior = PreorderCreate ModuleTag_PreorderCreate
1550    End
1551  
1552    Behavior = ProductionUpdate ModuleTag_05
1553      ; nothing
1554    End
1555    Behavior = AIUpdateInterface ModuleTag_06
1556      AutoAcquireEnemiesWhenIdle = No
1557    End
1558  
1559    Behavior             = CreateObjectDie ModuleTag_09
1560      CreationList  = OCL_LargeStructureDebris
1561    End
1562    Behavior             = FXListDie ModuleTag_10
1563      DeathFX       = FX_StructureMediumDeath
1564    End
1565  
1566    Behavior = SlowDeathBehavior ModuleTag_11
1567      ExemptStatus = UNDER_CONSTRUCTION
1568      DestructionDelay = 0
1569      Weapon = FINAL FakeStructureDetonationWeapon
1570    End
1571    Behavior = DestroyDie ModuleTag_SlowDeathException
1572      RequiredStatus = UNDER_CONSTRUCTION
1573    End
1574  
1575    Behavior = ReplaceObjectUpgrade ModuleTag_12
1576      ReplaceObject = Slth_GLACommandCenter
1577      TriggeredBy = Upgrade_BecomeRealGLACommandCenter
1578    End
1579  
1580    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
1581      ConditionFlag = GARRISONED
1582      TriggeredBy   = Upgrade_GLAFortifiedStructure
1583    End
1584  
1585    Behavior = FlammableUpdate ModuleTag_13
1586      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1587      AflameDamageAmount = 5       ; taking this much damage...
1588      AflameDamageDelay = 500       ; this often.
1589    End
1590  
1591    Behavior = TransitionDamageFX ModuleTag_14
1592      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
1593      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
1594      ;---------------------------------------------------------------------------------------
1595      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
1596      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
1597      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
1598    End
1599  
1600    Behavior = StealthUpdate ModuleStealth_09
1601      StealthDelay                = 2500 ; msec
1602      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
1603      InnateStealth               = No ;Requires upgrade first
1604      OrderIdleEnemiesToAttackMeUponReveal  = Yes
1605    End
1606    Behavior = StealthUpgrade ModuleTag_15
1607      TriggeredBy = Upgrade_GLACamoNetting
1608    END
1609  
1610    Geometry            = BOX
1611    GeometryMajorRadius = 65.0
1612    GeometryMinorRadius = 65.0
1613    GeometryHeight      = 54.0
1614    FactoryExitWidth    = 25 
1615    GeometryIsSmall     = No
1616    Shadow              = SHADOW_VOLUME
1617    ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure.
1618    ShadowSizeX = 165
1619    ShadowSizeY = 145
1620    BuildCompletion     = PLACED_BY_PLAYER
1621  
1622  End
1623  
1624  
1625  
1626  
1627  
1628  ;------------------------------------------------------------------------------
1629  Object Slth_GLABlackMarket
1630  
1631    ; *** ART Parameters ***
1632    SelectPortrait         = SUBlackMarket_L
1633    ButtonImage            = SUBlackMarket
1634  
1635  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
1636    UpgradeCameo1 = Upgrade_GLACamoNetting
1637    Draw                = W3DModelDraw ModuleTag_01
1638      OkToChangeModelColor = Yes
1639  
1640      ; day
1641      ConditionState    = NONE
1642        Model           = UBBlackMkt
1643        Animation       = UBBlackMkt.UBBlackMkt
1644        AnimationMode   = LOOP
1645        ParticleSysBone = Smoke01 SmolderingSmoke      
1646      End
1647      ConditionState    = DAMAGED
1648        Model           = UBBlackMkt_D
1649        Animation       = UBBlackMkt_D.UBBlackMkt_D
1650        AnimationMode   = LOOP
1651        ParticleSysBone = Smoke01 SmolderingSmoke
1652        ParticleSysBone = Smoke02 SmolderingSmoke
1653        ParticleSysBone = Smoke03 SmolderingSmoke
1654        ParticleSysBone = Smoke04 SmolderingSmoke
1655        ParticleSysBone = Smoke05 SmolderingSmoke
1656        ParticleSysBone = Smoke06 SmolderingSmoke
1657        ParticleSysBone = Fire02 SmolderingFire
1658        ParticleSysBone = Fire03 SmolderingFire
1659        ParticleSysBone = Fire04 SmolderingFire
1660        ParticleSysBone = Fire05 SmolderingFire
1661        ParticleSysBone = Fire06 SmolderingFire
1662      End
1663      ConditionState    = REALLYDAMAGED RUBBLE
1664        Model           = UBBlackMkt_E
1665        Animation       = UBBlackMkt_E.UBBlackMkt_E
1666        AnimationMode   = LOOP
1667        ParticleSysBone = Smoke01 SmolderingSmoke
1668        ParticleSysBone = Smoke02 SmolderingSmoke
1669        ParticleSysBone = Smoke03 SmolderingSmoke
1670        ParticleSysBone = Smoke04 SmolderingSmoke
1671        ParticleSysBone = Smoke05 SmolderingSmoke
1672        ParticleSysBone = Smoke06 SmolderingSmoke
1673        ParticleSysBone = Smoke07 SmolderingSmoke
1674        ParticleSysBone = Fire02 SmolderingFire
1675        ParticleSysBone = Fire03 SmolderingFire
1676        ParticleSysBone = Fire04 SmolderingFire
1677        ParticleSysBone = Fire05 SmolderingFire
1678        ParticleSysBone = Fire06 SmolderingFire
1679        ParticleSysBone = Fire07 SmolderingFire
1680      End
1681      ConditionState         = GARRISONED
1682        Model                = UBBlkMktEG
1683        ParticleSysBone      = Smoke01 SmolderingSmoke
1684        Animation            = UBBlkMktEG.UBBlkMktEG
1685        AnimationMode        = LOOP
1686      End
1687      ConditionState         = DAMAGED GARRISONED
1688        Model                = UBBlkMktEG_D
1689        ParticleSysBone      = Smoke01 SmolderingSmoke
1690        Animation            = UBBlkMktEG_D.UBBlkMktEG_D
1691        AnimationMode        = LOOP
1692      End
1693      ConditionState         = REALLYDAMAGED GARRISONED
1694        Model                = UBBlkMktEG_E
1695        ParticleSysBone      = Smoke01 SmolderingSmoke
1696        Animation            = UBBlkMktEG_E.UBBlkMktEG_E
1697        AnimationMode        = LOOP
1698      End
1699  
1700      ; day snow
1701      ConditionState    = SNOW
1702        Model           = UBBlackMkt_S
1703        Animation       = UBBlackMkt_S.UBBlackMkt_S
1704        AnimationMode   = LOOP
1705        ParticleSysBone = Smoke01 SmolderingSmoke      
1706      End
1707      ConditionState    = DAMAGED SNOW
1708        Model           = UBBlackMkt_DS
1709        Animation       = UBBlackMkt_DS.UBBlackMkt_DS
1710        AnimationMode   = LOOP
1711        ParticleSysBone = Smoke01 SmolderingSmoke
1712        ParticleSysBone = Smoke02 SmolderingSmoke
1713        ParticleSysBone = Smoke03 SmolderingSmoke
1714        ParticleSysBone = Smoke04 SmolderingSmoke
1715        ParticleSysBone = Smoke05 SmolderingSmoke
1716        ParticleSysBone = Smoke06 SmolderingSmoke
1717        ParticleSysBone = Fire02 SmolderingFire
1718        ParticleSysBone = Fire03 SmolderingFire
1719        ParticleSysBone = Fire04 SmolderingFire
1720        ParticleSysBone = Fire05 SmolderingFire
1721        ParticleSysBone = Fire06 SmolderingFire
1722      End
1723      ConditionState    = REALLYDAMAGED RUBBLE SNOW
1724        Model           = UBBlackMkt_ES
1725        Animation       = UBBlackMkt_ES.UBBlackMkt_ES
1726        AnimationMode   = LOOP
1727        ParticleSysBone = Smoke01 SmolderingSmoke
1728        ParticleSysBone = Smoke02 SmolderingSmoke
1729        ParticleSysBone = Smoke03 SmolderingSmoke
1730        ParticleSysBone = Smoke04 SmolderingSmoke
1731        ParticleSysBone = Smoke05 SmolderingSmoke
1732        ParticleSysBone = Smoke06 SmolderingSmoke
1733        ParticleSysBone = Smoke07 SmolderingSmoke
1734        ParticleSysBone = Fire02 SmolderingFire
1735        ParticleSysBone = Fire03 SmolderingFire
1736        ParticleSysBone = Fire04 SmolderingFire
1737        ParticleSysBone = Fire05 SmolderingFire
1738        ParticleSysBone = Fire06 SmolderingFire
1739        ParticleSysBone = Fire07 SmolderingFire
1740      End
1741      ConditionState         = GARRISONED SNOW
1742        Model                = UBBlkMktEG_S
1743        ParticleSysBone      = Smoke01 SmolderingSmoke
1744        Animation            = UBBlkMktEG_S.UBBlkMktEG_S
1745        AnimationMode        = LOOP
1746      End
1747      ConditionState         = DAMAGED GARRISONED SNOW
1748        Model                = UBBlkMktEG_DS
1749        ParticleSysBone      = Smoke01 SmolderingSmoke
1750        Animation            = UBBlkMktEG_DS.UBBlkMktEG_DS
1751        AnimationMode        = LOOP
1752      End
1753      ConditionState         = REALLYDAMAGED GARRISONED SNOW
1754        Model                = UBBlkMktEG_ES
1755        ParticleSysBone      = Smoke01 SmolderingSmoke
1756        Animation            = UBBlkMktEG_ES.UBBlkMktEG_ES
1757        AnimationMode        = LOOP
1758      End
1759  
1760      ; night
1761      ConditionState    = NIGHT 
1762        Model           = UBBlackMkt_N
1763        Animation       = UBBlackMkt_N.UBBlackMkt_N
1764        AnimationMode   = LOOP
1765        ParticleSysBone = Smoke01 SmolderingSmoke      
1766      End
1767      ConditionState    = DAMAGED NIGHT
1768        Model           = UBBlackMkt_DN
1769        Animation       = UBBlackMkt_DN.UBBlackMkt_DN
1770        AnimationMode   = LOOP
1771        ParticleSysBone = Smoke01 SmolderingSmoke
1772        ParticleSysBone = Smoke02 SmolderingSmoke
1773        ParticleSysBone = Smoke03 SmolderingSmoke
1774        ParticleSysBone = Smoke04 SmolderingSmoke
1775        ParticleSysBone = Smoke05 SmolderingSmoke
1776        ParticleSysBone = Smoke06 SmolderingSmoke
1777        ParticleSysBone = Fire02 SmolderingFire
1778        ParticleSysBone = Fire03 SmolderingFire
1779        ParticleSysBone = Fire04 SmolderingFire
1780        ParticleSysBone = Fire05 SmolderingFire
1781        ParticleSysBone = Fire06 SmolderingFire
1782      End
1783      ConditionState    = REALLYDAMAGED RUBBLE NIGHT
1784        Model           = UBBlackMkt_EN
1785        Animation       = UBBlackMkt_EN.UBBlackMkt_EN
1786        AnimationMode   = LOOP
1787        ParticleSysBone = Smoke01 SmolderingSmoke
1788        ParticleSysBone = Smoke02 SmolderingSmoke
1789        ParticleSysBone = Smoke03 SmolderingSmoke
1790        ParticleSysBone = Smoke04 SmolderingSmoke
1791        ParticleSysBone = Smoke05 SmolderingSmoke
1792        ParticleSysBone = Smoke06 SmolderingSmoke
1793        ParticleSysBone = Smoke07 SmolderingSmoke
1794        ParticleSysBone = Fire02 SmolderingFire
1795        ParticleSysBone = Fire03 SmolderingFire
1796        ParticleSysBone = Fire04 SmolderingFire
1797        ParticleSysBone = Fire05 SmolderingFire
1798        ParticleSysBone = Fire06 SmolderingFire
1799        ParticleSysBone = Fire07 SmolderingFire
1800      End
1801      ConditionState         = GARRISONED NIGHT
1802        Model                = UBBlkMktEG_N
1803        ParticleSysBone      = Smoke01 SmolderingSmoke
1804        Animation            = UBBlkMktEG_N.UBBlkMktEG_N
1805        AnimationMode        = LOOP
1806      End
1807      ConditionState         = DAMAGED GARRISONED NIGHT
1808        Model                = UBBlkMktEG_DN
1809        ParticleSysBone      = Smoke01 SmolderingSmoke
1810        Animation            = UBBlkMktEG_DN.UBBlkMktEG_DN
1811        AnimationMode        = LOOP
1812      End
1813      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
1814        Model                = UBBlkMktEG_EN
1815        ParticleSysBone      = Smoke01 SmolderingSmoke
1816        Animation            = UBBlkMktEG_EN.UBBlkMktEG_EN
1817        AnimationMode        = LOOP
1818      End
1819  
1820      ; night snow
1821      ConditionState    = NIGHT SNOW
1822        Model           = UBBlackMkt_NS
1823        Animation       = UBBlackMkt_NS.UBBlackMkt_NS
1824        AnimationMode   = LOOP
1825        ParticleSysBone = Smoke01 SmolderingSmoke      
1826      End
1827      ConditionState    = DAMAGED NIGHT SNOW
1828        Model           = UBBlackMkt_DNS
1829        Animation       = UBBlackMkt_DNS.UBBlackMkt_DNS
1830        AnimationMode   = LOOP
1831        ParticleSysBone = Smoke01 SmolderingSmoke
1832        ParticleSysBone = Smoke02 SmolderingSmoke
1833        ParticleSysBone = Smoke03 SmolderingSmoke
1834        ParticleSysBone = Smoke04 SmolderingSmoke
1835        ParticleSysBone = Smoke05 SmolderingSmoke
1836        ParticleSysBone = Smoke06 SmolderingSmoke
1837        ParticleSysBone = Fire02 SmolderingFire
1838        ParticleSysBone = Fire03 SmolderingFire
1839        ParticleSysBone = Fire04 SmolderingFire
1840        ParticleSysBone = Fire05 SmolderingFire
1841        ParticleSysBone = Fire06 SmolderingFire
1842      End
1843      ConditionState    = REALLYDAMAGED RUBBLE NIGHT SNOW
1844        Model           = UBBlackMkt_ENS
1845        Animation       = UBBlackMkt_ENS.UBBlackMkt_ENS
1846        AnimationMode   = LOOP
1847        ParticleSysBone = Smoke01 SmolderingSmoke
1848        ParticleSysBone = Smoke02 SmolderingSmoke
1849        ParticleSysBone = Smoke03 SmolderingSmoke
1850        ParticleSysBone = Smoke04 SmolderingSmoke
1851        ParticleSysBone = Smoke05 SmolderingSmoke
1852        ParticleSysBone = Smoke06 SmolderingSmoke
1853        ParticleSysBone = Smoke07 SmolderingSmoke
1854        ParticleSysBone = Fire02 SmolderingFire
1855        ParticleSysBone = Fire03 SmolderingFire
1856        ParticleSysBone = Fire04 SmolderingFire
1857        ParticleSysBone = Fire05 SmolderingFire
1858        ParticleSysBone = Fire06 SmolderingFire
1859        ParticleSysBone = Fire07 SmolderingFire
1860      End
1861      ConditionState         = GARRISONED NIGHT SNOW
1862        Model                = UBBlkMktEG_NS
1863        ParticleSysBone      = Smoke01 SmolderingSmoke
1864        Animation            = UBBlkMktEG_NS.UBBlkMktEG_NS
1865        AnimationMode        = LOOP
1866      End
1867      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
1868        Model                = UBBlkMktEG_DNS
1869        ParticleSysBone      = Smoke01 SmolderingSmoke
1870        Animation            = UBBlkMktEG_DNS.UBBlkMktEG_DNS
1871        AnimationMode        = LOOP
1872      End
1873      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
1874        Model                = UBBlkMktEG_ENS
1875        ParticleSysBone      = Smoke01 SmolderingSmoke
1876        Animation            = UBBlkMktEG_ENS.UBBlkMktEG_ENS
1877        AnimationMode        = LOOP
1878      End
1879  
1880      ;**************************************************************************************************************************
1881      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
1882      ;for this draw module
1883      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1884        Model              = UBBlackMkt
1885        Animation          = UBBlackMkt.UBBlackMkt
1886        AnimationMode      = LOOP
1887        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1888      End
1889      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
1890        Model              = UBBlackMkt_D
1891        Animation          = UBBlackMkt_D.UBBlackMkt_D
1892        AnimationMode      = LOOP
1893        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1894      End
1895      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
1896        Model              = UBBlackMkt_E
1897        Animation          = UBBlackMkt_E.UBBlackMkt_E
1898        AnimationMode      = LOOP
1899        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1900      End
1901      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
1902        Model              = UBBlackMkt_N
1903        Animation          = UBBlackMkt_N.UBBlackMkt_N
1904        AnimationMode      = LOOP
1905        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1906      End
1907      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
1908        Model              = UBBlackMkt_DN
1909        Animation          = UBBlackMkt_DN.UBBlackMkt_DN
1910        AnimationMode      = LOOP
1911        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1912      End
1913      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
1914        Model              = UBBlackMkt_EN
1915        Animation          = UBBlackMkt_EN.UBBlackMkt_EN
1916        AnimationMode      = LOOP
1917        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1918      End
1919      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
1920        Model              = UBBlackMkt_S
1921        Animation          = UBBlackMkt_S.UBBlackMkt_S
1922        AnimationMode      = LOOP
1923        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1924      End
1925      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
1926        Model              = UBBlackMkt_DS
1927        Animation          = UBBlackMkt_DS.UBBlackMkt_DS
1928        AnimationMode      = LOOP
1929        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1930      End
1931      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
1932        Model              = UBBlackMkt_ES
1933        Animation          = UBBlackMkt_ES.UBBlackMkt_ES
1934        AnimationMode      = LOOP
1935        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1936      End
1937      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
1938        Model              = UBBlackMkt_NS
1939        Animation          = UBBlackMkt_NS.UBBlackMkt_NS
1940        AnimationMode      = LOOP
1941        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1942      End
1943      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
1944        Model              = UBBlackMkt_DNS
1945        Animation          = UBBlackMkt_DNS.UBBlackMkt_DNS
1946        AnimationMode      = LOOP
1947        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1948      End
1949      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
1950        Model              = UBBlackMkt_ENS
1951        Animation          = UBBlackMkt_ENS.UBBlackMkt_ENS
1952        AnimationMode      = LOOP
1953        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1954      End
1955  
1956      ConditionState       = AWAITING_CONSTRUCTION 
1957        Model              = NONE
1958      End
1959      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
1960      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
1961      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
1962      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
1963      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
1964      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
1965      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
1966      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
1967      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
1968      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
1969      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
1970      AliasConditionState  = SOLD 
1971      AliasConditionState  = SOLD DAMAGED
1972      AliasConditionState  = SOLD REALLYDAMAGED
1973      AliasConditionState  = SOLD NIGHT
1974      AliasConditionState  = SOLD NIGHT DAMAGED
1975      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
1976      AliasConditionState  = SOLD SNOW
1977      AliasConditionState  = SOLD SNOW DAMAGED
1978      AliasConditionState  = SOLD SNOW REALLYDAMAGED
1979      AliasConditionState  = SOLD NIGHT SNOW
1980      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
1981      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
1982      AliasConditionState  = GARRISONED SOLD 
1983      AliasConditionState  = GARRISONED SOLD DAMAGED
1984      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
1985      AliasConditionState  = GARRISONED SOLD NIGHT
1986      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
1987      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
1988      AliasConditionState  = GARRISONED SOLD SNOW
1989      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
1990      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
1991      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
1992      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
1993      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
1994      ;**************************************************************************************************************************
1995      
1996    End  
1997  
1998    ; ------------ construction-zone fence -----------------
1999    Draw = W3DModelDraw ModuleTag_02
2000    AnimationsRequirePower = No
2001      DefaultConditionState
2002        Model           = None
2003        TransitionKey   = DOWN_DEFAULT
2004  
2005      End
2006      ConditionState    = NIGHT
2007        Model           = None
2008        TransitionKey   = DOWN_DEFAULT
2009      End
2010      ConditionState    = SNOW
2011        Model           = None
2012        TransitionKey   = DOWN_DEFAULT
2013      End   
2014      ConditionState    = SNOW NIGHT
2015        Model           = None
2016        TransitionKey   = DOWN_DEFAULT
2017      End
2018      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2019        Model           = UBBlackMkt_A4
2020        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2021        AnimationMode   = MANUAL
2022        Flags           = START_FRAME_LAST
2023        TransitionKey   = UP_DAY
2024      End
2025      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2026        Model           = UBBlackMkt_A4N
2027        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2028        AnimationMode   = MANUAL
2029        Flags           = START_FRAME_LAST
2030        TransitionKey   = UP_NIGHT
2031      End
2032      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2033        Model           = UBBlackMkt_A4S
2034        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2035        AnimationMode   = MANUAL
2036        Flags           = START_FRAME_LAST
2037        TransitionKey   = UP_SNOW
2038      End   
2039      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2040        Model           = UBBlackMkt_A4SN
2041        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2042        AnimationMode   = MANUAL
2043        Flags           = START_FRAME_LAST
2044        TransitionKey   = UP_SNOWNIGHT
2045      End 
2046      TransitionState   = DOWN_DEFAULT UP_DAY
2047        Model           = UBBlackMkt_A4
2048        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2049        AnimationMode   = ONCE
2050        AnimationSpeedFactorRange = 1.0 1.0
2051        Flags           = START_FRAME_FIRST
2052      End
2053      TransitionState   = DOWN_DEFAULT UP_NIGHT
2054        Model           = UBBlackMkt_A4N
2055        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2056        AnimationMode   = ONCE
2057        AnimationSpeedFactorRange = 1.0 1.0
2058        Flags           = START_FRAME_FIRST
2059      End
2060      TransitionState   = DOWN_DEFAULT UP_SNOW
2061        Model           = UBBlackMkt_A4S
2062        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2063        AnimationMode   = ONCE
2064        AnimationSpeedFactorRange = 1.0 1.0
2065        Flags           = START_FRAME_FIRST
2066      End
2067      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
2068        Model           = UBBlackMkt_A4SN
2069        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2070        AnimationMode   = ONCE
2071        AnimationSpeedFactorRange = 1.0 1.0
2072        Flags           = START_FRAME_FIRST
2073      End
2074      TransitionState   = UP_DAY DOWN_DEFAULT
2075        Model           = UBBlackMkt_A4
2076        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2077        AnimationMode   = ONCE_BACKWARDS
2078        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2079        Flags           = START_FRAME_LAST
2080      End
2081      TransitionState   = UP_NIGHT DOWN_DEFAULT
2082        Model           = UBBlackMkt_A4N
2083        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2084        AnimationMode   = ONCE_BACKWARDS
2085        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2086        Flags           = START_FRAME_LAST
2087      End
2088      TransitionState   = UP_SNOW DOWN_DEFAULT
2089        Model           = UBBlackMkt_A4S
2090        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2091        AnimationMode   = ONCE_BACKWARDS
2092        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2093        Flags           = START_FRAME_LAST
2094      End
2095      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
2096        Model           = UBBlackMkt_A4SN
2097        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2098        AnimationMode   = ONCE_BACKWARDS
2099        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2100        Flags           = START_FRAME_LAST
2101      End
2102    End
2103  
2104    ; ------------ under-construction scaffolding -----------------
2105    Draw = W3DModelDraw ModuleTag_03
2106    AnimationsRequirePower = No
2107      MinLODRequired = MEDIUM
2108      DefaultConditionState
2109        Model           = None
2110        TransitionKey   = DOWN_DEFAULT
2111      End
2112      ConditionState    = NIGHT
2113        Model           = None
2114        TransitionKey   = DOWN_DEFAULT
2115      End
2116      ConditionState    = SNOW
2117        Model           = None
2118        TransitionKey   = DOWN_DEFAULT
2119      End 
2120      ConditionState    = SNOW NIGHT
2121        Model           = None
2122        TransitionKey   = DOWN_DEFAULT
2123      End 
2124      ConditionState    = PARTIALLY_CONSTRUCTED
2125        Model           = UBBlackMkt_A6
2126        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2127        AnimationMode   = MANUAL
2128        Flags           = START_FRAME_LAST
2129        TransitionKey   = UP_DAY
2130        ParticleSysBone = Dust01 BuildingDust
2131        ParticleSysBone = Smoke01 BuildUpSmoke
2132        ParticleSysBone = Smoke02 BuildUpSmoke
2133        ParticleSysBone = Smoke03 BuildUpSmoke
2134        ParticleSysBone = Smoke04 BuildUpSmoke
2135      End
2136      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
2137        Model           = UBBlackMkt_A6N
2138        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2139        AnimationMode   = MANUAL
2140        Flags           = START_FRAME_LAST
2141        TransitionKey   = UP_NIGHT
2142        ParticleSysBone = Dust01 BuildingDust
2143        ParticleSysBone = Smoke01 BuildUpSmoke
2144        ParticleSysBone = Smoke02 BuildUpSmoke
2145        ParticleSysBone = Smoke03 BuildUpSmoke
2146        ParticleSysBone = Smoke04 BuildUpSmoke
2147      End
2148      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
2149        Model           = UBBlackMkt_A6S
2150        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2151        AnimationMode   = MANUAL
2152        Flags           = START_FRAME_LAST
2153        TransitionKey   = UP_SNOW
2154        ParticleSysBone = Dust01 BuildingSnowDust
2155        ParticleSysBone = Smoke01 BuildUpSnowSmoke
2156        ParticleSysBone = Smoke02 BuildUpSnowSmoke
2157        ParticleSysBone = Smoke03 BuildUpSnowSmoke
2158        ParticleSysBone = Smoke04 BuildUpSnowSmoke
2159      End
2160      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
2161        Model           = UBBlackMkt_A6SN
2162        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2163        AnimationMode   = MANUAL
2164        Flags           = START_FRAME_LAST
2165        TransitionKey   = UP_SNOWNIGHT
2166        ParticleSysBone = Dust01 BuildingNightSnowDust
2167        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
2168        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
2169        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
2170        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
2171      End
2172      TransitionState   = DOWN_DEFAULT UP_DAY
2173       Model            = UBBlackMkt_A6
2174        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2175        AnimationMode   = ONCE
2176        AnimationSpeedFactorRange = 1.0 1.0
2177        Flags           = START_FRAME_FIRST
2178      End
2179      TransitionState   = DOWN_DEFAULT UP_NIGHT
2180       Model            = UBBlackMkt_A6N
2181        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2182        AnimationMode   = ONCE
2183        AnimationSpeedFactorRange = 1.0 1.0
2184        Flags           = START_FRAME_FIRST
2185      End
2186      TransitionState   = DOWN_DEFAULT UP_SNOW
2187       Model            = UBBlackMkt_A6S
2188        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2189        AnimationMode   = ONCE
2190        AnimationSpeedFactorRange = 1.0 1.0
2191        Flags           = START_FRAME_FIRST
2192      End
2193      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
2194       Model            = UBBlackMkt_A6SN
2195        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2196        AnimationMode   = ONCE
2197        AnimationSpeedFactorRange = 1.0 1.0
2198        Flags           = START_FRAME_FIRST
2199      End
2200      TransitionState   = UP_DAY DOWN_DEFAULT
2201        Model           = UBBlackMkt_A6
2202        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2203        AnimationMode   = ONCE_BACKWARDS
2204        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2205        Flags           = START_FRAME_LAST
2206      End
2207      TransitionState   = UP_NIGHT DOWN_DEFAULT
2208        Model           = UBBlackMkt_A6N
2209        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2210        AnimationMode   = ONCE_BACKWARDS
2211        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2212        Flags           = START_FRAME_LAST
2213      End
2214      TransitionState   = UP_SNOW DOWN_DEFAULT
2215        Model           = UBBlackMkt_A6S
2216        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2217        AnimationMode   = ONCE_BACKWARDS
2218        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2219        Flags           = START_FRAME_LAST
2220      End
2221      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
2222        Model           = UBBlackMkt_A6SN
2223        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2224        AnimationMode   = ONCE_BACKWARDS
2225        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2226        Flags           = START_FRAME_LAST
2227      End
2228    End
2229    PlacementViewAngle  = -45
2230  
2231    ; ***DESIGN parameters ***
2232    DisplayName         = OBJECT:BlackMarket
2233    Side                = GLAStealthGeneral
2234    EditorSorting       = STRUCTURE
2235    Prerequisites
2236      Object = Slth_GLAPalace
2237    End
2238    BuildCost           = 2500
2239    BuildTime           = 30.0           ; in seconds
2240    EnergyProduction    = 0
2241    CommandSet          = Slth_GLABlackMarketCommandSet
2242    VisionRange         = 200.0           ; Shroud clearing distance
2243    ShroudClearingRange = 200
2244    ArmorSet
2245      Conditions        = None
2246      Armor             = StructureArmor
2247      DamageFX          = StructureDamageFXNoShake
2248    End
2249    ArmorSet
2250      Conditions        = PLAYER_UPGRADE
2251      Armor             = GLAUpgradedStructureArmor
2252      DamageFX          = StructureDamageFXNoShake
2253    End
2254    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
2255  
2256    ; *** AUDIO Parameters ***
2257    VoiceSelect         = BlackMarketSelect
2258    SoundOnDamaged        = BuildingDamagedStateLight
2259    SoundOnReallyDamaged  = BuildingDestroy
2260  
2261    UnitSpecificSounds
2262      UnderConstruction     = UnderConstructionLoop
2263    End
2264  
2265    ; *** ENGINEERING Parameters ***
2266    RadarPriority       = STRUCTURE
2267    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BLACK_MARKET
2268    Body                = StructureBody ModuleTag_04
2269      MaxHealth         = 1000.0
2270      InitialHealth     = 1000.0
2271  
2272      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
2273      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
2274      SubdualDamageCap = 1200
2275      SubdualDamageHealRate = 500
2276      SubdualDamageHealAmount = 100
2277    End
2278  
2279    Behavior        = ArmorUpgrade ModuleTag_Armor01
2280      TriggeredBy   = Upgrade_GLAFortifiedStructure
2281    End
2282  
2283    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
2284      ConditionFlag = GARRISONED
2285      TriggeredBy   = Upgrade_GLAFortifiedStructure
2286    End
2287  
2288    Behavior = AutoDepositUpdate ModuleTag_05
2289      DepositTiming       = 2000   ; in milliseconds
2290      DepositAmount       = 20   ; cash amount to deposit every DepositTiming
2291      InitialCaptureBonus = 0  ; no initial bonus
2292    End
2293  
2294    Behavior = ProductionUpdate ModuleTag_06
2295      ; nothing
2296    End
2297  
2298    Behavior                 = DestroyDie ModuleTag_07
2299      ;nothing
2300    End
2301    Behavior                 = RebuildHoleExposeDie ModuleTag_08
2302      HoleName          = GLAHoleBlackMarket
2303      HoleMaxHealth     = 500.0
2304    End 
2305    Behavior                 = CreateObjectDie ModuleTag_09
2306      CreationList      = OCL_ABPowerPlantExplode
2307    End
2308    Behavior                 = FXListDie ModuleTag_10
2309      DeathFX           = FX_StructureSmallDeath
2310    End
2311  
2312    Behavior = FlammableUpdate ModuleTag_12
2313      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2314      AflameDamageAmount = 5       ; taking this much damage...
2315      AflameDamageDelay = 500       ; this often.
2316    End
2317  
2318    Behavior = TransitionDamageFX ModuleTag_13
2319      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
2320      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
2321      ;---------------------------------------------------------------------------------------
2322      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
2323      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
2324      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
2325    End
2326  
2327    Behavior = StealthUpdate ModuleStealth_09
2328      StealthDelay                = 2500 ; msec
2329      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
2330      InnateStealth               = No ;Requires upgrade first
2331      OrderIdleEnemiesToAttackMeUponReveal  = Yes
2332    End
2333    Behavior = StealthUpgrade ModuleTag_14
2334      TriggeredBy = Upgrade_GLACamoNetting
2335    END
2336  
2337    Geometry            = BOX
2338    GeometryMajorRadius = 35.0
2339    GeometryMinorRadius = 35.0
2340    GeometryHeight      = 35.0
2341    GeometryIsSmall     = No
2342    Shadow              = SHADOW_VOLUME
2343    BuildCompletion     = PLACED_BY_PLAYER
2344  
2345  End
2346  
2347  ;------------------------------------------------------------------------------
2348  ObjectReskin Slth_GLAHoleBlackMarket Slth_GLAHole
2349    Draw                     = W3DModelDraw ModuleTag_01
2350      OkToChangeModelColor   = Yes
2351      ConditionState         = NONE
2352        Model                = UBHole
2353      End
2354      ConditionState         = DAMAGED
2355        Model                = UBHole_D
2356        ParticleSysBone      = Smoke01 SteamVent
2357      End
2358      ConditionState         = REALLYDAMAGED RUBBLE
2359        Model                = UBHole_E
2360        ParticleSysBone      = Smoke01 SteamVent
2361        ParticleSysBone      = Smoke02 SteamVent
2362        ParticleSysBone      = Fire01 GLAPowerPlantFlame
2363        ParticleSysBone      = Fire02 GLAPowerPlantFlame
2364        ParticleSysBone      = Fire03 GLAPowerPlantFlame
2365      End
2366    End
2367    Draw                     = W3DModelDraw ModuleTag_02
2368      OkToChangeModelColor   = Yes
2369      ConditionState         = NONE
2370        Model                = UBBlackMkt_R
2371        ParticleSysBone      = Smoke01 SmolderingSmoke
2372        ParticleSysBone      = Smoke03 SmolderingSmoke
2373        ParticleSysBone      = Smoke04 SmolderingSmoke
2374      End
2375      ConditionState         = DAMAGED REALLYDAMAGED RUBBLE
2376        Model                = UBBlackMkt_R
2377        ParticleSysBone      = Smoke01 SmolderingSmoke
2378        ParticleSysBone      = Smoke03 SmolderingSmoke
2379        ParticleSysBone      = Smoke04 SmolderingSmoke
2380      End
2381    End
2382  End
2383  
2384  ;------------------------------------------------------------------------------
2385  Object Slth_FakeGLABlackMarket
2386  
2387    ; *** ART Parameters ***
2388    SelectPortrait         = SUBlackMarket_L
2389    ButtonImage            = SUBlackMarket
2390  
2391  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
2392    UpgradeCameo1 = Upgrade_GLACamoNetting
2393  
2394    Draw                = W3DModelDraw ModuleTag_01
2395      OkToChangeModelColor = Yes
2396  
2397      ; day
2398      ConditionState    = NONE
2399        Model           = UBBlackMkt
2400        Animation       = UBBlackMkt.UBBlackMkt
2401        AnimationMode   = LOOP
2402        ParticleSysBone = Smoke01 SmolderingSmoke      
2403      End
2404      ConditionState    = DAMAGED
2405        Model           = UBBlackMkt_D
2406        Animation       = UBBlackMkt_D.UBBlackMkt_D
2407        AnimationMode   = LOOP
2408        ParticleSysBone = Smoke01 SmolderingSmoke
2409        ParticleSysBone = Smoke02 SmolderingSmoke
2410        ParticleSysBone = Smoke03 SmolderingSmoke
2411        ParticleSysBone = Smoke04 SmolderingSmoke
2412        ParticleSysBone = Smoke05 SmolderingSmoke
2413        ParticleSysBone = Smoke06 SmolderingSmoke
2414        ParticleSysBone = Fire02 SmolderingFire
2415        ParticleSysBone = Fire03 SmolderingFire
2416        ParticleSysBone = Fire04 SmolderingFire
2417        ParticleSysBone = Fire05 SmolderingFire
2418        ParticleSysBone = Fire06 SmolderingFire
2419      End
2420      ConditionState    = REALLYDAMAGED RUBBLE
2421        Model           = UBBlackMkt_E
2422        Animation       = UBBlackMkt_E.UBBlackMkt_E
2423        AnimationMode   = LOOP
2424        ParticleSysBone = Smoke01 SmolderingSmoke
2425        ParticleSysBone = Smoke02 SmolderingSmoke
2426        ParticleSysBone = Smoke03 SmolderingSmoke
2427        ParticleSysBone = Smoke04 SmolderingSmoke
2428        ParticleSysBone = Smoke05 SmolderingSmoke
2429        ParticleSysBone = Smoke06 SmolderingSmoke
2430        ParticleSysBone = Smoke07 SmolderingSmoke
2431        ParticleSysBone = Fire02 SmolderingFire
2432        ParticleSysBone = Fire03 SmolderingFire
2433        ParticleSysBone = Fire04 SmolderingFire
2434        ParticleSysBone = Fire05 SmolderingFire
2435        ParticleSysBone = Fire06 SmolderingFire
2436        ParticleSysBone = Fire07 SmolderingFire
2437      End
2438      ConditionState         = GARRISONED
2439        Model                = UBBlkMktEG
2440        ParticleSysBone      = Smoke01 SmolderingSmoke
2441        Animation            = UBBlkMktEG.UBBlkMktEG
2442        AnimationMode        = LOOP
2443      End
2444      ConditionState         = DAMAGED GARRISONED
2445        Model                = UBBlkMktEG_D
2446        ParticleSysBone      = Smoke01 SmolderingSmoke
2447        Animation            = UBBlkMktEG_D.UBBlkMktEG_D
2448        AnimationMode        = LOOP
2449      End
2450      ConditionState         = REALLYDAMAGED GARRISONED
2451        Model                = UBBlkMktEG_E
2452        ParticleSysBone      = Smoke01 SmolderingSmoke
2453        Animation            = UBBlkMktEG_E.UBBlkMktEG_E
2454        AnimationMode        = LOOP
2455      End
2456  
2457      ; day snow
2458      ConditionState    = SNOW
2459        Model           = UBBlackMkt_S
2460        Animation       = UBBlackMkt_S.UBBlackMkt_S
2461        AnimationMode   = LOOP
2462        ParticleSysBone = Smoke01 SmolderingSmoke      
2463      End
2464      ConditionState    = DAMAGED SNOW
2465        Model           = UBBlackMkt_DS
2466        Animation       = UBBlackMkt_DS.UBBlackMkt_DS
2467        AnimationMode   = LOOP
2468        ParticleSysBone = Smoke01 SmolderingSmoke
2469        ParticleSysBone = Smoke02 SmolderingSmoke
2470        ParticleSysBone = Smoke03 SmolderingSmoke
2471        ParticleSysBone = Smoke04 SmolderingSmoke
2472        ParticleSysBone = Smoke05 SmolderingSmoke
2473        ParticleSysBone = Smoke06 SmolderingSmoke
2474        ParticleSysBone = Fire02 SmolderingFire
2475        ParticleSysBone = Fire03 SmolderingFire
2476        ParticleSysBone = Fire04 SmolderingFire
2477        ParticleSysBone = Fire05 SmolderingFire
2478        ParticleSysBone = Fire06 SmolderingFire
2479      End
2480      ConditionState    = REALLYDAMAGED RUBBLE SNOW
2481        Model           = UBBlackMkt_ES
2482        Animation       = UBBlackMkt_ES.UBBlackMkt_ES
2483        AnimationMode   = LOOP
2484        ParticleSysBone = Smoke01 SmolderingSmoke
2485        ParticleSysBone = Smoke02 SmolderingSmoke
2486        ParticleSysBone = Smoke03 SmolderingSmoke
2487        ParticleSysBone = Smoke04 SmolderingSmoke
2488        ParticleSysBone = Smoke05 SmolderingSmoke
2489        ParticleSysBone = Smoke06 SmolderingSmoke
2490        ParticleSysBone = Smoke07 SmolderingSmoke
2491        ParticleSysBone = Fire02 SmolderingFire
2492        ParticleSysBone = Fire03 SmolderingFire
2493        ParticleSysBone = Fire04 SmolderingFire
2494        ParticleSysBone = Fire05 SmolderingFire
2495        ParticleSysBone = Fire06 SmolderingFire
2496        ParticleSysBone = Fire07 SmolderingFire
2497      End
2498      ConditionState         = GARRISONED SNOW
2499        Model                = UBBlkMktEG_S
2500        ParticleSysBone      = Smoke01 SmolderingSmoke
2501        Animation            = UBBlkMktEG_S.UBBlkMktEG_S
2502        AnimationMode        = LOOP
2503      End
2504      ConditionState         = DAMAGED GARRISONED SNOW
2505        Model                = UBBlkMktEG_DS
2506        ParticleSysBone      = Smoke01 SmolderingSmoke
2507        Animation            = UBBlkMktEG_DS.UBBlkMktEG_DS
2508        AnimationMode        = LOOP
2509      End
2510      ConditionState         = REALLYDAMAGED GARRISONED SNOW
2511        Model                = UBBlkMktEG_ES
2512        ParticleSysBone      = Smoke01 SmolderingSmoke
2513        Animation            = UBBlkMktEG_ES.UBBlkMktEG_ES
2514        AnimationMode        = LOOP
2515      End
2516  
2517      ; night
2518      ConditionState    = NIGHT 
2519        Model           = UBBlackMkt_N
2520        Animation       = UBBlackMkt_N.UBBlackMkt_N
2521        AnimationMode   = LOOP
2522        ParticleSysBone = Smoke01 SmolderingSmoke      
2523      End
2524      ConditionState    = DAMAGED NIGHT
2525        Model           = UBBlackMkt_DN
2526        Animation       = UBBlackMkt_DN.UBBlackMkt_DN
2527        AnimationMode   = LOOP
2528        ParticleSysBone = Smoke01 SmolderingSmoke
2529        ParticleSysBone = Smoke02 SmolderingSmoke
2530        ParticleSysBone = Smoke03 SmolderingSmoke
2531        ParticleSysBone = Smoke04 SmolderingSmoke
2532        ParticleSysBone = Smoke05 SmolderingSmoke
2533        ParticleSysBone = Smoke06 SmolderingSmoke
2534        ParticleSysBone = Fire02 SmolderingFire
2535        ParticleSysBone = Fire03 SmolderingFire
2536        ParticleSysBone = Fire04 SmolderingFire
2537        ParticleSysBone = Fire05 SmolderingFire
2538        ParticleSysBone = Fire06 SmolderingFire
2539      End
2540      ConditionState    = REALLYDAMAGED RUBBLE NIGHT
2541        Model           = UBBlackMkt_EN
2542        Animation       = UBBlackMkt_EN.UBBlackMkt_EN
2543        AnimationMode   = LOOP
2544        ParticleSysBone = Smoke01 SmolderingSmoke
2545        ParticleSysBone = Smoke02 SmolderingSmoke
2546        ParticleSysBone = Smoke03 SmolderingSmoke
2547        ParticleSysBone = Smoke04 SmolderingSmoke
2548        ParticleSysBone = Smoke05 SmolderingSmoke
2549        ParticleSysBone = Smoke06 SmolderingSmoke
2550        ParticleSysBone = Smoke07 SmolderingSmoke
2551        ParticleSysBone = Fire02 SmolderingFire
2552        ParticleSysBone = Fire03 SmolderingFire
2553        ParticleSysBone = Fire04 SmolderingFire
2554        ParticleSysBone = Fire05 SmolderingFire
2555        ParticleSysBone = Fire06 SmolderingFire
2556        ParticleSysBone = Fire07 SmolderingFire
2557      End
2558      ConditionState         = GARRISONED NIGHT
2559        Model                = UBBlkMktEG_N
2560        ParticleSysBone      = Smoke01 SmolderingSmoke
2561        Animation            = UBBlkMktEG_N.UBBlkMktEG_N
2562        AnimationMode        = LOOP
2563      End
2564      ConditionState         = DAMAGED GARRISONED NIGHT
2565        Model                = UBBlkMktEG_DN
2566        ParticleSysBone      = Smoke01 SmolderingSmoke
2567        Animation            = UBBlkMktEG_DN.UBBlkMktEG_DN
2568        AnimationMode        = LOOP
2569      End
2570      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
2571        Model                = UBBlkMktEG_EN
2572        ParticleSysBone      = Smoke01 SmolderingSmoke
2573        Animation            = UBBlkMktEG_EN.UBBlkMktEG_EN
2574        AnimationMode        = LOOP
2575      End
2576  
2577      ; night snow
2578      ConditionState    = NIGHT SNOW
2579        Model           = UBBlackMkt_NS
2580        Animation       = UBBlackMkt_NS.UBBlackMkt_NS
2581        AnimationMode   = LOOP
2582        ParticleSysBone = Smoke01 SmolderingSmoke      
2583      End
2584      ConditionState    = DAMAGED NIGHT SNOW
2585        Model           = UBBlackMkt_DNS
2586        Animation       = UBBlackMkt_DNS.UBBlackMkt_DNS
2587        AnimationMode   = LOOP
2588        ParticleSysBone = Smoke01 SmolderingSmoke
2589        ParticleSysBone = Smoke02 SmolderingSmoke
2590        ParticleSysBone = Smoke03 SmolderingSmoke
2591        ParticleSysBone = Smoke04 SmolderingSmoke
2592        ParticleSysBone = Smoke05 SmolderingSmoke
2593        ParticleSysBone = Smoke06 SmolderingSmoke
2594        ParticleSysBone = Fire02 SmolderingFire
2595        ParticleSysBone = Fire03 SmolderingFire
2596        ParticleSysBone = Fire04 SmolderingFire
2597        ParticleSysBone = Fire05 SmolderingFire
2598        ParticleSysBone = Fire06 SmolderingFire
2599      End
2600      ConditionState    = REALLYDAMAGED RUBBLE NIGHT SNOW
2601        Model           = UBBlackMkt_ENS
2602        Animation       = UBBlackMkt_ENS.UBBlackMkt_ENS
2603        AnimationMode   = LOOP
2604        ParticleSysBone = Smoke01 SmolderingSmoke
2605        ParticleSysBone = Smoke02 SmolderingSmoke
2606        ParticleSysBone = Smoke03 SmolderingSmoke
2607        ParticleSysBone = Smoke04 SmolderingSmoke
2608        ParticleSysBone = Smoke05 SmolderingSmoke
2609        ParticleSysBone = Smoke06 SmolderingSmoke
2610        ParticleSysBone = Smoke07 SmolderingSmoke
2611        ParticleSysBone = Fire02 SmolderingFire
2612        ParticleSysBone = Fire03 SmolderingFire
2613        ParticleSysBone = Fire04 SmolderingFire
2614        ParticleSysBone = Fire05 SmolderingFire
2615        ParticleSysBone = Fire06 SmolderingFire
2616        ParticleSysBone = Fire07 SmolderingFire
2617      End
2618      ConditionState         = GARRISONED NIGHT SNOW
2619        Model                = UBBlkMktEG_NS
2620        ParticleSysBone      = Smoke01 SmolderingSmoke
2621        Animation            = UBBlkMktEG_NS.UBBlkMktEG_NS
2622        AnimationMode        = LOOP
2623      End
2624      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
2625        Model                = UBBlkMktEG_DNS
2626        ParticleSysBone      = Smoke01 SmolderingSmoke
2627        Animation            = UBBlkMktEG_DNS.UBBlkMktEG_DNS
2628        AnimationMode        = LOOP
2629      End
2630      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
2631        Model                = UBBlkMktEG_ENS
2632        ParticleSysBone      = Smoke01 SmolderingSmoke
2633        Animation            = UBBlkMktEG_ENS.UBBlkMktEG_ENS
2634        AnimationMode        = LOOP
2635      End
2636  
2637      ;**************************************************************************************************************************
2638      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
2639      ;for this draw module
2640      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2641        Model              = UBBlackMkt
2642        Animation          = UBBlackMkt.UBBlackMkt
2643        AnimationMode      = LOOP
2644        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2645      End
2646      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
2647        Model              = UBBlackMkt_D
2648        Animation          = UBBlackMkt_D.UBBlackMkt_D
2649        AnimationMode      = LOOP
2650        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2651      End
2652      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
2653        Model              = UBBlackMkt_E
2654        Animation          = UBBlackMkt_E.UBBlackMkt_E
2655        AnimationMode      = LOOP
2656        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2657      End
2658      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
2659        Model              = UBBlackMkt_N
2660        Animation          = UBBlackMkt_N.UBBlackMkt_N
2661        AnimationMode      = LOOP
2662        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2663      End
2664      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
2665        Model              = UBBlackMkt_DN
2666        Animation          = UBBlackMkt_DN.UBBlackMkt_DN
2667        AnimationMode      = LOOP
2668        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2669      End
2670      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
2671        Model              = UBBlackMkt_EN
2672        Animation          = UBBlackMkt_EN.UBBlackMkt_EN
2673        AnimationMode      = LOOP
2674        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2675      End
2676      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
2677        Model              = UBBlackMkt_S
2678        Animation          = UBBlackMkt_S.UBBlackMkt_S
2679        AnimationMode      = LOOP
2680        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2681      End
2682      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
2683        Model              = UBBlackMkt_DS
2684        Animation          = UBBlackMkt_DS.UBBlackMkt_DS
2685        AnimationMode      = LOOP
2686        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2687      End
2688      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
2689        Model              = UBBlackMkt_ES
2690        Animation          = UBBlackMkt_ES.UBBlackMkt_ES
2691        AnimationMode      = LOOP
2692        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2693      End
2694      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
2695        Model              = UBBlackMkt_NS
2696        Animation          = UBBlackMkt_NS.UBBlackMkt_NS
2697        AnimationMode      = LOOP
2698        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2699      End
2700      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
2701        Model              = UBBlackMkt_DNS
2702        Animation          = UBBlackMkt_DNS.UBBlackMkt_DNS
2703        AnimationMode      = LOOP
2704        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2705      End
2706      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
2707        Model              = UBBlackMkt_ENS
2708        Animation          = UBBlackMkt_ENS.UBBlackMkt_ENS
2709        AnimationMode      = LOOP
2710        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2711      End
2712  
2713      ConditionState       = AWAITING_CONSTRUCTION 
2714        Model              = NONE
2715      End
2716      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
2717      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
2718      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
2719      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
2720      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
2721      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
2722      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
2723      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
2724      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
2725      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
2726      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
2727      AliasConditionState  = SOLD 
2728      AliasConditionState  = SOLD DAMAGED
2729      AliasConditionState  = SOLD REALLYDAMAGED
2730      AliasConditionState  = SOLD NIGHT
2731      AliasConditionState  = SOLD NIGHT DAMAGED
2732      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
2733      AliasConditionState  = SOLD SNOW
2734      AliasConditionState  = SOLD SNOW DAMAGED
2735      AliasConditionState  = SOLD SNOW REALLYDAMAGED
2736      AliasConditionState  = SOLD NIGHT SNOW
2737      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
2738      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
2739      AliasConditionState  = GARRISONED SOLD 
2740      AliasConditionState  = GARRISONED SOLD DAMAGED
2741      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
2742      AliasConditionState  = GARRISONED SOLD NIGHT
2743      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
2744      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
2745      AliasConditionState  = GARRISONED SOLD SNOW
2746      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
2747      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
2748      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
2749      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
2750      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
2751      ;**************************************************************************************************************************
2752      
2753    End  
2754  
2755    ; ------------ construction-zone fence -----------------
2756    Draw = W3DModelDraw ModuleTag_02
2757    AnimationsRequirePower = No
2758      DefaultConditionState
2759        Model           = None
2760        TransitionKey   = DOWN_DEFAULT
2761  
2762      End
2763      ConditionState    = NIGHT
2764        Model           = None
2765        TransitionKey   = DOWN_DEFAULT
2766      End
2767      ConditionState    = SNOW
2768        Model           = None
2769        TransitionKey   = DOWN_DEFAULT
2770      End   
2771      ConditionState    = SNOW NIGHT
2772        Model           = None
2773        TransitionKey   = DOWN_DEFAULT
2774      End
2775      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2776        Model           = UBBlackMkt_A4
2777        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2778        AnimationMode   = MANUAL
2779        Flags           = START_FRAME_LAST
2780        TransitionKey   = UP_DAY
2781      End
2782      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2783        Model           = UBBlackMkt_A4N
2784        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2785        AnimationMode   = MANUAL
2786        Flags           = START_FRAME_LAST
2787        TransitionKey   = UP_NIGHT
2788      End
2789      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2790        Model           = UBBlackMkt_A4S
2791        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2792        AnimationMode   = MANUAL
2793        Flags           = START_FRAME_LAST
2794        TransitionKey   = UP_SNOW
2795      End   
2796      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2797        Model           = UBBlackMkt_A4SN
2798        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2799        AnimationMode   = MANUAL
2800        Flags           = START_FRAME_LAST
2801        TransitionKey   = UP_SNOWNIGHT
2802      End 
2803      TransitionState   = DOWN_DEFAULT UP_DAY
2804        Model           = UBBlackMkt_A4
2805        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2806        AnimationMode   = ONCE
2807        AnimationSpeedFactorRange = 1.0 1.0
2808        Flags           = START_FRAME_FIRST
2809      End
2810      TransitionState   = DOWN_DEFAULT UP_NIGHT
2811        Model           = UBBlackMkt_A4N
2812        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2813        AnimationMode   = ONCE
2814        AnimationSpeedFactorRange = 1.0 1.0
2815        Flags           = START_FRAME_FIRST
2816      End
2817      TransitionState   = DOWN_DEFAULT UP_SNOW
2818        Model           = UBBlackMkt_A4S
2819        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2820        AnimationMode   = ONCE
2821        AnimationSpeedFactorRange = 1.0 1.0
2822        Flags           = START_FRAME_FIRST
2823      End
2824      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
2825        Model           = UBBlackMkt_A4SN
2826        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2827        AnimationMode   = ONCE
2828        AnimationSpeedFactorRange = 1.0 1.0
2829        Flags           = START_FRAME_FIRST
2830      End
2831      TransitionState   = UP_DAY DOWN_DEFAULT
2832        Model           = UBBlackMkt_A4
2833        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2834        AnimationMode   = ONCE_BACKWARDS
2835        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2836        Flags           = START_FRAME_LAST
2837      End
2838      TransitionState   = UP_NIGHT DOWN_DEFAULT
2839        Model           = UBBlackMkt_A4N
2840        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2841        AnimationMode   = ONCE_BACKWARDS
2842        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2843        Flags           = START_FRAME_LAST
2844      End
2845      TransitionState   = UP_SNOW DOWN_DEFAULT
2846        Model           = UBBlackMkt_A4S
2847        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2848        AnimationMode   = ONCE_BACKWARDS
2849        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2850        Flags           = START_FRAME_LAST
2851      End
2852      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
2853        Model           = UBBlackMkt_A4SN
2854        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2855        AnimationMode   = ONCE_BACKWARDS
2856        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2857        Flags           = START_FRAME_LAST
2858      End
2859    End
2860  
2861    ; ------------ under-construction scaffolding -----------------
2862    Draw = W3DModelDraw ModuleTag_03
2863    AnimationsRequirePower = No
2864      MinLODRequired = MEDIUM
2865      DefaultConditionState
2866        Model           = None
2867        TransitionKey   = DOWN_DEFAULT
2868      End
2869      ConditionState    = NIGHT
2870        Model           = None
2871        TransitionKey   = DOWN_DEFAULT
2872      End
2873      ConditionState    = SNOW
2874        Model           = None
2875        TransitionKey   = DOWN_DEFAULT
2876      End 
2877      ConditionState    = SNOW NIGHT
2878        Model           = None
2879        TransitionKey   = DOWN_DEFAULT
2880      End 
2881      ConditionState    = PARTIALLY_CONSTRUCTED
2882        Model           = UBBlackMkt_A6
2883        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2884        AnimationMode   = MANUAL
2885        Flags           = START_FRAME_LAST
2886        TransitionKey   = UP_DAY
2887        ParticleSysBone = Dust01 BuildingDust
2888        ParticleSysBone = Smoke01 BuildUpSmoke
2889        ParticleSysBone = Smoke02 BuildUpSmoke
2890        ParticleSysBone = Smoke03 BuildUpSmoke
2891        ParticleSysBone = Smoke04 BuildUpSmoke
2892      End
2893      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
2894        Model           = UBBlackMkt_A6N
2895        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2896        AnimationMode   = MANUAL
2897        Flags           = START_FRAME_LAST
2898        TransitionKey   = UP_NIGHT
2899        ParticleSysBone = Dust01 BuildingDust
2900        ParticleSysBone = Smoke01 BuildUpSmoke
2901        ParticleSysBone = Smoke02 BuildUpSmoke
2902        ParticleSysBone = Smoke03 BuildUpSmoke
2903        ParticleSysBone = Smoke04 BuildUpSmoke
2904      End
2905      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
2906        Model           = UBBlackMkt_A6S
2907        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2908        AnimationMode   = MANUAL
2909        Flags           = START_FRAME_LAST
2910        TransitionKey   = UP_SNOW
2911        ParticleSysBone = Dust01 BuildingSnowDust
2912        ParticleSysBone = Smoke01 BuildUpSnowSmoke
2913        ParticleSysBone = Smoke02 BuildUpSnowSmoke
2914        ParticleSysBone = Smoke03 BuildUpSnowSmoke
2915        ParticleSysBone = Smoke04 BuildUpSnowSmoke
2916      End
2917      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
2918        Model           = UBBlackMkt_A6SN
2919        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2920        AnimationMode   = MANUAL
2921        Flags           = START_FRAME_LAST
2922        TransitionKey   = UP_SNOWNIGHT
2923        ParticleSysBone = Dust01 BuildingNightSnowDust
2924        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
2925        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
2926        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
2927        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
2928      End
2929      TransitionState   = DOWN_DEFAULT UP_DAY
2930       Model            = UBBlackMkt_A6
2931        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2932        AnimationMode   = ONCE
2933        AnimationSpeedFactorRange = 1.0 1.0
2934        Flags           = START_FRAME_FIRST
2935      End
2936      TransitionState   = DOWN_DEFAULT UP_NIGHT
2937       Model            = UBBlackMkt_A6N
2938        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2939        AnimationMode   = ONCE
2940        AnimationSpeedFactorRange = 1.0 1.0
2941        Flags           = START_FRAME_FIRST
2942      End
2943      TransitionState   = DOWN_DEFAULT UP_SNOW
2944       Model            = UBBlackMkt_A6S
2945        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2946        AnimationMode   = ONCE
2947        AnimationSpeedFactorRange = 1.0 1.0
2948        Flags           = START_FRAME_FIRST
2949      End
2950      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
2951       Model            = UBBlackMkt_A6SN
2952        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2953        AnimationMode   = ONCE
2954        AnimationSpeedFactorRange = 1.0 1.0
2955        Flags           = START_FRAME_FIRST
2956      End
2957      TransitionState   = UP_DAY DOWN_DEFAULT
2958        Model           = UBBlackMkt_A6
2959        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2960        AnimationMode   = ONCE_BACKWARDS
2961        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2962        Flags           = START_FRAME_LAST
2963      End
2964      TransitionState   = UP_NIGHT DOWN_DEFAULT
2965        Model           = UBBlackMkt_A6N
2966        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2967        AnimationMode   = ONCE_BACKWARDS
2968        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2969        Flags           = START_FRAME_LAST
2970      End
2971      TransitionState   = UP_SNOW DOWN_DEFAULT
2972        Model           = UBBlackMkt_A6S
2973        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2974        AnimationMode   = ONCE_BACKWARDS
2975        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2976        Flags           = START_FRAME_LAST
2977      End
2978      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
2979        Model           = UBBlackMkt_A6SN
2980        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2981        AnimationMode   = ONCE_BACKWARDS
2982        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2983        Flags           = START_FRAME_LAST
2984      End
2985    End
2986    PlacementViewAngle  = -45
2987  
2988    ; ***DESIGN parameters ***
2989    DisplayName         = OBJECT:BlackMarket
2990    Side                = GLAStealthGeneral
2991    EditorSorting       = STRUCTURE
2992    Prerequisites
2993      Object = Slth_GLAPalace
2994    End
2995    BuildCost           = 625
2996    BuildTime           = 20.0           ; in seconds
2997    EnergyProduction    = 0
2998    CommandSet          = FakeGLABlackMarketCommandSet
2999    VisionRange         = 200.0           ; Shroud clearing distance
3000    ShroudClearingRange = 200
3001  
3002    WeaponSet
3003      Conditions          = None 
3004      Weapon = PRIMARY SuicideWeapon
3005      AutoChooseSources = PRIMARY None
3006    End
3007  
3008    ArmorSet
3009      Conditions        = None
3010      Armor             = StructureArmor
3011      DamageFX          = StructureDamageFXNoShake
3012    End
3013    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
3014  
3015    ; *** AUDIO Parameters ***
3016    VoiceSelect         = BlackMarketSelect
3017    SoundOnDamaged        = BuildingDamagedStateLight
3018    SoundOnReallyDamaged  = BuildingDestroy
3019  
3020    UnitSpecificSounds
3021      UnderConstruction     = UnderConstructionLoop
3022    End
3023  
3024    ; *** ENGINEERING Parameters ***
3025    RadarPriority       = STRUCTURE
3026    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE
3027    Body                = StructureBody ModuleTag_04
3028      MaxHealth         = 125.0
3029      InitialHealth     = 125.0
3030  
3031      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
3032      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
3033      SubdualDamageCap = 325
3034      SubdualDamageHealRate = 500
3035      SubdualDamageHealAmount = 100
3036    End
3037  
3038    Behavior = AIUpdateInterface ModuleTag_05
3039      AutoAcquireEnemiesWhenIdle = No
3040    End
3041  
3042    Behavior = ProductionUpdate ModuleTag_06
3043      ; nothing
3044    End
3045  
3046    Behavior = SlowDeathBehavior ModuleTag_07
3047      ExemptStatus = UNDER_CONSTRUCTION
3048      DestructionDelay = 0
3049      Weapon = FINAL FakeStructureDetonationWeapon
3050    End
3051    Behavior = DestroyDie ModuleTag_SlowDeathException
3052      RequiredStatus = UNDER_CONSTRUCTION
3053    End
3054  
3055    Behavior = ReplaceObjectUpgrade ModuleTag_08
3056      ReplaceObject = Slth_GLABlackMarket
3057      TriggeredBy = Upgrade_BecomeRealGLABlackMarket
3058    End
3059  
3060    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
3061      ConditionFlag = GARRISONED
3062      TriggeredBy   = Upgrade_GLAFortifiedStructure
3063    End
3064  
3065    Behavior                 = CreateObjectDie ModuleTag_09
3066      CreationList      = OCL_ABPowerPlantExplode
3067    End
3068    Behavior                 = FXListDie ModuleTag_10
3069      DeathFX           = FX_StructureSmallDeath
3070    End
3071  
3072    Behavior = FlammableUpdate ModuleTag_12
3073      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
3074      AflameDamageAmount = 5       ; taking this much damage...
3075      AflameDamageDelay = 500       ; this often.
3076    End
3077  
3078    Behavior = TransitionDamageFX ModuleTag_13
3079      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
3080      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
3081      ;---------------------------------------------------------------------------------------
3082      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
3083      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
3084      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
3085    End
3086  
3087    Behavior = StealthUpdate ModuleStealth_09
3088      StealthDelay                = 2500 ; msec
3089      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
3090      InnateStealth               = No ;Requires upgrade first
3091      OrderIdleEnemiesToAttackMeUponReveal  = Yes
3092    End
3093    Behavior = StealthUpgrade ModuleTag_14
3094      TriggeredBy = Upgrade_GLACamoNetting
3095    END
3096  
3097    Behavior = AutoDepositUpdate ModuleTag_FakeMoney
3098      DepositTiming       = 2000   ; in milliseconds
3099      DepositAmount       = 20   ; cash amount to deposit every DepositTiming
3100      InitialCaptureBonus = 0  ; no initial bonus
3101      ActualMoney = No ; Display only so I look like a BlackMarket
3102    End
3103  
3104    Geometry            = BOX
3105    GeometryMajorRadius = 35.0
3106    GeometryMinorRadius = 35.0
3107    GeometryHeight      = 35.0
3108    GeometryIsSmall     = No
3109    Shadow              = SHADOW_VOLUME
3110    ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure.
3111    ShadowSizeX = 108
3112    ShadowSizeY = 96
3113    BuildCompletion     = PLACED_BY_PLAYER
3114  
3115  End
3116  
3117  ;------------------------------------------------------------------------------
3118  Object Slth_GLAScudStorm
3119  
3120    UpgradeCameo1 = Upgrade_GLACamoNetting
3121  
3122    ; *** ART Parameters ***
3123    SelectPortrait         = SUScudStorm_L
3124    ButtonImage            = SUScudStorm
3125    Draw = W3DModelDraw ModuleTag_01
3126      OkToChangeModelColor = Yes
3127      ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
3128  
3129      ; day
3130      ConditionState = NONE ; lying around
3131        Model         = UBScudStrm_A1
3132        Animation     = UBScudStrm_A1.UBScudStrm_A1
3133        AnimationMode = MANUAL
3134        Flags         = START_FRAME_FIRST
3135        WeaponLaunchBone = PRIMARY WeaponA
3136        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3137        TransitionKey = Trans_READY
3138  
3139        ParticleSysBone      = SteamM01 SteamLarge
3140        ParticleSysBone      = SteamS01 SteamMedium
3141      End
3142  
3143      TransitionState = Trans_READY Trans_ATTACKING ; from lying around to straight up
3144        Model         = UBScudStrm_A1
3145        Animation     = UBScudStrm_A1.UBScudStrm_A1
3146        AnimationMode = ONCE
3147        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3148        WeaponLaunchBone = PRIMARY WeaponA
3149  
3150        ParticleSysBone      = SteamM01 SteamLarge
3151        ParticleSysBone      = SteamS01 SteamMedium
3152  
3153        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3154        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3155        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3156      End
3157  
3158      ConditionState = ATTACKING  ; Projectile feedback code selectively hiding missiles as they shoot
3159        Model         = UBScudStrm_A2
3160        Animation     = UBScudStrm_A2.UBScudStrm_A2
3161        AnimationMode = MANUAL
3162        Flags         = START_FRAME_FIRST
3163        WeaponLaunchBone = PRIMARY WeaponA
3164        TransitionKey = Trans_ATTACKING
3165  
3166        ParticleSysBone      = SteamM01 SteamLarge
3167        ParticleSysBone      = SteamS01 SteamMedium
3168  
3169        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3170        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3171        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3172      End
3173      AliasConditionState = ATTACKING FIRING_A
3174      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A
3175  
3176      TransitionState = Trans_ATTACKING Trans_READY ; empty arms going underground, coming up with presents for bad people
3177        Model         = UBScudStrm_A3
3178        Animation     = UBScudStrm_A3.UBScudStrm_A3
3179        AnimationMode = ONCE
3180        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3181  
3182        ParticleSysBone      = SteamM01 SteamVent
3183        ParticleSysBone      = SteamS01 SteamVent
3184      End
3185      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
3186        Model              = UBScudStrm
3187        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3188      End
3189      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
3190        Model              = UBScudStrm_D
3191        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3192      End
3193      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
3194        Model              = UBScudStrm_E
3195        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3196      End
3197  
3198      ;-------------------------------------------------------------------------------------------------------------------------
3199      ; day
3200      ConditionState = DAMAGED
3201        Model         = UBScudStrm_DA1
3202        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
3203        AnimationMode = MANUAL
3204        Flags         = START_FRAME_FIRST
3205        WeaponLaunchBone = PRIMARY WeaponA
3206        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3207        TransitionKey = Trans_READY_DAMAGED
3208  
3209        ParticleSysBone      = SteamM01 SteamLarge
3210        ParticleSysBone      = SteamS01 SteamMedium
3211      End
3212  
3213      TransitionState = Trans_READY_DAMAGED Trans_ATTACKING_DAMAGED
3214        Model         = UBScudStrm_DA1
3215        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
3216        AnimationMode = ONCE
3217        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3218        WeaponLaunchBone = PRIMARY WeaponA
3219  
3220        ParticleSysBone      = SteamM01 SteamLarge
3221        ParticleSysBone      = SteamS01 SteamMedium
3222  
3223        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3224        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3225        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3226      End
3227  
3228      ConditionState = ATTACKING DAMAGED
3229        Model         = UBScudStrm_DA2
3230        Animation     = UBScudStrm_DA2.UBScudStrm_DA2
3231        AnimationMode = MANUAL
3232        Flags         = START_FRAME_FIRST
3233        WeaponLaunchBone = PRIMARY WeaponA
3234        TransitionKey = Trans_ATTACKING_DAMAGED
3235  
3236        ParticleSysBone      = SteamM01 SteamLarge
3237        ParticleSysBone      = SteamS01 SteamMedium
3238  
3239        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3240        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3241        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3242      End
3243      AliasConditionState = ATTACKING FIRING_A DAMAGED
3244      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED
3245  
3246      TransitionState = Trans_ATTACKING_DAMAGED Trans_READY_DAMAGED
3247        Model         = UBScudStrm_DA3
3248        Animation     = UBScudStrm_DA3.UBScudStrm_DA3
3249        AnimationMode = ONCE
3250        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3251  
3252        ParticleSysBone      = SteamM01 SteamVent
3253        ParticleSysBone      = SteamS01 SteamVent
3254      End
3255  
3256      ;-------------------------------------------------------------------------------------------------------------------------
3257      ConditionState = REALLYDAMAGED RUBBLE
3258        Model         = UBScudStrm_EA1
3259        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
3260        AnimationMode = MANUAL
3261        Flags         = START_FRAME_FIRST
3262        WeaponLaunchBone = PRIMARY WeaponA
3263        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3264        TransitionKey = Trans_READY_REALLYDAMAGED
3265  
3266        ParticleSysBone      = SteamM01 SteamLarge
3267        ParticleSysBone      = SteamS01 SteamMedium
3268      End
3269  
3270      TransitionState = Trans_READY_REALLYDAMAGED Trans_ATTACKING_REALLYDAMAGED
3271        Model         = UBScudStrm_EA1
3272        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
3273        AnimationMode = ONCE
3274        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3275        WeaponLaunchBone = PRIMARY WeaponA
3276  
3277        ParticleSysBone      = SteamM01 SteamLarge
3278        ParticleSysBone      = SteamS01 SteamMedium
3279  
3280        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3281        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3282        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3283      End
3284  
3285      ConditionState = ATTACKING REALLYDAMAGED RUBBLE
3286        Model         = UBScudStrm_EA2
3287        Animation     = UBScudStrm_EA2.UBScudStrm_EA2
3288        AnimationMode = MANUAL
3289        Flags         = START_FRAME_FIRST
3290        WeaponLaunchBone = PRIMARY WeaponA
3291        TransitionKey = Trans_ATTACKING_REALLYDAMAGED
3292  
3293        ParticleSysBone      = SteamM01 SteamLarge
3294        ParticleSysBone      = SteamS01 SteamMedium
3295  
3296        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3297        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3298        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3299      End
3300      AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE
3301      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE
3302  
3303      TransitionState = Trans_ATTACKING_REALLYDAMAGED Trans_READY_REALLYDAMAGED
3304        Model         = UBScudStrm_EA3
3305        Animation     = UBScudStrm_EA3.UBScudStrm_EA3
3306        AnimationMode = ONCE
3307        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3308  
3309        ParticleSysBone      = SteamM01 SteamVent
3310        ParticleSysBone      = SteamS01 SteamVent
3311      End
3312      
3313          ;-------------------------------------------------------------------------------------------------------------------------
3314          ;  SNOW
3315      ConditionState =  SNOW ; from underground to lying around
3316        Model         = UBScudStrm_A1S
3317        Animation     = UBScudStrm_A1S.UBScudStrm_A1S
3318        AnimationMode = MANUAL
3319        Flags         = START_FRAME_FIRST
3320        WeaponLaunchBone = PRIMARY WeaponA
3321        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3322        TransitionKey = Trans_READY_SNOW
3323  
3324        ParticleSysBone      = SteamM01 SteamLarge
3325        ParticleSysBone      = SteamS01 SteamMedium
3326      End
3327  
3328      TransitionState = Trans_READY_SNOW Trans_ATTACKING_SNOW
3329        Model         = UBScudStrm_A1S
3330        Animation     = UBScudStrm_A1S.UBScudStrm_A1S
3331        AnimationMode = ONCE
3332        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3333        WeaponLaunchBone = PRIMARY WeaponA
3334  
3335        ParticleSysBone      = SteamM01 SteamLarge
3336        ParticleSysBone      = SteamS01 SteamMedium
3337  
3338        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3339        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3340        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3341      End
3342  
3343      ConditionState = ATTACKING  SNOW ; Projectile feedback code selectively hiding missiles as they shoot
3344        Model         = UBScudStrm_A2S
3345        Animation     = UBScudStrm_A2S.UBScudStrm_A2S
3346        AnimationMode = MANUAL
3347        Flags         = START_FRAME_FIRST
3348        WeaponLaunchBone = PRIMARY WeaponA
3349        TransitionKey = Trans_ATTACKING_SNOW
3350  
3351        ParticleSysBone      = SteamM01 SteamLarge
3352        ParticleSysBone      = SteamS01 SteamMedium
3353  
3354        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3355        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3356        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3357      End
3358      AliasConditionState = ATTACKING FIRING_A  SNOW
3359      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A  SNOW
3360  
3361      TransitionState = Trans_ATTACKING_SNOW Trans_READY_SNOW ; empty arms going underground
3362        Model         = UBScudStrm_A3S
3363        Animation     = UBScudStrm_A3S.UBScudStrm_A3S
3364        AnimationMode = ONCE
3365        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3366  
3367        ParticleSysBone      = SteamM01 SteamVent
3368        ParticleSysBone      = SteamS01 SteamVent
3369      End
3370  
3371      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED  SNOW
3372        Model              = UBScudStrm
3373        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3374      End
3375      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED  SNOW
3376        Model              = UBScudStrm_D
3377        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3378      End
3379      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED  SNOW
3380        Model              = UBScudStrm_E
3381        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3382      End
3383  
3384      ;-------------------------------------------------------------------------------------------------------------------------
3385      ConditionState = DAMAGED SNOW
3386        Model         = UBScudStrm_DA1
3387        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
3388        AnimationMode = MANUAL
3389        Flags         = START_FRAME_FIRST
3390        WeaponLaunchBone = PRIMARY WeaponA
3391        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3392        TransitionKey = Trans_READY_DAMAGED_SNOW
3393  
3394        ParticleSysBone      = SteamM01 SteamLarge
3395        ParticleSysBone      = SteamS01 SteamMedium
3396      End
3397  
3398      TransitionState = Trans_READY_DAMAGED_SNOW Trans_ATTACKING_DAMAGED_SNOW
3399        Model         = UBScudStrm_DA1
3400        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
3401        AnimationMode = ONCE
3402        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3403        WeaponLaunchBone = PRIMARY WeaponA
3404  
3405        ParticleSysBone      = SteamM01 SteamLarge
3406        ParticleSysBone      = SteamS01 SteamMedium
3407  
3408        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3409        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3410        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3411      End
3412  
3413      ConditionState = ATTACKING DAMAGED SNOW
3414        Model         = UBScudStrm_DA2
3415        Animation     = UBScudStrm_DA2.UBScudStrm_DA2
3416        AnimationMode = MANUAL
3417        Flags         = START_FRAME_FIRST
3418        WeaponLaunchBone = PRIMARY WeaponA
3419        TransitionKey = Trans_ATTACKING_DAMAGED_SNOW
3420  
3421        ParticleSysBone      = SteamM01 SteamLarge
3422        ParticleSysBone      = SteamS01 SteamMedium
3423  
3424        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3425        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3426        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3427      End
3428      AliasConditionState = ATTACKING FIRING_A DAMAGED SNOW
3429      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED SNOW
3430  
3431      TransitionState = Trans_ATTACKING_DAMAGED_SNOW Trans_READY_DAMAGED_SNOW
3432        Model         = UBScudStrm_DA3
3433        Animation     = UBScudStrm_DA3.UBScudStrm_DA3
3434        AnimationMode = ONCE
3435        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3436  
3437        ParticleSysBone      = SteamM01 SteamVent
3438        ParticleSysBone      = SteamS01 SteamVent
3439      End
3440         
3441      ;-------------------------------------------------------------------------------------------------------------------------
3442      
3443      ConditionState = REALLYDAMAGED RUBBLE SNOW
3444        Model         = UBScudStrm_EA1
3445        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
3446        AnimationMode = MANUAL
3447        Flags         = START_FRAME_FIRST
3448        WeaponLaunchBone = PRIMARY WeaponA
3449        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3450        TransitionKey = Trans_READY_REALLYDAMAGED_SNOW
3451  
3452        ParticleSysBone      = SteamM01 SteamLarge
3453        ParticleSysBone      = SteamS01 SteamMedium
3454      End
3455  
3456      TransitionState = Trans_READY_REALLYDAMAGED_SNOW Trans_ATTACKING_REALLYDAMAGED_SNOW
3457        Model         = UBScudStrm_EA1
3458        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
3459        AnimationMode = ONCE
3460        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3461        WeaponLaunchBone = PRIMARY WeaponA
3462  
3463        ParticleSysBone      = SteamM01 SteamLarge
3464        ParticleSysBone      = SteamS01 SteamMedium
3465  
3466        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3467        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3468        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3469      End
3470  
3471  
3472      ConditionState = ATTACKING REALLYDAMAGED RUBBLE SNOW
3473        Model         = UBScudStrm_EA2
3474        Animation     = UBScudStrm_EA2.UBScudStrm_EA2
3475        AnimationMode = MANUAL
3476        Flags         = START_FRAME_FIRST
3477        WeaponLaunchBone = PRIMARY WeaponA
3478        TransitionKey = Trans_ATTACKING_REALLYDAMAGED_SNOW
3479  
3480        ParticleSysBone      = SteamM01 SteamLarge
3481        ParticleSysBone      = SteamS01 SteamMedium
3482  
3483        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3484        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3485        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3486      End
3487      AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE SNOW
3488      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE SNOW
3489  
3490      TransitionState = Trans_ATTACKING_REALLYDAMAGED_SNOW Trans_READY_REALLYDAMAGED_SNOW
3491        Model         = UBScudStrm_EA3
3492        Animation     = UBScudStrm_EA3.UBScudStrm_EA3
3493        AnimationMode = ONCE
3494        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3495  
3496        ParticleSysBone      = SteamM01 SteamVent
3497        ParticleSysBone      = SteamS01 SteamVent
3498      End
3499      
3500      ;-------------------------------------------------------------------------------------------------------------------------
3501          ; NIGHT
3502      ConditionState = NIGHT ; from underground to lying around
3503        Model         = UBScudStrm_A1
3504        Animation     = UBScudStrm_A1.UBScudStrm_A1
3505        AnimationMode = MANUAL
3506        Flags         = START_FRAME_FIRST
3507        WeaponLaunchBone = PRIMARY WeaponA
3508        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3509        TransitionKey = Trans_READY_NIGHT
3510  
3511        ParticleSysBone      = SteamM01 SteamLarge
3512        ParticleSysBone      = SteamS01 SteamMedium
3513      End
3514  
3515      TransitionState = Trans_READY_NIGHT Trans_ATTACKING_NIGHT
3516        Model         = UBScudStrm_A1
3517        Animation     = UBScudStrm_A1.UBScudStrm_A1
3518        AnimationMode = ONCE
3519        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3520        WeaponLaunchBone = PRIMARY WeaponA
3521  
3522        ParticleSysBone      = SteamM01 SteamLarge
3523        ParticleSysBone      = SteamS01 SteamMedium
3524  
3525        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3526        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3527        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3528      End
3529  
3530      ConditionState = ATTACKING NIGHT  ; Projectile feedback code selectively hiding missiles as they shoot
3531        Model         = UBScudStrm_A2
3532        Animation     = UBScudStrm_A2.UBScudStrm_A2
3533        AnimationMode = MANUAL
3534        Flags         = START_FRAME_FIRST
3535        WeaponLaunchBone = PRIMARY WeaponA
3536        TransitionKey = Trans_ATTACKING_NIGHT
3537  
3538        ParticleSysBone      = SteamM01 SteamLarge
3539        ParticleSysBone      = SteamS01 SteamMedium
3540  
3541        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3542        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3543        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3544      End
3545      AliasConditionState = ATTACKING FIRING_A NIGHT
3546      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT
3547  
3548      TransitionState = Trans_ATTACKING_NIGHT Trans_READY_NIGHT ; empty arms going underground
3549        Model         = UBScudStrm_A3
3550        Animation     = UBScudStrm_A3.UBScudStrm_A3
3551        AnimationMode = ONCE
3552        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3553  
3554        ParticleSysBone      = SteamM01 SteamVent
3555        ParticleSysBone      = SteamS01 SteamVent
3556      End
3557  
3558      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
3559        Model              = UBScudStrm
3560        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3561      End
3562      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
3563        Model              = UBScudStrm_D
3564        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3565      End
3566      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
3567        Model              = UBScudStrm_E
3568        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3569      End
3570  
3571      ;-------------------------------------------------------------------------------------------------------------------------
3572      ConditionState = DAMAGED NIGHT
3573        Model         = UBScudStrm_DA1N
3574        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
3575        AnimationMode = MANUAL
3576        Flags         = START_FRAME_FIRST
3577        WeaponLaunchBone = PRIMARY WeaponA
3578        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3579        TransitionKey = Trans_READY_DAMAGED_NIGHT
3580  
3581        ParticleSysBone      = SteamM01 SteamLarge
3582        ParticleSysBone      = SteamS01 SteamMedium
3583      End
3584  
3585      TransitionState = Trans_READY_DAMAGED_NIGHT Trans_ATTACKING_DAMAGED_NIGHT
3586        Model         = UBScudStrm_DA1N
3587        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
3588        AnimationMode = ONCE
3589        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3590        WeaponLaunchBone = PRIMARY WeaponA
3591  
3592        ParticleSysBone      = SteamM01 SteamLarge
3593        ParticleSysBone      = SteamS01 SteamMedium
3594  
3595        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3596        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3597        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3598      End
3599  
3600      ConditionState = ATTACKING DAMAGED NIGHT
3601        Model         = UBScudStrm_DA2N
3602        Animation     = UBScudStrm_DA2N.UBScudStrm_DA2N
3603        AnimationMode = MANUAL
3604        Flags         = START_FRAME_FIRST
3605        WeaponLaunchBone = PRIMARY WeaponA
3606        TransitionKey = Trans_ATTACKING_DAMAGED_NIGHT
3607  
3608        ParticleSysBone      = SteamM01 SteamLarge
3609        ParticleSysBone      = SteamS01 SteamMedium
3610  
3611        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3612        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3613        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3614      End
3615      AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED
3616      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED
3617  
3618      TransitionState = Trans_ATTACKING_DAMAGED_NIGHT Trans_READY_DAMAGED_NIGHT
3619        Model         = UBScudStrm_DA3N
3620        Animation     = UBScudStrm_DA3N.UBScudStrm_DA3N
3621        AnimationMode = ONCE
3622        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3623  
3624        ParticleSysBone      = SteamM01 SteamVent
3625        ParticleSysBone      = SteamS01 SteamVent
3626      End
3627         
3628      ;-------------------------------------------------------------------------------------------------------------------------
3629      
3630      ConditionState = REALLYDAMAGED RUBBLE NIGHT
3631        Model         = UBScudStrm_EA1N
3632        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
3633        AnimationMode = MANUAL
3634        Flags         = START_FRAME_FIRST
3635        WeaponLaunchBone = PRIMARY WeaponA
3636        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3637        TransitionKey = Trans_READY_REALLYDAMAGED_NIGHT
3638  
3639        ParticleSysBone      = SteamM01 SteamLarge
3640        ParticleSysBone      = SteamS01 SteamMedium
3641      End
3642  
3643      TransitionState = Trans_READY_REALLYDAMAGED_NIGHT Trans_ATTACKING_REALLYDAMAGED_NIGHT
3644        Model         = UBScudStrm_EA1N
3645        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
3646        AnimationMode = ONCE
3647        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3648        WeaponLaunchBone = PRIMARY WeaponA
3649  
3650        ParticleSysBone      = SteamM01 SteamLarge
3651        ParticleSysBone      = SteamS01 SteamMedium
3652  
3653        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3654        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3655        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3656      End
3657  
3658  
3659      ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT
3660        Model         = UBScudStrm_EA2N
3661        Animation     = UBScudStrm_EA2N.UBScudStrm_EA2N
3662        AnimationMode = MANUAL
3663        Flags         = START_FRAME_FIRST
3664        WeaponLaunchBone = PRIMARY WeaponA
3665        TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHT
3666  
3667        ParticleSysBone      = SteamM01 SteamLarge
3668        ParticleSysBone      = SteamS01 SteamMedium
3669  
3670        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3671        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3672        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3673      End
3674      AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE
3675      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE
3676  
3677      TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHT Trans_READY_REALLYDAMAGED_NIGHT
3678        Model         = UBScudStrm_EA3N
3679        Animation     = UBScudStrm_EA3N.UBScudStrm_EA3N
3680        AnimationMode = ONCE
3681        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3682  
3683        ParticleSysBone      = SteamM01 SteamVent
3684        ParticleSysBone      = SteamS01 SteamVent
3685      End
3686      
3687          ;-------------------------------------------------------------------------------------------------------------------------
3688          ; NIGHT SNOW
3689      ConditionState = NIGHT SNOW ; from underground to lying around
3690        Model         = UBScudStrm_A1NS
3691        Animation     = UBScudStrm_A1NS.UBScudStrm_A1NS
3692        AnimationMode = MANUAL
3693        Flags         = START_FRAME_FIRST
3694        WeaponLaunchBone = PRIMARY WeaponA
3695        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3696        TransitionKey = Trans_READY_NIGHTSNOW
3697  
3698        ParticleSysBone      = SteamM01 SteamLarge
3699        ParticleSysBone      = SteamS01 SteamMedium
3700      End
3701  
3702      TransitionState = Trans_READY_NIGHTSNOW Trans_ATTACKING_NIGHTSNOW
3703        Model         = UBScudStrm_A1NS
3704        Animation     = UBScudStrm_A1NS.UBScudStrm_A1NS
3705        AnimationMode = ONCE
3706        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3707        WeaponLaunchBone = PRIMARY WeaponA
3708  
3709        ParticleSysBone      = SteamM01 SteamLarge
3710        ParticleSysBone      = SteamS01 SteamMedium
3711  
3712        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3713        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3714        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3715      End
3716  
3717      ConditionState = ATTACKING NIGHT SNOW ; Projectile feedback code selectively hiding missiles as they shoot
3718        Model         = UBScudStrm_A2NS
3719        Animation     = UBScudStrm_A2NS.UBScudStrm_A2NS
3720        AnimationMode = MANUAL
3721        Flags         = START_FRAME_FIRST
3722        WeaponLaunchBone = PRIMARY WeaponA
3723        TransitionKey = Trans_ATTACKING_NIGHTSNOW
3724  
3725        ParticleSysBone      = SteamM01 SteamLarge
3726        ParticleSysBone      = SteamS01 SteamMedium
3727  
3728        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3729        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3730        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3731      End
3732      AliasConditionState = ATTACKING FIRING_A NIGHT SNOW
3733      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT SNOW
3734  
3735      TransitionState = Trans_ATTACKING_NIGHTSNOW Trans_READY_NIGHTSNOW ; empty arms going underground
3736        Model         = UBScudStrm_A3NS
3737        Animation     = UBScudStrm_A3NS.UBScudStrm_A3NS
3738        AnimationMode = ONCE
3739        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3740  
3741        ParticleSysBone      = SteamM01 SteamVent
3742        ParticleSysBone      = SteamS01 SteamVent
3743      End
3744  
3745      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
3746        Model              = UBScudStrm
3747        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3748      End
3749      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
3750        Model              = UBScudStrm_D
3751        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3752      End
3753      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
3754        Model              = UBScudStrm_E
3755        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3756      End
3757  
3758      ;-------------------------------------------------------------------------------------------------------------------------
3759      ConditionState = DAMAGED NIGHT SNOW
3760        Model         = UBScudStrm_DA1N
3761        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
3762        AnimationMode = MANUAL
3763        Flags         = START_FRAME_FIRST
3764        WeaponLaunchBone = PRIMARY WeaponA
3765        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3766        TransitionKey = Trans_READY_DAMAGED_NIGHTSNOW
3767  
3768        ParticleSysBone      = SteamM01 SteamLarge
3769        ParticleSysBone      = SteamS01 SteamMedium
3770      End
3771  
3772      TransitionState = Trans_READY_DAMAGED_NIGHTSNOW Trans_ATTACKING_DAMAGED_NIGHTSNOW
3773        Model         = UBScudStrm_DA1N
3774        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
3775        AnimationMode = ONCE
3776        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3777        WeaponLaunchBone = PRIMARY WeaponA
3778  
3779        ParticleSysBone      = SteamM01 SteamLarge
3780        ParticleSysBone      = SteamS01 SteamMedium
3781  
3782        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3783        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3784        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3785      End
3786  
3787      ConditionState = ATTACKING DAMAGED NIGHT SNOW
3788        Model         = UBScudStrm_DA2N
3789        Animation     = UBScudStrm_DA2N.UBScudStrm_DA2N
3790        AnimationMode = MANUAL
3791        Flags         = START_FRAME_FIRST
3792        WeaponLaunchBone = PRIMARY WeaponA
3793        TransitionKey = Trans_ATTACKING_DAMAGED_NIGHTSNOW
3794  
3795        ParticleSysBone      = SteamM01 SteamLarge
3796        ParticleSysBone      = SteamS01 SteamMedium
3797  
3798        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3799        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3800        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3801      End
3802      AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED SNOW
3803      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED SNOW
3804  
3805      TransitionState = Trans_ATTACKING_DAMAGED_NIGHTSNOW Trans_READY_DAMAGED_NIGHTSNOW
3806        Model         = UBScudStrm_DA3N
3807        Animation     = UBScudStrm_DA3N.UBScudStrm_DA3N
3808        AnimationMode = ONCE
3809        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3810  
3811        ParticleSysBone      = SteamM01 SteamVent
3812        ParticleSysBone      = SteamS01 SteamVent
3813      End
3814         
3815      ;-------------------------------------------------------------------------------------------------------------------------
3816      
3817      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
3818        Model         = UBScudStrm_EA1N
3819        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
3820        AnimationMode = MANUAL
3821        Flags         = START_FRAME_FIRST
3822        WeaponLaunchBone = PRIMARY WeaponA
3823        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3824        TransitionKey = Trans_READY_REALLYDAMAGED_NIGHTSNOW
3825  
3826        ParticleSysBone      = SteamM01 SteamLarge
3827        ParticleSysBone      = SteamS01 SteamMedium
3828      End
3829  
3830      TransitionState = Trans_READY_REALLYDAMAGED_NIGHTSNOW Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW
3831        Model         = UBScudStrm_EA1N
3832        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
3833        AnimationMode = ONCE
3834        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3835        WeaponLaunchBone = PRIMARY WeaponA
3836  
3837        ParticleSysBone      = SteamM01 SteamLarge
3838        ParticleSysBone      = SteamS01 SteamMedium
3839  
3840        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3841        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3842        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3843      End
3844  
3845  
3846      ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT SNOW
3847        Model         = UBScudStrm_EA2N
3848        Animation     = UBScudStrm_EA2N.UBScudStrm_EA2N
3849        AnimationMode = MANUAL
3850        Flags         = START_FRAME_FIRST
3851        WeaponLaunchBone = PRIMARY WeaponA
3852        TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW
3853  
3854        ParticleSysBone      = SteamM01 SteamLarge
3855        ParticleSysBone      = SteamS01 SteamMedium
3856  
3857        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3858        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3859        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3860      End
3861      AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE SNOW
3862      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE SNOW
3863  
3864      TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW Trans_READY_REALLYDAMAGED_NIGHTSNOW
3865        Model         = UBScudStrm_EA3N
3866        Animation     = UBScudStrm_EA3N.UBScudStrm_EA3N
3867        AnimationMode = ONCE
3868        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3869  
3870        ParticleSysBone      = SteamM01 SteamVent
3871        ParticleSysBone      = SteamS01 SteamVent
3872      End
3873      
3874      
3875      ConditionState       = SOLD
3876        Model              = NONE
3877      End    
3878      AliasConditionState       = SOLD DAMAGED
3879      AliasConditionState       = SOLD REALLYDAMAGED
3880      AliasConditionState       = SOLD SNOW
3881      AliasConditionState       = SOLD DAMAGED SNOW
3882      AliasConditionState       = SOLD REALLYDAMAGED SNOW
3883      AliasConditionState       = SOLD NIGHT
3884      AliasConditionState       = SOLD DAMAGED NIGHT
3885      AliasConditionState       = SOLD REALLYDAMAGED NIGHT
3886      AliasConditionState       = SOLD NIGHT SNOW
3887      AliasConditionState       = SOLD DAMAGED NIGHT SNOW
3888      AliasConditionState       = SOLD REALLYDAMAGED NIGHT SNOW
3889    End
3890  
3891      ;-------------------------------------------------------------------------------------------------------------------------
3892      ;-------------------------------------------------------------------------------------------------------------------------
3893      ;-------------------------------------------------------------------------------------------------------------------------
3894    Draw = W3DModelDraw ModuleTag_02
3895      OkToChangeModelColor = Yes
3896    
3897      ConditionState = None
3898        Model         = UBScudStrm_A5
3899        Animation     = UBScudStrm_A5.UBScudStrm_A5
3900        AnimationMode = MANUAL
3901        Flags         = START_FRAME_FIRST
3902      End
3903  
3904      ConditionState       = SOLD
3905        Model              = NONE
3906      End    
3907      ConditionState       = SOLD SNOW
3908         Model             = NONE
3909      End   
3910      ConditionState       = SOLD NIGHT
3911         Model             = NONE
3912      End    
3913      ConditionState       = SOLD NIGHT SNOW
3914         Model             = NONE
3915      End  
3916    
3917      ConditionState = PREATTACK_A ATTACKING
3918        Model         = UBScudStrm_A5
3919        Animation     = UBScudStrm_A5.UBScudStrm_A5
3920        AnimationMode = LOOP
3921        Flags         = START_FRAME_FIRST
3922      End
3923  
3924      ConditionState = ATTACKING
3925        Model         = UBScudStrm_A5
3926        Animation     = UBScudStrm_A5.UBScudStrm_A5
3927        AnimationMode = LOOP
3928        Flags         = START_FRAME_FIRST
3929      End
3930      
3931      ;These assets are missing (KM: removed to get rid of assert)
3932      ;ConditionState =  DAMAGED
3933      ;  Model         = UBScudStrm_DA5
3934      ;  Animation     = UBScudStrm_DA5.UBScudStrm_DA5
3935      ;  AnimationMode = MANUAL
3936      ;  Flags         = START_FRAME_FIRST
3937      ;End
3938  
3939      ;These assets are missing (KM: removed to get rid of assert)
3940      ;ConditionState = PREATTACK_A ATTACKING DAMAGED
3941      ;  Model         = UBScudStrm_DA5
3942      ;  Animation     = UBScudStrm_DA5.UBScudStrm_DA5
3943      ;  AnimationMode = LOOP
3944      ;  Flags         = START_FRAME_FIRST
3945      ;End
3946  
3947      ;These assets are missing (KM: removed to get rid of assert)
3948      ;ConditionState = ATTACKING DAMAGED
3949      ;  Model         = UBScudStrm_DA5
3950      ;  Animation     = UBScudStrm_DA5.UBScudStrm_DA5
3951      ;  AnimationMode = LOOP
3952      ;  Flags         = START_FRAME_FIRST
3953      ;End
3954      
3955      ;These assets are missing (KM: removed to get rid of assert)
3956      ;ConditionState =  REALLYDAMAGED
3957      ;  Model         = UBScudStrm_EA5
3958      ;  Animation     = UBScudStrm_EA5.UBScudStrm_EA5
3959      ;  AnimationMode = MANUAL
3960      ;  Flags         = START_FRAME_FIRST
3961      ;End
3962  
3963      ;These assets are missing (KM: removed to get rid of assert)
3964      ;ConditionState = PREATTACK_A ATTACKING REALLYDAMAGED
3965      ;  Model         = UBScudStrm_EA5
3966      ;  Animation     = UBScudStrm_EA5.UBScudStrm_EA5
3967      ;  AnimationMode = LOOP
3968      ;  Flags         = START_FRAME_FIRST
3969      ;End
3970  
3971      ;These assets are missing (KM: removed to get rid of assert)
3972      ;ConditionState = ATTACKING REALLYDAMAGED
3973      ;  Model         = UBScudStrm_EA5
3974      ;  Animation     = UBScudStrm_EA5.UBScudStrm_EA5
3975      ;  AnimationMode = LOOP
3976      ;  Flags         = START_FRAME_FIRST
3977      ;End
3978      
3979    End
3980  
3981    Draw = W3DModelDraw ModuleTag_03
3982      OkToChangeModelColor = Yes
3983    
3984      ConditionState = None
3985        Model         = UBScudStrm_A6
3986        Animation     = UBScudStrm_A6.UBScudStrm_A6
3987        AnimationMode = LOOP
3988        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3989      End
3990      
3991      ConditionState =  DAMAGED
3992        Model         = UBScudStrm_DA6
3993        Animation     = UBScudStrm_DA6.UBScudStrm_DA6
3994        AnimationMode = LOOP
3995        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3996      End
3997      
3998      ConditionState =  REALLYDAMAGED RUBBLE
3999        Model         = UBScudStrm_EA6
4000        Animation     = UBScudStrm_EA6.UBScudStrm_EA6
4001        AnimationMode = LOOP
4002        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4003      End
4004      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4005        Model              = UBScudStrm_A6
4006        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4007      End
4008      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
4009  
4010        Model              = UBScudStrm_DA6
4011        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4012      End
4013      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
4014        Model              = UBScudStrm_EA6
4015        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4016      End
4017  
4018      ConditionState       = SOLD
4019        Model              = NONE
4020      End    
4021      ConditionState       = SOLD SNOW
4022         Model             = NONE
4023      End   
4024      ConditionState       = SOLD NIGHT
4025         Model             = NONE
4026      End    
4027      ConditionState       = SOLD NIGHT SNOW
4028         Model             = NONE
4029      End  
4030      
4031    End
4032  
4033    Draw = W3DModelDraw ModuleTag_04
4034      OkToChangeModelColor = Yes
4035    
4036      ConditionState = None
4037        Model         = UBScudStrm_F
4038        Animation     = UBScudStrm_F.UBScudStrm_F
4039        AnimationMode = LOOP
4040        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4041      End
4042      
4043      ConditionState =  DAMAGED
4044        Model         = UBScudStrm_DF
4045        Animation     = UBScudStrm_DF.UBScudStrm_DF
4046        AnimationMode = LOOP
4047        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4048      End
4049      
4050      ConditionState =  REALLYDAMAGED RUBBLE
4051        Model         = UBScudStrm_EF
4052        Animation     = UBScudStrm_EF.UBScudStrm_EF
4053        AnimationMode = LOOP
4054        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4055      End
4056      
4057      ConditionState       = SOLD
4058        Model              = NONE
4059      End    
4060      AliasConditionState       = SOLD DAMAGED
4061      AliasConditionState       = SOLD REALLYDAMAGED
4062      AliasConditionState       = SOLD SNOW
4063      AliasConditionState       = SOLD DAMAGED SNOW
4064      AliasConditionState       = SOLD REALLYDAMAGED SNOW
4065      AliasConditionState       = SOLD NIGHT
4066      AliasConditionState       = SOLD DAMAGED NIGHT
4067      AliasConditionState       = SOLD REALLYDAMAGED NIGHT
4068      AliasConditionState       = SOLD NIGHT SNOW
4069      AliasConditionState       = SOLD DAMAGED NIGHT SNOW
4070      AliasConditionState       = SOLD REALLYDAMAGED NIGHT SNOW
4071    End
4072     
4073    ; ------------ construction-zone fence -----------------
4074    Draw = W3DModelDraw ModuleTag_05
4075    AnimationsRequirePower = No
4076      DefaultConditionState
4077        Model           = None
4078        TransitionKey   = DOWN_DEFAULT
4079      End
4080      ConditionState    = NIGHT
4081        Model           = None
4082        TransitionKey   = DOWN_DEFAULT
4083      End
4084      ConditionState    = SNOW
4085        Model           = None
4086        TransitionKey   = DOWN_DEFAULT
4087      End
4088      ConditionState    = SNOW NIGHT
4089        Model           = None
4090        TransitionKey   = DOWN_DEFAULT
4091      End
4092      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4093        Model           = UBScudStrm_AB
4094        Animation       = UBScudStrm_AB.UBScudStrm_AB
4095        AnimationMode   = MANUAL
4096        Flags           = START_FRAME_LAST
4097        TransitionKey   = UP_DAY
4098      End
4099      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4100        Model           = UBScudStrm_ABN
4101        Animation       = UBScudStrm_ABN.UBScudStrm_ABN
4102        AnimationMode   = MANUAL
4103        Flags           = START_FRAME_LAST
4104        TransitionKey   = UP_NIGHT
4105      End
4106      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4107        Model           = UBScudStrm_ABS
4108        Animation       = UBScudStrm_ABS.UBScudStrm_ABS
4109        AnimationMode   = MANUAL
4110        Flags           = START_FRAME_LAST
4111        TransitionKey   = UP_SNOW
4112      End
4113      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4114        Model           = UBScudStrm_ABSN
4115        Animation       = UBScudStrm_ABSN.UBScudStrm_ABSN
4116        AnimationMode   = MANUAL
4117        Flags           = START_FRAME_LAST
4118        TransitionKey   = UP_SNOWNIGHT
4119      End
4120      TransitionState   = DOWN_DEFAULT UP_DAY
4121        Model           = UBScudStrm_AB
4122        Animation       = UBScudStrm_AB.UBScudStrm_AB
4123        AnimationMode   = ONCE
4124        AnimationSpeedFactorRange = 1.0 1.0
4125        Flags           = START_FRAME_FIRST
4126      End
4127      TransitionState   = DOWN_DEFAULT UP_NIGHT
4128        Model           = UBScudStrm_ABN
4129        Animation       = UBScudStrm_ABN.UBScudStrm_ABN
4130        AnimationMode   = ONCE
4131        AnimationSpeedFactorRange = 1.0 1.0
4132        Flags           = START_FRAME_FIRST
4133      End
4134      TransitionState   = DOWN_DEFAULT UP_SNOW
4135        Model           = UBScudStrm_ABS
4136        Animation       = UBScudStrm_ABS.UBScudStrm_ABS
4137        AnimationMode   = ONCE
4138        AnimationSpeedFactorRange = 1.0 1.0
4139        Flags           = START_FRAME_FIRST
4140      End
4141      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
4142        Model           = UBScudStrm_ABSN
4143        Animation       = UBScudStrm_ABSN.UBScudStrm_ABSN
4144        AnimationMode   = ONCE
4145        AnimationSpeedFactorRange = 1.0 1.0
4146        Flags           = START_FRAME_FIRST
4147      End
4148      TransitionState   = UP_DAY DOWN_DEFAULT
4149        Model           = UBScudStrm_AB
4150        Animation       = UBScudStrm_AB.UBScudStrm_AB
4151        AnimationMode   = ONCE_BACKWARDS
4152        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4153        Flags           = START_FRAME_LAST
4154      End
4155      TransitionState   = UP_NIGHT DOWN_DEFAULT
4156        Model           = UBScudStrm_ABN
4157        Animation       = UBScudStrm_ABN.UBScudStrm_ABN
4158        AnimationMode   = ONCE_BACKWARDS
4159        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4160        Flags           = START_FRAME_LAST
4161      End
4162      TransitionState   = UP_SNOW DOWN_DEFAULT
4163        Model           = UBScudStrm_ABS
4164        Animation       = UBScudStrm_ABS.UBScudStrm_ABS
4165        AnimationMode   = ONCE_BACKWARDS
4166        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4167        Flags           = START_FRAME_LAST
4168      End
4169      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
4170        Model           = UBScudStrm_ABSN
4171        Animation       = UBScudStrm_ABSN.UBScudStrm_ABSN
4172        AnimationMode   = ONCE_BACKWARDS
4173        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4174        Flags           = START_FRAME_LAST
4175      End
4176    End
4177  
4178    ; ------------ under-construction scaffolding -----------------
4179    Draw = W3DModelDraw ModuleTag_06
4180    AnimationsRequirePower = No
4181      MinLODRequired = MEDIUM
4182      DefaultConditionState
4183        Model           = None
4184        TransitionKey   = DOWN_DEFAULT
4185      End
4186      ConditionState    = NIGHT
4187        Model           = None
4188        TransitionKey   = DOWN_DEFAULT
4189      End
4190      ConditionState    = SNOW
4191        Model           = None
4192        TransitionKey   = DOWN_DEFAULT
4193      End
4194      ConditionState    = SNOW NIGHT
4195        Model           = None
4196        TransitionKey   = DOWN_DEFAULT
4197      End
4198      ConditionState    = PARTIALLY_CONSTRUCTED
4199        Model           = UBScudStrm_AC
4200        Animation       = UBScudStrm_AC.UBScudStrm_AC
4201        AnimationMode   = MANUAL
4202        Flags           = START_FRAME_LAST
4203        TransitionKey   = UP_DAY
4204        ParticleSysBone = Dust01 BuildingDust
4205        ParticleSysBone = Smoke01 BuildUpSmoke
4206        ParticleSysBone = Smoke02 BuildUpSmoke
4207        ParticleSysBone = Smoke03 BuildUpSmoke
4208        ParticleSysBone = Smoke04 BuildUpSmoke
4209      End
4210      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
4211        Model           = UBScudStrm_ACN
4212        Animation       = UBScudStrm_ACN.UBScudStrm_ACN
4213        AnimationMode   = MANUAL
4214        Flags           = START_FRAME_LAST
4215        TransitionKey   = UP_NIGHT
4216        ParticleSysBone = Dust01 BuildingDust
4217        ParticleSysBone = Smoke01 BuildUpSmoke
4218        ParticleSysBone = Smoke02 BuildUpSmoke
4219        ParticleSysBone = Smoke03 BuildUpSmoke
4220        ParticleSysBone = Smoke04 BuildUpSmoke
4221      End    
4222      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
4223        Model           = UBScudStrm_ACS
4224        Animation       = UBScudStrm_ACS.UBScudStrm_ACS
4225        AnimationMode   = MANUAL
4226        Flags           = START_FRAME_LAST
4227        TransitionKey   = UP_SNOW
4228        ParticleSysBone = Dust01 BuildingSnowDust
4229        ParticleSysBone = Smoke01 BuildUpSnowSmoke
4230        ParticleSysBone = Smoke02 BuildUpSnowSmoke
4231        ParticleSysBone = Smoke03 BuildUpSnowSmoke
4232        ParticleSysBone = Smoke04 BuildUpSnowSmoke
4233      End   
4234      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
4235        Model           = UBScudStrm_ACSN
4236        Animation       = UBScudStrm_ACSN.UBScudStrm_ACSN
4237        AnimationMode   = MANUAL
4238        Flags           = START_FRAME_LAST
4239        TransitionKey   = UP_SNOWNIGHT
4240        ParticleSysBone = Dust01 BuildingNightSnowDust
4241        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
4242        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
4243        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
4244        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
4245      End 
4246      TransitionState   = DOWN_DEFAULT UP_DAY
4247       Model            = UBScudStrm_AC
4248        Animation       = UBScudStrm_AC.UBScudStrm_AC
4249        AnimationMode   = ONCE
4250        AnimationSpeedFactorRange = 1.0 1.0
4251        Flags           = START_FRAME_FIRST
4252      End
4253      TransitionState   = DOWN_DEFAULT UP_NIGHT
4254       Model            = UBScudStrm_ACN
4255        Animation       = UBScudStrm_ACN.UBScudStrm_ACN
4256        AnimationMode   = ONCE
4257        AnimationSpeedFactorRange = 1.0 1.0
4258        Flags           = START_FRAME_FIRST
4259      End
4260      TransitionState   = DOWN_DEFAULT UP_SNOW
4261       Model            = UBScudStrm_ACS
4262        Animation       = UBScudStrm_ACS.UBScudStrm_ACS
4263        AnimationMode   = ONCE
4264        AnimationSpeedFactorRange = 1.0 1.0
4265        Flags           = START_FRAME_FIRST
4266      End
4267      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
4268       Model            = UBScudStrm_ACSN
4269        Animation       = UBScudStrm_ACSN.UBScudStrm_ACSN
4270        AnimationMode   = ONCE
4271        AnimationSpeedFactorRange = 1.0 1.0
4272        Flags           = START_FRAME_FIRST
4273      End
4274      TransitionState   = UP_DAY DOWN_DEFAULT
4275        Model           = UBScudStrm_AC
4276        Animation       = UBScudStrm_AC.UBScudStrm_AC
4277        AnimationMode   = ONCE_BACKWARDS
4278        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4279        Flags           = START_FRAME_LAST
4280      End
4281      TransitionState   = UP_NIGHT DOWN_DEFAULT
4282        Model           = UBScudStrm_ACN
4283        Animation       = UBScudStrm_ACN.UBScudStrm_ACN
4284        AnimationMode   = ONCE_BACKWARDS
4285        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4286        Flags           = START_FRAME_LAST
4287      End
4288      TransitionState   = UP_SNOW DOWN_DEFAULT
4289        Model           = UBScudStrm_ACS
4290        Animation       = UBScudStrm_ACS.UBScudStrm_ACS
4291        AnimationMode   = ONCE_BACKWARDS
4292        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4293        Flags           = START_FRAME_LAST
4294      End
4295      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
4296        Model           = UBScudStrm_ACSN
4297        Animation       = UBScudStrm_ACSN.UBScudStrm_ACSN
4298        AnimationMode   = ONCE_BACKWARDS
4299        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4300        Flags           = START_FRAME_LAST
4301      End
4302    End
4303  
4304    PlacementViewAngle = -45
4305  
4306    ; ***DESIGN parameters ***
4307    DisplayName      = OBJECT:ScudStorm
4308    Side = GLAStealthGeneral
4309    EditorSorting    = STRUCTURE
4310    Prerequisites
4311      Object = Slth_GLAPalace
4312    End
4313    BuildCost        = 5000
4314    BuildTime        = 60.0           ; in seconds
4315    EnergyProduction = 0
4316    CommandSet       = Slth_GLAScudStormCommandSet
4317    VisionRange     = 200.0           ; Shroud clearing distance
4318    ShroudClearingRange = 200
4319    ShroudRevealToAllRange = 60  ; Reveals shroud to all players at a specific amount which can be different. 
4320                                 ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead!
4321    WeaponSet
4322      Conditions = None 
4323      Weapon = PRIMARY ScudStormWeapon
4324      AutoChooseSources = PRIMARY NONE
4325    End
4326    ArmorSet
4327      Conditions      = None
4328      Armor           = StructureArmorTough
4329      DamageFX        = StructureDamageFXNoShake
4330    End
4331    ExperienceValue     = 400 400 400 400  ; Experience point value at each level
4332    MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games
4333    MaxSimultaneousLinkKey = Superweapon  ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType
4334  
4335    ; *** AUDIO Parameters ***
4336    VoiceSelect = ScudStormSelect
4337    SoundOnDamaged        = BuildingDamagedStateLight
4338    SoundOnReallyDamaged  = BuildingDestroy
4339  
4340    UnitSpecificSounds
4341      UnderConstruction     = UnderConstructionLoop
4342    End
4343  
4344    UnitSpecificSounds
4345    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
4346      TurretMoveStart = NoSound
4347      TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud
4348    End
4349  
4350    ; *** ENGINEERING Parameters ***
4351    RadarPriority   = STRUCTURE
4352    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_SUPERWEAPON
4353    Body            = StructureBody ModuleTag_07
4354      MaxHealth       = 4000.0
4355      InitialHealth   = 4000.0
4356  
4357      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
4358      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
4359      SubdualDamageCap = 4200
4360      SubdualDamageHealRate = 500
4361      SubdualDamageHealAmount = 100
4362    End
4363    Behavior        = RebuildHoleExposeDie ModuleTag_08
4364      HoleName      = GLAHoleScudStorm
4365      HoleMaxHealth = 500.0
4366    End 
4367  
4368    Behavior = AIUpdateInterface ModuleTag_09
4369    End
4370  
4371    Behavior    = OCLSpecialPower ModuleTag_10
4372      SpecialPowerTemplate = SuperweaponScudStorm
4373      OCL                  = SUPERWEAPON_ScudStorm
4374    End
4375    Behavior = SpecialPowerCreate ModuleTag_11
4376      ;nothing
4377    End
4378  
4379    Behavior = DestroyDie ModuleTag_12
4380      ;nothing
4381    End
4382    Behavior        = CreateObjectDie ModuleTag_13
4383      CreationList  = OCL_PoisonFieldMedium
4384      ExemptStatus  = UNDER_CONSTRUCTION
4385    End
4386    Behavior        = FXListDie ModuleTag_14
4387      DeathFX       = WeaponFX_BombTruckHighExplosiveBioBombDetonation
4388      ExemptStatus  = UNDER_CONSTRUCTION
4389    End
4390  
4391    Behavior = FlammableUpdate ModuleTag_16
4392      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
4393      AflameDamageAmount = 5       ; taking this much damage...
4394      AflameDamageDelay = 500       ; this often.
4395    End
4396  
4397    Behavior = RadiusDecalUpdate ModuleTag_17
4398      ; nothing
4399    End
4400  
4401    Behavior = TransitionDamageFX ModuleTag_18
4402      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
4403      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
4404      ;---------------------------------------------------------------------------------------
4405      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
4406      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
4407      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
4408    End
4409  
4410    Behavior        = FXListDie ModuleTag_19
4411      DeathFX       = FX_BuildingDie
4412    End
4413  
4414  ;  Behavior = GrantUpgradeCreate ModuleTag_900
4415  ;    UpgradeToGrant = Upgrade_GLACamoNetting
4416  ;  End
4417  
4418  
4419    Behavior = ProductionUpdate ModuleTag_21
4420      ; nothing
4421    End
4422  
4423    Behavior = StealthUpdate ModuleStealth_09
4424      StealthDelay                = 2500 ; msec
4425      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
4426      InnateStealth               = No ;Requires upgrade first
4427      OrderIdleEnemiesToAttackMeUponReveal  = Yes
4428    End
4429    Behavior = StealthUpgrade ModuleTag_20
4430      TriggeredBy = Upgrade_GLACamoNetting
4431    END
4432  
4433    Geometry            = BOX
4434    GeometryMajorRadius = 71.0
4435    GeometryMinorRadius = 67.0
4436    GeometryHeight      = 25.0
4437    GeometryIsSmall     = No
4438    Shadow          = SHADOW_VOLUME
4439    BuildCompletion = PLACED_BY_PLAYER
4440  
4441  End
4442  
4443  
4444  
4445  ;------------------------------------------------------------------------------
4446  ;GLA Slth Trap
4447  
4448  Object Slth_GLADemoTrap
4449  
4450    ; *** ART Parameters ***
4451    SelectPortrait         = SSHideBomb
4452    ButtonImage            = SSHideBomb
4453    Draw = W3DModelDraw ModuleTag_01
4454      OkToChangeModelColor = Yes
4455      DefaultConditionState
4456        Model         = EXHideBomb
4457      End
4458      AliasConditionState = DAMAGED
4459      AliasConditionState = REALLYDAMAGED
4460      AliasConditionState = RUBBLE
4461      AliasConditionState = NIGHT
4462      AliasConditionState = SNOW
4463      AliasConditionState = NIGHT SNOW
4464      AliasConditionState = NIGHT DAMAGED
4465      AliasConditionState = SNOW DAMAGED
4466      AliasConditionState = NIGHT SNOW DAMAGED
4467      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
4468      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
4469      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
4470      
4471      ;**************************************************************************************************************************
4472      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
4473      ;for this draw module
4474      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4475        Model              = EXHideBomb
4476        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4477      End
4478      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
4479      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
4480      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
4481      
4482      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
4483        Model              = EXHideBomb
4484        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4485      End
4486      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
4487      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
4488      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
4489      
4490      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
4491        Model              = EXHideBomb
4492        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4493      End
4494      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
4495      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
4496      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
4497      
4498      ConditionState       = AWAITING_CONSTRUCTION 
4499        Model              = NONE
4500      End
4501      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
4502      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
4503      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
4504      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
4505      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
4506      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
4507      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
4508      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
4509      AliasConditionState  = SOLD DAMAGED
4510      AliasConditionState  = SOLD REALLYDAMAGED
4511      AliasConditionState  = SOLD NIGHT
4512      AliasConditionState  = SOLD NIGHT DAMAGED
4513      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
4514      AliasConditionState  = SOLD NIGHT SNOW
4515      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
4516      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
4517      ;**************************************************************************************************************************
4518      
4519      
4520    End
4521    PlacementViewAngle = -45
4522  
4523    ; ***DESIGN parameters ***
4524    DisplayName      = OBJECT:DemoTrap
4525    Side             = GLAStealthGeneral
4526    EditorSorting    = STRUCTURE
4527    Prerequisites
4528      Object = Slth_GLAArmsDealer
4529    End
4530    BuildCost        = 400
4531    BuildTime        = 5.0           ; in seconds
4532    EnergyProduction = 0
4533    VisionRange     = 150.0           ; Shroud clearing distance
4534    ShroudClearingRange     = 150.0           ; Shroud clearing distance
4535    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
4536  
4537    WeaponSet
4538      ;The weapon set is used to determine detonation mode
4539      Conditions = None 
4540      Weapon = PRIMARY    DummyWeapon ;Used for mode matching only (when to detonate)
4541      Weapon = SECONDARY  DummyWeapon ;Used for mode matching only (when to detonate)
4542      Weapon = TERTIARY   DummyWeapon ;Used for mode matching only (when to detonate)
4543      AutoChooseSources = PRIMARY   NONE
4544      AutoChooseSources = SECONDARY NONE
4545      AutoChooseSources = TERTIARY  NONE
4546    End
4547    ArmorSet
4548      Conditions      = None
4549      Armor           = StructureArmor
4550      DamageFX        = DefaultDamageFX ; Too small for normal building FX, but if we do make dedicated one it should be silent
4551    End
4552  
4553    CommandSet = Slth_GLADemoTrapCommandSet
4554  
4555    ; *** AUDIO Parameters ***
4556    VoiceSelect = UndergroundGeneratorSelect
4557    SoundOnDamaged        = NoSound
4558    SoundOnReallyDamaged  = NoSound
4559  
4560    UnitSpecificSounds
4561      UnderConstruction     = UnderConstructionLoop
4562    End
4563  
4564    ; *** ENGINEERING Parameters ***
4565    RadarPriority   = STRUCTURE
4566    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE IMMUNE_TO_CAPTURE DEMOTRAP
4567    Body            = StructureBody ModuleTag_02
4568      MaxHealth       = 100.0   
4569      InitialHealth   = 100.0
4570    End
4571  
4572    Behavior = StealthUpdate ModuleTag_03
4573      StealthDelay = 0 ; msec
4574      StealthForbiddenConditions = NONE
4575      FriendlyOpacityMin = 100.0%
4576      OrderIdleEnemiesToAttackMeUponReveal  = Yes
4577    End
4578  
4579    Behavior = DemoTrapUpdate ModuleTag_04
4580      DefaultProximityMode      = Yes       ;If yes, defaults to proximity mode, otherwise defaults to manual.
4581      DetonationWeaponSlot      = PRIMARY   ;The slot the weapon is in when it detonates.
4582      ProximityModeWeaponSlot   = SECONDARY ;The slot proximity mode is determined by (bogus weapon)
4583      ManualModeWeaponSlot      = TERTIARY  ;The slot manual mode is determined by (bogus weapon)
4584      TriggerDetonationRange    = 40.0      ;Detonation range when in proximity mode (and must be on ground)
4585      IgnoreTargetTypes         = PROJECTILE UNATTACKABLE
4586      AutoDetonationWithFriendsInvolved = Yes ;GLA are low tech 
4587  ;    DetonationWeapon          = DemoTrapDetonationWeapon
4588      DetonateWhenKilled        = Yes
4589    End
4590  
4591    Behavior = SlowDeathBehavior ModuleTag_05
4592      ExemptStatus = UNDER_CONSTRUCTION
4593      DestructionDelay = 1000
4594      FX = INITIAL FX_GLADemoTrapWarning
4595      Weapon = FINAL DemoTrapDetonationWeapon
4596    End
4597  
4598    Behavior = FlammableUpdate ModuleTag_07
4599      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
4600      AflameDamageAmount = 5       ; taking this much damage...
4601      AflameDamageDelay = 500       ; this often.
4602    End
4603  
4604    Behavior = InstantDeathBehavior ModuleTag_08
4605      ; if we are under construction, use this death instead
4606      RequiredStatus = UNDER_CONSTRUCTION
4607      ; no effect
4608    End
4609  
4610    BuildCompletion = PLACED_BY_PLAYER
4611    
4612    Shadow          = SHADOW_VOLUME
4613    Geometry = CYLINDER
4614    GeometryMajorRadius = 4.0
4615    GeometryHeight = 9    
4616    GeometryIsSmall = Yes 
4617  
4618  End
4619  
4620  ;------------------------------------------------------------------------------
4621  ObjectReskin Slth_GLAHoleDemoTrap Slth_GLAHole
4622    Draw                     = W3DModelDraw ModuleTag_01
4623      OkToChangeModelColor   = Yes
4624      ConditionState         = NONE
4625        Model                = UBHole
4626      End
4627      ConditionState         = DAMAGED
4628        Model                = UBHole_D
4629        ParticleSysBone      = Smoke01 SteamVent
4630      End
4631      ConditionState         = REALLYDAMAGED
4632        Model                = UBHole_E
4633        ParticleSysBone      = Smoke01 SteamVent
4634        ParticleSysBone      = Smoke02 SteamVent
4635        ParticleSysBone      = Fire01 GLAPowerPlantFlame
4636        ParticleSysBone      = Fire02 GLAPowerPlantFlame
4637        ParticleSysBone      = Fire03 GLAPowerPlantFlame
4638      End
4639    End
4640  ;Remove comments for this section and replace the model entries for the
4641  ;pristine, and damage/reallydamaged rubble around the GLA hole below
4642  ;  Draw                     = W3DModelDraw
4643  ;    OkToChangeModelColor   = Yes
4644  ;    ConditionState         = NONE
4645  ;      Model                = UBSupply_R
4646  ;    End
4647  ;    ConditionState         = DAMAGED REALLYDAMAGED
4648  ;      Model                = UBSupply_R
4649  ;    End
4650  ;  End
4651  End
4652  
4653  
4654  
4655  
4656  
4657  ; -----------------------------------------------------------------------------
4658  Object Slth_GLATunnelNetwork
4659  
4660    ; *** ART Parameters ***
4661    SelectPortrait         = SUTunnel_L
4662    ButtonImage            = SUTunnel
4663  
4664    UpgradeCameo1           = Upgrade_GLACamoNetting
4665    ;UpgradeCameo2           = NONE
4666    ;UpgradeCameo3           = NONE
4667    ;UpgradeCameo4           = NONE
4668    ;UpgradeCameo5           = NONE
4669  
4670    Draw = W3DModelDraw ModuleTag_01
4671      OkToChangeModelColor = Yes
4672      
4673      DefaultConditionState
4674        Model             = UBUndTunn
4675        Turret            = Turret01
4676        WeaponFireFXBone  = PRIMARY BarrelMS
4677        WeaponMuzzleFlash = PRIMARY BarrelFX
4678      End
4679      ConditionState      = DAMAGED
4680        Model             = UBUndTunn_D
4681      End
4682      ConditionState      = REALLYDAMAGED RUBBLE
4683        Model             = UBUndTunn_E
4684        ParticleSysBone   = Steam01 SteamVent
4685      End
4686      
4687      
4688      ConditionState      = SNOW
4689        Model             = UBUndTunn_S
4690      End
4691      ConditionState      = DAMAGED SNOW
4692        Model             = UBUndTunn_DS
4693      End
4694      ConditionState      = REALLYDAMAGED RUBBLE SNOW
4695        Model             = UBUndTunn_ES
4696        ParticleSysBone   = Steam01 SteamVent
4697      End
4698      
4699      
4700      
4701      
4702      ConditionState      = NIGHT
4703        Model             = UBUndTunn_N
4704      End
4705      ConditionState      = DAMAGED NIGHT
4706        Model             = UBUndTunn_DN
4707      End
4708      ConditionState      = REALLYDAMAGED RUBBLE NIGHT
4709        Model             = UBUndTunn_EN
4710        ParticleSysBone   = Steam01 SteamVent
4711      End
4712      
4713      
4714      ConditionState      = SNOW NIGHT
4715        Model             = UBUndTunn_NS
4716      End
4717      ConditionState      = DAMAGED SNOW NIGHT
4718        Model             = UBUndTunn_DNS
4719      End
4720      ConditionState      = REALLYDAMAGED RUBBLE SNOW NIGHT
4721        Model             = UBUndTunn_ENS
4722        ParticleSysBone   = Steam01 SteamVent
4723      End
4724  
4725      ;**************************************************************************************************************************
4726      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
4727      ;for this draw module
4728      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4729        Model              = UBUndTunn
4730        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4731      End
4732      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
4733        Model              = UBUndTunn_D
4734        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4735      End
4736      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
4737        Model              = UBUndTunn_E
4738        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4739      End
4740      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
4741        Model              = UBUndTunn_N
4742        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4743      End
4744      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
4745        Model              = UBUndTunn_DN
4746        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4747      End
4748      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
4749        Model              = UBUndTunn_EN
4750        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4751      End
4752      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
4753        Model              = UBUndTunn_S
4754        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4755      End
4756      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
4757        Model              = UBUndTunn_DS
4758        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4759      End
4760      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
4761        Model              = UBUndTunn_ES
4762        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4763      End
4764      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
4765        Model              = UBUndTunn_NS
4766        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4767      End
4768      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
4769        Model              = UBUndTunn_DNS
4770        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4771      End
4772      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
4773        Model              = UBUndTunn_ENS
4774        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4775      End
4776  
4777      ConditionState       = AWAITING_CONSTRUCTION 
4778        Model              = NONE
4779      End
4780      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
4781      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
4782      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
4783      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
4784      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
4785      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
4786      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
4787      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
4788      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
4789      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
4790      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
4791      AliasConditionState  = SOLD 
4792      AliasConditionState  = SOLD DAMAGED
4793      AliasConditionState  = SOLD REALLYDAMAGED
4794      AliasConditionState  = SOLD NIGHT
4795      AliasConditionState  = SOLD NIGHT DAMAGED
4796      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
4797      AliasConditionState  = SOLD SNOW
4798      AliasConditionState  = SOLD SNOW DAMAGED
4799      AliasConditionState  = SOLD SNOW REALLYDAMAGED
4800      AliasConditionState  = SOLD NIGHT SNOW
4801      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
4802      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
4803      ;**************************************************************************************************************************
4804      
4805    End
4806    
4807    ; ------------ construction-zone fence -----------------
4808    Draw = W3DModelDraw ModuleTag_02
4809    AnimationsRequirePower = No
4810      DefaultConditionState
4811        Model           = None
4812        TransitionKey   = DOWN_DEFAULT
4813      End
4814      ConditionState    = NIGHT
4815        Model           = None
4816        TransitionKey   = DOWN_DEFAULT
4817      End
4818      ConditionState    = SNOW
4819        Model           = None
4820        TransitionKey   = DOWN_DEFAULT
4821      End
4822      ConditionState    = SNOW NIGHT
4823        Model           = None
4824        TransitionKey   = DOWN_DEFAULT
4825      End
4826      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4827        Model           = UBUndTunn_A4
4828        Animation       = UBUndTunn_A4.UBUndTunn_A4
4829        AnimationMode   = MANUAL
4830        Flags           = START_FRAME_LAST
4831        TransitionKey   = UP_DAY
4832      End
4833      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4834        Model           = UBUndTunn_A4N
4835        Animation       = UBUndTunn_A4N.UBUndTunn_A4N
4836        AnimationMode   = MANUAL
4837        Flags           = START_FRAME_LAST
4838        TransitionKey   = UP_NIGHT
4839      End
4840      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4841        Model           = UBUndTunn_A4S
4842        Animation       = UBUndTunn_A4S.UBUndTunn_A4S
4843        AnimationMode   = MANUAL
4844        Flags           = START_FRAME_LAST
4845        TransitionKey   = UP_SNOW
4846      End
4847      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4848        Model           = UBUndTunn_A4SN
4849        Animation       = UBUndTunn_A4SN.UBUndTunn_A4SN
4850        AnimationMode   = MANUAL
4851        Flags           = START_FRAME_LAST
4852        TransitionKey   = UP_SNOWNIGHT
4853      End
4854      TransitionState   = DOWN_DEFAULT UP_DAY
4855        Model           = UBUndTunn_A4
4856        Animation       = UBUndTunn_A4.UBUndTunn_A4
4857        AnimationMode   = ONCE
4858        AnimationSpeedFactorRange = 1.0 1.0
4859        Flags           = START_FRAME_FIRST
4860      End
4861      TransitionState   = DOWN_DEFAULT UP_NIGHT
4862        Model           = UBUndTunn_A4N
4863        Animation       = UBUndTunn_A4N.UBUndTunn_A4N
4864        AnimationMode   = ONCE
4865        AnimationSpeedFactorRange = 1.0 1.0
4866        Flags           = START_FRAME_FIRST
4867      End
4868      TransitionState   = DOWN_DEFAULT UP_SNOW
4869        Model           = UBUndTunn_A4S
4870        Animation       = UBUndTunn_A4S.UBUndTunn_A4S
4871        AnimationMode   = ONCE
4872        AnimationSpeedFactorRange = 1.0 1.0
4873        Flags           = START_FRAME_FIRST
4874      End
4875      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
4876        Model           = UBUndTunn_A4SN
4877        Animation       = UBUndTunn_A4SN.UBUndTunn_A4SN
4878        AnimationMode   = ONCE
4879        AnimationSpeedFactorRange = 1.0 1.0
4880        Flags           = START_FRAME_FIRST
4881      End
4882      TransitionState   = UP_DAY DOWN_DEFAULT
4883        Model           = UBUndTunn_A4
4884        Animation       = UBUndTunn_A4.UBUndTunn_A4
4885        AnimationMode   = ONCE_BACKWARDS
4886        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4887        Flags           = START_FRAME_LAST
4888      End
4889      TransitionState   = UP_NIGHT DOWN_DEFAULT
4890        Model           = UBUndTunn_A4N
4891        Animation       = UBUndTunn_A4N.UBUndTunn_A4N
4892        AnimationMode   = ONCE_BACKWARDS
4893        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4894        Flags           = START_FRAME_LAST
4895      End
4896      TransitionState   = UP_SNOW DOWN_DEFAULT
4897        Model           = UBUndTunn_A4S
4898        Animation       = UBUndTunn_A4S.UBUndTunn_A4S
4899        AnimationMode   = ONCE_BACKWARDS
4900        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4901        Flags           = START_FRAME_LAST
4902      End
4903      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
4904        Model           = UBUndTunn_A4SN
4905        Animation       = UBUndTunn_A4SN.UBUndTunn_A4SN
4906        AnimationMode   = ONCE_BACKWARDS
4907        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4908        Flags           = START_FRAME_LAST
4909      End
4910    End
4911  
4912    ; ------------ under-construction scaffolding -----------------
4913    Draw = W3DModelDraw ModuleTag_03
4914    AnimationsRequirePower = No
4915      DefaultConditionState
4916        Model           = None
4917        TransitionKey   = DOWN_DEFAULT
4918      End
4919      ConditionState    = NIGHT
4920        Model           = None
4921        TransitionKey   = DOWN_DEFAULT
4922      End
4923      ConditionState    = SNOW
4924        Model           = None
4925        TransitionKey   = DOWN_DEFAULT
4926      End
4927      ConditionState    = SNOW NIGHT
4928        Model           = None
4929        TransitionKey   = DOWN_DEFAULT
4930      End
4931      ConditionState    =  PARTIALLY_CONSTRUCTED 
4932        Model           = UBUndTunn_A6
4933        Animation       = UBUndTunn_A6.UBUndTunn_A6
4934        AnimationMode   = MANUAL
4935        Flags           = START_FRAME_LAST
4936        TransitionKey   = UP_DAY
4937      End
4938      ConditionState    = NIGHT  PARTIALLY_CONSTRUCTED 
4939        Model           = UBUndTunn_A6N
4940        Animation       = UBUndTunn_A6N.UBUndTunn_A6N
4941        AnimationMode   = MANUAL
4942        Flags           = START_FRAME_LAST
4943        TransitionKey   = UP_NIGHT
4944      End
4945      ConditionState    = SNOW  PARTIALLY_CONSTRUCTED 
4946        Model           = UBUndTunn_A6S
4947        Animation       = UBUndTunn_A6S.UBUndTunn_A6S
4948        AnimationMode   = MANUAL
4949        Flags           = START_FRAME_LAST
4950        TransitionKey   = UP_SNOW
4951      End
4952      ConditionState    = SNOW NIGHT  PARTIALLY_CONSTRUCTED 
4953        Model           = UBUndTunn_A6SN
4954        Animation       = UBUndTunn_A6SN.UBUndTunn_A6SN
4955        AnimationMode   = MANUAL
4956        Flags           = START_FRAME_LAST
4957        TransitionKey   = UP_SNOWNIGHT
4958      End
4959      TransitionState   = DOWN_DEFAULT UP_DAY
4960        Model           = UBUndTunn_A6
4961        Animation       = UBUndTunn_A6.UBUndTunn_A6
4962        AnimationMode   = ONCE
4963        AnimationSpeedFactorRange = 1.0 1.0
4964        Flags           = START_FRAME_FIRST
4965      End
4966      TransitionState   = DOWN_DEFAULT UP_NIGHT
4967        Model           = UBUndTunn_A6N
4968        Animation       = UBUndTunn_A6N.UBUndTunn_A6N
4969        AnimationMode   = ONCE
4970        AnimationSpeedFactorRange = 1.0 1.0
4971        Flags           = START_FRAME_FIRST
4972      End
4973      TransitionState   = DOWN_DEFAULT UP_SNOW
4974        Model           = UBUndTunn_A6S
4975        Animation       = UBUndTunn_A6S.UBUndTunn_A6S
4976        AnimationMode   = ONCE
4977        AnimationSpeedFactorRange = 1.0 1.0
4978        Flags           = START_FRAME_FIRST
4979      End
4980      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
4981        Model           = UBUndTunn_A6SN
4982        Animation       = UBUndTunn_A6SN.UBUndTunn_A6SN
4983        AnimationMode   = ONCE
4984        AnimationSpeedFactorRange = 1.0 1.0
4985        Flags           = START_FRAME_FIRST
4986      End
4987      TransitionState   = UP_DAY DOWN_DEFAULT
4988        Model           = UBUndTunn_A6
4989        Animation       = UBUndTunn_A6.UBUndTunn_A6
4990        AnimationMode   = ONCE_BACKWARDS
4991        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4992        Flags           = START_FRAME_LAST
4993      End
4994      TransitionState   = UP_NIGHT DOWN_DEFAULT
4995        Model           = UBUndTunn_A6N
4996        Animation       = UBUndTunn_A6N.UBUndTunn_A6N
4997        AnimationMode   = ONCE_BACKWARDS
4998        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4999        Flags           = START_FRAME_LAST
5000      End
5001      TransitionState   = UP_SNOW DOWN_DEFAULT
5002        Model           = UBUndTunn_A6S
5003        Animation       = UBUndTunn_A6S.UBUndTunn_A6S
5004        AnimationMode   = ONCE_BACKWARDS
5005        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5006        Flags           = START_FRAME_LAST
5007      End
5008      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
5009        Model           = UBUndTunn_A6SN
5010        Animation       = UBUndTunn_A6SN.UBUndTunn_A6SN
5011        AnimationMode   = ONCE_BACKWARDS
5012        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5013        Flags           = START_FRAME_LAST
5014      End
5015    End
5016  
5017    PlacementViewAngle = -135
5018  
5019    ; ***DESIGN parameters ***
5020    DisplayName      = OBJECT:TunnelNetwork
5021    Side = GLAStealthGeneral
5022    EditorSorting    = STRUCTURE
5023    Prerequisites
5024      Object = Slth_GLABarracks
5025    End
5026    BuildCost        = 800
5027    RefundValue      = 100 ; With nothing (or zero) listed, we sell for half price. 
5028    BuildTime        = 5.0           ; in seconds
5029    EnergyProduction = 0
5030    VisionRange     = 200.0           ; Shroud clearing distance
5031    ShroudClearingRange = 200
5032    ArmorSet
5033      Conditions      = None
5034      Armor           = StructureArmor
5035      DamageFX        = StructureDamageFXNoShake
5036    End
5037    WeaponSet
5038      Conditions = None 
5039      Weapon = PRIMARY TunnelNetworkGun
5040    End
5041  
5042    CommandSet       = Slth_GLATunnelNetworkCommandSet
5043    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
5044  
5045    ; *** AUDIO Parameters ***
5046    VoiceSelect = TunnelNetworkSelect
5047    SoundOnDamaged        = BuildingDamagedStateLight
5048    SoundOnReallyDamaged  = BuildingDestroy
5049    SoundEnter = GarrisonEnter
5050    SoundExit = GarrisonExit
5051  
5052    UnitSpecificSounds
5053      UnderConstruction     = UnderConstructionLoop
5054      TurretMoveLoop        = NoSound
5055    End
5056  
5057    ; *** ENGINEERING Parameters ***
5058    RadarPriority   = STRUCTURE
5059    KindOf          = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT
5060    Body            = StructureBody ModuleTag_04
5061      MaxHealth       = 1000.0
5062      InitialHealth   = 1000.0
5063  
5064      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
5065      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
5066      SubdualDamageCap = 1200
5067      SubdualDamageHealRate = 500
5068      SubdualDamageHealAmount = 100
5069    End
5070  
5071    Behavior = StealthDetectorUpdate ModuleTag_13
5072      DetectionRate     = 500   ; how often to rescan for stealthed things in my sight (msec)
5073      DetectionRange   = 150   ;Dustin, enable this for independant balancing!
5074      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
5075      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
5076    End
5077  
5078    Behavior = AIUpdateInterface ModuleTag_16
5079      Turret
5080        TurretTurnRate        = 180   // turn rate, in degrees per sec
5081        ControlledWeaponSlots = PRIMARY
5082      End
5083  
5084      AutoAcquireEnemiesWhenIdle = Yes Stealthed; defensive weapon
5085    End
5086  
5087    Behavior = TunnelContain ModuleTag_05
5088      TimeForFullHeal     = 5000   ;(in milliseconds)
5089    End
5090  
5091    ;Kris: Removed this module from because units exiting the container would extract information 
5092    ;from the wrong exit interface. And we don't appear to need it for the spawns because they
5093    ;use OpenContain instead.
5094    ;Behavior = DefaultProductionExitUpdate ModuleTag_06
5095    ;  UnitCreatePoint   = X:  5.0  Y:  0.0   Z:0.0
5096    ;  NaturalRallyPoint = X: 35.0  Y:  0.0   Z:0.0
5097    ;End
5098  
5099    Behavior            = SpawnBehavior ModuleTag_07
5100      SpawnNumber       = 2
5101      SpawnReplaceDelay = 9999
5102      SpawnTemplateName = Slth_GLAInfantryTunnelDefender
5103      OneShot           = Yes
5104      CanReclaimOrphans = No
5105      SlavesHaveFreeWill = Yes
5106    End
5107    Behavior             = RebuildHoleExposeDie ModuleTag_09
5108      HoleName      = GLAHoleTunnelNetwork
5109      HoleMaxHealth = 500.0
5110    End
5111    Behavior = DestroyDie ModuleTag_10
5112      ;nothing
5113    End
5114    Behavior             = CreateObjectDie ModuleTag_11
5115      CreationList  = OCL_ABTunnelNetworkDebris
5116    End
5117    Behavior             = FXListDie ModuleTag_12
5118      DeathFX       = FX_StructureSmallDeath
5119    End
5120  
5121    Behavior = FlammableUpdate ModuleTag_15
5122  
5123      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5124      AflameDamageAmount = 5       ; taking this much damage...
5125      AflameDamageDelay = 500       ; this often.
5126    End
5127    Behavior = StealthUpdate ModuleTag_17
5128      StealthDelay                = 2500 ; msec
5129      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
5130      MoveThresholdSpeed          = 3
5131      InnateStealth               = Yes ;Require the upgrade first
5132      OrderIdleEnemiesToAttackMeUponReveal  = Yes
5133    End
5134    Behavior = GrantUpgradeCreate ModuleTag_18
5135      UpgradeToGrant = Upgrade_GLACamoNetting
5136    End
5137    Behavior = ProductionUpdate ModuleTag_19
5138    End
5139  
5140    Behavior = TransitionDamageFX ModuleTag_20
5141      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
5142      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
5143      ;---------------------------------------------------------------------------------------
5144      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
5145      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
5146      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
5147    End
5148  
5149    Geometry = CYLINDER
5150    GeometryMajorRadius = 25.0
5151    GeometryHeight = 20.0    
5152    GeometryIsSmall     = No
5153    Shadow          = SHADOW_VOLUME
5154    BuildCompletion = PLACED_BY_PLAYER
5155  
5156  End
5157  
5158  ;------------------------------------------------------------------------------
5159  ObjectReskin Slth_GLAHoleTunnelNetwork Slth_GLAHole
5160    Draw                     = W3DModelDraw ModuleTag_01
5161      OkToChangeModelColor   = Yes
5162      ConditionState         = NONE
5163        Model                = UBHole
5164      End
5165      ConditionState         = DAMAGED
5166        Model                = UBHole_D
5167        ParticleSysBone      = Smoke01 SteamVent
5168      End
5169      ConditionState         = REALLYDAMAGED
5170        Model                = UBHole_E
5171        ParticleSysBone      = Smoke01 SteamVent
5172        ParticleSysBone      = Smoke02 SteamVent
5173        ParticleSysBone      = Fire01 GLAPowerPlantFlame
5174        ParticleSysBone      = Fire02 GLAPowerPlantFlame
5175        ParticleSysBone      = Fire03 GLAPowerPlantFlame
5176      End
5177    End
5178    Draw                     = W3DModelDraw ModuleTag_02
5179      OkToChangeModelColor   = Yes
5180      ConditionState         = NONE
5181        Model                = UBUndTunn_R
5182      End
5183      ConditionState         = DAMAGED REALLYDAMAGED
5184        Model                = UBUndTunn_R
5185      End
5186    End
5187  End
5188  
5189  
5190  
5191  
5192  ;------------------------------------------------------------------------------
5193  Object Slth_GLAStingerSite
5194  
5195    ; *** ART Parameters ***
5196    SelectPortrait         = SUStinger_L
5197    ButtonImage            = SUStinger
5198  
5199    UpgradeCameo1          = Upgrade_GLAAPRockets
5200    UpgradeCameo2          = Upgrade_GLACamoNetting
5201    ;UpgradeCameo3          = NONE
5202    ;UpgradeCameo4          = NONE
5203    ;UpgradeCameo5          = NONE
5204  
5205    Draw = W3DModelDraw ModuleTag_01
5206      OkToChangeModelColor = Yes
5207      
5208      ; day ************************************
5209      ConditionState = NONE
5210        Model = UBStingerS
5211      End
5212      
5213      ConditionState = DAMAGED
5214        Model = UBStingerS_D
5215      End
5216      
5217      ConditionState = REALLYDAMAGED RUBBLE
5218        Model = UBStingerS_E
5219      End
5220  
5221      ; day snow ************************************
5222      ConditionState = SNOW
5223        Model = UBStingerS_S
5224      End
5225      
5226      ConditionState = DAMAGED SNOW
5227        Model = UBStingerS_DS
5228      End
5229      
5230      ConditionState = REALLYDAMAGED SNOW RUBBLE
5231        Model = UBStingerS_ES
5232      End
5233      
5234      ; night  **********************************
5235      ConditionState       = NIGHT 
5236        Model              = UBStingerS_N
5237      End
5238      
5239      ConditionState       = DAMAGED NIGHT 
5240        Model              = UBStingerS_DN
5241      End
5242      
5243      ConditionState       = REALLYDAMAGED NIGHT  RUBBLE
5244        Model              = UBStingerS_EN
5245      End
5246         
5247      ; night snow **********************************
5248      ConditionState       = NIGHT SNOW
5249        Model              = UBStingerS_NS
5250      End
5251      
5252      ConditionState       = DAMAGED NIGHT SNOW
5253        Model              = UBStingerS_DNS
5254      End
5255      
5256      ConditionState       = REALLYDAMAGED NIGHT SNOW RUBBLE
5257        Model              = UBStingerS_ENS
5258      End
5259      
5260      
5261          ;**************************************************************************************************************************
5262      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
5263      ;for this draw module
5264      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5265        Model              = UBStingerS
5266       ; Animation          = UBStingerS.UBStingerS
5267       ; AnimationMode      = LOOP
5268        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5269      End
5270      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
5271        Model              = UBStingerS_D
5272       ; Animation          = UBStingerS_D.UBStingerS_D
5273       ; AnimationMode      = LOOP
5274        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5275      End
5276      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
5277        Model              = UBStingerS_E
5278       ; Animation          = UBStingerS_E.UBStingerS_E
5279       ; AnimationMode      = LOOP
5280        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5281      End
5282      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
5283        Model              = UBStingerS_N
5284       ; Animation          = UBStingerS_N.UBStingerS_N
5285       ; AnimationMode      = LOOP
5286        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5287      End
5288      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
5289        Model              = UBStingerS_DN
5290       ; Animation          = UBStingerS_DN.UBStingerS_DN
5291       ; AnimationMode      = LOOP
5292        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5293      End
5294      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
5295        Model              = UBStingerS_EN
5296       ; Animation          = UBStingerS_EN.UBStingerS_EN
5297       ; AnimationMode      = LOOP
5298        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5299      End
5300      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
5301        Model              = UBStingerS_S
5302       ; Animation          = UBStingerS_S.UBStingerS_S
5303       ; AnimationMode      = LOOP
5304        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5305      End
5306      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
5307        Model              = UBStingerS_DS
5308       ; Animation          = UBStingerS_DS.UBStingerS_DS
5309       ; AnimationMode      = LOOP
5310        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5311      End
5312      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
5313        Model              = UBStingerS_ES
5314       ; Animation          = UBStingerS_ES.UBStingerS_ES
5315       ; AnimationMode      = LOOP
5316        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5317      End
5318      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
5319        Model              = UBStingerS_NS
5320       ; Animation          = UBStingerS_NS.UBStingerS_NS
5321       ; AnimationMode      = LOOP
5322        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5323      End
5324      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
5325        Model              = UBStingerS_DNS
5326       ; Animation          = UBStingerS_DNS.UBStingerS_DNS
5327       ; AnimationMode      = LOOP
5328        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5329      End
5330      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
5331        Model              = UBStingerS_ENS
5332       ; Animation          = UBStingerS_ENS.UBStingerS_ENS
5333       ; AnimationMode      = LOOP
5334        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5335      End
5336  
5337      ConditionState       = AWAITING_CONSTRUCTION 
5338        Model              = NONE
5339      End
5340      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
5341      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
5342      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
5343      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
5344      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
5345      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
5346      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
5347      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
5348      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
5349      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
5350      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
5351      AliasConditionState  = SOLD 
5352      AliasConditionState  = SOLD DAMAGED
5353      AliasConditionState  = SOLD REALLYDAMAGED
5354      AliasConditionState  = SOLD NIGHT
5355      AliasConditionState  = SOLD NIGHT DAMAGED
5356      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
5357      AliasConditionState  = SOLD SNOW
5358      AliasConditionState  = SOLD SNOW DAMAGED
5359      AliasConditionState  = SOLD SNOW REALLYDAMAGED
5360      AliasConditionState  = SOLD NIGHT SNOW
5361      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
5362      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
5363      ;**************************************************************************************************************************
5364  
5365    
5366    End
5367    ; ------------ construction-zone fence -----------------
5368    Draw = W3DModelDraw ModuleTag_02
5369    AnimationsRequirePower = No
5370      DefaultConditionState
5371        Model           = None
5372        TransitionKey   = DOWN_DEFAULT
5373      End
5374      ConditionState    = NIGHT
5375        Model           = None
5376        TransitionKey   = DOWN_DEFAULT
5377      End
5378      ConditionState    = SNOW
5379        Model           = None
5380        TransitionKey   = DOWN_DEFAULT
5381      End
5382      ConditionState    = SNOW NIGHT
5383        Model           = None
5384        TransitionKey   = DOWN_DEFAULT
5385      End
5386      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5387        Model           = UBStingerS_A4
5388        Animation       = UBStingerS_A4.UBStingerS_A4
5389        AnimationMode   = MANUAL
5390        Flags           = START_FRAME_LAST
5391        TransitionKey   = UP_DAY
5392      End
5393      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5394        Model           = UBStingerS_A4N
5395        Animation       = UBStingerS_A4N.UBStingerS_A4N
5396        AnimationMode   = MANUAL
5397        Flags           = START_FRAME_LAST
5398        TransitionKey   = UP_NIGHT
5399      End
5400      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5401        Model           = UBStingerS_A4S
5402        Animation       = UBStingerS_A4S.UBStingerS_A4S
5403        AnimationMode   = MANUAL
5404        Flags           = START_FRAME_LAST
5405        TransitionKey   = UP_SNOW
5406      End
5407      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5408        Model           = UBStingerS_A4SN
5409        Animation       = UBStingerS_A4SN.UBStingerS_A4SN
5410        AnimationMode   = MANUAL
5411        Flags           = START_FRAME_LAST
5412        TransitionKey   = UP_SNOWNIGHT
5413      End
5414      TransitionState   = DOWN_DEFAULT UP_DAY
5415        Model           = UBStingerS_A4
5416        Animation       = UBStingerS_A4.UBStingerS_A4
5417        AnimationMode   = ONCE
5418        AnimationSpeedFactorRange = 1.0 1.0
5419        Flags           = START_FRAME_FIRST
5420      End
5421      TransitionState   = DOWN_DEFAULT UP_NIGHT
5422        Model           = UBStingerS_A4N
5423        Animation       = UBStingerS_A4N.UBStingerS_A4N
5424        AnimationMode   = ONCE
5425        AnimationSpeedFactorRange = 1.0 1.0
5426        Flags           = START_FRAME_FIRST
5427      End
5428      TransitionState   = DOWN_DEFAULT UP_SNOW
5429        Model           = UBStingerS_A4S
5430        Animation       = UBStingerS_A4S.UBStingerS_A4S
5431        AnimationMode   = ONCE
5432        AnimationSpeedFactorRange = 1.0 1.0
5433        Flags           = START_FRAME_FIRST
5434      End
5435      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
5436        Model           = UBStingerS_A4SN
5437        Animation       = UBStingerS_A4SN.UBStingerS_A4SN
5438        AnimationMode   = ONCE
5439        AnimationSpeedFactorRange = 1.0 1.0
5440        Flags           = START_FRAME_FIRST
5441      End
5442      TransitionState   = UP_DAY DOWN_DEFAULT
5443        Model           = UBStingerS_A4
5444        Animation       = UBStingerS_A4.UBStingerS_A4
5445        AnimationMode   = ONCE_BACKWARDS
5446        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5447        Flags           = START_FRAME_LAST
5448      End
5449      TransitionState   = UP_NIGHT DOWN_DEFAULT
5450        Model           = UBStingerS_A4N
5451        Animation       = UBStingerS_A4N.UBStingerS_A4N
5452        AnimationMode   = ONCE_BACKWARDS
5453        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5454        Flags           = START_FRAME_LAST
5455      End
5456      TransitionState   = UP_SNOW DOWN_DEFAULT
5457        Model           = UBStingerS_A4S
5458        Animation       = UBStingerS_A4S.UBStingerS_A4S
5459        AnimationMode   = ONCE_BACKWARDS
5460        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5461        Flags           = START_FRAME_LAST
5462      End
5463      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
5464        Model           = UBStingerS_A4SN
5465        Animation       = UBStingerS_A4SN.UBStingerS_A4SN
5466        AnimationMode   = ONCE_BACKWARDS
5467        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5468        Flags           = START_FRAME_LAST
5469      End
5470    End
5471  
5472    ; ------------ under-construction scaffolding -----------------
5473    Draw = W3DModelDraw ModuleTag_03
5474    AnimationsRequirePower = No
5475      MinLODRequired = MEDIUM
5476      DefaultConditionState
5477        Model           = None
5478        TransitionKey   = DOWN_DEFAULT
5479      End
5480      ConditionState    = NIGHT
5481        Model           = None
5482        TransitionKey   = DOWN_DEFAULT
5483      End
5484      ConditionState    = SNOW
5485        Model           = None
5486        TransitionKey   = DOWN_DEFAULT
5487      End
5488      ConditionState    = SNOW NIGHT
5489        Model           = None
5490        TransitionKey   = DOWN_DEFAULT
5491      End
5492      ConditionState    = PARTIALLY_CONSTRUCTED
5493        Model           = UBStingerS_A6
5494        Animation       = UBStingerS_A6.UBStingerS_A6
5495        AnimationMode   = MANUAL
5496        Flags           = START_FRAME_LAST
5497        TransitionKey   = UP_DAY
5498        ParticleSysBone = Smoke01 BuildUpSmoke
5499        ParticleSysBone = Smoke02 BuildUpSmoke
5500        ParticleSysBone = Smoke03 BuildUpSmoke
5501      End
5502      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
5503        Model           = UBStingerS_A6N
5504        Animation       = UBStingerS_A6N.UBStingerS_A6N
5505        AnimationMode   = MANUAL
5506        Flags           = START_FRAME_LAST
5507        TransitionKey   = UP_NIGHT
5508        ParticleSysBone = Smoke01 BuildUpSmoke
5509        ParticleSysBone = Smoke02 BuildUpSmoke
5510        ParticleSysBone = Smoke03 BuildUpSmoke
5511      End
5512      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
5513        Model           = UBStingerS_A6S
5514        Animation       = UBStingerS_A6S.UBStingerS_A6S
5515        AnimationMode   = MANUAL
5516        Flags           = START_FRAME_LAST
5517        TransitionKey   = UP_SNOW
5518        ParticleSysBone = Smoke01 BuildUpSnowSmoke
5519        ParticleSysBone = Smoke02 BuildUpSnowSmoke
5520        ParticleSysBone = Smoke03 BuildUpSnowSmoke
5521      End
5522      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
5523        Model           = UBStingerS_A6SN
5524        Animation       = UBStingerS_A6SN.UBStingerS_A6SN
5525        AnimationMode   = MANUAL
5526        Flags           = START_FRAME_LAST
5527        TransitionKey   = UP_SNOWNIGHT
5528        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
5529        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
5530        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
5531      End
5532      TransitionState   = DOWN_DEFAULT UP_DAY
5533       Model            = UBStingerS_A6
5534        Animation       = UBStingerS_A6.UBStingerS_A6
5535        AnimationMode   = ONCE
5536        AnimationSpeedFactorRange = 1.0 1.0
5537        Flags           = START_FRAME_FIRST
5538      End
5539      TransitionState   = DOWN_DEFAULT UP_NIGHT
5540       Model            = UBStingerS_A6N
5541        Animation       = UBStingerS_A6N.UBStingerS_A6N
5542        AnimationMode   = ONCE
5543        AnimationSpeedFactorRange = 1.0 1.0
5544        Flags           = START_FRAME_FIRST
5545      End
5546      TransitionState   = DOWN_DEFAULT UP_SNOW
5547       Model            = UBStingerS_A6S
5548        Animation       = UBStingerS_A6S.UBStingerS_A6S
5549        AnimationMode   = ONCE
5550        AnimationSpeedFactorRange = 1.0 1.0
5551        Flags           = START_FRAME_FIRST
5552      End
5553      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
5554       Model            = UBStingerS_A6SN
5555        Animation       = UBStingerS_A6SN.UBStingerS_A6SN
5556        AnimationMode   = ONCE
5557        AnimationSpeedFactorRange = 1.0 1.0
5558        Flags           = START_FRAME_FIRST
5559      End
5560      TransitionState   = UP_DAY DOWN_DEFAULT
5561        Model           = UBStingerS_A6
5562        Animation       = UBStingerS_A6.UBStingerS_A6
5563        AnimationMode   = ONCE_BACKWARDS
5564        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5565        Flags           = START_FRAME_LAST
5566      End
5567      TransitionState   = UP_NIGHT DOWN_DEFAULT
5568        Model           = UBStingerS_A6N
5569        Animation       = UBStingerS_A6N.UBStingerS_A6N
5570        AnimationMode   = ONCE_BACKWARDS
5571        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5572        Flags           = START_FRAME_LAST
5573      End
5574      TransitionState   = UP_SNOW DOWN_DEFAULT
5575        Model           = UBStingerS_A6S
5576        Animation       = UBStingerS_A6S.UBStingerS_A6S
5577        AnimationMode   = ONCE_BACKWARDS
5578        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5579        Flags           = START_FRAME_LAST
5580      End
5581      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
5582        Model           = UBStingerS_A6SN
5583        Animation       = UBStingerS_A6SN.UBStingerS_A6SN
5584        AnimationMode   = ONCE_BACKWARDS
5585        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5586        Flags           = START_FRAME_LAST
5587      End
5588    End
5589    
5590    PlacementViewAngle = -45
5591  
5592    ; ***DESIGN parameters ***
5593    DisplayName         = OBJECT:StingerSite
5594    Side                = GLAStealthGeneral
5595    EditorSorting       = STRUCTURE
5596    Prerequisites
5597      Object            = Slth_GLABarracks
5598    End
5599    BuildCost           = 900
5600    BuildTime           = 15.0           ; in seconds
5601    EnergyProduction    = 0
5602    VisionRange         = 600.0           ; Shroud clearing distance
5603    ShroudClearingRange = 400
5604    ArmorSet
5605      Conditions        = None
5606      Armor             = StingerSiteArmor
5607      DamageFX          = StructureDamageFXNoShake
5608    End
5609    CommandSet          = Slth_GLAStingerSiteCommandSet
5610    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
5611  
5612    ; *** AUDIO Parameters ***
5613    VoiceSelect         = StingerSiteSelect
5614    SoundOnDamaged        = BuildingDamagedStateLight
5615    SoundOnReallyDamaged  = BuildingDestroy
5616  
5617    UnitSpecificSounds
5618      UnderConstruction     = UnderConstructionLoop
5619    End
5620  
5621    ; *** ENGINEERING Parameters ***
5622    RadarPriority        = STRUCTURE
5623    KindOf               = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SPAWNS_ARE_THE_WEAPONS SCORE_CREATE
5624  
5625    Body                 = HiveStructureBody ModuleTag_04 ;Requires SpawnBehavior!
5626      MaxHealth          = 1000.0
5627      InitialHealth      = 1000.0
5628      ;**Careful with these damage types -- because area damage types will already
5629      ;**damage slaves.
5630      PropagateDamageTypesToSlavesWhenExisting = NONE +SMALL_ARMS +SNIPER +POISON +RADIATION +SURRENDER
5631      SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to
5632  
5633      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
5634      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
5635      SubdualDamageCap = 1200
5636      SubdualDamageHealRate = 500
5637      SubdualDamageHealAmount = 100
5638    End
5639  
5640    Behavior = SpawnPointProductionExitUpdate ModuleTag_05
5641      SpawnPointBoneName = SpawnPoint
5642    End
5643  
5644    Behavior                = SpawnBehavior ModuleTag_06
5645      SpawnNumber           = 3
5646      SpawnReplaceDelay     = 30000 ;msec
5647      SpawnTemplateName     = Slth_GLAInfantryStingerSoldier
5648      CanReclaimOrphans     = No
5649      SpawnedRequireSpawner = Yes
5650      SlavesHaveFreeWill = No
5651    End
5652    Behavior        = RebuildHoleExposeDie ModuleTag_08
5653      HoleName      = GLAHoleStingerSite
5654      HoleMaxHealth = 500.0
5655    End
5656    Behavior        = DestroyDie ModuleTag_09
5657      ;<NO DATA>
5658    End
5659    Behavior        = CreateObjectDie ModuleTag_10
5660      CreationList  = OCL_ABStingerSiteDebris
5661    End
5662    Behavior        = FXListDie ModuleTag_11
5663      DeathFX       = FX_StructureSmallDeath
5664    End
5665    Behavior        = FireWeaponWhenDeadBehavior ModuleTag_12
5666      DeathWeapon   = StingerSiteDeathConcussion
5667      StartsActive  = Yes
5668    End
5669    Behavior = StealthUpdate ModuleStealth_09
5670      StealthDelay                = 2500 ; msec
5671      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
5672      InnateStealth               = Yes; requires upgrade
5673      OrderIdleEnemiesToAttackMeUponReveal  = Yes
5674    End
5675    Behavior = GrantUpgradeCreate ModuleTag_18
5676      UpgradeToGrant = Upgrade_GLACamoNetting
5677    End
5678    Behavior = ProductionUpdate ModuleTag_19
5679    End
5680  
5681    Behavior                = FlammableUpdate ModuleTag_16
5682      AflameDuration        = 5000         ; If I catch fire, I'll burn for this long...
5683      AflameDamageAmount    = 5       ; taking this much damage...
5684      AflameDamageDelay     = 500       ; this often.
5685    End
5686  
5687    Behavior = TransitionDamageFX ModuleTag_17
5688      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
5689      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
5690      ;---------------------------------------------------------------------------------------
5691      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
5692      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
5693      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
5694    End
5695  
5696    Geometry            = CYLINDER
5697    GeometryMajorRadius = 36.0
5698    GeometryHeight      = 9.0    
5699    GeometryIsSmall     = No
5700    Shadow              = SHADOW_VOLUME
5701    BuildCompletion     = PLACED_BY_PLAYER
5702  
5703  End
5704  
5705  ;------------------------------------------------------------------------------
5706  ObjectReskin Slth_GLAHoleStingerSite Slth_GLAHole
5707    Draw                     = W3DModelDraw ModuleTag_01
5708      OkToChangeModelColor   = Yes
5709      ConditionState         = NONE
5710        Model                = UBHole
5711      End
5712      ConditionState         = DAMAGED
5713        Model                = UBHole_D
5714        ParticleSysBone      = Smoke01 SteamVent
5715      End
5716      ConditionState         = REALLYDAMAGED
5717        Model                = UBHole_E
5718        ParticleSysBone      = Smoke01 SteamVent
5719        ParticleSysBone      = Smoke02 SteamVent
5720        ParticleSysBone      = Fire01 GLAPowerPlantFlame
5721        ParticleSysBone      = Fire02 GLAPowerPlantFlame
5722        ParticleSysBone      = Fire03 GLAPowerPlantFlame
5723      End
5724    End
5725    Draw                     = W3DModelDraw ModuleTag_02
5726      OkToChangeModelColor   = Yes
5727      ConditionState         = NONE
5728        Model                = UBStingerS_R
5729      End
5730      ConditionState         = DAMAGED REALLYDAMAGED
5731        Model                = UBStingerS_R
5732      End
5733    End
5734  End
5735  
5736  ;------------------------------------------------------------------------------
5737  Object Slth_GLAPalace
5738  
5739    UpgradeCameo1 = Upgrade_GLACamoNetting
5740  
5741    ; *** ART Parameters ***
5742    SelectPortrait         = SUPalace_L
5743    ButtonImage            = SUPalace
5744    Draw                     = W3DModelDraw ModuleTag_01
5745      OkToChangeModelColor   = Yes
5746            
5747      ; day  
5748      ConditionState         = NONE
5749        Model                = UBPalace
5750        ParticleSysBone      = Smoke01 SmolderingSmoke
5751        Animation            = UBPalace.UBPalace
5752        AnimationMode        = LOOP
5753      End
5754      ConditionState         = DAMAGED
5755        Model                = UBPalace_D
5756        ParticleSysBone      = Smoke01 SmolderingSmoke
5757        Animation            = UBPalace_D.UBPalace_D
5758        AnimationMode        = LOOP
5759      End
5760      ConditionState         = REALLYDAMAGED RUBBLE
5761        Model                = UBPalace_E
5762        ParticleSysBone      = Smoke01 SmolderingSmoke
5763      End
5764      
5765      ConditionState         = GARRISONED
5766        Model                = UBPalace_G
5767        ParticleSysBone      = Smoke01 SmolderingSmoke
5768        Animation            = UBPalace_G.UBPalace_G
5769        AnimationMode        = LOOP
5770      End
5771      ConditionState         = USER_1
5772        Model                = UBPalaceEG
5773        ParticleSysBone      = Smoke01 SmolderingSmoke
5774        Animation            = UBPalaceEG.UBPalaceEG
5775        AnimationMode        = LOOP
5776      End
5777      ConditionState         = USER_1 GARRISONED
5778        Model                = UBPalaceEGX
5779        ParticleSysBone      = Smoke01 SmolderingSmoke
5780         Animation            = UBPalaceEGX.UBPalaceEGX
5781        AnimationMode        = LOOP
5782      End
5783      ConditionState         = DAMAGED GARRISONED
5784        Model                = UBPalace_DG
5785        ParticleSysBone      = Smoke01 SmolderingSmoke
5786        Animation            = UBPalace_DG.UBPalace_DG
5787        AnimationMode        = LOOP
5788      End
5789      ConditionState         = DAMAGED USER_1
5790        Model                = UBPalaceEG_D
5791        ParticleSysBone      = Smoke01 SmolderingSmoke
5792        Animation            = UBPalaceEG_D.UBPalaceEG_D
5793        AnimationMode        = LOOP
5794      End
5795      ConditionState         = DAMAGED USER_1 GARRISONED
5796       Model                = UBPalaceEGX_D
5797        ParticleSysBone      = Smoke01 SmolderingSmoke
5798        Animation            = UBPalaceEGX_D.UBPalaceEGX_D
5799        AnimationMode        = LOOP
5800      End
5801      
5802      ConditionState         = REALLYDAMAGED GARRISONED
5803        Model                = UBPalace_EG
5804        ParticleSysBone      = Smoke01 SmolderingSmoke
5805      End
5806      ConditionState         = REALLYDAMAGED USER_1
5807        Model                = UBPalaceEG_E
5808        ParticleSysBone      = Smoke01 SmolderingSmoke
5809      End
5810      ConditionState         = REALLYDAMAGED USER_1 GARRISONED
5811        Model                = UBPalaceEGX_E
5812        ParticleSysBone      = Smoke01 SmolderingSmoke
5813      End
5814      
5815      ; day snow
5816      ConditionState         = SNOW
5817        Model                = UBPalace_S
5818        ParticleSysBone      = Smoke01 SmolderingSmoke
5819        Animation            = UBPalace_S.UBPalace_S
5820        AnimationMode        = LOOP
5821      End
5822      ConditionState         = DAMAGED SNOW
5823        Model                = UBPalace_DS
5824        ParticleSysBone      = Smoke01 SmolderingSmoke
5825        Animation            = UBPalace_DS.UBPalace_DS
5826        AnimationMode        = LOOP
5827      End
5828      ConditionState         = REALLYDAMAGED RUBBLE SNOW
5829        Model                = UBPalace_ES
5830        ParticleSysBone      = Smoke01 SmolderingSmoke
5831      End
5832      
5833      ConditionState         = GARRISONED SNOW
5834        Model                = UBPalace_SG
5835        ParticleSysBone      = Smoke01 SmolderingSmoke
5836        Animation            = UBPalace_SG.UBPalace_SG
5837        AnimationMode        = LOOP
5838      End
5839      ConditionState         = USER_1 SNOW
5840        Model                = UBPalaceEG_S
5841        ParticleSysBone      = Smoke01 SmolderingSmoke
5842        Animation            = UBPalaceEG_S.UBPalaceEG_S
5843        AnimationMode        = LOOP
5844      End
5845      ConditionState         = USER_1 SNOW GARRISONED
5846        Model                = UBPalaceEGX_S
5847        ParticleSysBone      = Smoke01 SmolderingSmoke
5848        Animation            = UBPalaceEGX_S.UBPalaceEGX_S
5849        AnimationMode        = LOOP
5850      End
5851      
5852      ConditionState         = DAMAGED GARRISONED SNOW
5853        Model                = UBPalace_DSG
5854        ParticleSysBone      = Smoke01 SmolderingSmoke
5855        Animation            = UBPalace_DSG.UBPalace_DSG
5856        AnimationMode        = LOOP
5857      End
5858      ConditionState         = DAMAGED USER_1 SNOW
5859        Model                = UBPalaceEG_DS
5860        ParticleSysBone      = Smoke01 SmolderingSmoke
5861        Animation            = UBPalaceEG_DS.UBPalaceEG_DS
5862        AnimationMode        = LOOP
5863      End
5864      ConditionState         = DAMAGED USER_1 SNOW GARRISONED
5865        Model                = UBPalaceEGX_DS
5866        ParticleSysBone      = Smoke01 SmolderingSmoke
5867        Animation            = UBPalaceEGX_DSG.UBPalaceEGX_DS
5868        AnimationMode        = LOOP
5869      End
5870          
5871      ConditionState         = REALLYDAMAGED GARRISONED SNOW
5872        Model                = UBPalace_ESG
5873        ParticleSysBone      = Smoke01 SmolderingSmoke
5874      End
5875      ConditionState         = REALLYDAMAGED USER_1 SNOW
5876        Model                = UBPalaceEG_ES
5877        ParticleSysBone      = Smoke01 SmolderingSmoke
5878      End
5879      ConditionState         = REALLYDAMAGED USER_1 GARRISONED SNOW
5880        Model                = UBPalaceEGX_ES
5881       ParticleSysBone      = Smoke01 SmolderingSmoke
5882      End
5883  
5884      ; night  
5885      ConditionState         = NIGHT
5886        Model                = UBPalace_N
5887        ParticleSysBone      = Smoke01 SmolderingSmoke
5888        Animation            = UBPalace_N.UBPalace_N
5889        AnimationMode        = LOOP
5890      End
5891      ConditionState         = DAMAGED NIGHT
5892        Model                = UBPalace_DN
5893        ParticleSysBone      = Smoke01 SmolderingSmoke
5894        Animation            = UBPalace_DN.UBPalace_DN
5895        AnimationMode        = LOOP
5896      End
5897      ConditionState         = REALLYDAMAGED RUBBLE NIGHT
5898        Model                = UBPalace_EN
5899        ParticleSysBone      = Smoke01 SmolderingSmoke
5900      End
5901          
5902      ConditionState         = GARRISONED NIGHT
5903        Model                = UBPalace_NG
5904        ParticleSysBone      = Smoke01 SmolderingSmoke
5905        Animation            = UBPalace_NG.UBPalace_NG
5906        AnimationMode        = LOOP
5907      End
5908      ConditionState         = USER_1 NIGHT
5909        Model                = UBPalaceEG_N
5910        ParticleSysBone      = Smoke01 SmolderingSmoke
5911        Animation            = UBPalaceEG_N.UBPalaceEG_N
5912        AnimationMode        = LOOP
5913      End
5914      ; commented out until we get the right state (garrison + elite guard)
5915      ConditionState         = USER_1 NIGHT GARRISONED
5916        Model                = UBPalaceEGX_N
5917        ParticleSysBone      = Smoke01 SmolderingSmoke
5918        Animation            = UBPalaceEGX_N.UBPalaceEGX_N
5919        AnimationMode        = LOOP
5920      End
5921          
5922      ConditionState         = DAMAGED GARRISONED NIGHT
5923        Model                = UBPalace_DGN
5924        ParticleSysBone      = Smoke01 SmolderingSmoke
5925        Animation            = UBPalace_DGN.UBPalace_DGN
5926        AnimationMode        = LOOP
5927      End
5928      ConditionState         = DAMAGED USER_1 NIGHT
5929        Model                = UBPalaceEG_DN
5930        ParticleSysBone      = Smoke01 SmolderingSmoke
5931        Animation            = UBPalaceEG_DN.UBPalaceEG_DN
5932        AnimationMode        = LOOP
5933      End
5934      ConditionState         = DAMAGED USER_1 NIGHT GARRISONED
5935        Model                = UBPalaceEGX_DN
5936        ParticleSysBone      = Smoke01 SmolderingSmoke
5937        Animation            = UBPalaceEGX_DN.UBPalaceEGX_DN
5938        AnimationMode        = LOOP
5939      End    
5940      
5941      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
5942        Model                = UBPalace_ENG
5943        ParticleSysBone      = Smoke01 SmolderingSmoke
5944      End
5945      ConditionState         = REALLYDAMAGED USER_1 NIGHT
5946        Model                = UBPalaceEG_EN
5947        ParticleSysBone      = Smoke01 SmolderingSmoke
5948      End
5949      ConditionState         = REALLYDAMAGED USER_1 NIGHT GARRISONED
5950        Model                = UBPalaceEGX_EN
5951        ParticleSysBone      = Smoke01 SmolderingSmoke
5952      End
5953  
5954      ; night snow
5955      ConditionState         = SNOW NIGHT
5956        Model                = UBPalace_NS
5957        ParticleSysBone      = Smoke01 SmolderingSmoke
5958        Animation            = UBPalace_NS.UBPalace_NS
5959        AnimationMode        = LOOP
5960      End
5961      ConditionState         = DAMAGED SNOW NIGHT
5962        Model                = UBPalace_DNS
5963        ParticleSysBone      = Smoke01 SmolderingSmoke
5964        Animation            = UBPalace_DNS.UBPalace_DNS
5965        AnimationMode        = LOOP
5966      End
5967      ConditionState         = REALLYDAMAGED RUBBLE SNOW NIGHT
5968        Model                = UBPalace_ENS
5969        ParticleSysBone      = Smoke01 SmolderingSmoke
5970      End
5971      
5972      ConditionState         = GARRISONED SNOW NIGHT
5973        Model                = UBPalace_GNS
5974        ParticleSysBone      = Smoke01 SmolderingSmoke
5975        Animation            = UBPalace_GNS.UBPalace_GNS
5976        AnimationMode        = LOOP
5977      End
5978      ConditionState         = USER_1 SNOW NIGHT
5979        Model                = UBPalaceEG_NS
5980        ParticleSysBone      = Smoke01 SmolderingSmoke
5981        Animation            = UBPalaceEG_NS.UBPalaceEG_NS
5982        AnimationMode        = LOOP
5983      End
5984      ConditionState         = USER_1 SNOW NIGHT GARRISONED
5985        Model                = UBPalaceEGX_NS
5986        ParticleSysBone      = Smoke01 SmolderingSmoke
5987        Animation            = UBPalaceEGX_NS.UBPalaceEGX_NS
5988        AnimationMode        = LOOP
5989      End
5990  
5991      ConditionState         = DAMAGED GARRISONED SNOW NIGHT
5992        Model                = UBPalace_DGNS
5993        ParticleSysBone      = Smoke01 SmolderingSmoke
5994        Animation            = UBPalace_DGNS.UBPalace_DGNS
5995        AnimationMode        = LOOP
5996      End
5997      ConditionState         = DAMAGED USER_1 SNOW NIGHT
5998        Model                = UBPalaceEG_DNS
5999        ParticleSysBone      = Smoke01 SmolderingSmoke
6000        Animation            = UBPalaceEG_DNS.UBPalaceEG_DNS
6001        AnimationMode        = LOOP
6002      End
6003      ConditionState         = DAMAGED USER_1 SNOW NIGHT GARRISONED
6004        Model                = UBPalaceEGX_DNS
6005        ParticleSysBone      = Smoke01 SmolderingSmoke
6006        Animation            = UBPalaceEGX_DNS.UBPalaceEGX_DNS
6007        AnimationMode        = LOOP
6008      End    
6009      
6010      ConditionState         = REALLYDAMAGED GARRISONED SNOW NIGHT
6011        Model                = UBPalace_ENSG
6012        ParticleSysBone      = Smoke01 SmolderingSmoke
6013      End
6014      ConditionState         = REALLYDAMAGED USER_1 SNOW NIGHT
6015        Model                = UBPalaceEG_ENS
6016        ParticleSysBone      = Smoke01 SmolderingSmoke
6017      End
6018      ConditionState         = REALLYDAMAGED USER_1 SNOW NIGHT GARRISONED
6019        Model                = UBPalaceEGX_ENS
6020        ParticleSysBone      = Smoke01 SmolderingSmoke
6021      End
6022       
6023      ;**************************************************************************************************************************
6024      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
6025      ;for this draw module
6026      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6027        Model              = UBPalace
6028        Animation          = UBPalace.UBPalace
6029        AnimationMode      = LOOP
6030        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6031      End
6032      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
6033        Model              = UBPalace_D
6034        Animation          = UBPalace_D.UBPalace_D
6035        AnimationMode      = LOOP
6036        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6037      End
6038      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
6039        Model              = UBPalace_E
6040        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6041      End
6042      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
6043        Model              = UBPalace_N
6044        Animation          = UBPalace_N.UBPalace_N
6045        AnimationMode      = LOOP
6046        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6047      End
6048      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
6049        Model              = UBPalace_DN
6050        Animation          = UBPalace_DN.UBPalace_DN
6051        AnimationMode      = LOOP
6052        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6053      End
6054      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
6055        Model              = UBPalace_EN
6056        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6057      End
6058      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
6059        Model              = UBPalace_S
6060        Animation          = UBPalace_S.UBPalace_S
6061        AnimationMode      = LOOP
6062        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6063      End
6064      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
6065        Model              = UBPalace_DS
6066        Animation          = UBPalace_DS.UBPalace_DS
6067        AnimationMode      = LOOP
6068        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6069      End
6070      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
6071        Model              = UBPalace_ES
6072        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6073      End
6074      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
6075        Model              = UBPalace_NS
6076        Animation          = UBPalace_NS.UBPalace_NS
6077        AnimationMode      = LOOP
6078        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6079      End
6080      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
6081        Model              = UBPalace_DNS
6082        Animation          = UBPalace_DNS.UBPalace_DNS
6083        AnimationMode      = LOOP
6084        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6085      End
6086      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
6087        Model              = UBPalace_ENS
6088        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6089      End
6090  
6091      ConditionState       = AWAITING_CONSTRUCTION 
6092        Model              = NONE
6093      End
6094      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
6095      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
6096      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
6097      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
6098      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
6099      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
6100      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
6101      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
6102      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
6103      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
6104      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
6105      AliasConditionState  = SOLD 
6106      AliasConditionState  = SOLD DAMAGED
6107      AliasConditionState  = SOLD REALLYDAMAGED
6108      AliasConditionState  = SOLD NIGHT
6109      AliasConditionState  = SOLD NIGHT DAMAGED
6110      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
6111      AliasConditionState  = SOLD SNOW
6112      AliasConditionState  = SOLD SNOW DAMAGED
6113      AliasConditionState  = SOLD SNOW REALLYDAMAGED
6114      AliasConditionState  = SOLD NIGHT SNOW
6115      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
6116      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
6117      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED USER_1
6118      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED USER_1
6119      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT USER_1
6120      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED USER_1
6121      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED USER_1
6122      AliasConditionState  = AWAITING_CONSTRUCTION SNOW USER_1
6123      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED USER_1
6124      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED USER_1
6125      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW USER_1
6126      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED USER_1
6127      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED USER_1
6128      AliasConditionState  = SOLD USER_1
6129      AliasConditionState  = SOLD DAMAGED USER_1
6130      AliasConditionState  = SOLD REALLYDAMAGED USER_1
6131      AliasConditionState  = SOLD NIGHT USER_1
6132      AliasConditionState  = SOLD NIGHT DAMAGED USER_1
6133      AliasConditionState  = SOLD NIGHT REALLYDAMAGED USER_1
6134      AliasConditionState  = SOLD SNOW USER_1
6135      AliasConditionState  = SOLD SNOW DAMAGED USER_1
6136      AliasConditionState  = SOLD SNOW REALLYDAMAGED USER_1
6137      AliasConditionState  = SOLD NIGHT SNOW USER_1
6138      AliasConditionState  = SOLD NIGHT SNOW DAMAGED USER_1
6139      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED USER_1
6140      AliasConditionState  = GARRISONED SOLD 
6141      AliasConditionState  = GARRISONED SOLD DAMAGED
6142      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
6143      AliasConditionState  = GARRISONED SOLD NIGHT
6144      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
6145      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
6146      AliasConditionState  = GARRISONED SOLD SNOW
6147      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
6148      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
6149      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
6150      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
6151      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
6152      AliasConditionState  = GARRISONED SOLD USER_1
6153      AliasConditionState  = GARRISONED SOLD DAMAGED USER_1
6154      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED USER_1
6155      AliasConditionState  = GARRISONED SOLD NIGHT USER_1
6156      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED USER_1
6157      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED USER_1
6158      AliasConditionState  = GARRISONED SOLD SNOW USER_1
6159      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED USER_1
6160      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED USER_1
6161      AliasConditionState  = GARRISONED SOLD NIGHT SNOW USER_1
6162      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED USER_1
6163      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED USER_1
6164      ;**************************************************************************************************************************
6165  
6166    End
6167    PlacementViewAngle = -45
6168  
6169    ; ------------ construction-zone fence -----------------
6170    Draw = W3DModelDraw ModuleTag_02
6171    AnimationsRequirePower = No
6172      DefaultConditionState
6173        Model           = None
6174        TransitionKey   = DOWN_DEFAULT
6175      End
6176      ConditionState    = NIGHT
6177        Model           = None
6178        TransitionKey   = DOWN_DEFAULT
6179      End
6180      ConditionState    = SNOW
6181        Model           = None
6182        TransitionKey   = DOWN_DEFAULT
6183      End
6184      ConditionState    = SNOW NIGHT
6185        Model           = None
6186        TransitionKey   = DOWN_DEFAULT
6187      End
6188      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6189        Model           = UBPalace_A4
6190        Animation       = UBPalace_A4.UBPalace_A4
6191        AnimationMode   = MANUAL
6192        Flags           = START_FRAME_LAST
6193        TransitionKey   = UP_DAY
6194      End
6195      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6196        Model           = UBPalace_A4N
6197        Animation       = UBPalace_A4N.UBPalace_A4N
6198        AnimationMode   = MANUAL
6199        Flags           = START_FRAME_LAST
6200        TransitionKey   = UP_NIGHT
6201      End
6202      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6203        Model           = UBPalace_A4S
6204        Animation       = UBPalace_A4S.UBPalace_A4S
6205        AnimationMode   = MANUAL
6206        Flags           = START_FRAME_LAST
6207        TransitionKey   = UP_SNOW
6208      End
6209      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6210        Model           = UBPalace_A4SN
6211        Animation       = UBPalace_A4SN.UBPalace_A4SN
6212        AnimationMode   = MANUAL
6213        Flags           = START_FRAME_LAST
6214        TransitionKey   = UP_SNOWNIGHT
6215      End
6216      TransitionState   = DOWN_DEFAULT UP_DAY
6217        Model           = UBPalace_A4
6218        Animation       = UBPalace_A4.UBPalace_A4
6219        AnimationMode   = ONCE
6220        AnimationSpeedFactorRange = 1.0 1.0
6221        Flags           = START_FRAME_FIRST
6222      End
6223      TransitionState   = DOWN_DEFAULT UP_NIGHT
6224        Model           = UBPalace_A4N
6225        Animation       = UBPalace_A4N.UBPalace_A4N
6226        AnimationMode   = ONCE
6227        AnimationSpeedFactorRange = 1.0 1.0
6228        Flags           = START_FRAME_FIRST
6229      End
6230      TransitionState   = DOWN_DEFAULT UP_SNOW
6231        Model           = UBPalace_A4S
6232        Animation       = UBPalace_A4S.UBPalace_A4S
6233        AnimationMode   = ONCE
6234        AnimationSpeedFactorRange = 1.0 1.0
6235        Flags           = START_FRAME_FIRST
6236      End
6237      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
6238        Model           = UBPalace_A4SN
6239        Animation       = UBPalace_A4SN.UBPalace_A4SN
6240        AnimationMode   = ONCE
6241        AnimationSpeedFactorRange = 1.0 1.0
6242        Flags           = START_FRAME_FIRST
6243      End
6244      TransitionState   = UP_DAY DOWN_DEFAULT
6245        Model           = UBPalace_A4
6246        Animation       = UBPalace_A4.UBPalace_A4
6247        AnimationMode   = ONCE_BACKWARDS
6248        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6249        Flags           = START_FRAME_LAST
6250      End
6251      TransitionState   = UP_NIGHT DOWN_DEFAULT
6252        Model           = UBPalace_A4N
6253        Animation       = UBPalace_A4N.UBPalace_A4N
6254        AnimationMode   = ONCE_BACKWARDS
6255        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6256        Flags           = START_FRAME_LAST
6257      End
6258      TransitionState   = UP_SNOW DOWN_DEFAULT
6259        Model           = UBPalace_A4S
6260        Animation       = UBPalace_A4S.UBPalace_A4S
6261        AnimationMode   = ONCE_BACKWARDS
6262        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6263        Flags           = START_FRAME_LAST
6264      End
6265      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
6266        Model           = UBPalace_A4SN
6267        Animation       = UBPalace_A4SN.UBPalace_A4SN
6268        AnimationMode   = ONCE_BACKWARDS
6269        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6270        Flags           = START_FRAME_LAST
6271      End
6272    End
6273  
6274    ; ------------ under-construction scaffolding -----------------
6275    Draw = W3DModelDraw ModuleTag_03
6276    AnimationsRequirePower = No
6277      MinLODRequired = MEDIUM
6278      DefaultConditionState
6279        Model           = None
6280        TransitionKey   = DOWN_DEFAULT
6281      End
6282      ConditionState    = NIGHT
6283        Model           = None
6284        TransitionKey   = DOWN_DEFAULT
6285      End
6286      ConditionState    = SNOW
6287        Model           = None
6288        TransitionKey   = DOWN_DEFAULT
6289      End
6290      ConditionState    = SNOW NIGHT
6291        Model           = None
6292        TransitionKey   = DOWN_DEFAULT
6293      End
6294      ConditionState    = PARTIALLY_CONSTRUCTED
6295        Model           = UBPalace_A6
6296        Animation       = UBPalace_A6.UBPalace_A6
6297        AnimationMode   = MANUAL
6298        Flags           = START_FRAME_LAST
6299        TransitionKey   = UP_DAY
6300        ParticleSysBone = Dust01 BuildingDust
6301        ParticleSysBone = Smoke01 BuildUpSmoke
6302        ParticleSysBone = Smoke02 BuildUpSmoke
6303        ParticleSysBone = Smoke03 BuildUpSmoke
6304        ParticleSysBone = Smoke04 BuildUpSmoke
6305        ParticleSysBone = Smoke05 BuildUpSmoke
6306      End
6307      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
6308        Model           = UBPalace_A6N
6309        Animation       = UBPalace_A6N.UBPalace_A6N
6310        AnimationMode   = MANUAL
6311        Flags           = START_FRAME_LAST
6312        TransitionKey   = UP_NIGHT
6313        ParticleSysBone = Dust01 BuildingDust
6314        ParticleSysBone = Smoke01 BuildUpSmoke
6315        ParticleSysBone = Smoke02 BuildUpSmoke
6316        ParticleSysBone = Smoke03 BuildUpSmoke
6317        ParticleSysBone = Smoke04 BuildUpSmoke
6318        ParticleSysBone = Smoke05 BuildUpSmoke
6319      End
6320      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
6321        Model           = UBPalace_A6S
6322        Animation       = UBPalace_A6S.UBPalace_A6S
6323        AnimationMode   = MANUAL
6324        Flags           = START_FRAME_LAST
6325        TransitionKey   = UP_SNOW
6326        ParticleSysBone = Dust01 BuildingSnowDust
6327        ParticleSysBone = Smoke01 BuildUpSnowSmoke
6328        ParticleSysBone = Smoke02 BuildUpSnowSmoke
6329        ParticleSysBone = Smoke03 BuildUpSnowSmoke
6330        ParticleSysBone = Smoke04 BuildUpSnowSmoke
6331        ParticleSysBone = Smoke05 BuildUpSnowSmoke
6332      End
6333      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
6334        Model           = UBPalace_A6SN
6335        Animation       = UBPalace_A6SN.UBPalace_A6SN
6336        AnimationMode   = MANUAL
6337        Flags           = START_FRAME_LAST
6338        TransitionKey   = UP_SNOWNIGHT
6339        ParticleSysBone = Dust01 BuildingNightSnowDust
6340        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
6341        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
6342        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
6343        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
6344        ParticleSysBone = Smoke05 BuildUpNightSnowSmoke
6345      End
6346      TransitionState   = DOWN_DEFAULT UP_DAY
6347       Model            = UBPalace_A6
6348        Animation       = UBPalace_A6.UBPalace_A6
6349        AnimationMode   = ONCE
6350        AnimationSpeedFactorRange = 1.0 1.0
6351        Flags           = START_FRAME_FIRST
6352      End
6353      TransitionState   = DOWN_DEFAULT UP_NIGHT
6354       Model            = UBPalace_A6N
6355        Animation       = UBPalace_A6N.UBPalace_A6N
6356        AnimationMode   = ONCE
6357        AnimationSpeedFactorRange = 1.0 1.0
6358        Flags           = START_FRAME_FIRST
6359      End
6360      TransitionState   = DOWN_DEFAULT UP_SNOW
6361       Model            = UBPalace_A6S
6362        Animation       = UBPalace_A6S.UBPalace_A6S
6363        AnimationMode   = ONCE
6364        AnimationSpeedFactorRange = 1.0 1.0
6365        Flags           = START_FRAME_FIRST
6366      End
6367      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
6368       Model            = UBPalace_A6SN
6369        Animation       = UBPalace_A6SN.UBPalace_A6SN
6370        AnimationMode   = ONCE
6371        AnimationSpeedFactorRange = 1.0 1.0
6372        Flags           = START_FRAME_FIRST
6373      End
6374      TransitionState   = UP_DAY DOWN_DEFAULT
6375        Model           = UBPalace_A6
6376        Animation       = UBPalace_A6.UBPalace_A6
6377        AnimationMode   = ONCE_BACKWARDS
6378        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6379        Flags           = START_FRAME_LAST
6380      End
6381      TransitionState   = UP_NIGHT DOWN_DEFAULT
6382        Model           = UBPalace_A6N
6383        Animation       = UBPalace_A6N.UBPalace_A6N
6384        AnimationMode   = ONCE_BACKWARDS
6385        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6386        Flags           = START_FRAME_LAST
6387      End
6388      TransitionState   = UP_SNOW DOWN_DEFAULT
6389        Model           = UBPalace_A6S
6390        Animation       = UBPalace_A6S.UBPalace_A6S
6391        AnimationMode   = ONCE_BACKWARDS
6392        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6393        Flags           = START_FRAME_LAST
6394      End
6395      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
6396        Model           = UBPalace_A6SN
6397        Animation       = UBPalace_A6SN.UBPalace_A6SN
6398        AnimationMode   = ONCE_BACKWARDS
6399        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6400        Flags           = START_FRAME_LAST
6401      End
6402    End
6403    
6404  ; ***DESIGN parameters ***
6405    DisplayName      = OBJECT:Palace
6406    Side = GLAStealthGeneral
6407    EditorSorting    = STRUCTURE
6408    Prerequisites
6409      Object = Slth_GLAArmsDealer
6410    End
6411    BuildCost        = 2500
6412    BuildTime        = 45.0           ; in seconds
6413    EnergyProduction = 0
6414    VisionRange     = 300.0           ; Shroud clearing distance
6415    ShroudClearingRange = 300
6416    ArmorSet
6417      Conditions      = None
6418      Armor           = StructureArmor
6419      DamageFX        = StructureDamageFXNoShake
6420    End
6421    ArmorSet
6422      Conditions        = PLAYER_UPGRADE
6423      Armor             = GLAUpgradedStructureArmor
6424      DamageFX          = StructureDamageFXNoShake
6425    End
6426    CommandSet = Slth_GLAPalaceCommandSet
6427    ExperienceValue     = 300 300 300 300  ; Experience point value at each level
6428  
6429    ; *** AUDIO Parameters ***
6430    VoiceSelect = PalaceSelect
6431    SoundOnDamaged        = BuildingDamagedStateLight
6432    SoundOnReallyDamaged  = BuildingDestroy
6433  
6434    UnitSpecificSounds
6435      UnderConstruction     = UnderConstructionLoop
6436    End
6437  
6438    ; *** ENGINEERING Parameters ***
6439    RadarPriority   = STRUCTURE
6440    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_TECHNOLOGY GARRISONABLE_UNTIL_DESTROYED IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY SCORE_CREATE FS_ADVANCED_TECH
6441    Body            = StructureBody ModuleTag_04
6442      MaxHealth       = 3000.0
6443      InitialHealth   = 3000.0
6444  
6445      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
6446      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
6447      SubdualDamageCap = 3200
6448      SubdualDamageHealRate = 500
6449      SubdualDamageHealAmount = 100
6450    End
6451    Behavior        = ArmorUpgrade ModuleTag_Armor01
6452      TriggeredBy   = Upgrade_GLAFortifiedStructure
6453    End
6454  
6455    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
6456      ConditionFlag = USER_1
6457      TriggeredBy   = Upgrade_GLAFortifiedStructure
6458    End
6459    Behavior = ProductionUpdate ModuleTag_05
6460      ; nothing
6461    End
6462  
6463    Behavior             = CreateObjectDie ModuleTag_08
6464      CreationList  = OCL_SmallStructureDebris
6465    End
6466    Behavior             = FXListDie ModuleTag_09
6467      DeathFX       = FX_StructureMediumDeath
6468    End
6469  
6470    Behavior = GarrisonContain ModuleTag_10
6471      ContainMax                    = 5
6472      EnterSound                    = GarrisonEnter
6473      ExitSound                     = GarrisonExit
6474      ImmuneToClearBuildingAttacks  = Yes
6475    End
6476  
6477    Behavior = FlammableUpdate ModuleTag_11
6478      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
6479      AflameDamageAmount = 5       ; taking this much damage...
6480      AflameDamageDelay = 500       ; this often.
6481    End
6482  
6483    Behavior             = RebuildHoleExposeDie ModuleTag_06
6484      HoleName      = GLAHolePalace
6485      HoleMaxHealth = 500.0
6486    End
6487    Behavior = DestroyDie ModuleTag_07
6488      ;nothing
6489    End
6490  
6491    Behavior = TransitionDamageFX ModuleTag_12
6492      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
6493      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
6494      ;---------------------------------------------------------------------------------------
6495      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
6496      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
6497      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
6498    End
6499  
6500    Behavior = StealthUpdate ModuleStealth_09
6501      StealthDelay                = 2500 ; msec
6502      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
6503      InnateStealth               = No ;Requires upgrade first
6504      OrderIdleEnemiesToAttackMeUponReveal  = Yes
6505    End
6506    Behavior = StealthUpgrade ModuleUpgrade_13
6507      TriggeredBy = Upgrade_GLACamoNetting
6508    END
6509  
6510    Geometry            = BOX
6511    GeometryMajorRadius = 43.0
6512    GeometryMinorRadius = 58.0
6513    GeometryHeight      = 30.0
6514    GeometryIsSmall     = No
6515    Shadow          = SHADOW_VOLUME
6516    BuildCompletion = PLACED_BY_PLAYER
6517  
6518  End
6519  
6520  ;------------------------------------------------------------------------------
6521  ObjectReskin Slth_GLAHolePalace Slth_GLAHole
6522    Draw                     = W3DModelDraw ModuleTag_01
6523      OkToChangeModelColor   = Yes
6524      ConditionState         = NONE
6525        Model                = UBHole
6526      End
6527      ConditionState         = DAMAGED
6528        Model                = UBHole_D
6529        ParticleSysBone      = Smoke01 SteamVent
6530      End
6531      ConditionState         = REALLYDAMAGED RUBBLE
6532        Model                = UBHole_E
6533        ParticleSysBone      = Smoke01 SteamVent
6534        ParticleSysBone      = Smoke02 SteamVent
6535        ParticleSysBone      = Fire01 GLAPowerPlantFlame
6536        ParticleSysBone      = Fire02 GLAPowerPlantFlame
6537        ParticleSysBone      = Fire03 GLAPowerPlantFlame
6538      End
6539    End
6540    Draw                     = W3DModelDraw ModuleTag_02
6541      OkToChangeModelColor   = Yes
6542      ConditionState         = NONE
6543        Model                = UBPalace_R
6544        ParticleSysBone      = Smoke01 SmolderingSmoke
6545        ParticleSysBone      = Smoke02 SmolderingSmoke
6546        ParticleSysBone      = Flame01 FireBurningBarricade01
6547      End
6548      ConditionState         = DAMAGED REALLYDAMAGED
6549        Model                = UBPalace_R
6550        ParticleSysBone      = Smoke01 SmolderingSmoke
6551      End
6552    End
6553  End
6554  
6555  
6556  
6557  
6558  ;------------------------------------------------------------------------------
6559  Object Slth_GLASupplyStash
6560  
6561    UpgradeCameo1 = Upgrade_GLACamoNetting
6562  
6563    ; *** ART Parameters ***
6564    SelectPortrait         = SUSupplyCenter_L
6565    ButtonImage            = SUSupplyCenter
6566  
6567  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
6568  
6569    Draw = W3DModelDraw ModuleTag_01
6570      OkToChangeModelColor = Yes
6571      ; day
6572      ConditionState = NONE
6573        Model = UBSupply
6574        ParticleSysBone = Smoke01 SteamVent
6575        Animation     = UBSupply.UBSupply
6576        AnimationMode = LOOP
6577      End
6578      ConditionState = DAMAGED
6579        Model = UBSupply_D
6580        ParticleSysBone = Smoke01 SteamVent
6581        Animation     = UBSupply_D.UBSupply_D
6582        AnimationMode = LOOP
6583      End
6584      ConditionState = REALLYDAMAGED RUBBLE
6585        Model = UBSupply_E
6586        ParticleSysBone = Smoke01 SteamVent
6587      End
6588      ConditionState         = GARRISONED
6589        Model                = UBSpplyEG
6590        ParticleSysBone      = Smoke01 SmolderingSmoke
6591        Animation            = UBSpplyEG.UBSpplyEG
6592        AnimationMode        = LOOP
6593      End
6594      ConditionState         = DAMAGED GARRISONED
6595        Model                = UBSpplyEG_D
6596        ParticleSysBone      = Smoke01 SmolderingSmoke
6597        Animation            = UBSpplyEG_D.UBSpplyEG_D
6598        AnimationMode        = LOOP
6599      End
6600      ConditionState         = REALLYDAMAGED GARRISONED
6601        Model                = UBSpplyEG_E
6602        ParticleSysBone      = Smoke01 SmolderingSmoke
6603        Animation            = UBSpplyEG_E.UBSpplyEG_E
6604        AnimationMode        = LOOP
6605      End
6606      
6607      ; SNOW
6608      ConditionState = SNOW
6609        Model = UBSupply_S
6610        ParticleSysBone = Smoke01 SteamVent
6611        Animation     = UBSupply_S.UBSupply_S
6612        AnimationMode = LOOP
6613      End
6614      ConditionState = DAMAGED SNOW
6615        Model = UBSupply_DS
6616        ParticleSysBone = Smoke01 SteamVent
6617        Animation     = UBSupply_DS.UBSupply_DS
6618        AnimationMode = LOOP
6619      End
6620      ConditionState = REALLYDAMAGED RUBBLE SNOW
6621        Model = UBSupply_ES
6622        ParticleSysBone = Smoke01 SteamVent
6623      End
6624      ConditionState         = GARRISONED SNOW
6625        Model                = UBSpplyEG_S
6626        ParticleSysBone      = Smoke01 SmolderingSmoke
6627        Animation            = UBSpplyEG_S.UBSpplyEG_S
6628        AnimationMode        = LOOP
6629      End
6630      ConditionState         = DAMAGED GARRISONED SNOW
6631        Model                = UBSpplyEG_DS
6632        ParticleSysBone      = Smoke01 SmolderingSmoke
6633        Animation            = UBSpplyEG_DS.UBSpplyEG_DS
6634        AnimationMode        = LOOP
6635      End
6636      ConditionState         = REALLYDAMAGED GARRISONED SNOW
6637        Model                = UBSpplyEG_ES
6638        ParticleSysBone      = Smoke01 SmolderingSmoke
6639        Animation            = UBSpplyEG_ES.UBSpplyEG_ES
6640        AnimationMode        = LOOP
6641      End
6642  
6643      ; night
6644      ConditionState = NIGHT
6645        Model = UBSupply_N
6646        Animation     = UBSupply_N.UBSupply_N
6647        AnimationMode = LOOP
6648        ParticleSysBone = Smoke01 SteamVent
6649      End
6650      ConditionState = DAMAGED NIGHT
6651        Model = UBSupply_DN
6652        Animation     = UBSupply_DN.UBSupply_DN
6653        AnimationMode = LOOP
6654        ParticleSysBone = Smoke01 SteamVent
6655        ParticleSysBone = Smoke02 SmolderingSmoke
6656        ParticleSysBone = Smoke03 SmolderingSmoke
6657        ParticleSysBone = Smoke04 SmolderingSmoke
6658        ParticleSysBone = Fire01 SmolderingFire
6659      End
6660      ConditionState = REALLYDAMAGED RUBBLE NIGHT
6661        Model = UBSupply_EN
6662        ParticleSysBone = Smoke01 SteamVent
6663        ParticleSysBone = Smoke02 SmolderingSmoke
6664        ParticleSysBone = Smoke03 SmolderingSmoke
6665        ParticleSysBone = Smoke04 SmolderingSmoke
6666        ParticleSysBone = Smoke05 SmolderingSmoke
6667        ParticleSysBone = Smoke06 SmolderingSmoke
6668        ParticleSysBone = Fire01 SmolderingFire
6669        ParticleSysBone = Fire02 SmolderingFire
6670        ParticleSysBone = Fire03 SmolderingFire
6671      End
6672      ConditionState         = GARRISONED NIGHT
6673        Model                = UBSpplyEG_N
6674        ParticleSysBone      = Smoke01 SmolderingSmoke
6675        Animation            = UBSpplyEG_N.UBSpplyEG_N
6676        AnimationMode        = LOOP
6677      End
6678      ConditionState         = DAMAGED GARRISONED NIGHT
6679        Model                = UBSpplyEG_DN
6680        ParticleSysBone      = Smoke01 SmolderingSmoke
6681        Animation            = UBSpplyEG_DN.UBSpplyEG_DN
6682        AnimationMode        = LOOP
6683      End
6684      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
6685        Model                = UBSpplyEG_EN
6686        ParticleSysBone      = Smoke01 SmolderingSmoke
6687        Animation            = UBSpplyEG_EN.UBSpplyEG_EN
6688        AnimationMode        = LOOP
6689      End
6690       
6691      ; night snow
6692      ConditionState = NIGHT SNOW
6693        Model = UBSupply_NS
6694        Animation     = UBSupply_NS.UBSupply_NS
6695        AnimationMode = LOOP
6696        ParticleSysBone = Smoke01 SteamVent
6697      End
6698      ConditionState = DAMAGED NIGHT SNOW
6699        Model = UBSupply_DNS
6700        Animation     = UBSupply_DNS.UBSupply_DNS
6701        AnimationMode = LOOP
6702        ParticleSysBone = Smoke01 SteamVent
6703        ParticleSysBone = Smoke02 SmolderingSmoke
6704        ParticleSysBone = Smoke03 SmolderingSmoke
6705        ParticleSysBone = Smoke04 SmolderingSmoke
6706        ParticleSysBone = Fire01 SmolderingFire
6707      End
6708      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
6709        Model = UBSupply_ENS
6710        ParticleSysBone = Smoke01 SteamVent
6711        ParticleSysBone = Smoke02 SmolderingSmoke
6712        ParticleSysBone = Smoke03 SmolderingSmoke
6713        ParticleSysBone = Smoke04 SmolderingSmoke
6714        ParticleSysBone = Smoke05 SmolderingSmoke
6715        ParticleSysBone = Smoke06 SmolderingSmoke
6716        ParticleSysBone = Fire01 SmolderingFire
6717        ParticleSysBone = Fire02 SmolderingFire
6718        ParticleSysBone = Fire03 SmolderingFire
6719      End
6720      ConditionState         = GARRISONED SNOW NIGHT
6721        Model                = UBSpplyEG_NS
6722        ParticleSysBone      = Smoke01 SmolderingSmoke
6723        Animation            = UBSpplyEG_NS.UBSpplyEG_NS
6724        AnimationMode        = LOOP
6725      End
6726      ConditionState         = DAMAGED GARRISONED SNOW NIGHT
6727        Model                = UBSpplyEG_DNS
6728        ParticleSysBone      = Smoke01 SmolderingSmoke
6729        Animation            = UBSpplyEG_DNS.UBSpplyEG_DNS
6730        AnimationMode        = LOOP
6731      End
6732      ConditionState         = REALLYDAMAGED GARRISONED SNOW NIGHT
6733        Model                = UBSpplyEG_ENS
6734        ParticleSysBone      = Smoke01 SmolderingSmoke
6735        Animation            = UBSpplyEG_ENS.UBSpplyEG_ENS
6736        AnimationMode        = LOOP
6737      End
6738  
6739          ;**************************************************************************************************************************
6740      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
6741      ;for this draw module
6742      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6743        Model              = UBSupply
6744        Animation          = UBSupply.UBSupply
6745        AnimationMode      = LOOP
6746        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6747      End
6748      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
6749        Model              = UBSupply_D
6750        Animation          = UBSupply_D.UBSupply_D
6751        AnimationMode      = LOOP
6752        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6753      End
6754      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
6755        Model              = UBSupply_E
6756        ;Animation          = UBSupply_E.UBSupply_E
6757        ;AnimationMode      = LOOP
6758        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6759      End
6760      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
6761        Model              = UBSupply_N
6762        Animation          = UBSupply_N.UBSupply_N
6763        AnimationMode      = LOOP
6764        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6765      End
6766      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
6767        Model              = UBSupply_DN
6768        Animation          = UBSupply_DN.UBSupply_DN
6769        AnimationMode      = LOOP
6770        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6771      End
6772      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
6773        Model              = UBSupply_EN
6774        ;Animation          = UBSupply_EN.UBSupply_EN
6775        ;AnimationMode      = LOOP
6776        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6777      End
6778      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
6779        Model              = UBSupply_S
6780        Animation          = UBSupply_S.UBSupply_S
6781        AnimationMode      = LOOP
6782        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6783      End
6784      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
6785        Model              = UBSupply_DS
6786        Animation          = UBSupply_DS.UBSupply_DS
6787        AnimationMode      = LOOP
6788        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6789      End
6790      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
6791        Model              = UBSupply_ES
6792        ;Animation          = UBSupply_ES.UBSupply_ES
6793        ;AnimationMode      = LOOP
6794        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6795      End
6796      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
6797        Model              = UBSupply_NS
6798        Animation          = UBSupply_NS.UBSupply_NS
6799        AnimationMode      = LOOP
6800        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6801      End
6802      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
6803        Model              = UBSupply_DNS
6804        Animation          = UBSupply_DNS.UBSupply_DNS
6805        AnimationMode      = LOOP
6806        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6807      End
6808      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
6809        Model              = UBSupply_ENS
6810        ;Animation          = UBSupply_ENS.UBSupply_ENS
6811        ;AnimationMode      = LOOP
6812        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6813      End
6814  
6815      ConditionState       = AWAITING_CONSTRUCTION 
6816        Model              = NONE
6817      End
6818      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
6819      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
6820      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
6821      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
6822      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
6823      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
6824      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
6825      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
6826      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
6827      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
6828      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
6829      AliasConditionState  = SOLD 
6830      AliasConditionState  = SOLD DAMAGED
6831      AliasConditionState  = SOLD REALLYDAMAGED
6832      AliasConditionState  = SOLD NIGHT
6833      AliasConditionState  = SOLD NIGHT DAMAGED
6834      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
6835      AliasConditionState  = SOLD SNOW
6836      AliasConditionState  = SOLD SNOW DAMAGED
6837      AliasConditionState  = SOLD SNOW REALLYDAMAGED
6838      AliasConditionState  = SOLD NIGHT SNOW
6839      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
6840      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
6841      AliasConditionState  = GARRISONED SOLD 
6842      AliasConditionState  = GARRISONED SOLD DAMAGED
6843      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
6844      AliasConditionState  = GARRISONED SOLD NIGHT
6845      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
6846      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
6847      AliasConditionState  = GARRISONED SOLD SNOW
6848      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
6849      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
6850      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
6851      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
6852      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
6853      ;**************************************************************************************************************************
6854  
6855    End
6856  
6857     ; ------------ construction-zone fence -----------------
6858    Draw = W3DModelDraw ModuleTag_02
6859    AnimationsRequirePower = No
6860      DefaultConditionState
6861        Model           = None
6862        TransitionKey   = DOWN_DEFAULT
6863      End
6864      ConditionState    = NIGHT
6865        Model           = None
6866        TransitionKey   = DOWN_DEFAULT
6867      End
6868      ConditionState    = SNOW
6869        Model           = None
6870        TransitionKey   = DOWN_DEFAULT
6871      End
6872      ConditionState    = SNOW NIGHT
6873        Model           = None
6874        TransitionKey   = DOWN_DEFAULT
6875      End
6876      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6877        Model           = UBSupply_A4
6878        Animation       = UBSupply_A4.UBSupply_A4
6879        AnimationMode   = MANUAL
6880        Flags           = START_FRAME_LAST
6881        TransitionKey   = UP_DAY
6882      End
6883      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6884        Model           = UBSupply_A4N
6885        Animation       = UBSupply_A4N.UBSupply_A4N
6886        AnimationMode   = MANUAL
6887        Flags           = START_FRAME_LAST
6888        TransitionKey   = UP_NIGHT
6889      End
6890      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6891        Model           = UBSupply_A4S
6892        Animation       = UBSupply_A4S.UBSupply_A4S
6893        AnimationMode   = MANUAL
6894        Flags           = START_FRAME_LAST
6895        TransitionKey   = UP_SNOW
6896      End
6897      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6898        Model           = UBSupply_A4SN
6899        Animation       = UBSupply_A4SN.UBSupply_A4SN
6900        AnimationMode   = MANUAL
6901        Flags           = START_FRAME_LAST
6902        TransitionKey   = UP_SNOWNIGHT
6903      End
6904      TransitionState   = DOWN_DEFAULT UP_DAY
6905        Model           = UBSupply_A4
6906        Animation       = UBSupply_A4.UBSupply_A4
6907        AnimationMode   = ONCE
6908        AnimationSpeedFactorRange = 1.0 1.0
6909        Flags           = START_FRAME_FIRST
6910      End
6911      TransitionState   = DOWN_DEFAULT UP_NIGHT
6912        Model           = UBSupply_A4N
6913        Animation       = UBSupply_A4N.UBSupply_A4N
6914        AnimationMode   = ONCE
6915        AnimationSpeedFactorRange = 1.0 1.0
6916        Flags           = START_FRAME_FIRST
6917      End
6918      TransitionState   = DOWN_DEFAULT UP_SNOW
6919        Model           = UBSupply_A4S
6920        Animation       = UBSupply_A4S.UBSupply_A4S
6921        AnimationMode   = ONCE
6922        AnimationSpeedFactorRange = 1.0 1.0
6923        Flags           = START_FRAME_FIRST
6924      End
6925      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
6926        Model           = UBSupply_A4SN
6927        Animation       = UBSupply_A4SN.UBSupply_A4SN
6928        AnimationMode   = ONCE
6929        AnimationSpeedFactorRange = 1.0 1.0
6930        Flags           = START_FRAME_FIRST
6931      End
6932      TransitionState   = UP_DAY DOWN_DEFAULT
6933        Model           = UBSupply_A4
6934        Animation       = UBSupply_A4.UBSupply_A4
6935        AnimationMode   = ONCE_BACKWARDS
6936        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6937        Flags           = START_FRAME_LAST
6938      End
6939      TransitionState   = UP_NIGHT DOWN_DEFAULT
6940        Model           = UBSupply_A4N
6941        Animation       = UBSupply_A4N.UBSupply_A4N
6942        AnimationMode   = ONCE_BACKWARDS
6943        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6944        Flags           = START_FRAME_LAST
6945      End
6946      TransitionState   = UP_SNOW DOWN_DEFAULT
6947        Model           = UBSupply_A4S
6948        Animation       = UBSupply_A4S.UBSupply_A4S
6949        AnimationMode   = ONCE_BACKWARDS
6950        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6951        Flags           = START_FRAME_LAST
6952      End
6953      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
6954        Model           = UBSupply_A4SN
6955        Animation       = UBSupply_A4SN.UBSupply_A4SN
6956        AnimationMode   = ONCE_BACKWARDS
6957        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6958        Flags           = START_FRAME_LAST
6959      End
6960    End
6961  
6962    ; ------------ under-construction scaffolding -----------------
6963    Draw = W3DModelDraw ModuleTag_03
6964    AnimationsRequirePower = No
6965      MinLODRequired = MEDIUM
6966      DefaultConditionState
6967        Model           = None
6968        TransitionKey   = DOWN_DEFAULT
6969      End
6970      ConditionState    = NIGHT
6971        Model           = None
6972        TransitionKey   = DOWN_DEFAULT
6973      End
6974      ConditionState    = SNOW
6975        Model           = None
6976        TransitionKey   = DOWN_DEFAULT
6977      End
6978      ConditionState    = SNOW NIGHT
6979        Model           = None
6980        TransitionKey   = DOWN_DEFAULT
6981      End
6982      ConditionState    = PARTIALLY_CONSTRUCTED
6983        Model           = UBSupply_A6
6984        Animation       = UBSupply_A6.UBSupply_A6
6985        AnimationMode   = MANUAL
6986        Flags           = START_FRAME_LAST
6987        TransitionKey   = UP_DAY
6988        ParticleSysBone = Dust01 BuildingDust
6989        ParticleSysBone = Smoke01 BuildUpSmoke
6990        ParticleSysBone = Smoke02 BuildUpSmoke
6991        ParticleSysBone = Smoke03 BuildUpSmoke
6992        ParticleSysBone = Smoke04 BuildUpSmoke
6993      End
6994      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
6995        Model           = UBSupply_A6N
6996        Animation       = UBSupply_A6N.UBSupply_A6N
6997        AnimationMode   = MANUAL
6998        Flags           = START_FRAME_LAST
6999        TransitionKey   = UP_NIGHT
7000        ParticleSysBone = Dust01 BuildingDust
7001        ParticleSysBone = Smoke01 BuildUpSmoke
7002        ParticleSysBone = Smoke02 BuildUpSmoke
7003        ParticleSysBone = Smoke03 BuildUpSmoke
7004        ParticleSysBone = Smoke04 BuildUpSmoke
7005      End
7006      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
7007        Model           = UBSupply_A6S
7008        Animation       = UBSupply_A6S.UBSupply_A6S
7009        AnimationMode   = MANUAL
7010        Flags           = START_FRAME_LAST
7011        TransitionKey   = UP_SNOW
7012        ParticleSysBone = Dust01 BuildingSnowDust
7013        ParticleSysBone = Smoke01 BuildUpSnowSmoke
7014        ParticleSysBone = Smoke02 BuildUpSnowSmoke
7015        ParticleSysBone = Smoke03 BuildUpSnowSmoke
7016        ParticleSysBone = Smoke04 BuildUpSnowSmoke
7017      End
7018      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
7019        Model           = UBSupply_A6SN
7020        Animation       = UBSupply_A6SN.UBSupply_A6SN
7021        AnimationMode   = MANUAL
7022        Flags           = START_FRAME_LAST
7023        TransitionKey   = UP_SNOWNIGHT
7024        ParticleSysBone = Dust01 BuildingNightSnowDust
7025        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
7026        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
7027        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
7028        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
7029      End
7030      TransitionState   = DOWN_DEFAULT UP_DAY
7031       Model            = UBSupply_A6
7032        Animation       = UBSupply_A6.UBSupply_A6
7033        AnimationMode   = ONCE
7034        AnimationSpeedFactorRange = 1.0 1.0
7035        Flags           = START_FRAME_FIRST
7036      End
7037      TransitionState   = DOWN_DEFAULT UP_NIGHT
7038       Model            = UBSupply_A6N
7039        Animation       = UBSupply_A6N.UBSupply_A6N
7040        AnimationMode   = ONCE
7041        AnimationSpeedFactorRange = 1.0 1.0
7042        Flags           = START_FRAME_FIRST
7043      End
7044      TransitionState   = DOWN_DEFAULT UP_SNOW
7045       Model            = UBSupply_A6S
7046        Animation       = UBSupply_A6S.UBSupply_A6S
7047        AnimationMode   = ONCE
7048        AnimationSpeedFactorRange = 1.0 1.0
7049        Flags           = START_FRAME_FIRST
7050      End
7051      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7052       Model            = UBSupply_A6SN
7053        Animation       = UBSupply_A6SN.UBSupply_A6SN
7054        AnimationMode   = ONCE
7055        AnimationSpeedFactorRange = 1.0 1.0
7056        Flags           = START_FRAME_FIRST
7057      End
7058      TransitionState   = UP_DAY DOWN_DEFAULT
7059        Model           = UBSupply_A6
7060        Animation       = UBSupply_A6.UBSupply_A6
7061        AnimationMode   = ONCE_BACKWARDS
7062        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7063        Flags           = START_FRAME_LAST
7064      End
7065      TransitionState   = UP_NIGHT DOWN_DEFAULT
7066        Model           = UBSupply_A6N
7067        Animation       = UBSupply_A6N.UBSupply_A6N
7068        AnimationMode   = ONCE_BACKWARDS
7069        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7070        Flags           = START_FRAME_LAST
7071  
7072      End
7073      TransitionState   = UP_SNOW DOWN_DEFAULT
7074        Model           = UBSupply_A6S
7075        Animation       = UBSupply_A6S.UBSupply_A6S
7076        AnimationMode   = ONCE_BACKWARDS
7077        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7078        Flags           = START_FRAME_LAST
7079      End
7080      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
7081        Model           = UBSupply_A6SN
7082        Animation       = UBSupply_A6SN.UBSupply_A6SN
7083        AnimationMode   = ONCE_BACKWARDS
7084        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7085        Flags           = START_FRAME_LAST
7086      End
7087    End
7088  
7089    PlacementViewAngle = -45
7090  
7091    ; ***DESIGN parameters ***
7092    DisplayName         = OBJECT:SupplyStash
7093    Side                = GLAStealthGeneral
7094    EditorSorting       = STRUCTURE
7095    BuildCost           = 1500
7096    RefundValue         = 650 ; With nothing (or zero) listed, we sell for half price. 
7097    BuildTime           = 10.0           ; in seconds
7098    EnergyProduction    = 0
7099    CommandSet          = Slth_GLASupplyStashCommandSet
7100    VisionRange         = 200.0           ; Shroud clearing distance
7101    ShroudClearingRange = 200
7102    ArmorSet
7103      Conditions        = None
7104      Armor             = StructureArmor
7105      DamageFX          = StructureDamageFXNoShake
7106    End
7107    ArmorSet
7108      Conditions        = PLAYER_UPGRADE
7109      Armor             = GLAUpgradedStructureArmor
7110      DamageFX          = StructureDamageFXNoShake
7111    End
7112    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
7113  
7114    ; *** AUDIO Parameters ***
7115    VoiceSelect = SupplyCenterGLASelect
7116    SoundOnDamaged        = BuildingDamagedStateLight
7117    SoundOnReallyDamaged  = BuildingDestroy
7118  
7119    UnitSpecificSounds
7120      UnderConstruction     = UnderConstructionLoop
7121    End
7122  
7123    ; *** ENGINEERING Parameters ***
7124    RadarPriority       = STRUCTURE
7125    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER
7126    Body                = StructureBody ModuleTag_04
7127      MaxHealth       = 2000.0
7128      InitialHealth   = 2000.0
7129  
7130      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
7131      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
7132      SubdualDamageCap = 2200
7133      SubdualDamageHealRate = 500
7134      SubdualDamageHealAmount = 100
7135    End
7136  
7137    Behavior        = ArmorUpgrade ModuleTag_Armor01
7138      TriggeredBy   = Upgrade_GLAFortifiedStructure
7139    End
7140  
7141    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
7142      ConditionFlag = GARRISONED
7143      TriggeredBy   = Upgrade_GLAFortifiedStructure
7144    End
7145  
7146    Behavior = SupplyCenterCreate ModuleTag_05
7147      ;nothing
7148    End
7149  
7150    Behavior             = RebuildHoleExposeDie ModuleTag_06
7151      HoleName      = GLAHoleSupplyStash
7152      HoleMaxHealth = 500.0
7153    End 
7154    Behavior = DestroyDie ModuleTag_07
7155      ;nothing
7156    End
7157    Behavior                 = CreateObjectDie ModuleTag_08
7158      CreationList      = OCL_SmallStructureDebris
7159    End
7160    Behavior                 = FXListDie ModuleTag_09
7161      DeathFX           = FX_StructureSmallDeath
7162    End
7163    Behavior = ProductionUpdate ModuleTag_10
7164      ; nothing
7165    End
7166    Behavior = SupplyCenterProductionExitUpdate ModuleTag_11
7167      UnitCreatePoint   = X:  0.0  Y:  0.0   Z:0.0
7168      NaturalRallyPoint = X: 36.0  Y:  0.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
7169      GrantTemporaryStealth = 20000 ;Give temporary stealth to the harvester whenever created. Loses it when player order given.
7170    End
7171  
7172    Behavior            = SpawnBehavior ModuleTag_12
7173      SpawnNumber       = 1
7174      SpawnReplaceDelay = 9999
7175      SpawnTemplateName = Slth_GLAInfantryWorker
7176      OneShot           = Yes
7177      CanReclaimOrphans = No
7178      SlavesHaveFreeWill = Yes
7179    End
7180  
7181    Behavior = SupplyCenterDockUpdate ModuleTag_13
7182      AllowsPassthrough = No ;You can't drive through this guy while docking.  Use this when the dock points are all outside
7183      NumberApproachPositions = -1 ; This is a Boneless dock, so this means infinite can approach
7184      GrantTemporaryStealth = 20000 ;Give temporary stealth to the harvester whenever he drops off cash. Loses it when player order given.
7185    End
7186  
7187    Behavior = FlammableUpdate ModuleTag_15
7188      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
7189      AflameDamageAmount = 5       ; taking this much damage...
7190      AflameDamageDelay = 500       ; this often.
7191    End
7192  
7193    Behavior = TransitionDamageFX ModuleTag_16
7194      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
7195      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
7196      ;---------------------------------------------------------------------------------------
7197      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
7198      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
7199      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
7200    End
7201  
7202    Behavior = StealthUpdate ModuleStealth_09
7203      StealthDelay                = 2500 ; msec
7204      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
7205      InnateStealth               = No ;Requires upgrade first
7206      OrderIdleEnemiesToAttackMeUponReveal  = Yes
7207    End
7208    Behavior = StealthUpgrade ModuleTag_17
7209      TriggeredBy = Upgrade_GLACamoNetting
7210    END
7211  
7212    ;Dont forget to edit the GLA Hole geometry for this object too
7213    Geometry            = BOX
7214    GeometryMajorRadius = 36.0
7215    GeometryMinorRadius = 35.0
7216    GeometryHeight      = 30.0
7217    GeometryIsSmall     = No
7218    ;FactoryExtraBibWidth= 1.0     ; extra placement border.
7219    Shadow              = SHADOW_VOLUME
7220    BuildCompletion     = PLACED_BY_PLAYER
7221  
7222  End
7223  
7224  ;------------------------------------------------------------------------------
7225  ObjectReskin Slth_GLAHoleSupplyStash Slth_GLAHole
7226    Draw                     = W3DModelDraw ModuleTag_01
7227      OkToChangeModelColor   = Yes
7228      ConditionState         = NONE
7229        Model                = UBHole
7230      End
7231      ConditionState         = DAMAGED
7232        Model                = UBHole_D
7233        ParticleSysBone      = Smoke01 SteamVent
7234      End
7235      ConditionState         = REALLYDAMAGED RUBBLE
7236        Model                = UBHole_E
7237        ParticleSysBone      = Smoke01 SteamVent
7238        ParticleSysBone      = Smoke02 SteamVent
7239        ParticleSysBone      = Fire01 GLAPowerPlantFlame
7240        ParticleSysBone      = Fire02 GLAPowerPlantFlame
7241        ParticleSysBone      = Fire03 GLAPowerPlantFlame
7242      End
7243    End
7244    Draw                     = W3DModelDraw ModuleTag_02
7245      OkToChangeModelColor   = Yes
7246      ConditionState         = NONE
7247        Model                = UBSupply_R
7248        ParticleSysBone      = Smoke02 SmolderingSmoke
7249        ParticleSysBone      = Smoke03 SmolderingSmoke
7250        ParticleSysBone      = Smoke04 SmolderingSmoke
7251        ParticleSysBone      = Smoke05 SmolderingSmoke
7252        ParticleSysBone      = Smoke06 SmolderingSmoke
7253      End
7254      ConditionState         = DAMAGED REALLYDAMAGED RUBBLE
7255        Model                = UBSupply_R
7256        ParticleSysBone      = Smoke02 SmolderingSmoke
7257        ParticleSysBone      = Smoke03 SmolderingSmoke
7258        ParticleSysBone      = Smoke04 SmolderingSmoke
7259        ParticleSysBone      = Smoke05 SmolderingSmoke
7260        ParticleSysBone      = Smoke06 SmolderingSmoke
7261      End
7262    End
7263  End
7264  
7265  ;------------------------------------------------------------------------------
7266  Object Slth_FakeGLASupplyStash
7267  
7268    UpgradeCameo1 = Upgrade_GLACamoNetting
7269  
7270    ; *** ART Parameters ***
7271    SelectPortrait         = SUSupplyCenter_L
7272    ButtonImage            = SUSupplyCenter
7273  
7274  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
7275  
7276    Draw = W3DModelDraw ModuleTag_01
7277      OkToChangeModelColor = Yes
7278      ; day
7279      ConditionState = NONE
7280        Model = UBSupply
7281        ParticleSysBone = Smoke01 SteamVent
7282        Animation     = UBSupply.UBSupply
7283        AnimationMode = LOOP
7284      End
7285      ConditionState = DAMAGED
7286        Model = UBSupply_D
7287        ParticleSysBone = Smoke01 SteamVent
7288        Animation     = UBSupply_D.UBSupply_D
7289        AnimationMode = LOOP
7290      End
7291      ConditionState = REALLYDAMAGED RUBBLE
7292        Model = UBSupply_E
7293        ParticleSysBone = Smoke01 SteamVent
7294      End
7295      ConditionState         = GARRISONED
7296        Model                = UBSpplyEG
7297        ParticleSysBone      = Smoke01 SmolderingSmoke
7298        Animation            = UBSpplyEG.UBSpplyEG
7299        AnimationMode        = LOOP
7300      End
7301      ConditionState         = DAMAGED GARRISONED
7302        Model                = UBSpplyEG_D
7303        ParticleSysBone      = Smoke01 SmolderingSmoke
7304        Animation            = UBSpplyEG_D.UBSpplyEG_D
7305        AnimationMode        = LOOP
7306      End
7307      ConditionState         = REALLYDAMAGED GARRISONED
7308        Model                = UBSpplyEG_E
7309        ParticleSysBone      = Smoke01 SmolderingSmoke
7310        Animation            = UBSpplyEG_E.UBSpplyEG_E
7311        AnimationMode        = LOOP
7312      End
7313      
7314      ; SNOW
7315      ConditionState = SNOW
7316        Model = UBSupply_S
7317        ParticleSysBone = Smoke01 SteamVent
7318        Animation     = UBSupply_S.UBSupply_S
7319        AnimationMode = LOOP
7320      End
7321      ConditionState = DAMAGED SNOW
7322        Model = UBSupply_DS
7323        ParticleSysBone = Smoke01 SteamVent
7324        Animation     = UBSupply_DS.UBSupply_DS
7325        AnimationMode = LOOP
7326      End
7327      ConditionState = REALLYDAMAGED RUBBLE SNOW
7328        Model = UBSupply_ES
7329        ParticleSysBone = Smoke01 SteamVent
7330      End
7331      ConditionState         = GARRISONED SNOW
7332        Model                = UBSpplyEG_S
7333        ParticleSysBone      = Smoke01 SmolderingSmoke
7334        Animation            = UBSpplyEG_S.UBSpplyEG_S
7335        AnimationMode        = LOOP
7336      End
7337      ConditionState         = DAMAGED GARRISONED SNOW
7338        Model                = UBSpplyEG_DS
7339        ParticleSysBone      = Smoke01 SmolderingSmoke
7340        Animation            = UBSpplyEG_DS.UBSpplyEG_DS
7341        AnimationMode        = LOOP
7342      End
7343      ConditionState         = REALLYDAMAGED GARRISONED SNOW
7344        Model                = UBSpplyEG_ES
7345        ParticleSysBone      = Smoke01 SmolderingSmoke
7346        Animation            = UBSpplyEG_ES.UBSpplyEG_ES
7347        AnimationMode        = LOOP
7348      End
7349  
7350      ; night
7351      ConditionState = NIGHT
7352        Model = UBSupply_N
7353        Animation     = UBSupply_N.UBSupply_N
7354        AnimationMode = LOOP
7355        ParticleSysBone = Smoke01 SteamVent
7356      End
7357      ConditionState = DAMAGED NIGHT
7358        Model = UBSupply_DN
7359        Animation     = UBSupply_DN.UBSupply_DN
7360        AnimationMode = LOOP
7361        ParticleSysBone = Smoke01 SteamVent
7362        ParticleSysBone = Smoke02 SmolderingSmoke
7363        ParticleSysBone = Smoke03 SmolderingSmoke
7364        ParticleSysBone = Smoke04 SmolderingSmoke
7365        ParticleSysBone = Fire01 SmolderingFire
7366      End
7367      ConditionState = REALLYDAMAGED RUBBLE NIGHT
7368        Model = UBSupply_EN
7369        ParticleSysBone = Smoke01 SteamVent
7370        ParticleSysBone = Smoke02 SmolderingSmoke
7371        ParticleSysBone = Smoke03 SmolderingSmoke
7372        ParticleSysBone = Smoke04 SmolderingSmoke
7373        ParticleSysBone = Smoke05 SmolderingSmoke
7374        ParticleSysBone = Smoke06 SmolderingSmoke
7375        ParticleSysBone = Fire01 SmolderingFire
7376        ParticleSysBone = Fire02 SmolderingFire
7377        ParticleSysBone = Fire03 SmolderingFire
7378      End
7379      ConditionState         = GARRISONED NIGHT
7380        Model                = UBSpplyEG_N
7381        ParticleSysBone      = Smoke01 SmolderingSmoke
7382        Animation            = UBSpplyEG_N.UBSpplyEG_N
7383        AnimationMode        = LOOP
7384      End
7385      ConditionState         = DAMAGED GARRISONED NIGHT
7386        Model                = UBSpplyEG_DN
7387        ParticleSysBone      = Smoke01 SmolderingSmoke
7388        Animation            = UBSpplyEG_DN.UBSpplyEG_DN
7389        AnimationMode        = LOOP
7390      End
7391      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
7392        Model                = UBSpplyEG_EN
7393        ParticleSysBone      = Smoke01 SmolderingSmoke
7394        Animation            = UBSpplyEG_EN.UBSpplyEG_EN
7395        AnimationMode        = LOOP
7396      End
7397       
7398      ; night snow
7399      ConditionState = NIGHT SNOW
7400        Model = UBSupply_NS
7401        Animation     = UBSupply_NS.UBSupply_NS
7402        AnimationMode = LOOP
7403        ParticleSysBone = Smoke01 SteamVent
7404      End
7405      ConditionState = DAMAGED NIGHT SNOW
7406        Model = UBSupply_DNS
7407        Animation     = UBSupply_DNS.UBSupply_DNS
7408        AnimationMode = LOOP
7409        ParticleSysBone = Smoke01 SteamVent
7410        ParticleSysBone = Smoke02 SmolderingSmoke
7411        ParticleSysBone = Smoke03 SmolderingSmoke
7412        ParticleSysBone = Smoke04 SmolderingSmoke
7413        ParticleSysBone = Fire01 SmolderingFire
7414      End
7415      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
7416        Model = UBSupply_ENS
7417        ParticleSysBone = Smoke01 SteamVent
7418        ParticleSysBone = Smoke02 SmolderingSmoke
7419        ParticleSysBone = Smoke03 SmolderingSmoke
7420        ParticleSysBone = Smoke04 SmolderingSmoke
7421        ParticleSysBone = Smoke05 SmolderingSmoke
7422        ParticleSysBone = Smoke06 SmolderingSmoke
7423        ParticleSysBone = Fire01 SmolderingFire
7424        ParticleSysBone = Fire02 SmolderingFire
7425        ParticleSysBone = Fire03 SmolderingFire
7426      End
7427      ConditionState         = GARRISONED SNOW NIGHT
7428        Model                = UBSpplyEG_NS
7429        ParticleSysBone      = Smoke01 SmolderingSmoke
7430        Animation            = UBSpplyEG_S.UBSpplyEG_S
7431        AnimationMode        = LOOP
7432      End
7433      ConditionState         = DAMAGED GARRISONED SNOW NIGHT
7434        Model                = UBSpplyEG_DNS
7435        ParticleSysBone      = Smoke01 SmolderingSmoke
7436        Animation            = UBSpplyEG_DNS.UBSpplyEG_DNS
7437        AnimationMode        = LOOP
7438      End
7439      ConditionState         = REALLYDAMAGED GARRISONED SNOW NIGHT
7440        Model                = UBSpplyEG_ENS
7441        ParticleSysBone      = Smoke01 SmolderingSmoke
7442        Animation            = UBSpplyEG_ENS.UBSpplyEG_ENS
7443        AnimationMode        = LOOP
7444      End
7445  
7446          ;**************************************************************************************************************************
7447      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
7448      ;for this draw module
7449      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7450        Model              = UBSupply
7451        Animation          = UBSupply.UBSupply
7452        AnimationMode      = LOOP
7453        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7454      End
7455      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
7456        Model              = UBSupply_D
7457        Animation          = UBSupply_D.UBSupply_D
7458        AnimationMode      = LOOP
7459        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7460      End
7461      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
7462        Model              = UBSupply_E
7463        ;Animation          = UBSupply_E.UBSupply_E
7464        ;AnimationMode      = LOOP
7465        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7466      End
7467      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
7468        Model              = UBSupply_N
7469        Animation          = UBSupply_N.UBSupply_N
7470        AnimationMode      = LOOP
7471        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7472      End
7473      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
7474        Model              = UBSupply_DN
7475        Animation          = UBSupply_DN.UBSupply_DN
7476        AnimationMode      = LOOP
7477        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7478      End
7479      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
7480        Model              = UBSupply_EN
7481        ;Animation          = UBSupply_EN.UBSupply_EN
7482        ;AnimationMode      = LOOP
7483        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7484      End
7485      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
7486        Model              = UBSupply_S
7487        Animation          = UBSupply_S.UBSupply_S
7488        AnimationMode      = LOOP
7489        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7490      End
7491      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
7492        Model              = UBSupply_DS
7493        Animation          = UBSupply_DS.UBSupply_DS
7494        AnimationMode      = LOOP
7495        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7496      End
7497      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
7498        Model              = UBSupply_ES
7499        ;Animation          = UBSupply_ES.UBSupply_ES
7500        ;AnimationMode      = LOOP
7501        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7502      End
7503      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
7504        Model              = UBSupply_NS
7505        Animation          = UBSupply_NS.UBSupply_NS
7506        AnimationMode      = LOOP
7507        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7508      End
7509      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
7510        Model              = UBSupply_DNS
7511        Animation          = UBSupply_DNS.UBSupply_DNS
7512        AnimationMode      = LOOP
7513        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7514      End
7515      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
7516        Model              = UBSupply_ENS
7517        ;Animation          = UBSupply_ENS.UBSupply_ENS
7518        ;AnimationMode      = LOOP
7519        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7520      End
7521  
7522      ConditionState       = AWAITING_CONSTRUCTION 
7523        Model              = NONE
7524      End
7525      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
7526      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
7527      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
7528      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
7529      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
7530      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
7531      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
7532      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
7533      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
7534      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
7535      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
7536      AliasConditionState  = SOLD 
7537      AliasConditionState  = SOLD DAMAGED
7538      AliasConditionState  = SOLD REALLYDAMAGED
7539      AliasConditionState  = SOLD NIGHT
7540      AliasConditionState  = SOLD NIGHT DAMAGED
7541      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
7542      AliasConditionState  = SOLD SNOW
7543      AliasConditionState  = SOLD SNOW DAMAGED
7544      AliasConditionState  = SOLD SNOW REALLYDAMAGED
7545      AliasConditionState  = SOLD NIGHT SNOW
7546      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
7547      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
7548      AliasConditionState  = GARRISONED SOLD 
7549      AliasConditionState  = GARRISONED SOLD DAMAGED
7550      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
7551      AliasConditionState  = GARRISONED SOLD NIGHT
7552      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
7553      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
7554      AliasConditionState  = GARRISONED SOLD SNOW
7555      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
7556      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
7557      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
7558      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
7559      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
7560      ;**************************************************************************************************************************
7561  
7562    End
7563  
7564     ; ------------ construction-zone fence -----------------
7565    Draw = W3DModelDraw ModuleTag_02
7566    AnimationsRequirePower = No
7567      DefaultConditionState
7568        Model           = None
7569        TransitionKey   = DOWN_DEFAULT
7570      End
7571      ConditionState    = NIGHT
7572        Model           = None
7573        TransitionKey   = DOWN_DEFAULT
7574      End
7575      ConditionState    = SNOW
7576        Model           = None
7577        TransitionKey   = DOWN_DEFAULT
7578      End
7579      ConditionState    = SNOW NIGHT
7580        Model           = None
7581        TransitionKey   = DOWN_DEFAULT
7582      End
7583      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7584        Model           = UBSupply_A4
7585        Animation       = UBSupply_A4.UBSupply_A4
7586        AnimationMode   = MANUAL
7587        Flags           = START_FRAME_LAST
7588        TransitionKey   = UP_DAY
7589      End
7590      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7591        Model           = UBSupply_A4N
7592        Animation       = UBSupply_A4N.UBSupply_A4N
7593        AnimationMode   = MANUAL
7594        Flags           = START_FRAME_LAST
7595        TransitionKey   = UP_NIGHT
7596      End
7597      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7598        Model           = UBSupply_A4S
7599        Animation       = UBSupply_A4S.UBSupply_A4S
7600        AnimationMode   = MANUAL
7601        Flags           = START_FRAME_LAST
7602        TransitionKey   = UP_SNOW
7603      End
7604      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7605        Model           = UBSupply_A4SN
7606        Animation       = UBSupply_A4SN.UBSupply_A4SN
7607        AnimationMode   = MANUAL
7608        Flags           = START_FRAME_LAST
7609        TransitionKey   = UP_SNOWNIGHT
7610      End
7611      TransitionState   = DOWN_DEFAULT UP_DAY
7612        Model           = UBSupply_A4
7613        Animation       = UBSupply_A4.UBSupply_A4
7614        AnimationMode   = ONCE
7615        AnimationSpeedFactorRange = 1.0 1.0
7616        Flags           = START_FRAME_FIRST
7617      End
7618      TransitionState   = DOWN_DEFAULT UP_NIGHT
7619        Model           = UBSupply_A4N
7620        Animation       = UBSupply_A4N.UBSupply_A4N
7621        AnimationMode   = ONCE
7622        AnimationSpeedFactorRange = 1.0 1.0
7623        Flags           = START_FRAME_FIRST
7624      End
7625      TransitionState   = DOWN_DEFAULT UP_SNOW
7626        Model           = UBSupply_A4S
7627        Animation       = UBSupply_A4S.UBSupply_A4S
7628        AnimationMode   = ONCE
7629        AnimationSpeedFactorRange = 1.0 1.0
7630        Flags           = START_FRAME_FIRST
7631      End
7632      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7633        Model           = UBSupply_A4SN
7634        Animation       = UBSupply_A4SN.UBSupply_A4SN
7635        AnimationMode   = ONCE
7636        AnimationSpeedFactorRange = 1.0 1.0
7637        Flags           = START_FRAME_FIRST
7638      End
7639      TransitionState   = UP_DAY DOWN_DEFAULT
7640        Model           = UBSupply_A4
7641        Animation       = UBSupply_A4.UBSupply_A4
7642        AnimationMode   = ONCE_BACKWARDS
7643        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7644        Flags           = START_FRAME_LAST
7645      End
7646      TransitionState   = UP_NIGHT DOWN_DEFAULT
7647        Model           = UBSupply_A4N
7648        Animation       = UBSupply_A4N.UBSupply_A4N
7649        AnimationMode   = ONCE_BACKWARDS
7650        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7651        Flags           = START_FRAME_LAST
7652      End
7653      TransitionState   = UP_SNOW DOWN_DEFAULT
7654        Model           = UBSupply_A4S
7655        Animation       = UBSupply_A4S.UBSupply_A4S
7656        AnimationMode   = ONCE_BACKWARDS
7657        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7658        Flags           = START_FRAME_LAST
7659      End
7660      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
7661        Model           = UBSupply_A4SN
7662        Animation       = UBSupply_A4SN.UBSupply_A4SN
7663        AnimationMode   = ONCE_BACKWARDS
7664        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7665        Flags           = START_FRAME_LAST
7666      End
7667    End
7668  
7669    ; ------------ under-construction scaffolding -----------------
7670    Draw = W3DModelDraw ModuleTag_03
7671    AnimationsRequirePower = No
7672      MinLODRequired = MEDIUM
7673      DefaultConditionState
7674        Model           = None
7675        TransitionKey   = DOWN_DEFAULT
7676      End
7677      ConditionState    = NIGHT
7678        Model           = None
7679        TransitionKey   = DOWN_DEFAULT
7680      End
7681      ConditionState    = SNOW
7682        Model           = None
7683        TransitionKey   = DOWN_DEFAULT
7684      End
7685      ConditionState    = SNOW NIGHT
7686        Model           = None
7687        TransitionKey   = DOWN_DEFAULT
7688      End
7689      ConditionState    = PARTIALLY_CONSTRUCTED
7690        Model           = UBSupply_A6
7691        Animation       = UBSupply_A6.UBSupply_A6
7692        AnimationMode   = MANUAL
7693        Flags           = START_FRAME_LAST
7694        TransitionKey   = UP_DAY
7695        ParticleSysBone = Dust01 BuildingDust
7696        ParticleSysBone = Smoke01 BuildUpSmoke
7697        ParticleSysBone = Smoke02 BuildUpSmoke
7698        ParticleSysBone = Smoke03 BuildUpSmoke
7699        ParticleSysBone = Smoke04 BuildUpSmoke
7700      End
7701      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
7702        Model           = UBSupply_A6N
7703        Animation       = UBSupply_A6N.UBSupply_A6N
7704        AnimationMode   = MANUAL
7705        Flags           = START_FRAME_LAST
7706        TransitionKey   = UP_NIGHT
7707        ParticleSysBone = Dust01 BuildingDust
7708        ParticleSysBone = Smoke01 BuildUpSmoke
7709        ParticleSysBone = Smoke02 BuildUpSmoke
7710        ParticleSysBone = Smoke03 BuildUpSmoke
7711        ParticleSysBone = Smoke04 BuildUpSmoke
7712      End
7713      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
7714        Model           = UBSupply_A6S
7715        Animation       = UBSupply_A6S.UBSupply_A6S
7716        AnimationMode   = MANUAL
7717        Flags           = START_FRAME_LAST
7718        TransitionKey   = UP_SNOW
7719        ParticleSysBone = Dust01 BuildingSnowDust
7720        ParticleSysBone = Smoke01 BuildUpSnowSmoke
7721        ParticleSysBone = Smoke02 BuildUpSnowSmoke
7722        ParticleSysBone = Smoke03 BuildUpSnowSmoke
7723        ParticleSysBone = Smoke04 BuildUpSnowSmoke
7724      End
7725      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
7726        Model           = UBSupply_A6SN
7727        Animation       = UBSupply_A6SN.UBSupply_A6SN
7728        AnimationMode   = MANUAL
7729        Flags           = START_FRAME_LAST
7730        TransitionKey   = UP_SNOWNIGHT
7731        ParticleSysBone = Dust01 BuildingNightSnowDust
7732        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
7733        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
7734        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
7735        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
7736      End
7737      TransitionState   = DOWN_DEFAULT UP_DAY
7738       Model            = UBSupply_A6
7739        Animation       = UBSupply_A6.UBSupply_A6
7740        AnimationMode   = ONCE
7741        AnimationSpeedFactorRange = 1.0 1.0
7742        Flags           = START_FRAME_FIRST
7743      End
7744      TransitionState   = DOWN_DEFAULT UP_NIGHT
7745       Model            = UBSupply_A6N
7746        Animation       = UBSupply_A6N.UBSupply_A6N
7747        AnimationMode   = ONCE
7748        AnimationSpeedFactorRange = 1.0 1.0
7749        Flags           = START_FRAME_FIRST
7750      End
7751      TransitionState   = DOWN_DEFAULT UP_SNOW
7752       Model            = UBSupply_A6S
7753        Animation       = UBSupply_A6S.UBSupply_A6S
7754        AnimationMode   = ONCE
7755        AnimationSpeedFactorRange = 1.0 1.0
7756        Flags           = START_FRAME_FIRST
7757      End
7758      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7759       Model            = UBSupply_A6SN
7760        Animation       = UBSupply_A6SN.UBSupply_A6SN
7761        AnimationMode   = ONCE
7762        AnimationSpeedFactorRange = 1.0 1.0
7763        Flags           = START_FRAME_FIRST
7764      End
7765      TransitionState   = UP_DAY DOWN_DEFAULT
7766        Model           = UBSupply_A6
7767        Animation       = UBSupply_A6.UBSupply_A6
7768        AnimationMode   = ONCE_BACKWARDS
7769        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7770        Flags           = START_FRAME_LAST
7771      End
7772      TransitionState   = UP_NIGHT DOWN_DEFAULT
7773        Model           = UBSupply_A6N
7774        Animation       = UBSupply_A6N.UBSupply_A6N
7775        AnimationMode   = ONCE_BACKWARDS
7776        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7777        Flags           = START_FRAME_LAST
7778  
7779      End
7780      TransitionState   = UP_SNOW DOWN_DEFAULT
7781        Model           = UBSupply_A6S
7782        Animation       = UBSupply_A6S.UBSupply_A6S
7783        AnimationMode   = ONCE_BACKWARDS
7784        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7785        Flags           = START_FRAME_LAST
7786      End
7787      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
7788        Model           = UBSupply_A6SN
7789        Animation       = UBSupply_A6SN.UBSupply_A6SN
7790        AnimationMode   = ONCE_BACKWARDS
7791        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7792        Flags           = START_FRAME_LAST
7793      End
7794    End
7795  
7796    PlacementViewAngle = -45
7797  
7798    ; ***DESIGN parameters ***
7799    DisplayName         = OBJECT:SupplyStash
7800    Side                = GLAStealthGeneral
7801    EditorSorting       = STRUCTURE
7802    Prerequisites
7803      Object = Slth_GLACommandCenter
7804    End
7805    BuildCost           = 375
7806    BuildTime           = 5.0           ; in seconds
7807    EnergyProduction    = 0
7808    CommandSet          = FakeGLASupplyStashCommandSet
7809    VisionRange         = 200.0           ; Shroud clearing distance
7810    ShroudClearingRange = 200
7811  
7812    WeaponSet
7813      Conditions          = None 
7814      Weapon = PRIMARY SuicideWeapon
7815      AutoChooseSources = PRIMARY None
7816    End
7817  
7818    ArmorSet
7819      Conditions        = None
7820      Armor             = StructureArmor
7821      DamageFX          = StructureDamageFXNoShake
7822    End
7823    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
7824  
7825    ; *** AUDIO Parameters ***
7826    VoiceSelect = SupplyCenterGLASelect
7827    SoundOnDamaged        = BuildingDamagedStateLight
7828    SoundOnReallyDamaged  = BuildingDestroy
7829  
7830    UnitSpecificSounds
7831      UnderConstruction     = UnderConstructionLoop
7832    End
7833  
7834    ; *** ENGINEERING Parameters ***
7835    RadarPriority       = STRUCTURE
7836    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE
7837    Body                = StructureBody ModuleTag_04
7838      MaxHealth       = 250.0
7839      InitialHealth   = 250.0
7840  
7841      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
7842      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
7843      SubdualDamageCap = 450
7844      SubdualDamageHealRate = 500
7845      SubdualDamageHealAmount = 100
7846    End
7847  
7848    Behavior                 = CreateObjectDie ModuleTag_08
7849      CreationList      = OCL_SmallStructureDebris
7850    End
7851    Behavior                 = FXListDie ModuleTag_09
7852      DeathFX           = FX_StructureSmallDeath
7853    End
7854    Behavior = ProductionUpdate ModuleTag_10
7855      ; nothing
7856    End
7857    Behavior = AIUpdateInterface ModuleTag_11
7858      AutoAcquireEnemiesWhenIdle = No
7859    End
7860  
7861    Behavior = SlowDeathBehavior ModuleTag_12
7862      ExemptStatus = UNDER_CONSTRUCTION
7863      DestructionDelay = 0
7864      Weapon = FINAL FakeStructureDetonationWeapon
7865    End
7866    Behavior = DestroyDie ModuleTag_SlowDeathException
7867      RequiredStatus = UNDER_CONSTRUCTION
7868    End
7869  
7870    Behavior = ReplaceObjectUpgrade ModuleTag_13
7871      ReplaceObject = Slth_GLASupplyStash
7872      TriggeredBy = Upgrade_BecomeRealGLASupplyStash
7873    End
7874  
7875    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
7876      ConditionFlag = GARRISONED
7877      TriggeredBy   = Upgrade_GLAFortifiedStructure
7878    End
7879  
7880    Behavior = FlammableUpdate ModuleTag_15
7881      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
7882      AflameDamageAmount = 5       ; taking this much damage...
7883      AflameDamageDelay = 500       ; this often.
7884    End
7885  
7886    Behavior = TransitionDamageFX ModuleTag_16
7887      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
7888      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
7889      ;---------------------------------------------------------------------------------------
7890      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
7891      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
7892      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
7893    End
7894  
7895    Behavior = StealthUpdate ModuleStealth_09
7896      StealthDelay                = 2500 ; msec
7897      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
7898      InnateStealth               = No ;Requires upgrade first
7899      OrderIdleEnemiesToAttackMeUponReveal  = Yes
7900    End
7901    Behavior = StealthUpgrade ModuleTag_17
7902      TriggeredBy = Upgrade_GLACamoNetting
7903    END
7904  
7905    ;Dont forget to edit the GLA Hole geometry for this object too
7906    Geometry            = BOX
7907    GeometryMajorRadius = 36.0
7908    GeometryMinorRadius = 35.0
7909    GeometryHeight      = 30.0
7910    GeometryIsSmall     = No
7911    ;FactoryExtraBibWidth= 1.0     ; extra placement border.
7912    Shadow              = SHADOW_VOLUME
7913    ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure.
7914    ShadowSizeX = 105
7915    ShadowSizeY = 105
7916    BuildCompletion     = PLACED_BY_PLAYER
7917  
7918  End
7919  
7920  
7921  
7922  
7923  
7924  
7925  ;------------------------------------------------------------------------------
7926  ;GLA Barracks
7927  Object Slth_GLABarracks
7928  
7929    UpgradeCameo1 = Upgrade_GLACamoNetting
7930  
7931    ; *** ART Parameters ***
7932    SelectPortrait         = SUBarracks_L
7933    ButtonImage            = SUBarracks
7934  
7935  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
7936  
7937    Draw = W3DModelDraw ModuleTag_01
7938      OkToChangeModelColor = Yes
7939      ; day
7940      ConditionState = NONE
7941        Model = UBBARRACKS
7942        ParticleSysBone = Smoke01 ChimneySmokeSmall
7943        ParticleSysBone = Smoke02 SteamVent
7944        Animation     = UBBarracks.UBBarracks
7945        AnimationMode = LOOP
7946      End
7947      ConditionState = DAMAGED
7948        Model = UBBarracks_D
7949        ParticleSysBone = Smoke01 ChimneySmokeSmall
7950        ParticleSysBone = Smoke02 SteamVent
7951  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
7952  ;     ParticleSysBone = Flame01 FireFactionMedium
7953        Animation     = UBBarracks_D.UBBarracks_D
7954        AnimationMode = LOOP
7955      End
7956      ConditionState = REALLYDAMAGED RUBBLE
7957        Model = UBBarracks_E
7958        ParticleSysBone = Smoke01 ChimneySmokeSmall
7959  ;     ParticleSysBone = Smoke02 SteamVent
7960  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
7961  ;     ParticleSysBone = Smoke04 SmokeFactionLarge
7962  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
7963  ;     ParticleSysBone = Flame01 FireFactionMedium
7964  ;     ParticleSysBone = Flame02 FireFactionLarge
7965        Animation     = UBBarracks_E.UBBarracks_E
7966        AnimationMode = LOOP
7967      End
7968      ConditionState         = GARRISONED
7969        Model                = UBBarrksEG
7970        ParticleSysBone      = Smoke01 SmolderingSmoke
7971        Animation            = UBBarrksEG.UBBarrksEG
7972        AnimationMode        = LOOP
7973      End
7974      ConditionState         = DAMAGED GARRISONED
7975        Model                = UBBarrksEG_D
7976        ParticleSysBone      = Smoke01 SmolderingSmoke
7977        Animation            = UBBarrksEG_D.UBBarrksEG_D
7978        AnimationMode        = LOOP
7979      End
7980      ConditionState         = REALLYDAMAGED GARRISONED
7981        Model                = UBBarrksEG_E
7982        ParticleSysBone      = Smoke01 SmolderingSmoke
7983        Animation            = UBBarrksEG_E.UBBarrksEG_E
7984        AnimationMode        = LOOP
7985      End
7986          
7987          ; day
7988      ConditionState = SNOW
7989        Model = UBBARRACKS_S
7990        ParticleSysBone = Smoke01 ChimneySmokeSmall
7991        ParticleSysBone = Smoke02 SteamVent
7992        Animation     = UBBarracks_S.UBBarracks_S
7993        AnimationMode = LOOP
7994      End
7995      ConditionState = DAMAGED SNOW
7996        Model = UBBarracks_DS
7997        ParticleSysBone = Smoke01 ChimneySmokeSmall
7998        ParticleSysBone = Smoke02 SteamVent
7999  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
8000  ;     ParticleSysBone = Flame01 FireFactionMedium
8001        Animation     = UBBarracks_DS.UBBarracks_DS
8002        AnimationMode = LOOP
8003      End
8004      ConditionState = REALLYDAMAGED RUBBLE SNOW
8005        Model = UBBarracks_ES
8006        ParticleSysBone = Smoke01 ChimneySmokeSmall
8007  ;     ParticleSysBone = Smoke02 SteamVent
8008  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
8009  ;     ParticleSysBone = Smoke04 SmokeFactionLarge
8010  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
8011  ;     ParticleSysBone = Flame01 FireFactionMedium
8012  ;     ParticleSysBone = Flame02 FireFactionLarge
8013        Animation     = UBBarracks_ES.UBBarracks_ES
8014        AnimationMode = LOOP
8015      End
8016      ConditionState         = GARRISONED SNOW
8017        Model                = UBBarrksEG_S
8018        ParticleSysBone      = Smoke01 SmolderingSmoke
8019        Animation            = UBBarrksEG_S.UBBarrksEG_S
8020        AnimationMode        = LOOP
8021      End
8022      ConditionState         = DAMAGED GARRISONED SNOW
8023        Model                = UBBarrksEG_DS
8024        ParticleSysBone      = Smoke01 SmolderingSmoke
8025        Animation            = UBBarrksEG_DS.UBBarrksEG_DS
8026        AnimationMode        = LOOP
8027      End
8028      ConditionState         = REALLYDAMAGED GARRISONED SNOW
8029        Model                = UBBarrksEG_ES
8030        ParticleSysBone      = Smoke01 SmolderingSmoke
8031        Animation            = UBBarrksEG_ES.UBBarrksEG_ES
8032        AnimationMode        = LOOP
8033      End
8034  
8035      ; night
8036      ConditionState = NIGHT
8037        Model = UBBARRACKS_N
8038        ParticleSysBone = Smoke01 ChimneySmokeSmall
8039        ParticleSysBone = Smoke02 SteamVent
8040        Animation     = UBBarracks_N.UBBarracks_N
8041        AnimationMode = LOOP
8042      End
8043      ConditionState = DAMAGED NIGHT
8044        Model = UBBarracks_DN
8045        ParticleSysBone = Smoke01 ChimneySmokeSmall
8046        ParticleSysBone = Smoke02 SteamVent
8047        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8048        ParticleSysBone = Flame01 GLAPowerPlantFlame
8049        Animation     = UBBarracks_DN.UBBarracks_DN
8050        AnimationMode = LOOP
8051      End
8052      ConditionState = REALLYDAMAGED RUBBLE NIGHT
8053        Model = UBBarracks_EN
8054        ParticleSysBone = Smoke01 ChimneySmokeSmall
8055        ParticleSysBone = Smoke02 SteamVent
8056        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8057        ParticleSysBone = Smoke04 GLAPowerPlantSmoke
8058        ParticleSysBone = Smoke05 GLAPowerPlantSmoke
8059        ParticleSysBone = Flame01 FireSmallContinuous
8060        ParticleSysBone = Flame02 GLAPowerPlantFlame
8061        Animation     = UBBarracks_EN.UBBarracks_EN
8062        AnimationMode = LOOP
8063      End
8064      ConditionState         = GARRISONED NIGHT
8065        Model                = UBBarrksEG_N
8066        ParticleSysBone      = Smoke01 SmolderingSmoke
8067        Animation            = UBBarrksEG_N.UBBarrksEG_N
8068        AnimationMode        = LOOP
8069      End
8070      ConditionState         = DAMAGED GARRISONED NIGHT
8071        Model                = UBBarrksEG_DN
8072        ParticleSysBone      = Smoke01 SmolderingSmoke
8073        Animation            = UBBarrksEG_DN.UBBarrksEG_DN
8074        AnimationMode        = LOOP
8075      End
8076      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
8077        Model                = UBBarrksEG_EN
8078        ParticleSysBone      = Smoke01 SmolderingSmoke
8079        Animation            = UBBarrksEG_EN.UBBarrksEG_EN
8080        AnimationMode        = LOOP
8081      End
8082  
8083      ; night snow
8084      ConditionState = NIGHT SNOW
8085        Model = UBBARRACKS_NS
8086        ParticleSysBone = Smoke01 ChimneySmokeSmall
8087        ParticleSysBone = Smoke02 SteamVent
8088        Animation     = UBBarracks_NS.UBBarracks_NS
8089        AnimationMode = LOOP
8090      End
8091      ConditionState = DAMAGED NIGHT SNOW
8092        Model = UBBarracks_DNS
8093        ParticleSysBone = Smoke01 ChimneySmokeSmall
8094        ParticleSysBone = Smoke02 SteamVent
8095        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8096        ParticleSysBone = Flame01 GLAPowerPlantFlame
8097        Animation     = UBBarracks_DNS.UBBarracks_DNS
8098        AnimationMode = LOOP
8099      End
8100      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
8101        Model = UBBarracks_ENS
8102        ParticleSysBone = Smoke01 ChimneySmokeSmall
8103        ParticleSysBone = Smoke02 SteamVent
8104        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8105        ParticleSysBone = Smoke04 GLAPowerPlantSmoke
8106        ParticleSysBone = Smoke05 GLAPowerPlantSmoke
8107        ParticleSysBone = Flame01 FireSmallContinuous
8108        ParticleSysBone = Flame02 GLAPowerPlantFlame
8109        Animation     = UBBarracks_ENS.UBBarracks_ENS
8110        AnimationMode = LOOP
8111      End
8112      ConditionState         = GARRISONED NIGHT SNOW
8113        Model                = UBBarrksEG_NS
8114        ParticleSysBone      = Smoke01 SmolderingSmoke
8115        Animation            = UBBarrksEG_NS.UBBarrksEG_NS
8116        AnimationMode        = LOOP
8117      End
8118      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
8119        Model                = UBBarrksEG_DNS
8120        ParticleSysBone      = Smoke01 SmolderingSmoke
8121        Animation            = UBBarrksEG_DNS.UBBarrksEG_DNS
8122        AnimationMode        = LOOP
8123      End
8124      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
8125        Model                = UBBarrksEG_ENS
8126        ParticleSysBone      = Smoke01 SmolderingSmoke
8127        Animation            = UBBarrksEG_ENS.UBBarrksEG_ENS
8128        AnimationMode        = LOOP
8129      End
8130  
8131      ;**************************************************************************************************************************
8132      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
8133      ;for this draw module
8134      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8135        Model              = UBBarracks
8136        Animation          = UBBarracks.UBBarracks
8137        AnimationMode      = LOOP
8138        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8139      End
8140      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
8141        Model              = UBBarracks_D
8142        Animation          = UBBarracks_D.UBBarracks_D
8143        AnimationMode      = LOOP
8144        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8145      End
8146      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
8147        Model              = UBBarracks_E
8148        Animation          = UBBarracks_E.UBBarracks_E
8149        AnimationMode      = LOOP
8150        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8151      End
8152      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
8153        Model              = UBBarracks_N
8154        Animation          = UBBarracks_N.UBBarracks_N
8155        AnimationMode      = LOOP
8156        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8157      End
8158      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
8159        Model              = UBBarracks_DN
8160        Animation          = UBBarracks_DN.UBBarracks_DN
8161        AnimationMode      = LOOP
8162        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8163      End
8164      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
8165        Model              = UBBarracks_EN
8166        Animation          = UBBarracks_EN.UBBarracks_EN
8167        AnimationMode      = LOOP
8168        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8169      End
8170      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
8171        Model              = UBBarracks_S
8172        Animation          = UBBarracks_S.UBBarracks_S
8173        AnimationMode      = LOOP
8174        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8175      End
8176      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
8177        Model              = UBBarracks_DS
8178        Animation          = UBBarracks_DS.UBBarracks_DS
8179        AnimationMode      = LOOP
8180        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8181      End
8182      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
8183        Model              = UBBarracks_ES
8184        Animation          = UBBarracks_ES.UBBarracks_ES
8185        AnimationMode      = LOOP
8186        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8187      End
8188      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
8189        Model              = UBBarracks_NS
8190        Animation          = UBBarracks_NS.UBBarracks_NS
8191        AnimationMode      = LOOP
8192        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8193      End
8194      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
8195        Model              = UBBarracks_DNS
8196        Animation          = UBBarracks_DNS.UBBarracks_DNS
8197        AnimationMode      = LOOP
8198        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8199      End
8200      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
8201        Model              = UBBarracks_ENS
8202        Animation          = UBBarracks_ENS.UBBarracks_ENS
8203        AnimationMode      = LOOP
8204        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8205      End
8206  
8207      ConditionState       = AWAITING_CONSTRUCTION 
8208        Model              = NONE
8209      End
8210      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
8211      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
8212      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
8213      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
8214      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
8215      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
8216      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
8217      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
8218      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
8219      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
8220      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
8221      AliasConditionState  = SOLD 
8222      AliasConditionState  = SOLD DAMAGED
8223      AliasConditionState  = SOLD REALLYDAMAGED
8224      AliasConditionState  = SOLD NIGHT
8225      AliasConditionState  = SOLD NIGHT DAMAGED
8226      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
8227      AliasConditionState  = SOLD SNOW
8228      AliasConditionState  = SOLD SNOW DAMAGED
8229      AliasConditionState  = SOLD SNOW REALLYDAMAGED
8230      AliasConditionState  = SOLD NIGHT SNOW
8231      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
8232      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
8233      AliasConditionState  = GARRISONED SOLD 
8234      AliasConditionState  = GARRISONED SOLD DAMAGED
8235      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
8236      AliasConditionState  = GARRISONED SOLD NIGHT
8237      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
8238      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
8239      AliasConditionState  = GARRISONED SOLD SNOW
8240      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
8241      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
8242      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
8243      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
8244      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
8245      ;**************************************************************************************************************************
8246    End
8247    ; ------------ construction-zone fence -----------------
8248    Draw = W3DModelDraw ModuleTag_02
8249    AnimationsRequirePower = No
8250      DefaultConditionState
8251        Model           = None
8252        TransitionKey   = DOWN_DEFAULT
8253      End
8254      ConditionState    = NIGHT
8255        Model           = None
8256        TransitionKey   = DOWN_DEFAULT
8257      End
8258      ConditionState    = SNOW
8259        Model           = None
8260        TransitionKey   = DOWN_DEFAULT
8261      End
8262      ConditionState    = SNOW NIGHT
8263        Model           = None
8264        TransitionKey   = DOWN_DEFAULT
8265      End
8266      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8267        Model           = UBBarracks_A4
8268        Animation       = UBBarracks_A4.UBBarracks_A4
8269        AnimationMode   = MANUAL
8270        Flags           = START_FRAME_LAST
8271        TransitionKey   = UP_DAY
8272      End
8273      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8274        Model           = UBBarracks_A4N
8275        Animation       = UBBarracks_A4N.UBBarracks_A4N
8276        AnimationMode   = MANUAL
8277        Flags           = START_FRAME_LAST
8278        TransitionKey   = UP_NIGHT
8279      End
8280      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8281        Model           = UBBarracks_A4S
8282        Animation       = UBBarracks_A4S.UBBarracks_A4S
8283        AnimationMode   = MANUAL
8284        Flags           = START_FRAME_LAST
8285        TransitionKey   = UP_SNOW
8286      End
8287      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8288        Model           = UBBarracks_A4SN
8289        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
8290        AnimationMode   = MANUAL
8291        Flags           = START_FRAME_LAST
8292        TransitionKey   = UP_SNOWNIGHT
8293      End
8294      TransitionState   = DOWN_DEFAULT UP_DAY
8295        Model           = UBBarracks_A4
8296        Animation       = UBBarracks_A4.UBBarracks_A4
8297        AnimationMode   = ONCE
8298        AnimationSpeedFactorRange = 1.0 1.0
8299        Flags           = START_FRAME_FIRST
8300      End
8301      TransitionState   = DOWN_DEFAULT UP_NIGHT
8302        Model           = UBBarracks_A4N
8303        Animation       = UBBarracks_A4N.UBBarracks_A4N
8304        AnimationMode   = ONCE
8305        AnimationSpeedFactorRange = 1.0 1.0
8306        Flags           = START_FRAME_FIRST
8307      End
8308      TransitionState   = DOWN_DEFAULT UP_SNOW
8309        Model           = UBBarracks_A4S
8310        Animation       = UBBarracks_A4S.UBBarracks_A4S
8311        AnimationMode   = ONCE
8312        AnimationSpeedFactorRange = 1.0 1.0
8313        Flags           = START_FRAME_FIRST
8314      End
8315      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8316        Model           = UBBarracks_A4SN
8317        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
8318        AnimationMode   = ONCE
8319        AnimationSpeedFactorRange = 1.0 1.0
8320        Flags           = START_FRAME_FIRST
8321      End
8322      TransitionState   = UP_DAY DOWN_DEFAULT
8323        Model           = UBBarracks_A4
8324        Animation       = UBBarracks_A4.UBBarracks_A4
8325        AnimationMode   = ONCE_BACKWARDS
8326        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8327        Flags           = START_FRAME_LAST
8328      End
8329      TransitionState   = UP_NIGHT DOWN_DEFAULT
8330        Model           = UBBarracks_A4N
8331        Animation       = UBBarracks_A4N.UBBarracks_A4N
8332        AnimationMode   = ONCE_BACKWARDS
8333        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8334        Flags           = START_FRAME_LAST
8335      End
8336      TransitionState   = UP_SNOW DOWN_DEFAULT
8337        Model           = UBBarracks_A4S
8338        Animation       = UBBarracks_A4S.UBBarracks_A4S
8339        AnimationMode   = ONCE_BACKWARDS
8340        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8341        Flags           = START_FRAME_LAST
8342      End
8343      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8344        Model           = UBBarracks_A4SN
8345        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
8346        AnimationMode   = ONCE_BACKWARDS
8347        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8348        Flags           = START_FRAME_LAST
8349      End
8350    End
8351  
8352    ; ------------ under-construction scaffolding -----------------
8353    Draw = W3DModelDraw ModuleTag_03
8354    AnimationsRequirePower = No
8355      MinLODRequired = MEDIUM
8356      DefaultConditionState
8357        Model           = None
8358        TransitionKey   = DOWN_DEFAULT
8359      End
8360      ConditionState    = NIGHT
8361        Model           = None
8362        TransitionKey   = DOWN_DEFAULT
8363      End
8364      ConditionState    = SNOW
8365        Model           = None
8366        TransitionKey   = DOWN_DEFAULT
8367      End
8368      ConditionState    = SNOW NIGHT
8369        Model           = None
8370        TransitionKey   = DOWN_DEFAULT
8371      End
8372      ConditionState    = PARTIALLY_CONSTRUCTED
8373        Model           = UBBarracks_A6
8374        Animation       = UBBarracks_A6.UBBarracks_A6
8375        AnimationMode   = MANUAL
8376        Flags           = START_FRAME_LAST
8377        TransitionKey   = UP_DAY
8378        ParticleSysBone = Dust01 BuildingDust
8379        ParticleSysBone = Smoke01 BuildUpSmoke
8380        ParticleSysBone = Smoke02 BuildUpSmoke
8381        ParticleSysBone = Smoke03 BuildUpSmoke
8382        ParticleSysBone = Smoke04 BuildUpSmoke
8383        ParticleSysBone = Smoke05 BuildUpSmoke
8384        ParticleSysBone = Smoke06 BuildUpSmoke
8385      End
8386      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
8387        Model           = UBBarracks_A6N
8388        Animation       = UBBarracks_A6N.UBBarracks_A6N
8389        AnimationMode   = MANUAL
8390        Flags           = START_FRAME_LAST
8391        TransitionKey   = UP_NIGHT
8392        ParticleSysBone = Dust01 BuildingDust
8393        ParticleSysBone = Smoke01 BuildUpSmoke
8394        ParticleSysBone = Smoke02 BuildUpSmoke
8395        ParticleSysBone = Smoke03 BuildUpSmoke
8396        ParticleSysBone = Smoke04 BuildUpSmoke
8397        ParticleSysBone = Smoke05 BuildUpSmoke
8398        ParticleSysBone = Smoke06 BuildUpSmoke
8399      End
8400      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
8401        Model           = UBBarracks_A6S
8402        Animation       = UBBarracks_A6S.UBBarracks_A6S
8403        AnimationMode   = MANUAL
8404        Flags           = START_FRAME_LAST
8405        TransitionKey   = UP_SNOW
8406        ParticleSysBone = Dust01 BuildingSnowDust
8407        ParticleSysBone = Smoke01 BuildUpSnowSmoke
8408        ParticleSysBone = Smoke02 BuildUpSnowSmoke
8409        ParticleSysBone = Smoke03 BuildUpSnowSmoke
8410        ParticleSysBone = Smoke04 BuildUpSnowSmoke
8411        ParticleSysBone = Smoke05 BuildUpSnowSmoke
8412        ParticleSysBone = Smoke06 BuildUpSnowSmoke
8413      End
8414      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
8415        Model           = UBBarracks_A6SN
8416        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
8417        AnimationMode   = MANUAL
8418        Flags           = START_FRAME_LAST
8419        TransitionKey   = UP_SNOWNIGHT
8420        ParticleSysBone = Dust01 BuildingNightSnowDust
8421        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
8422        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
8423        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
8424        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
8425        ParticleSysBone = Smoke05 BuildUpNightSnowSmoke
8426        ParticleSysBone = Smoke06 BuildUpNightSnowSmoke
8427      End
8428      TransitionState   = DOWN_DEFAULT UP_DAY
8429       Model            = UBBarracks_A6
8430        Animation       = UBBarracks_A6.UBBarracks_A6
8431        AnimationMode   = ONCE
8432        AnimationSpeedFactorRange = 1.0 1.0
8433        Flags           = START_FRAME_FIRST
8434      End
8435      TransitionState   = DOWN_DEFAULT UP_NIGHT
8436       Model            = UBBarracks_A6N
8437        Animation       = UBBarracks_A6N.UBBarracks_A6N
8438        AnimationMode   = ONCE
8439        AnimationSpeedFactorRange = 1.0 1.0
8440        Flags           = START_FRAME_FIRST
8441      End
8442      TransitionState   = DOWN_DEFAULT UP_SNOW
8443       Model            = UBBarracks_A6S
8444        Animation       = UBBarracks_A6S.UBBarracks_A6S
8445        AnimationMode   = ONCE
8446        AnimationSpeedFactorRange = 1.0 1.0
8447        Flags           = START_FRAME_FIRST
8448      End
8449      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8450       Model            = UBBarracks_A6SN
8451        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
8452        AnimationMode   = ONCE
8453        AnimationSpeedFactorRange = 1.0 1.0
8454        Flags           = START_FRAME_FIRST
8455      End
8456      TransitionState   = UP_DAY DOWN_DEFAULT
8457        Model           = UBBarracks_A6
8458        Animation       = UBBarracks_A6.UBBarracks_A6
8459        AnimationMode   = ONCE_BACKWARDS
8460        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8461        Flags           = START_FRAME_LAST
8462      End
8463      TransitionState   = UP_NIGHT DOWN_DEFAULT
8464        Model           = UBBarracks_A6N
8465        Animation       = UBBarracks_A6N.UBBarracks_A6N
8466        AnimationMode   = ONCE_BACKWARDS
8467        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8468        Flags           = START_FRAME_LAST
8469      End
8470      TransitionState   = UP_SNOW DOWN_DEFAULT
8471        Model           = UBBarracks_A6S
8472        Animation       = UBBarracks_A6S.UBBarracks_A6S
8473        AnimationMode   = ONCE_BACKWARDS
8474        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8475        Flags           = START_FRAME_LAST
8476      End
8477      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8478        Model           = UBBarracks_A6SN
8479        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
8480        AnimationMode   = ONCE_BACKWARDS
8481        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8482        Flags           = START_FRAME_LAST
8483      End
8484    End
8485  
8486    PlacementViewAngle = -135
8487  
8488    ; ***DESIGN parameters ***
8489    DisplayName      = OBJECT:Barracks
8490    Side             = GLAStealthGeneral
8491    EditorSorting    = STRUCTURE
8492    BuildCost        = 500
8493    BuildTime        = 10.0           ; in seconds
8494    EnergyProduction = 0
8495    CommandSet       = Slth_GLABarracksCommandSet
8496    VisionRange      = 200.0           ; Shroud clearing distance
8497    ShroudClearingRange = 200
8498    ArmorSet
8499      Conditions      = None
8500      Armor           = StructureArmor
8501      DamageFX        = StructureDamageFXNoShake
8502    End
8503    ArmorSet
8504      Conditions      = PLAYER_UPGRADE
8505      Armor           = GLAUpgradedStructureArmor
8506      DamageFX        = StructureDamageFXNoShake
8507    End
8508    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
8509  
8510    Prerequisites
8511  ;    Object = Slth_GLASupplyStash
8512    End
8513  
8514  
8515    ; *** AUDIO Parameters ***
8516    VoiceSelect = BarracksGLASelect
8517    SoundOnDamaged        = BuildingDamagedStateLight
8518    SoundOnReallyDamaged  = BuildingDestroy
8519  
8520    UnitSpecificSounds
8521      UnderConstruction     = UnderConstructionLoop
8522    End
8523  
8524    ; *** ENGINEERING Parameters ***
8525    RadarPriority   = STRUCTURE
8526    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BARRACKS
8527    Body            = StructureBody ModuleTag_04
8528      MaxHealth     = 1000.0
8529      InitialHealth = 1000.0
8530  
8531      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
8532      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
8533      SubdualDamageCap = 1200
8534      SubdualDamageHealRate = 500
8535      SubdualDamageHealAmount = 100
8536    End
8537  
8538    Behavior        = ArmorUpgrade ModuleTag_Armor01
8539      TriggeredBy   = Upgrade_GLAFortifiedStructure
8540    End
8541  
8542    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
8543      ConditionFlag = GARRISONED
8544      TriggeredBy   = Upgrade_GLAFortifiedStructure
8545    End
8546  
8547    Behavior = HealContain ModuleTag_05
8548      ContainMax          = 10 ;way bigger than the # of objects we can have  
8549      TimeForFullHeal     = 2000   ;(in milliseconds)
8550      AllowInsideKindOf   = INFANTRY
8551      AllowAlliesInside   = Yes
8552      AllowNeutralInside  = No
8553      AllowEnemiesInside  = No
8554    End
8555  
8556    Behavior        = RebuildHoleExposeDie ModuleTag_06
8557      HoleName      = GLAHoleBarracks
8558      HoleMaxHealth = 500.0
8559    End
8560    Behavior = DestroyDie ModuleTag_07
8561      ;nothing
8562    End
8563    Behavior        = CreateObjectDie ModuleTag_08
8564      CreationList  = OCL_LargeStructureDebris
8565    End
8566    Behavior        = FXListDie ModuleTag_09
8567      DeathFX       = FX_StructureSmallDeath
8568    End
8569    Behavior = ProductionUpdate ModuleTag_10
8570      ; nothing
8571    End
8572    Behavior = DefaultProductionExitUpdate ModuleTag_11
8573      UnitCreatePoint   = X:  0.0  Y:  0.0   Z:0.0
8574      NaturalRallyPoint = X: 42.0  Y:  0.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
8575    End
8576  
8577    Behavior = FlammableUpdate ModuleTag_13
8578      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
8579      AflameDamageAmount = 5       ; taking this much damage...
8580      AflameDamageDelay = 500       ; this often.
8581    End
8582  
8583    Behavior = TransitionDamageFX ModuleTag_16
8584      ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS-------------------
8585      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
8586      ;---------------------------------------------------------------------------------------
8587      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
8588      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
8589      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
8590    End
8591  
8592    Behavior = GrantUpgradeCreate ModuleTag_17
8593      UpgradeToGrant           = Upgrade_AmericaRadar
8594      ExemptStatus      = UNDER_CONSTRUCTION
8595    End
8596  
8597    Behavior = StealthUpdate ModuleStealth_09
8598      StealthDelay                = 2500 ; msec
8599      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
8600      InnateStealth               = No ;Requires upgrade first
8601      OrderIdleEnemiesToAttackMeUponReveal  = Yes
8602    End
8603    Behavior = StealthUpgrade ModuleTag_18
8604      TriggeredBy = Upgrade_GLACamoNetting
8605    END
8606  
8607    Geometry            = BOX
8608    GeometryMajorRadius = 42.0
8609    GeometryMinorRadius = 52.0
8610    GeometryHeight      = 20.0
8611    GeometryIsSmall     = No
8612    FactoryExitWidth    = 25 
8613    Shadow          = SHADOW_VOLUME
8614    BuildCompletion = PLACED_BY_PLAYER
8615  
8616  End
8617  
8618  ;------------------------------------------------------------------------------
8619  ;Fake GLA Barracks
8620  Object Slth_FakeGLABarracks
8621  
8622    UpgradeCameo1 = Upgrade_GLACamoNetting
8623  
8624    ; *** ART Parameters ***
8625    SelectPortrait         = SUBarracks_L
8626    ButtonImage            = SUBarracks
8627  
8628  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
8629  
8630    Draw = W3DModelDraw ModuleTag_01
8631      OkToChangeModelColor = Yes
8632      ; day
8633      ConditionState = NONE
8634        Model = UBBARRACKS
8635        ParticleSysBone = Smoke01 ChimneySmokeSmall
8636        ParticleSysBone = Smoke02 SteamVent
8637        Animation     = UBBarracks.UBBarracks
8638        AnimationMode = LOOP
8639      End
8640      ConditionState = DAMAGED
8641        Model = UBBarracks_D
8642        ParticleSysBone = Smoke01 ChimneySmokeSmall
8643        ParticleSysBone = Smoke02 SteamVent
8644  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
8645  ;     ParticleSysBone = Flame01 FireFactionMedium
8646        Animation     = UBBarracks_D.UBBarracks_D
8647        AnimationMode = LOOP
8648      End
8649      ConditionState = REALLYDAMAGED RUBBLE
8650        Model = UBBarracks_E
8651        ParticleSysBone = Smoke01 ChimneySmokeSmall
8652  ;     ParticleSysBone = Smoke02 SteamVent
8653  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
8654  ;     ParticleSysBone = Smoke04 SmokeFactionLarge
8655  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
8656  ;     ParticleSysBone = Flame01 FireFactionMedium
8657  ;     ParticleSysBone = Flame02 FireFactionLarge
8658        Animation     = UBBarracks_E.UBBarracks_E
8659        AnimationMode = LOOP
8660      End
8661      ConditionState         = GARRISONED
8662        Model                = UBBarrksEG
8663        ParticleSysBone      = Smoke01 SmolderingSmoke
8664        Animation            = UBBarrksEG.UBBarrksEG
8665        AnimationMode        = LOOP
8666      End
8667      ConditionState         = DAMAGED GARRISONED
8668        Model                = UBBarrksEG_D
8669        ParticleSysBone      = Smoke01 SmolderingSmoke
8670        Animation            = UBBarrksEG_D.UBBarrksEG_D
8671        AnimationMode        = LOOP
8672      End
8673      ConditionState         = REALLYDAMAGED GARRISONED
8674        Model                = UBBarrksEG_E
8675        ParticleSysBone      = Smoke01 SmolderingSmoke
8676        Animation            = UBBarrksEG_E.UBBarrksEG_E
8677        AnimationMode        = LOOP
8678      End
8679          
8680          ; day
8681      ConditionState = SNOW
8682        Model = UBBARRACKS_S
8683        ParticleSysBone = Smoke01 ChimneySmokeSmall
8684        ParticleSysBone = Smoke02 SteamVent
8685        Animation     = UBBarracks_S.UBBarracks_S
8686        AnimationMode = LOOP
8687      End
8688      ConditionState = DAMAGED SNOW
8689        Model = UBBarracks_DS
8690        ParticleSysBone = Smoke01 ChimneySmokeSmall
8691        ParticleSysBone = Smoke02 SteamVent
8692  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
8693  ;     ParticleSysBone = Flame01 FireFactionMedium
8694        Animation     = UBBarracks_DS.UBBarracks_DS
8695        AnimationMode = LOOP
8696      End
8697      ConditionState = REALLYDAMAGED RUBBLE SNOW
8698        Model = UBBarracks_ES
8699        ParticleSysBone = Smoke01 ChimneySmokeSmall
8700  ;     ParticleSysBone = Smoke02 SteamVent
8701  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
8702  ;     ParticleSysBone = Smoke04 SmokeFactionLarge
8703  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
8704  ;     ParticleSysBone = Flame01 FireFactionMedium
8705  ;     ParticleSysBone = Flame02 FireFactionLarge
8706        Animation     = UBBarracks_ES.UBBarracks_ES
8707        AnimationMode = LOOP
8708      End
8709      ConditionState         = GARRISONED SNOW
8710        Model                = UBBarrksEG_S
8711        ParticleSysBone      = Smoke01 SmolderingSmoke
8712        Animation            = UBBarrksEG_S.UBBarrksEG_S
8713        AnimationMode        = LOOP
8714      End
8715      ConditionState         = DAMAGED GARRISONED SNOW
8716        Model                = UBBarrksEG_DS
8717        ParticleSysBone      = Smoke01 SmolderingSmoke
8718        Animation            = UBBarrksEG_DS.UBBarrksEG_DS
8719        AnimationMode        = LOOP
8720      End
8721      ConditionState         = REALLYDAMAGED GARRISONED SNOW
8722        Model                = UBBarrksEG_ES
8723        ParticleSysBone      = Smoke01 SmolderingSmoke
8724        Animation            = UBBarrksEG_ES.UBBarrksEG_ES
8725        AnimationMode        = LOOP
8726      End
8727  
8728      ; night
8729      ConditionState = NIGHT
8730        Model = UBBARRACKS_N
8731        ParticleSysBone = Smoke01 ChimneySmokeSmall
8732        ParticleSysBone = Smoke02 SteamVent
8733        Animation     = UBBarracks_N.UBBarracks_N
8734        AnimationMode = LOOP
8735      End
8736      ConditionState = DAMAGED NIGHT
8737        Model = UBBarracks_DN
8738        ParticleSysBone = Smoke01 ChimneySmokeSmall
8739        ParticleSysBone = Smoke02 SteamVent
8740        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8741        ParticleSysBone = Flame01 GLAPowerPlantFlame
8742        Animation     = UBBarracks_DN.UBBarracks_DN
8743        AnimationMode = LOOP
8744      End
8745      ConditionState = REALLYDAMAGED RUBBLE NIGHT
8746        Model = UBBarracks_EN
8747        ParticleSysBone = Smoke01 ChimneySmokeSmall
8748        ParticleSysBone = Smoke02 SteamVent
8749        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8750        ParticleSysBone = Smoke04 GLAPowerPlantSmoke
8751        ParticleSysBone = Smoke05 GLAPowerPlantSmoke
8752        ParticleSysBone = Flame01 FireSmallContinuous
8753        ParticleSysBone = Flame02 GLAPowerPlantFlame
8754        Animation     = UBBarracks_EN.UBBarracks_EN
8755        AnimationMode = LOOP
8756      End
8757      ConditionState         = GARRISONED NIGHT
8758        Model                = UBBarrksEG_N
8759        ParticleSysBone      = Smoke01 SmolderingSmoke
8760        Animation            = UBBarrksEG_N.UBBarrksEG_N
8761        AnimationMode        = LOOP
8762      End
8763      ConditionState         = DAMAGED GARRISONED NIGHT
8764        Model                = UBBarrksEG_DN
8765        ParticleSysBone      = Smoke01 SmolderingSmoke
8766        Animation            = UBBarrksEG_DN.UBBarrksEG_DN
8767        AnimationMode        = LOOP
8768      End
8769      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
8770        Model                = UBBarrksEG_EN
8771        ParticleSysBone      = Smoke01 SmolderingSmoke
8772        Animation            = UBBarrksEG_EN.UBBarrksEG_EN
8773        AnimationMode        = LOOP
8774      End
8775  
8776      ; night snow
8777      ConditionState = NIGHT SNOW
8778        Model = UBBARRACKS_NS
8779        ParticleSysBone = Smoke01 ChimneySmokeSmall
8780        ParticleSysBone = Smoke02 SteamVent
8781        Animation     = UBBarracks_NS.UBBarracks_NS
8782        AnimationMode = LOOP
8783      End
8784      ConditionState = DAMAGED NIGHT SNOW
8785        Model = UBBarracks_DNS
8786        ParticleSysBone = Smoke01 ChimneySmokeSmall
8787        ParticleSysBone = Smoke02 SteamVent
8788        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8789        ParticleSysBone = Flame01 GLAPowerPlantFlame
8790        Animation     = UBBarracks_DNS.UBBarracks_DNS
8791        AnimationMode = LOOP
8792      End
8793      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
8794        Model = UBBarracks_ENS
8795        ParticleSysBone = Smoke01 ChimneySmokeSmall
8796        ParticleSysBone = Smoke02 SteamVent
8797        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8798        ParticleSysBone = Smoke04 GLAPowerPlantSmoke
8799        ParticleSysBone = Smoke05 GLAPowerPlantSmoke
8800        ParticleSysBone = Flame01 FireSmallContinuous
8801        ParticleSysBone = Flame02 GLAPowerPlantFlame
8802        Animation     = UBBarracks_ENS.UBBarracks_ENS
8803        AnimationMode = LOOP
8804      End
8805      ConditionState         = GARRISONED NIGHT SNOW
8806        Model                = UBBarrksEG_NS
8807        ParticleSysBone      = Smoke01 SmolderingSmoke
8808        Animation            = UBBarrksEG_NS.UBBarrksEG_NS
8809        AnimationMode        = LOOP
8810      End
8811      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
8812        Model                = UBBarrksEG_DNS
8813        ParticleSysBone      = Smoke01 SmolderingSmoke
8814        Animation            = UBBarrksEG_DNS.UBBarrksEG_DNS
8815        AnimationMode        = LOOP
8816      End
8817      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
8818        Model                = UBBarrksEG_ENS
8819        ParticleSysBone      = Smoke01 SmolderingSmoke
8820        Animation            = UBBarrksEG_ENS.UBBarrksEG_ENS
8821        AnimationMode        = LOOP
8822      End
8823  
8824      ;**************************************************************************************************************************
8825      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
8826      ;for this draw module
8827      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8828        Model              = UBBarracks
8829        Animation          = UBBarracks.UBBarracks
8830        AnimationMode      = LOOP
8831        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8832      End
8833      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
8834        Model              = UBBarracks_D
8835        Animation          = UBBarracks_D.UBBarracks_D
8836        AnimationMode      = LOOP
8837        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8838      End
8839      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
8840        Model              = UBBarracks_E
8841        Animation          = UBBarracks_E.UBBarracks_E
8842        AnimationMode      = LOOP
8843        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8844      End
8845      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
8846        Model              = UBBarracks_N
8847        Animation          = UBBarracks_N.UBBarracks_N
8848        AnimationMode      = LOOP
8849        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8850      End
8851      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
8852        Model              = UBBarracks_DN
8853        Animation          = UBBarracks_DN.UBBarracks_DN
8854        AnimationMode      = LOOP
8855        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8856      End
8857      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
8858        Model              = UBBarracks_EN
8859        Animation          = UBBarracks_EN.UBBarracks_EN
8860        AnimationMode      = LOOP
8861        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8862      End
8863      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
8864        Model              = UBBarracks_S
8865        Animation          = UBBarracks_S.UBBarracks_S
8866        AnimationMode      = LOOP
8867        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8868      End
8869      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
8870        Model              = UBBarracks_DS
8871        Animation          = UBBarracks_DS.UBBarracks_DS
8872        AnimationMode      = LOOP
8873        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8874      End
8875      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
8876        Model              = UBBarracks_ES
8877        Animation          = UBBarracks_ES.UBBarracks_ES
8878        AnimationMode      = LOOP
8879        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8880      End
8881      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
8882        Model              = UBBarracks_NS
8883        Animation          = UBBarracks_NS.UBBarracks_NS
8884        AnimationMode      = LOOP
8885        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8886      End
8887      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
8888        Model              = UBBarracks_DNS
8889        Animation          = UBBarracks_DNS.UBBarracks_DNS
8890        AnimationMode      = LOOP
8891        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8892      End
8893      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
8894        Model              = UBBarracks_ENS
8895        Animation          = UBBarracks_ENS.UBBarracks_ENS
8896        AnimationMode      = LOOP
8897        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8898      End
8899  
8900      ConditionState       = AWAITING_CONSTRUCTION 
8901        Model              = NONE
8902      End
8903      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
8904      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
8905      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
8906      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
8907      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
8908      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
8909      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
8910      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
8911      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
8912      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
8913      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
8914      AliasConditionState  = SOLD 
8915      AliasConditionState  = SOLD DAMAGED
8916      AliasConditionState  = SOLD REALLYDAMAGED
8917      AliasConditionState  = SOLD NIGHT
8918      AliasConditionState  = SOLD NIGHT DAMAGED
8919      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
8920      AliasConditionState  = SOLD SNOW
8921      AliasConditionState  = SOLD SNOW DAMAGED
8922      AliasConditionState  = SOLD SNOW REALLYDAMAGED
8923      AliasConditionState  = SOLD NIGHT SNOW
8924      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
8925      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
8926      AliasConditionState  = GARRISONED SOLD 
8927      AliasConditionState  = GARRISONED SOLD DAMAGED
8928      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
8929      AliasConditionState  = GARRISONED SOLD NIGHT
8930      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
8931      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
8932      AliasConditionState  = GARRISONED SOLD SNOW
8933      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
8934      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
8935      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
8936      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
8937      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
8938      ;**************************************************************************************************************************
8939    End
8940    ; ------------ construction-zone fence -----------------
8941    Draw = W3DModelDraw ModuleTag_02
8942    AnimationsRequirePower = No
8943      DefaultConditionState
8944        Model           = None
8945        TransitionKey   = DOWN_DEFAULT
8946      End
8947      ConditionState    = NIGHT
8948        Model           = None
8949        TransitionKey   = DOWN_DEFAULT
8950      End
8951      ConditionState    = SNOW
8952        Model           = None
8953        TransitionKey   = DOWN_DEFAULT
8954      End
8955      ConditionState    = SNOW NIGHT
8956        Model           = None
8957        TransitionKey   = DOWN_DEFAULT
8958      End
8959      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8960        Model           = UBBarracks_A4
8961        Animation       = UBBarracks_A4.UBBarracks_A4
8962        AnimationMode   = MANUAL
8963        Flags           = START_FRAME_LAST
8964        TransitionKey   = UP_DAY
8965      End
8966      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8967        Model           = UBBarracks_A4N
8968        Animation       = UBBarracks_A4N.UBBarracks_A4N
8969        AnimationMode   = MANUAL
8970        Flags           = START_FRAME_LAST
8971        TransitionKey   = UP_NIGHT
8972      End
8973      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8974        Model           = UBBarracks_A4S
8975        Animation       = UBBarracks_A4S.UBBarracks_A4S
8976        AnimationMode   = MANUAL
8977        Flags           = START_FRAME_LAST
8978        TransitionKey   = UP_SNOW
8979      End
8980      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8981        Model           = UBBarracks_A4SN
8982        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
8983        AnimationMode   = MANUAL
8984        Flags           = START_FRAME_LAST
8985        TransitionKey   = UP_SNOWNIGHT
8986      End
8987      TransitionState   = DOWN_DEFAULT UP_DAY
8988        Model           = UBBarracks_A4
8989        Animation       = UBBarracks_A4.UBBarracks_A4
8990        AnimationMode   = ONCE
8991        AnimationSpeedFactorRange = 1.0 1.0
8992        Flags           = START_FRAME_FIRST
8993      End
8994      TransitionState   = DOWN_DEFAULT UP_NIGHT
8995        Model           = UBBarracks_A4N
8996        Animation       = UBBarracks_A4N.UBBarracks_A4N
8997        AnimationMode   = ONCE
8998        AnimationSpeedFactorRange = 1.0 1.0
8999        Flags           = START_FRAME_FIRST
9000      End
9001      TransitionState   = DOWN_DEFAULT UP_SNOW
9002        Model           = UBBarracks_A4S
9003        Animation       = UBBarracks_A4S.UBBarracks_A4S
9004        AnimationMode   = ONCE
9005        AnimationSpeedFactorRange = 1.0 1.0
9006        Flags           = START_FRAME_FIRST
9007      End
9008      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9009        Model           = UBBarracks_A4SN
9010        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
9011        AnimationMode   = ONCE
9012        AnimationSpeedFactorRange = 1.0 1.0
9013        Flags           = START_FRAME_FIRST
9014      End
9015      TransitionState   = UP_DAY DOWN_DEFAULT
9016        Model           = UBBarracks_A4
9017        Animation       = UBBarracks_A4.UBBarracks_A4
9018        AnimationMode   = ONCE_BACKWARDS
9019        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9020        Flags           = START_FRAME_LAST
9021      End
9022      TransitionState   = UP_NIGHT DOWN_DEFAULT
9023        Model           = UBBarracks_A4N
9024        Animation       = UBBarracks_A4N.UBBarracks_A4N
9025        AnimationMode   = ONCE_BACKWARDS
9026        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9027        Flags           = START_FRAME_LAST
9028      End
9029      TransitionState   = UP_SNOW DOWN_DEFAULT
9030        Model           = UBBarracks_A4S
9031        Animation       = UBBarracks_A4S.UBBarracks_A4S
9032        AnimationMode   = ONCE_BACKWARDS
9033        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9034        Flags           = START_FRAME_LAST
9035      End
9036      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9037        Model           = UBBarracks_A4SN
9038        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
9039        AnimationMode   = ONCE_BACKWARDS
9040        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9041        Flags           = START_FRAME_LAST
9042      End
9043    End
9044  
9045    ; ------------ under-construction scaffolding -----------------
9046    Draw = W3DModelDraw ModuleTag_03
9047    AnimationsRequirePower = No
9048      MinLODRequired = MEDIUM
9049      DefaultConditionState
9050        Model           = None
9051        TransitionKey   = DOWN_DEFAULT
9052      End
9053      ConditionState    = NIGHT
9054        Model           = None
9055        TransitionKey   = DOWN_DEFAULT
9056      End
9057      ConditionState    = SNOW
9058        Model           = None
9059        TransitionKey   = DOWN_DEFAULT
9060      End
9061      ConditionState    = SNOW NIGHT
9062        Model           = None
9063        TransitionKey   = DOWN_DEFAULT
9064      End
9065      ConditionState    = PARTIALLY_CONSTRUCTED
9066        Model           = UBBarracks_A6
9067        Animation       = UBBarracks_A6.UBBarracks_A6
9068        AnimationMode   = MANUAL
9069        Flags           = START_FRAME_LAST
9070        TransitionKey   = UP_DAY
9071        ParticleSysBone = Dust01 BuildingDust
9072        ParticleSysBone = Smoke01 BuildUpSmoke
9073        ParticleSysBone = Smoke02 BuildUpSmoke
9074        ParticleSysBone = Smoke03 BuildUpSmoke
9075        ParticleSysBone = Smoke04 BuildUpSmoke
9076        ParticleSysBone = Smoke05 BuildUpSmoke
9077        ParticleSysBone = Smoke06 BuildUpSmoke
9078      End
9079      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
9080        Model           = UBBarracks_A6N
9081        Animation       = UBBarracks_A6N.UBBarracks_A6N
9082        AnimationMode   = MANUAL
9083        Flags           = START_FRAME_LAST
9084        TransitionKey   = UP_NIGHT
9085        ParticleSysBone = Dust01 BuildingDust
9086        ParticleSysBone = Smoke01 BuildUpSmoke
9087        ParticleSysBone = Smoke02 BuildUpSmoke
9088        ParticleSysBone = Smoke03 BuildUpSmoke
9089        ParticleSysBone = Smoke04 BuildUpSmoke
9090        ParticleSysBone = Smoke05 BuildUpSmoke
9091        ParticleSysBone = Smoke06 BuildUpSmoke
9092      End
9093      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
9094        Model           = UBBarracks_A6S
9095        Animation       = UBBarracks_A6S.UBBarracks_A6S
9096        AnimationMode   = MANUAL
9097        Flags           = START_FRAME_LAST
9098        TransitionKey   = UP_SNOW
9099        ParticleSysBone = Dust01 BuildingSnowDust
9100        ParticleSysBone = Smoke01 BuildUpSnowSmoke
9101        ParticleSysBone = Smoke02 BuildUpSnowSmoke
9102        ParticleSysBone = Smoke03 BuildUpSnowSmoke
9103        ParticleSysBone = Smoke04 BuildUpSnowSmoke
9104        ParticleSysBone = Smoke05 BuildUpSnowSmoke
9105        ParticleSysBone = Smoke06 BuildUpSnowSmoke
9106      End
9107      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
9108        Model           = UBBarracks_A6SN
9109        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
9110        AnimationMode   = MANUAL
9111        Flags           = START_FRAME_LAST
9112        TransitionKey   = UP_SNOWNIGHT
9113        ParticleSysBone = Dust01 BuildingNightSnowDust
9114        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
9115        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
9116        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
9117        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
9118        ParticleSysBone = Smoke05 BuildUpNightSnowSmoke
9119        ParticleSysBone = Smoke06 BuildUpNightSnowSmoke
9120      End
9121      TransitionState   = DOWN_DEFAULT UP_DAY
9122       Model            = UBBarracks_A6
9123        Animation       = UBBarracks_A6.UBBarracks_A6
9124        AnimationMode   = ONCE
9125        AnimationSpeedFactorRange = 1.0 1.0
9126        Flags           = START_FRAME_FIRST
9127      End
9128      TransitionState   = DOWN_DEFAULT UP_NIGHT
9129       Model            = UBBarracks_A6N
9130        Animation       = UBBarracks_A6N.UBBarracks_A6N
9131        AnimationMode   = ONCE
9132        AnimationSpeedFactorRange = 1.0 1.0
9133        Flags           = START_FRAME_FIRST
9134      End
9135      TransitionState   = DOWN_DEFAULT UP_SNOW
9136       Model            = UBBarracks_A6S
9137        Animation       = UBBarracks_A6S.UBBarracks_A6S
9138        AnimationMode   = ONCE
9139        AnimationSpeedFactorRange = 1.0 1.0
9140        Flags           = START_FRAME_FIRST
9141      End
9142      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9143       Model            = UBBarracks_A6SN
9144        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
9145        AnimationMode   = ONCE
9146        AnimationSpeedFactorRange = 1.0 1.0
9147        Flags           = START_FRAME_FIRST
9148      End
9149      TransitionState   = UP_DAY DOWN_DEFAULT
9150        Model           = UBBarracks_A6
9151        Animation       = UBBarracks_A6.UBBarracks_A6
9152        AnimationMode   = ONCE_BACKWARDS
9153        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9154        Flags           = START_FRAME_LAST
9155      End
9156      TransitionState   = UP_NIGHT DOWN_DEFAULT
9157        Model           = UBBarracks_A6N
9158        Animation       = UBBarracks_A6N.UBBarracks_A6N
9159        AnimationMode   = ONCE_BACKWARDS
9160        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9161        Flags           = START_FRAME_LAST
9162      End
9163      TransitionState   = UP_SNOW DOWN_DEFAULT
9164        Model           = UBBarracks_A6S
9165        Animation       = UBBarracks_A6S.UBBarracks_A6S
9166        AnimationMode   = ONCE_BACKWARDS
9167        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9168        Flags           = START_FRAME_LAST
9169      End
9170      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9171        Model           = UBBarracks_A6SN
9172        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
9173        AnimationMode   = ONCE_BACKWARDS
9174        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9175        Flags           = START_FRAME_LAST
9176      End
9177    End
9178  
9179    PlacementViewAngle = -135
9180  
9181    ; ***DESIGN parameters ***
9182    DisplayName      = OBJECT:Barracks
9183    Side             = GLAStealthGeneral
9184    EditorSorting    = STRUCTURE
9185    Prerequisites
9186      Object = Slth_GLACommandCenter
9187    End
9188    BuildCost        = 125
9189    BuildTime        = 5.0           ; in seconds
9190    EnergyProduction = 0
9191    CommandSet       = FakeGLABarracksCommandSet
9192    VisionRange      = 200.0           ; Shroud clearing distance
9193    ShroudClearingRange = 200
9194  
9195    WeaponSet
9196      Conditions          = None 
9197      Weapon = PRIMARY SuicideWeapon
9198      AutoChooseSources = PRIMARY None
9199    End
9200  
9201    ArmorSet
9202      Conditions      = None
9203      Armor           = StructureArmor
9204      DamageFX        = StructureDamageFXNoShake
9205    End
9206    ExperienceValue     = 25 25 25 25  ; Experience point value at each level
9207  
9208    ; *** AUDIO Parameters ***
9209    VoiceSelect = BarracksGLASelect
9210    SoundOnDamaged        = BuildingDamagedStateLight
9211    SoundOnReallyDamaged  = BuildingDestroy
9212  
9213    UnitSpecificSounds
9214      UnderConstruction     = UnderConstructionLoop
9215    End
9216  
9217    ; *** ENGINEERING Parameters ***
9218    RadarPriority   = STRUCTURE
9219    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE
9220    Body            = StructureBody ModuleTag_04
9221      MaxHealth     = 125.0
9222      InitialHealth = 125.0
9223  
9224      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
9225      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
9226      SubdualDamageCap = 325
9227      SubdualDamageHealRate = 500
9228      SubdualDamageHealAmount = 100
9229    End
9230  
9231    Behavior = AIUpdateInterface ModuleTag_06
9232      AutoAcquireEnemiesWhenIdle = No
9233    End
9234  
9235    Behavior        = CreateObjectDie ModuleTag_08
9236      CreationList  = OCL_LargeStructureDebris
9237    End
9238    Behavior        = FXListDie ModuleTag_09
9239      DeathFX       = FX_StructureSmallDeath
9240    End
9241  
9242    Behavior = ProductionUpdate ModuleTag_10
9243      ; nothing
9244    End
9245  
9246    Behavior = FlammableUpdate ModuleTag_11
9247      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
9248      AflameDamageAmount = 5       ; taking this much damage...
9249      AflameDamageDelay = 500       ; this often.
9250    End
9251  
9252    Behavior = TransitionDamageFX ModuleTag_12
9253      ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS-------------------
9254      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
9255      ;---------------------------------------------------------------------------------------
9256      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
9257      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
9258      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
9259    End
9260  
9261    Behavior = SlowDeathBehavior ModuleTag_13
9262      ExemptStatus = UNDER_CONSTRUCTION
9263      DestructionDelay = 0
9264      Weapon = FINAL FakeStructureDetonationWeapon
9265    End
9266    Behavior = DestroyDie ModuleTag_SlowDeathException
9267      RequiredStatus = UNDER_CONSTRUCTION
9268    End
9269  
9270    Behavior = ReplaceObjectUpgrade ModuleTag_14
9271      ReplaceObject = Slth_GLABarracks
9272      TriggeredBy = Upgrade_BecomeRealGLABarracks
9273    End
9274  
9275    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
9276      ConditionFlag = GARRISONED
9277      TriggeredBy   = Upgrade_GLAFortifiedStructure
9278    End
9279  
9280    Behavior = StealthUpdate ModuleStealth_09
9281      StealthDelay                = 2500 ; msec
9282      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
9283      InnateStealth               = No ;Requires upgrade first
9284      OrderIdleEnemiesToAttackMeUponReveal  = Yes
9285    End
9286    Behavior = StealthUpgrade ModuleTag_15
9287      TriggeredBy = Upgrade_GLACamoNetting
9288    END
9289  
9290    Geometry            = BOX
9291    GeometryMajorRadius = 42.0
9292    GeometryMinorRadius = 52.0
9293    GeometryHeight      = 20.0
9294    GeometryIsSmall     = No
9295    FactoryExitWidth    = 25 
9296    Shadow          = SHADOW_VOLUME
9297    ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure.
9298    ShadowSizeX = 120
9299    ShadowSizeY = 110
9300    BuildCompletion = PLACED_BY_PLAYER
9301  
9302  End
9303  
9304  ;------------------------------------------------------------------------------
9305  ObjectReskin Slth_GLAHoleBarracks Slth_GLAHole
9306    Draw                     = W3DModelDraw ModuleTag_01
9307      OkToChangeModelColor   = Yes
9308      ConditionState         = NONE
9309        Model                = UBHole
9310      End
9311      ConditionState         = DAMAGED
9312        Model                = UBHole_D
9313        ParticleSysBone      = Smoke01 SteamVent
9314      End
9315      ConditionState         = REALLYDAMAGED
9316        Model                = UBHole_E
9317        ParticleSysBone      = Smoke01 SteamVent
9318        ParticleSysBone      = Smoke02 SteamVent
9319        ParticleSysBone      = Fire01 GLAPowerPlantFlame
9320        ParticleSysBone      = Fire02 GLAPowerPlantFlame
9321        ParticleSysBone      = Fire03 GLAPowerPlantFlame
9322      End
9323    End
9324    Draw                     = W3DModelDraw ModuleTag_02
9325      OkToChangeModelColor   = Yes
9326      ConditionState         = NONE
9327        Model                = UBBarracks_R
9328        ParticleSysBone      = FLame01 FireSmallContinuous
9329        ParticleSysBone      = Flame02 FireSmallContinuous
9330        ParticleSysBone      = Smoke01 SmolderingSmoke
9331        ParticleSysBone      = Smoke02 SmolderingSmoke
9332        ParticleSysBone      = Smoke04 SmolderingSmoke
9333        ParticleSysBone      = Smoke05 SmolderingSmoke
9334      End
9335      ConditionState         = DAMAGED REALLYDAMAGED
9336        Model                = UBBarracks_R
9337        ParticleSysBone      = FLame01 FireSmallContinuous
9338        ParticleSysBone      = Flame02 FireSmallContinuous
9339        ParticleSysBone      = Smoke01 SmolderingSmoke
9340        ParticleSysBone      = Smoke02 SmolderingSmoke
9341        ParticleSysBone      = Smoke04 SmolderingSmoke
9342        ParticleSysBone      = Smoke05 SmolderingSmoke
9343      End
9344    End
9345  End
9346  
9347  
9348  
9349  
9350  ;------------------------------------------------------------------------------
9351  ;GLA Arms Dealer
9352  Object Slth_GLAArmsDealer
9353  
9354    UpgradeCameo1 = Upgrade_GLACamoNetting
9355  
9356    ; *** ART Parameters ***
9357    SelectPortrait         = SUArmsDealer_L
9358    ButtonImage            = SUArmsDealer
9359  
9360  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
9361  
9362    ; ----------------- Main Building -------------------
9363    Draw = W3DModelDraw ModuleTag_01
9364      OkToChangeModelColor = Yes
9365      ; day
9366      ConditionState       = NONE
9367        Model              = UBArmDeal
9368        Animation          = UBArmDeal.UBArmDeal
9369        AnimationMode      = LOOP
9370        ParticleSysBone    = Smoke01 SmolderingSmoke
9371        ParticleSysBone    = Steam01 SteamVent
9372      End
9373      ;damaged
9374      ConditionState    = DAMAGED
9375        Model           = UBArmDeal_D
9376        Animation       = UBArmDeal_D.UBArmDeal_D
9377        AnimationMode   = LOOP
9378        ParticleSysBone = Smoke01 SmolderingSmoke
9379  ;     ParticleSysBone = Smoke02 SmolderingSmoke
9380  ;     ParticleSysBone = Smoke03 SmolderingSmoke
9381  ;     ParticleSysBone = Smoke04 SmolderingSmoke
9382  ;     ParticleSysBone = Smoke05 SmolderingSmoke
9383  ;     ParticleSysBone = Smoke06 SmolderingSmoke
9384  ;     ParticleSysBone = Fire02 SmolderingFire
9385  ;     ParticleSysBone = Fire03 SmolderingFire
9386  ;     ParticleSysBone = Fire04 SmolderingFire
9387  ;     ParticleSysBone = Fire05 SmolderingFire
9388  ;     ParticleSysBone = Fire06 SmolderingFire
9389      End
9390      ;really damaged
9391      ConditionState    = REALLYDAMAGED RUBBLE
9392        Model           = UBArmDeal_E
9393        Animation       = UBArmDeal_E.UBArmDeal_E
9394        AnimationMode   = LOOP
9395        ParticleSysBone = Smoke01 SmolderingSmoke
9396  ;     ParticleSysBone = Smoke02 SmolderingSmoke
9397  ;     ParticleSysBone = Smoke03 SmolderingSmoke
9398  ;     ParticleSysBone = Smoke04 SmolderingSmoke
9399  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
9400  ;     ParticleSysBone = Smoke06 SmolderingSmoke
9401  ;     ParticleSysBone = Smoke07 SmolderingSmoke
9402  ;     ParticleSysBone = Fire02 SmolderingFire
9403  ;     ParticleSysBone = Fire03 SmolderingFire
9404  ;     ParticleSysBone = Fire04 SmolderingFire
9405  ;     ParticleSysBone = Fire05 FireFactionLarge
9406  ;     ParticleSysBone = Fire06 SmolderingFire
9407  ;     ParticleSysBone = Fire07 SmolderingFire
9408       End
9409      ConditionState         = GARRISONED
9410        Model                = UBArmDlEG
9411        ParticleSysBone      = Smoke01 SmolderingSmoke
9412        Animation            = UBArmDlEG.UBArmDlEG
9413        AnimationMode        = LOOP
9414      End
9415      ConditionState         = DAMAGED GARRISONED
9416        Model                = UBArmDlEG_D
9417        ParticleSysBone      = Smoke01 SmolderingSmoke
9418        Animation            = UBArmDlEG_D.UBArmDlEG_D
9419        AnimationMode        = LOOP
9420      End
9421      ConditionState         = REALLYDAMAGED GARRISONED
9422        Model                = UBArmDlEG_E
9423        ParticleSysBone      = Smoke01 SmolderingSmoke
9424        Animation            = UBArmDlEG_E.UBArmDlEG_E
9425        AnimationMode        = LOOP
9426      End
9427  
9428      ; snow
9429      ConditionState       = SNOW
9430        Model              = UBArmDeal_S
9431        Animation          = UBArmDeal_S.UBArmDeal_S
9432        AnimationMode      = LOOP
9433        ParticleSysBone    = Smoke01 SmolderingSmoke
9434        ParticleSysBone    = Steam01 SteamVent
9435      End
9436      ;damaged
9437      ConditionState    = DAMAGED SNOW
9438        Model           = UBArmDeal_DS
9439        Animation       = UBArmDeal_DS.UBArmDeal_DS
9440        AnimationMode   = LOOP
9441        ParticleSysBone = Smoke01 SmolderingSmoke
9442  ;     ParticleSysBone = Smoke02 SmolderingSmoke
9443  ;     ParticleSysBone = Smoke03 SmolderingSmoke
9444  ;     ParticleSysBone = Smoke04 SmolderingSmoke
9445  ;     ParticleSysBone = Smoke05 SmolderingSmoke
9446  ;     ParticleSysBone = Smoke06 SmolderingSmoke
9447  ;     ParticleSysBone = Fire02 SmolderingFire
9448  ;     ParticleSysBone = Fire03 SmolderingFire
9449  ;     ParticleSysBone = Fire04 SmolderingFire
9450  ;     ParticleSysBone = Fire05 SmolderingFire
9451  ;     ParticleSysBone = Fire06 SmolderingFire
9452      End
9453      ;really damaged
9454      ConditionState    = REALLYDAMAGED RUBBLE SNOW
9455        Model           = UBArmDeal_ES
9456        Animation       = UBArmDeal_ES.UBArmDeal_ES
9457        AnimationMode   = LOOP
9458        ParticleSysBone = Smoke01 SmolderingSmoke
9459  ;     ParticleSysBone = Smoke02 SmolderingSmoke
9460  ;     ParticleSysBone = Smoke03 SmolderingSmoke
9461  ;     ParticleSysBone = Smoke04 SmolderingSmoke
9462  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
9463  ;     ParticleSysBone = Smoke06 SmolderingSmoke
9464  ;     ParticleSysBone = Smoke07 SmolderingSmoke
9465  ;     ParticleSysBone = Fire02 SmolderingFire
9466  ;     ParticleSysBone = Fire03 SmolderingFire
9467  ;     ParticleSysBone = Fire04 SmolderingFire
9468  ;     ParticleSysBone = Fire05 FireFactionLarge
9469  ;     ParticleSysBone = Fire06 SmolderingFire
9470  ;     ParticleSysBone = Fire07 SmolderingFire
9471       End
9472      ConditionState         = GARRISONED SNOW
9473        Model                = UBArmDlEG_S
9474        ParticleSysBone      = Smoke01 SmolderingSmoke
9475        Animation            = UBArmDlEG_S.UBArmDlEG_S
9476        AnimationMode        = LOOP
9477      End
9478      ConditionState         = DAMAGED GARRISONED SNOW
9479        Model                = UBArmDlEG_DS
9480        ParticleSysBone      = Smoke01 SmolderingSmoke
9481        Animation            = UBArmDlEG_DS.UBArmDlEG_DS
9482        AnimationMode        = LOOP
9483      End
9484      ConditionState         = REALLYDAMAGED GARRISONED SNOW
9485        Model                = UBArmDlEG_ES
9486        ParticleSysBone      = Smoke01 SmolderingSmoke
9487        Animation            = UBArmDlEG_ES.UBArmDlEG_ES
9488        AnimationMode        = LOOP
9489      End
9490  
9491      ; night
9492      ConditionState    = NIGHT
9493        Model           = UBArmDeal_N
9494        Animation       = UBArmDeal_N.UBArmDeal_N
9495        AnimationMode   = LOOP
9496        ParticleSysBone = Smoke01 SmolderingSmoke
9497        ParticleSysBone = Steam01 SteamVent
9498      End
9499      ConditionState    = DAMAGED NIGHT
9500        Model           = UBArmDeal_DN
9501        Animation       = UBArmDeal_DN.UBArmDeal_DN
9502        AnimationMode   = LOOP
9503        ParticleSysBone = Smoke01 SmolderingSmoke
9504      End
9505      ConditionState    = REALLYDAMAGED RUBBLE NIGHT
9506        Model           = UBArmDeal_EN
9507        Animation       = UBArmDeal_EN.UBArmDeal_EN
9508        AnimationMode   = LOOP
9509        ParticleSysBone = Smoke01 SmolderingSmoke
9510      End
9511      ConditionState         = GARRISONED NIGHT
9512        Model                = UBArmDlEG_N
9513        ParticleSysBone      = Smoke01 SmolderingSmoke
9514        Animation            = UBArmDlEG_N.UBArmDlEG_N
9515        AnimationMode        = LOOP
9516      End
9517      ConditionState         = DAMAGED GARRISONED NIGHT
9518        Model                = UBArmDlEG_DN
9519        ParticleSysBone      = Smoke01 SmolderingSmoke
9520        Animation            = UBArmDlEG_DN.UBArmDlEG_DN
9521        AnimationMode        = LOOP
9522      End
9523      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
9524        Model                = UBArmDlEG_EN
9525        ParticleSysBone      = Smoke01 SmolderingSmoke
9526        Animation            = UBArmDlEG_EN.UBArmDlEG_EN
9527        AnimationMode        = LOOP
9528      End
9529       
9530       ; night snow
9531      ConditionState    = NIGHT SNOW
9532        Model           = UBArmDeal_NS
9533        Animation       = UBArmDeal_NS.UBArmDeal_NS
9534        AnimationMode   = LOOP
9535        ParticleSysBone = Smoke01 SmolderingSmoke
9536        ParticleSysBone = Steam01 SteamVent
9537      End
9538      ConditionState    = DAMAGED NIGHT SNOW
9539        Model           = UBArmDeal_DNS
9540        Animation       = UBArmDeal_DNS.UBArmDeal_DNS
9541        AnimationMode   = LOOP
9542        ParticleSysBone = Smoke01 SmolderingSmoke
9543      End
9544      ConditionState    = REALLYDAMAGED RUBBLE NIGHT SNOW
9545        Model           = UBArmDeal_ENS
9546        Animation       = UBArmDeal_ENS.UBArmDeal_ENS
9547        AnimationMode   = LOOP
9548        ParticleSysBone = Smoke01 SmolderingSmoke
9549      End
9550      ConditionState         = GARRISONED NIGHT SNOW
9551        Model                = UBArmDlEG_NS
9552        ParticleSysBone      = Smoke01 SmolderingSmoke
9553        Animation            = UBArmDlEG_NS.UBArmDlEG_NS
9554        AnimationMode        = LOOP
9555      End
9556      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
9557        Model                = UBArmDlEG_DNS
9558        ParticleSysBone      = Smoke01 SmolderingSmoke
9559        Animation            = UBArmDlEG_DNS.UBArmDlEG_DNS
9560        AnimationMode        = LOOP
9561      End
9562      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
9563        Model                = UBArmDlEG_ENS
9564        ParticleSysBone      = Smoke01 SmolderingSmoke
9565        Animation            = UBArmDlEG_ENS.UBArmDlEG_ENS
9566        AnimationMode        = LOOP
9567      End
9568      
9569      ;**************************************************************************************************************************
9570      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
9571      ;for this draw module
9572      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9573        Model              = UBArmDeal
9574        Animation          = UBArmDeal.UBArmDeal
9575        AnimationMode      = LOOP
9576        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9577      End
9578      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9579        Model              = UBArmDeal_D
9580        Animation          = UBArmDeal_D.UBArmDeal_D
9581        AnimationMode      = LOOP
9582        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9583      End
9584      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
9585        Model              = UBArmDeal_E
9586        Animation          = UBArmDeal_E.UBArmDeal_E
9587        AnimationMode      = LOOP
9588        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9589      End
9590      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9591        Model              = UBArmDeal_N
9592        Animation          = UBArmDeal_N.UBArmDeal_N
9593        AnimationMode      = LOOP
9594        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9595      End
9596      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
9597        Model              = UBArmDeal_DN
9598        Animation          = UBArmDeal_DN.UBArmDeal_DN
9599        AnimationMode      = LOOP
9600        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9601      End
9602      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
9603        Model              = UBArmDeal_EN
9604        Animation          = UBArmDeal_EN.UBArmDeal_EN
9605        AnimationMode      = LOOP
9606        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9607      End
9608      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9609        Model              = UBArmDeal_S
9610        Animation          = UBArmDeal_S.UBArmDeal_S
9611        AnimationMode      = LOOP
9612        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9613      End
9614      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
9615        Model              = UBArmDeal_DS
9616        Animation          = UBArmDeal_DS.UBArmDeal_DS
9617        AnimationMode      = LOOP
9618        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9619      End
9620      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
9621        Model              = UBArmDeal_ES
9622        Animation          = UBArmDeal_ES.UBArmDeal_ES
9623        AnimationMode      = LOOP
9624        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9625      End
9626      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
9627        Model              = UBArmDeal_NS
9628        Animation          = UBArmDeal_NS.UBArmDeal_NS
9629        AnimationMode      = LOOP
9630        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9631      End
9632      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
9633        Model              = UBArmDeal_DNS
9634        Animation          = UBArmDeal_DNS.UBArmDeal_DNS
9635        AnimationMode      = LOOP
9636        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9637      End
9638      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
9639        Model              = UBArmDeal_ENS
9640        Animation          = UBArmDeal_ENS.UBArmDeal_ENS
9641        AnimationMode      = LOOP
9642        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9643      End
9644  
9645      ConditionState       = AWAITING_CONSTRUCTION 
9646        Model              = NONE
9647      End
9648      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
9649      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
9650      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
9651      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
9652      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
9653      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
9654      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
9655      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
9656      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
9657      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
9658      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
9659      AliasConditionState  = SOLD 
9660      AliasConditionState  = SOLD DAMAGED
9661      AliasConditionState  = SOLD REALLYDAMAGED
9662      AliasConditionState  = SOLD NIGHT
9663      AliasConditionState  = SOLD NIGHT DAMAGED
9664      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
9665      AliasConditionState  = SOLD SNOW
9666      AliasConditionState  = SOLD SNOW DAMAGED
9667      AliasConditionState  = SOLD SNOW REALLYDAMAGED
9668      AliasConditionState  = SOLD NIGHT SNOW
9669      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
9670      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
9671      AliasConditionState  = GARRISONED SOLD 
9672      AliasConditionState  = GARRISONED SOLD DAMAGED
9673      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
9674      AliasConditionState  = GARRISONED SOLD NIGHT
9675      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
9676      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
9677      AliasConditionState  = GARRISONED SOLD SNOW
9678      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
9679      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
9680      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
9681      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
9682      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
9683      ;**************************************************************************************************************************
9684      
9685   
9686    End
9687    
9688    ; ------------ construction-zone fence -----------------
9689    Draw = W3DModelDraw ModuleTag_02
9690    AnimationsRequirePower = No
9691      DefaultConditionState
9692        Model           = None
9693        TransitionKey   = DOWN_DEFAULT
9694      End
9695      ConditionState    = NIGHT
9696        Model           = None
9697        TransitionKey   = DOWN_DEFAULT
9698      End
9699      ConditionState    = SNOW
9700        Model           = None
9701        TransitionKey   = DOWN_DEFAULT
9702      End
9703      ConditionState    = SNOW NIGHT
9704        Model           = None
9705        TransitionKey   = DOWN_DEFAULT
9706      End
9707      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9708        Model           = UBArmDeal_A4
9709        Animation       = UBArmDeal_A4.UBArmDeal_A4
9710        AnimationMode   = MANUAL
9711        Flags           = START_FRAME_LAST
9712        TransitionKey   = UP_DAY
9713      End
9714      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9715        Model           = UBArmDeal_A4N
9716        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
9717        AnimationMode   = MANUAL
9718        Flags           = START_FRAME_LAST
9719        TransitionKey   = UP_NIGHT
9720      End
9721      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9722        Model           = UBArmDeal_A4S
9723        Animation       = UBArmDeal_A4S.UBArmDeal_A4S
9724        AnimationMode   = MANUAL
9725        Flags           = START_FRAME_LAST
9726        TransitionKey   = UP_SNOW
9727      End
9728      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9729        Model           = UBArmDeal_A4SN
9730        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
9731        AnimationMode   = MANUAL
9732        Flags           = START_FRAME_LAST
9733        TransitionKey   = UP_SNOWNIGHT
9734      End
9735      TransitionState   = DOWN_DEFAULT UP_DAY
9736        Model           = UBArmDeal_A4
9737        Animation       = UBArmDeal_A4.UBArmDeal_A4
9738        AnimationMode   = ONCE
9739        AnimationSpeedFactorRange = 1.0 1.0
9740        Flags           = START_FRAME_FIRST
9741      End
9742      TransitionState   = DOWN_DEFAULT UP_NIGHT
9743        Model           = UBArmDeal_A4N
9744        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
9745        AnimationMode   = ONCE
9746        AnimationSpeedFactorRange = 1.0 1.0
9747        Flags           = START_FRAME_FIRST
9748      End
9749      TransitionState   = DOWN_DEFAULT UP_SNOW
9750        Model           = UBArmDeal_A4S
9751        ; @todo srj -- anim missing
9752        Animation       = UBArmDeal_A4S.UBArmDeal_A4S
9753        AnimationMode   = ONCE
9754        AnimationSpeedFactorRange = 1.0 1.0
9755        Flags           = START_FRAME_FIRST
9756      End
9757      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9758        Model           = UBArmDeal_A4SN
9759        ; @todo srj -- anim missing
9760        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
9761        AnimationMode   = ONCE
9762        AnimationSpeedFactorRange = 1.0 1.0
9763        Flags           = START_FRAME_FIRST
9764      End
9765      TransitionState   = UP_DAY DOWN_DEFAULT
9766        Model           = UBArmDeal_A4
9767        Animation       = UBArmDeal_A4.UBArmDeal_A4
9768        AnimationMode   = ONCE_BACKWARDS
9769        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9770        Flags           = START_FRAME_LAST
9771      End
9772      TransitionState   = UP_NIGHT DOWN_DEFAULT
9773        Model           = UBArmDeal_A4N
9774        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
9775        AnimationMode   = ONCE_BACKWARDS
9776        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9777        Flags           = START_FRAME_LAST
9778      End
9779  
9780      TransitionState   = UP_SNOW DOWN_DEFAULT
9781        Model           = UBArmDeal_A4S
9782        ; @todo srj -- anim missing
9783        Animation       = UBArmDeal_A4S.UBArmDeal_A4S
9784        AnimationMode   = ONCE_BACKWARDS
9785        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9786        Flags           = START_FRAME_LAST
9787      End
9788      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9789        Model           = UBArmDeal_A4SN
9790        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
9791        AnimationMode   = ONCE_BACKWARDS
9792        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9793        Flags           = START_FRAME_LAST
9794      End
9795    End
9796  
9797    ; ------------ under-construction scaffolding -----------------
9798    Draw = W3DModelDraw ModuleTag_03
9799    AnimationsRequirePower = No
9800      MinLODRequired = MEDIUM
9801      DefaultConditionState
9802        Model           = None
9803        TransitionKey   = DOWN_DEFAULT
9804      End
9805      ConditionState    = NIGHT
9806        Model           = None
9807        TransitionKey   = DOWN_DEFAULT
9808      End
9809      ConditionState    = SNOW
9810        Model           = None
9811        TransitionKey   = DOWN_DEFAULT
9812      End
9813      ConditionState    = SNOW NIGHT
9814        Model           = None
9815        TransitionKey   = DOWN_DEFAULT
9816      End
9817      ConditionState    = PARTIALLY_CONSTRUCTED
9818        Model           = UBArmDeal_A6
9819        Animation       = UBArmDeal_A6.UBArmDeal_A6
9820        AnimationMode   = MANUAL
9821        Flags           = START_FRAME_LAST
9822        TransitionKey   = UP_DAY
9823        ParticleSysBone = Dust01 BuildingDust
9824        ParticleSysBone = Smoke01 BuildUpSmoke
9825        ParticleSysBone = Smoke02 BuildUpSmoke
9826        ParticleSysBone = Smoke03 BuildUpSmoke
9827        ParticleSysBone = Smoke04 BuildUpSmoke
9828      End
9829      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
9830        Model           = UBArmDeal_A6N
9831        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
9832        AnimationMode   = MANUAL
9833        Flags           = START_FRAME_LAST
9834        TransitionKey   = UP_NIGHT
9835        ParticleSysBone = Dust01 BuildingDust
9836        ParticleSysBone = Smoke01 BuildUpSmoke
9837        ParticleSysBone = Smoke02 BuildUpSmoke
9838        ParticleSysBone = Smoke03 BuildUpSmoke
9839        ParticleSysBone = Smoke04 BuildUpSmoke
9840      End
9841      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
9842        Model           = UBArmDeal_A6S
9843        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
9844        AnimationMode   = MANUAL
9845        Flags           = START_FRAME_LAST
9846        TransitionKey   = UP_SNOW
9847        ParticleSysBone = Dust01 BuildingSnowDust
9848        ParticleSysBone = Smoke01 BuildUpSnowSmoke
9849        ParticleSysBone = Smoke02 BuildUpSnowSmoke
9850        ParticleSysBone = Smoke03 BuildUpSnowSmoke
9851        ParticleSysBone = Smoke04 BuildUpSnowSmoke
9852      End
9853      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
9854        Model           = UBArmDeal_A6SN
9855        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
9856        AnimationMode   = MANUAL
9857        Flags           = START_FRAME_LAST
9858        TransitionKey   = UP_SNOWNIGHT
9859        ParticleSysBone = Dust01 BuildingNightSnowDust
9860        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
9861        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
9862        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
9863        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
9864      End
9865      TransitionState   = DOWN_DEFAULT UP_DAY
9866       Model            = UBArmDeal_A6
9867        Animation       = UBArmDeal_A6.UBArmDeal_A6
9868        AnimationMode   = ONCE
9869        AnimationSpeedFactorRange = 1.0 1.0
9870        Flags           = START_FRAME_FIRST
9871      End
9872      TransitionState   = DOWN_DEFAULT UP_NIGHT
9873       Model            = UBArmDeal_A6N
9874        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
9875        AnimationMode   = ONCE
9876        AnimationSpeedFactorRange = 1.0 1.0
9877        Flags           = START_FRAME_FIRST
9878      End
9879      TransitionState   = DOWN_DEFAULT UP_SNOW
9880       Model            = UBArmDeal_A6S
9881        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
9882        AnimationMode   = ONCE
9883        AnimationSpeedFactorRange = 1.0 1.0
9884        Flags           = START_FRAME_FIRST
9885      End
9886      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9887       Model            = UBArmDeal_A6SN
9888        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
9889        AnimationMode   = ONCE
9890        AnimationSpeedFactorRange = 1.0 1.0
9891        Flags           = START_FRAME_FIRST
9892      End
9893      TransitionState   = UP_DAY DOWN_DEFAULT
9894        Model           = UBArmDeal_A6
9895        Animation       = UBArmDeal_A6.UBArmDeal_A6
9896        AnimationMode   = ONCE_BACKWARDS
9897        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9898        Flags           = START_FRAME_LAST
9899      End
9900      TransitionState   = UP_NIGHT DOWN_DEFAULT
9901        Model           = UBArmDeal_A6N
9902        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
9903        AnimationMode   = ONCE_BACKWARDS
9904        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9905        Flags           = START_FRAME_LAST
9906      End
9907      TransitionState   = UP_SNOW DOWN_DEFAULT
9908        Model           = UBArmDeal_A6S
9909        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
9910        AnimationMode   = ONCE_BACKWARDS
9911        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9912        Flags           = START_FRAME_LAST
9913      End
9914      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9915        Model           = UBArmDeal_A6SN
9916        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
9917        AnimationMode   = ONCE_BACKWARDS
9918        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9919        Flags           = START_FRAME_LAST
9920      End
9921    End
9922  
9923    ; ----------------- the door -----------------------
9924    Draw = W3DModelDraw ModuleTag_04
9925      DefaultConditionState
9926        Model           = UBArmDeal_A7
9927        Animation       = UBArmDeal_A7.UBArmDeal_A7
9928        AnimationMode   = MANUAL
9929        Flags           = START_FRAME_FIRST
9930      End
9931      AliasConditionState = NIGHT 
9932      AliasConditionState = SNOW
9933      AliasConditionState = NIGHT SNOW
9934      
9935      ConditionState    = DAMAGED
9936        Model           = UBArmDeal_A7D
9937        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
9938        AnimationMode   = MANUAL
9939        Flags           = START_FRAME_FIRST
9940      End
9941      AliasConditionState = NIGHT DAMAGED
9942      AliasConditionState = SNOW DAMAGED
9943      AliasConditionState = SNOW NIGHT DAMAGED
9944  
9945      ConditionState    = REALLYDAMAGED RUBBLE
9946        Model           = UBArmDeal_A7E
9947        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
9948        AnimationMode   = MANUAL
9949        Flags           = START_FRAME_FIRST
9950      End
9951      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
9952      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
9953      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
9954      
9955      
9956      
9957      ConditionState    = DOOR_1_OPENING
9958        Model           = UBArmDeal_A7
9959        Animation       = UBArmDeal_A7.UBArmDeal_A7
9960        AnimationMode   = ONCE
9961        Flags           = START_FRAME_FIRST
9962      End   
9963      AliasConditionState = NIGHT DOOR_1_OPENING
9964      AliasConditionState = SNOW DOOR_1_OPENING
9965      AliasConditionState = SNOW NIGHT DOOR_1_OPENING
9966      
9967      ConditionState    = DOOR_1_OPENING DAMAGED
9968        Model           = UBArmDeal_A7D
9969        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
9970        AnimationMode   = ONCE
9971        Flags           = START_FRAME_FIRST
9972      End   
9973      AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED
9974      AliasConditionState = SNOW DOOR_1_OPENING DAMAGED
9975      AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED
9976      
9977      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
9978        Model           = UBArmDeal_A7E
9979        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
9980        AnimationMode   = ONCE
9981        Flags           = START_FRAME_FIRST
9982      End
9983      AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
9984      AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
9985      AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
9986      
9987      
9988      
9989      ConditionState    = DOOR_1_CLOSING
9990        Model           = UBArmDeal_A7
9991        Animation       = UBArmDeal_A7.UBArmDeal_A7
9992        AnimationMode   = ONCE_BACKWARDS
9993        Flags           = START_FRAME_LAST
9994      End   
9995      AliasConditionState = NIGHT DOOR_1_CLOSING
9996      AliasConditionState = SNOW DOOR_1_CLOSING
9997      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING
9998      
9999      ConditionState    = DOOR_1_CLOSING DAMAGED
10000        Model           = UBArmDeal_A7D
10001        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
10002        AnimationMode   = ONCE_BACKWARDS
10003        Flags           = START_FRAME_LAST
10004      End   
10005      AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED
10006      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED
10007      AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED
10008      
10009      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10010        Model           = UBArmDeal_A7E
10011        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
10012        AnimationMode   = ONCE_BACKWARDS
10013        Flags           = START_FRAME_LAST
10014      End   
10015      AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10016      AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10017      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10018      
10019      
10020      
10021      ConditionState    = DOOR_1_WAITING_OPEN
10022        Model           = UBArmDeal_A7
10023        Animation       = UBArmDeal_A7.UBArmDeal_A7
10024        AnimationMode   = MANUAL
10025        Flags           = START_FRAME_LAST
10026      End   
10027      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
10028      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
10029      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN
10030      
10031      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
10032        Model           = UBArmDeal_A7D
10033        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
10034        AnimationMode   = MANUAL
10035        Flags           = START_FRAME_LAST
10036      End   
10037      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED
10038      AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED
10039      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED
10040      
10041      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10042        Model           = UBArmDeal_A7E
10043        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
10044        AnimationMode   = MANUAL
10045        Flags           = START_FRAME_LAST
10046      End
10047      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10048      AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10049      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10050         
10051      ;**************************************************************************************************************************
10052      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
10053      ;for this draw module
10054      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10055        Model              = UBArmDeal_A7
10056        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10057      End
10058      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
10059      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
10060      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
10061      
10062      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
10063        Model              = UBArmDeal_A7D
10064        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10065      End
10066      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
10067      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
10068      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
10069      
10070      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
10071        Model              = UBArmDeal_A7E
10072        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10073      End
10074      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
10075      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
10076      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
10077      
10078      ConditionState       = AWAITING_CONSTRUCTION 
10079        Model              = NONE
10080      End
10081      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
10082      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
10083      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
10084      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
10085      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
10086      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
10087      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
10088      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
10089      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
10090      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
10091      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
10092      AliasConditionState  = SOLD DAMAGED
10093      AliasConditionState  = SOLD REALLYDAMAGED
10094      AliasConditionState  = SOLD NIGHT
10095      AliasConditionState  = SOLD NIGHT DAMAGED
10096      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
10097      AliasConditionState  = SOLD SNOW
10098      AliasConditionState  = SOLD SNOW DAMAGED
10099      AliasConditionState  = SOLD SNOW REALLYDAMAGED
10100      AliasConditionState  = SOLD NIGHT SNOW
10101      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
10102      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
10103      ;**************************************************************************************************************************  
10104         
10105         
10106    End
10107    
10108    PlacementViewAngle  = -135
10109    
10110    ; ***DESIGN parameters ***
10111    DisplayName      = OBJECT:ArmsDealer
10112    Side             = GLAStealthGeneral
10113    EditorSorting    = STRUCTURE
10114    Prerequisites
10115      Object = Slth_GLASupplyStash
10116    End
10117    BuildCost        = 2500
10118    BuildTime        = 15.0           ; in seconds
10119    EnergyProduction = 0
10120    CommandSet       = Slth_GLAArmsDealerCommandSet
10121    VisionRange     = 200.0           ; Shroud clearing distance
10122    ShroudClearingRange = 200
10123    ArmorSet
10124      Conditions          = None
10125      Armor               = StructureArmor
10126      DamageFX            = StructureDamageFXNoShake
10127    End
10128    ArmorSet
10129      Conditions        = PLAYER_UPGRADE
10130      Armor             = GLAUpgradedStructureArmor
10131      DamageFX          = StructureDamageFXNoShake
10132    End
10133  
10134    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
10135  
10136    ; *** AUDIO Parameters ***
10137    VoiceSelect = WarFactoryGLASelect
10138    SoundOnDamaged        = BuildingDamagedStateLight
10139    SoundOnReallyDamaged  = BuildingDestroy
10140  
10141    UnitSpecificSounds
10142      UnderConstruction     = UnderConstructionLoop
10143    End
10144  
10145    ; *** ENGINEERING Parameters ***
10146    RadarPriority     = STRUCTURE
10147    KindOf            = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD CAPTURABLE FS_TECHNOLOGY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_FACTORY FS_WARFACTORY
10148    Body              = StructureBody ModuleTag_05
10149      MaxHealth       = 2000.0
10150      InitialHealth   = 2000.0
10151  
10152      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
10153      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
10154      SubdualDamageCap = 2200
10155      SubdualDamageHealRate = 500
10156      SubdualDamageHealAmount = 100
10157    End
10158    
10159    Behavior        = ArmorUpgrade ModuleTag_Armor01
10160      TriggeredBy   = Upgrade_GLAFortifiedStructure
10161    End
10162  
10163    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
10164      ConditionFlag = GARRISONED
10165      TriggeredBy   = Upgrade_GLAFortifiedStructure
10166    End
10167  
10168    Behavior               = RebuildHoleExposeDie ModuleTag_06
10169      HoleName        = GLAHoleArmsDealer
10170      HoleMaxHealth   = 500.0
10171    End 
10172    Behavior             = DestroyDie ModuleTag_07
10173      ;nothing
10174    End
10175    Behavior             = CreateObjectDie ModuleTag_08
10176      CreationList  = OCL_LargeStructureDebris
10177    End
10178    Behavior             = FXListDie ModuleTag_09
10179      DeathFX       = FX_StructureMediumDeath
10180    End
10181    Behavior = ProductionUpdate ModuleTag_10
10182      NumDoorAnimations            = 1
10183      DoorOpeningTime              = 2000  ;in mSeconds
10184      DoorWaitOpenTime             = 3000  ;in mSeconds
10185      DoorCloseTime                = 2000  ;in mSeconds
10186      ConstructionCompleteDuration = 1500  ;in mSeconds
10187    End
10188    Behavior = DefaultProductionExitUpdate ModuleTag_11
10189      UnitCreatePoint   = X: -20.0  Y:-15.0   Z:0.0
10190      NaturalRallyPoint = X: 40.0  Y:-15.0   Z:0.0 ;NaturalRallyPointX must always match GeometryMajorRadius! -ML
10191    End
10192    Behavior = RepairDockUpdate ModuleTag_12
10193      TimeForFullHeal   = 5000   ;(in milliseconds)     
10194      NumberApproachPositions = 5
10195    End
10196  
10197    Behavior = FlammableUpdate ModuleTag_14
10198      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
10199      AflameDamageAmount = 5       ; taking this much damage...
10200      AflameDamageDelay = 500       ; this often.
10201    End
10202  
10203    Behavior = TransitionDamageFX ModuleTag_31
10204      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
10205      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
10206      ;---------------------------------------------------------------------------------------
10207      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
10208      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
10209      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
10210    End
10211  
10212    Behavior = StealthUpdate ModuleStealth_09
10213      StealthDelay                = 2500 ; msec
10214      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
10215      InnateStealth               = No ;Requires upgrade first
10216      OrderIdleEnemiesToAttackMeUponReveal  = Yes
10217    End
10218    Behavior = StealthUpgrade ModuleTag_32
10219      TriggeredBy = Upgrade_GLACamoNetting
10220    END
10221  
10222    Geometry            = BOX
10223    GeometryMajorRadius = 40.0
10224    GeometryMinorRadius = 62.0
10225    GeometryHeight      = 25.0
10226    GeometryIsSmall     = No
10227    FactoryExitWidth    = 25
10228    Shadow              = SHADOW_VOLUME
10229    BuildCompletion     = PLACED_BY_PLAYER
10230  
10231  End
10232  
10233  
10234  ;------------------------------------------------------------------------------
10235  ObjectReskin Slth_GLAHoleArmsDealer Slth_GLAHole
10236    Draw                     = W3DModelDraw ModuleTag_01
10237      OkToChangeModelColor   = Yes
10238      ConditionState         = NONE
10239        Model                = UBHole
10240      End
10241      ConditionState         = DAMAGED
10242        Model                = UBHole_D
10243        ParticleSysBone      = Smoke01 SteamVent
10244      End
10245      ConditionState         = REALLYDAMAGED
10246        Model                = UBHole_E
10247        ParticleSysBone      = Smoke01 SteamVent
10248        ParticleSysBone      = Smoke02 SteamVent
10249        ParticleSysBone      = Fire01 GLAPowerPlantFlame
10250        ParticleSysBone      = Fire02 GLAPowerPlantFlame
10251        ParticleSysBone      = Fire03 GLAPowerPlantFlame
10252      End
10253    End
10254    Draw                     = W3DModelDraw ModuleTag_02
10255      OkToChangeModelColor   = Yes
10256      ConditionState         = NONE
10257        Model                = UBArmDeal_R
10258        ParticleSysBone      = Smoke04 SmolderingSmoke
10259        ParticleSysBone      = Smoke01 SmolderingSmoke
10260        ParticleSysBone      = Smoke03 SmolderingSmoke
10261      End
10262      ConditionState         = DAMAGED REALLYDAMAGED
10263        Model                = UBArmDeal_R
10264        ParticleSysBone      = Smoke04 SmolderingSmoke
10265        ParticleSysBone      = Smoke01 SmolderingSmoke
10266        ParticleSysBone      = Smoke03 SmolderingSmoke
10267      End
10268    End
10269  End
10270  
10271  ;------------------------------------------------------------------------------
10272  ;GLA Arms Dealer
10273  Object Slth_FakeGLAArmsDealer
10274  
10275    UpgradeCameo1 = Upgrade_GLACamoNetting
10276  
10277    ; *** ART Parameters ***
10278    SelectPortrait         = SUArmsDealer_L
10279    ButtonImage            = SUArmsDealer
10280  
10281  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
10282  
10283    ; ----------------- Main Building -------------------
10284    Draw = W3DModelDraw ModuleTag_01
10285      OkToChangeModelColor = Yes
10286      ; day
10287      ConditionState       = NONE
10288        Model              = UBArmDeal
10289        Animation          = UBArmDeal.UBArmDeal
10290        AnimationMode      = LOOP
10291        ParticleSysBone    = Smoke01 SmolderingSmoke
10292        ParticleSysBone    = Steam01 SteamVent
10293      End
10294      ;damaged
10295      ConditionState    = DAMAGED
10296        Model           = UBArmDeal_D
10297        Animation       = UBArmDeal_D.UBArmDeal_D
10298        AnimationMode   = LOOP
10299        ParticleSysBone = Smoke01 SmolderingSmoke
10300  ;     ParticleSysBone = Smoke02 SmolderingSmoke
10301  ;     ParticleSysBone = Smoke03 SmolderingSmoke
10302  ;     ParticleSysBone = Smoke04 SmolderingSmoke
10303  ;     ParticleSysBone = Smoke05 SmolderingSmoke
10304  ;     ParticleSysBone = Smoke06 SmolderingSmoke
10305  ;     ParticleSysBone = Fire02 SmolderingFire
10306  ;     ParticleSysBone = Fire03 SmolderingFire
10307  ;     ParticleSysBone = Fire04 SmolderingFire
10308  ;     ParticleSysBone = Fire05 SmolderingFire
10309  ;     ParticleSysBone = Fire06 SmolderingFire
10310      End
10311      ;really damaged
10312      ConditionState    = REALLYDAMAGED RUBBLE
10313        Model           = UBArmDeal_E
10314        Animation       = UBArmDeal_E.UBArmDeal_E
10315        AnimationMode   = LOOP
10316        ParticleSysBone = Smoke01 SmolderingSmoke
10317  ;     ParticleSysBone = Smoke02 SmolderingSmoke
10318  ;     ParticleSysBone = Smoke03 SmolderingSmoke
10319  ;     ParticleSysBone = Smoke04 SmolderingSmoke
10320  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
10321  ;     ParticleSysBone = Smoke06 SmolderingSmoke
10322  ;     ParticleSysBone = Smoke07 SmolderingSmoke
10323  ;     ParticleSysBone = Fire02 SmolderingFire
10324  ;     ParticleSysBone = Fire03 SmolderingFire
10325  ;     ParticleSysBone = Fire04 SmolderingFire
10326  ;     ParticleSysBone = Fire05 FireFactionLarge
10327  ;     ParticleSysBone = Fire06 SmolderingFire
10328  ;     ParticleSysBone = Fire07 SmolderingFire
10329       End
10330      ConditionState         = GARRISONED
10331        Model                = UBArmDlEG
10332        ParticleSysBone      = Smoke01 SmolderingSmoke
10333        Animation            = UBArmDlEG.UBArmDlEG
10334        AnimationMode        = LOOP
10335      End
10336      ConditionState         = DAMAGED GARRISONED
10337        Model                = UBArmDlEG_D
10338        ParticleSysBone      = Smoke01 SmolderingSmoke
10339        Animation            = UBArmDlEG_D.UBArmDlEG_D
10340        AnimationMode        = LOOP
10341      End
10342      ConditionState         = REALLYDAMAGED GARRISONED
10343        Model                = UBArmDlEG_E
10344        ParticleSysBone      = Smoke01 SmolderingSmoke
10345        Animation            = UBArmDlEG_E.UBArmDlEG_E
10346        AnimationMode        = LOOP
10347      End
10348  
10349      ; snow
10350      ConditionState       = SNOW
10351        Model              = UBArmDeal_S
10352        Animation          = UBArmDeal_S.UBArmDeal_S
10353        AnimationMode      = LOOP
10354        ParticleSysBone    = Smoke01 SmolderingSmoke
10355        ParticleSysBone    = Steam01 SteamVent
10356      End
10357      ;damaged
10358      ConditionState    = DAMAGED SNOW
10359        Model           = UBArmDeal_DS
10360        Animation       = UBArmDeal_DS.UBArmDeal_DS
10361        AnimationMode   = LOOP
10362        ParticleSysBone = Smoke01 SmolderingSmoke
10363  ;     ParticleSysBone = Smoke02 SmolderingSmoke
10364  ;     ParticleSysBone = Smoke03 SmolderingSmoke
10365  ;     ParticleSysBone = Smoke04 SmolderingSmoke
10366  ;     ParticleSysBone = Smoke05 SmolderingSmoke
10367  ;     ParticleSysBone = Smoke06 SmolderingSmoke
10368  ;     ParticleSysBone = Fire02 SmolderingFire
10369  ;     ParticleSysBone = Fire03 SmolderingFire
10370  ;     ParticleSysBone = Fire04 SmolderingFire
10371  ;     ParticleSysBone = Fire05 SmolderingFire
10372  ;     ParticleSysBone = Fire06 SmolderingFire
10373      End
10374      ;really damaged
10375      ConditionState    = REALLYDAMAGED RUBBLE SNOW
10376        Model           = UBArmDeal_ES
10377        Animation       = UBArmDeal_ES.UBArmDeal_ES
10378        AnimationMode   = LOOP
10379        ParticleSysBone = Smoke01 SmolderingSmoke
10380  ;     ParticleSysBone = Smoke02 SmolderingSmoke
10381  ;     ParticleSysBone = Smoke03 SmolderingSmoke
10382  ;     ParticleSysBone = Smoke04 SmolderingSmoke
10383  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
10384  ;     ParticleSysBone = Smoke06 SmolderingSmoke
10385  ;     ParticleSysBone = Smoke07 SmolderingSmoke
10386  ;     ParticleSysBone = Fire02 SmolderingFire
10387  ;     ParticleSysBone = Fire03 SmolderingFire
10388  ;     ParticleSysBone = Fire04 SmolderingFire
10389  ;     ParticleSysBone = Fire05 FireFactionLarge
10390  ;     ParticleSysBone = Fire06 SmolderingFire
10391  ;     ParticleSysBone = Fire07 SmolderingFire
10392       End
10393      ConditionState         = GARRISONED SNOW
10394        Model                = UBArmDlEG_S
10395        ParticleSysBone      = Smoke01 SmolderingSmoke
10396        Animation            = UBArmDlEG_S.UBArmDlEG_S
10397        AnimationMode        = LOOP
10398      End
10399      ConditionState         = DAMAGED GARRISONED SNOW
10400        Model                = UBArmDlEG_DS
10401        ParticleSysBone      = Smoke01 SmolderingSmoke
10402        Animation            = UBArmDlEG_DS.UBArmDlEG_DS
10403        AnimationMode        = LOOP
10404      End
10405      ConditionState         = REALLYDAMAGED GARRISONED SNOW
10406        Model                = UBArmDlEG_ES
10407        ParticleSysBone      = Smoke01 SmolderingSmoke
10408        Animation            = UBArmDlEG_ES.UBArmDlEG_ES
10409        AnimationMode        = LOOP
10410      End
10411  
10412      ; night
10413      ConditionState    = NIGHT
10414        Model           = UBArmDeal_N
10415        Animation       = UBArmDeal_N.UBArmDeal_N
10416        AnimationMode   = LOOP
10417        ParticleSysBone = Smoke01 SmolderingSmoke
10418        ParticleSysBone = Steam01 SteamVent
10419      End
10420      ConditionState    = DAMAGED NIGHT
10421        Model           = UBArmDeal_DN
10422        Animation       = UBArmDeal_DN.UBArmDeal_DN
10423        AnimationMode   = LOOP
10424        ParticleSysBone = Smoke01 SmolderingSmoke
10425      End
10426      ConditionState    = REALLYDAMAGED RUBBLE NIGHT
10427        Model           = UBArmDeal_EN
10428        Animation       = UBArmDeal_EN.UBArmDeal_EN
10429        AnimationMode   = LOOP
10430        ParticleSysBone = Smoke01 SmolderingSmoke
10431      End
10432      ConditionState         = GARRISONED NIGHT
10433        Model                = UBArmDlEG_N
10434        ParticleSysBone      = Smoke01 SmolderingSmoke
10435        Animation            = UBArmDlEG_N.UBArmDlEG_N
10436        AnimationMode        = LOOP
10437      End
10438      ConditionState         = DAMAGED GARRISONED NIGHT
10439        Model                = UBArmDlEG_DN
10440        ParticleSysBone      = Smoke01 SmolderingSmoke
10441        Animation            = UBArmDlEG_DN.UBArmDlEG_DN
10442        AnimationMode        = LOOP
10443      End
10444      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
10445        Model                = UBArmDlEG_EN
10446        ParticleSysBone      = Smoke01 SmolderingSmoke
10447        Animation            = UBArmDlEG_EN.UBArmDlEG_EN
10448        AnimationMode        = LOOP
10449      End
10450       
10451       ; night snow
10452      ConditionState    = NIGHT SNOW
10453        Model           = UBArmDeal_NS
10454        Animation       = UBArmDeal_NS.UBArmDeal_NS
10455        AnimationMode   = LOOP
10456        ParticleSysBone = Smoke01 SmolderingSmoke
10457        ParticleSysBone = Steam01 SteamVent
10458      End
10459      ConditionState    = DAMAGED NIGHT SNOW
10460        Model           = UBArmDeal_DNS
10461        Animation       = UBArmDeal_DNS.UBArmDeal_DNS
10462        AnimationMode   = LOOP
10463        ParticleSysBone = Smoke01 SmolderingSmoke
10464      End
10465      ConditionState    = REALLYDAMAGED RUBBLE NIGHT SNOW
10466        Model           = UBArmDeal_ENS
10467        Animation       = UBArmDeal_ENS.UBArmDeal_ENS
10468        AnimationMode   = LOOP
10469        ParticleSysBone = Smoke01 SmolderingSmoke
10470      End
10471      ConditionState         = GARRISONED NIGHT SNOW
10472        Model                = UBArmDlEG_NS
10473        ParticleSysBone      = Smoke01 SmolderingSmoke
10474        Animation            = UBArmDlEG_NS.UBArmDlEG_NS
10475        AnimationMode        = LOOP
10476      End
10477      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
10478        Model                = UBArmDlEG_DNS
10479        ParticleSysBone      = Smoke01 SmolderingSmoke
10480        Animation            = UBArmDlEG_DNS.UBArmDlEG_DNS
10481        AnimationMode        = LOOP
10482      End
10483      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
10484        Model                = UBArmDlEG_ENS
10485        ParticleSysBone      = Smoke01 SmolderingSmoke
10486        Animation            = UBArmDlEG_ENS.UBArmDlEG_ENS
10487        AnimationMode        = LOOP
10488      End
10489      
10490      ;**************************************************************************************************************************
10491      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
10492      ;for this draw module
10493      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10494        Model              = UBArmDeal
10495        Animation          = UBArmDeal.UBArmDeal
10496        AnimationMode      = LOOP
10497        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10498      End
10499      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
10500        Model              = UBArmDeal_D
10501        Animation          = UBArmDeal_D.UBArmDeal_D
10502        AnimationMode      = LOOP
10503        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10504      End
10505      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
10506        Model              = UBArmDeal_E
10507        Animation          = UBArmDeal_E.UBArmDeal_E
10508        AnimationMode      = LOOP
10509        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10510      End
10511      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
10512        Model              = UBArmDeal_N
10513        Animation          = UBArmDeal_N.UBArmDeal_N
10514        AnimationMode      = LOOP
10515        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10516      End
10517      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
10518        Model              = UBArmDeal_DN
10519        Animation          = UBArmDeal_DN.UBArmDeal_DN
10520        AnimationMode      = LOOP
10521        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10522      End
10523      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
10524        Model              = UBArmDeal_EN
10525        Animation          = UBArmDeal_EN.UBArmDeal_EN
10526        AnimationMode      = LOOP
10527        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10528      End
10529      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
10530        Model              = UBArmDeal_S
10531        Animation          = UBArmDeal_S.UBArmDeal_S
10532        AnimationMode      = LOOP
10533        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10534      End
10535      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
10536        Model              = UBArmDeal_DS
10537        Animation          = UBArmDeal_DS.UBArmDeal_DS
10538        AnimationMode      = LOOP
10539        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10540      End
10541      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
10542        Model              = UBArmDeal_ES
10543        Animation          = UBArmDeal_ES.UBArmDeal_ES
10544        AnimationMode      = LOOP
10545        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10546      End
10547      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
10548        Model              = UBArmDeal_NS
10549        Animation          = UBArmDeal_NS.UBArmDeal_NS
10550        AnimationMode      = LOOP
10551        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10552      End
10553      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
10554        Model              = UBArmDeal_DNS
10555        Animation          = UBArmDeal_DNS.UBArmDeal_DNS
10556        AnimationMode      = LOOP
10557        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10558      End
10559      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
10560        Model              = UBArmDeal_ENS
10561        Animation          = UBArmDeal_ENS.UBArmDeal_ENS
10562        AnimationMode      = LOOP
10563        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10564      End
10565  
10566      ConditionState       = AWAITING_CONSTRUCTION 
10567        Model              = NONE
10568      End
10569      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
10570      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
10571      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
10572      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
10573      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
10574      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
10575      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
10576      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
10577      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
10578      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
10579      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
10580      AliasConditionState  = SOLD 
10581      AliasConditionState  = SOLD DAMAGED
10582      AliasConditionState  = SOLD REALLYDAMAGED
10583      AliasConditionState  = SOLD NIGHT
10584      AliasConditionState  = SOLD NIGHT DAMAGED
10585      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
10586      AliasConditionState  = SOLD SNOW
10587      AliasConditionState  = SOLD SNOW DAMAGED
10588      AliasConditionState  = SOLD SNOW REALLYDAMAGED
10589      AliasConditionState  = SOLD NIGHT SNOW
10590      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
10591      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
10592      AliasConditionState  = GARRISONED SOLD 
10593      AliasConditionState  = GARRISONED SOLD DAMAGED
10594      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
10595      AliasConditionState  = GARRISONED SOLD NIGHT
10596      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
10597      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
10598      AliasConditionState  = GARRISONED SOLD SNOW
10599      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
10600      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
10601      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
10602      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
10603      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
10604      ;**************************************************************************************************************************
10605      
10606   
10607    End
10608    
10609    ; ------------ construction-zone fence -----------------
10610    Draw = W3DModelDraw ModuleTag_02
10611    AnimationsRequirePower = No
10612      DefaultConditionState
10613        Model           = None
10614        TransitionKey   = DOWN_DEFAULT
10615      End
10616      ConditionState    = NIGHT
10617        Model           = None
10618        TransitionKey   = DOWN_DEFAULT
10619      End
10620      ConditionState    = SNOW
10621        Model           = None
10622        TransitionKey   = DOWN_DEFAULT
10623      End
10624      ConditionState    = SNOW NIGHT
10625        Model           = None
10626        TransitionKey   = DOWN_DEFAULT
10627      End
10628      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10629        Model           = UBArmDeal_A4
10630        Animation       = UBArmDeal_A4.UBArmDeal_A4
10631        AnimationMode   = MANUAL
10632        Flags           = START_FRAME_LAST
10633        TransitionKey   = UP_DAY
10634      End
10635      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10636        Model           = UBArmDeal_A4N
10637        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
10638        AnimationMode   = MANUAL
10639        Flags           = START_FRAME_LAST
10640        TransitionKey   = UP_NIGHT
10641      End
10642      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10643        Model           = UBArmDeal_A4S
10644        Animation       = UBArmDeal_A4S.UBArmDeal_A4S
10645        AnimationMode   = MANUAL
10646        Flags           = START_FRAME_LAST
10647        TransitionKey   = UP_SNOW
10648      End
10649      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10650        Model           = UBArmDeal_A4SN
10651        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
10652        AnimationMode   = MANUAL
10653        Flags           = START_FRAME_LAST
10654        TransitionKey   = UP_SNOWNIGHT
10655      End
10656      TransitionState   = DOWN_DEFAULT UP_DAY
10657        Model           = UBArmDeal_A4
10658        Animation       = UBArmDeal_A4.UBArmDeal_A4
10659        AnimationMode   = ONCE
10660        AnimationSpeedFactorRange = 1.0 1.0
10661        Flags           = START_FRAME_FIRST
10662      End
10663      TransitionState   = DOWN_DEFAULT UP_NIGHT
10664        Model           = UBArmDeal_A4N
10665        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
10666        AnimationMode   = ONCE
10667        AnimationSpeedFactorRange = 1.0 1.0
10668        Flags           = START_FRAME_FIRST
10669      End
10670      TransitionState   = DOWN_DEFAULT UP_SNOW
10671        Model           = UBArmDeal_A4S
10672        ; @todo srj -- anim missing
10673        Animation       = UBArmDeal_A4S.UBArmDeal_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           = UBArmDeal_A4SN
10680        ; @todo srj -- anim missing
10681        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
10682        AnimationMode   = ONCE
10683        AnimationSpeedFactorRange = 1.0 1.0
10684        Flags           = START_FRAME_FIRST
10685      End
10686      TransitionState   = UP_DAY DOWN_DEFAULT
10687        Model           = UBArmDeal_A4
10688        Animation       = UBArmDeal_A4.UBArmDeal_A4
10689        AnimationMode   = ONCE_BACKWARDS
10690        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10691        Flags           = START_FRAME_LAST
10692      End
10693      TransitionState   = UP_NIGHT DOWN_DEFAULT
10694        Model           = UBArmDeal_A4N
10695        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
10696        AnimationMode   = ONCE_BACKWARDS
10697        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10698        Flags           = START_FRAME_LAST
10699      End
10700  
10701      TransitionState   = UP_SNOW DOWN_DEFAULT
10702        Model           = UBArmDeal_A4S
10703        ; @todo srj -- anim missing
10704        Animation       = UBArmDeal_A4S.UBArmDeal_A4S
10705        AnimationMode   = ONCE_BACKWARDS
10706        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10707        Flags           = START_FRAME_LAST
10708      End
10709      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10710        Model           = UBArmDeal_A4SN
10711        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
10712        AnimationMode   = ONCE_BACKWARDS
10713        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10714        Flags           = START_FRAME_LAST
10715      End
10716    End
10717  
10718    ; ------------ under-construction scaffolding -----------------
10719    Draw = W3DModelDraw ModuleTag_03
10720    AnimationsRequirePower = No
10721      MinLODRequired = MEDIUM
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           = UBArmDeal_A6
10740        Animation       = UBArmDeal_A6.UBArmDeal_A6
10741        AnimationMode   = MANUAL
10742        Flags           = START_FRAME_LAST
10743        TransitionKey   = UP_DAY
10744        ParticleSysBone = Dust01 BuildingDust
10745        ParticleSysBone = Smoke01 BuildUpSmoke
10746        ParticleSysBone = Smoke02 BuildUpSmoke
10747        ParticleSysBone = Smoke03 BuildUpSmoke
10748        ParticleSysBone = Smoke04 BuildUpSmoke
10749      End
10750      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
10751        Model           = UBArmDeal_A6N
10752        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
10753        AnimationMode   = MANUAL
10754        Flags           = START_FRAME_LAST
10755        TransitionKey   = UP_NIGHT
10756        ParticleSysBone = Dust01 BuildingDust
10757        ParticleSysBone = Smoke01 BuildUpSmoke
10758        ParticleSysBone = Smoke02 BuildUpSmoke
10759        ParticleSysBone = Smoke03 BuildUpSmoke
10760        ParticleSysBone = Smoke04 BuildUpSmoke
10761      End
10762      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
10763        Model           = UBArmDeal_A6S
10764        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
10765        AnimationMode   = MANUAL
10766        Flags           = START_FRAME_LAST
10767        TransitionKey   = UP_SNOW
10768        ParticleSysBone = Dust01 BuildingSnowDust
10769        ParticleSysBone = Smoke01 BuildUpSnowSmoke
10770        ParticleSysBone = Smoke02 BuildUpSnowSmoke
10771        ParticleSysBone = Smoke03 BuildUpSnowSmoke
10772        ParticleSysBone = Smoke04 BuildUpSnowSmoke
10773      End
10774      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
10775        Model           = UBArmDeal_A6SN
10776        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
10777        AnimationMode   = MANUAL
10778        Flags           = START_FRAME_LAST
10779        TransitionKey   = UP_SNOWNIGHT
10780        ParticleSysBone = Dust01 BuildingNightSnowDust
10781        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
10782        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
10783        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
10784        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
10785      End
10786      TransitionState   = DOWN_DEFAULT UP_DAY
10787       Model            = UBArmDeal_A6
10788        Animation       = UBArmDeal_A6.UBArmDeal_A6
10789        AnimationMode   = ONCE
10790        AnimationSpeedFactorRange = 1.0 1.0
10791        Flags           = START_FRAME_FIRST
10792      End
10793      TransitionState   = DOWN_DEFAULT UP_NIGHT
10794       Model            = UBArmDeal_A6N
10795        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
10796        AnimationMode   = ONCE
10797        AnimationSpeedFactorRange = 1.0 1.0
10798        Flags           = START_FRAME_FIRST
10799      End
10800      TransitionState   = DOWN_DEFAULT UP_SNOW
10801       Model            = UBArmDeal_A6S
10802        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
10803        AnimationMode   = ONCE
10804        AnimationSpeedFactorRange = 1.0 1.0
10805        Flags           = START_FRAME_FIRST
10806      End
10807      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10808       Model            = UBArmDeal_A6SN
10809        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
10810        AnimationMode   = ONCE
10811        AnimationSpeedFactorRange = 1.0 1.0
10812        Flags           = START_FRAME_FIRST
10813      End
10814      TransitionState   = UP_DAY DOWN_DEFAULT
10815        Model           = UBArmDeal_A6
10816        Animation       = UBArmDeal_A6.UBArmDeal_A6
10817        AnimationMode   = ONCE_BACKWARDS
10818        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10819        Flags           = START_FRAME_LAST
10820      End
10821      TransitionState   = UP_NIGHT DOWN_DEFAULT
10822        Model           = UBArmDeal_A6N
10823        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
10824        AnimationMode   = ONCE_BACKWARDS
10825        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10826        Flags           = START_FRAME_LAST
10827      End
10828      TransitionState   = UP_SNOW DOWN_DEFAULT
10829        Model           = UBArmDeal_A6S
10830        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
10831        AnimationMode   = ONCE_BACKWARDS
10832        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10833        Flags           = START_FRAME_LAST
10834      End
10835      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10836        Model           = UBArmDeal_A6SN
10837        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
10838        AnimationMode   = ONCE_BACKWARDS
10839        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10840        Flags           = START_FRAME_LAST
10841      End
10842    End
10843  
10844    ; ----------------- the door -----------------------
10845    Draw = W3DModelDraw ModuleTag_04
10846      DefaultConditionState
10847        Model           = UBArmDeal_A7
10848        Animation       = UBArmDeal_A7.UBArmDeal_A7
10849        AnimationMode   = MANUAL
10850        Flags           = START_FRAME_FIRST
10851      End
10852      AliasConditionState = NIGHT 
10853      AliasConditionState = SNOW
10854      AliasConditionState = NIGHT SNOW
10855      
10856      ConditionState    = DAMAGED
10857        Model           = UBArmDeal_A7D
10858        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
10859        AnimationMode   = MANUAL
10860        Flags           = START_FRAME_FIRST
10861      End
10862      AliasConditionState = NIGHT DAMAGED
10863      AliasConditionState = SNOW DAMAGED
10864      AliasConditionState = SNOW NIGHT DAMAGED
10865  
10866      ConditionState    = REALLYDAMAGED RUBBLE
10867        Model           = UBArmDeal_A7E
10868        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
10869        AnimationMode   = MANUAL
10870        Flags           = START_FRAME_FIRST
10871      End
10872      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
10873      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
10874      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
10875      
10876      
10877      
10878      ConditionState    = DOOR_1_OPENING
10879        Model           = UBArmDeal_A7
10880        Animation       = UBArmDeal_A7.UBArmDeal_A7
10881        AnimationMode   = ONCE
10882        Flags           = START_FRAME_FIRST
10883      End   
10884      AliasConditionState = NIGHT DOOR_1_OPENING
10885      AliasConditionState = SNOW DOOR_1_OPENING
10886      AliasConditionState = SNOW NIGHT DOOR_1_OPENING
10887      
10888      ConditionState    = DOOR_1_OPENING DAMAGED
10889        Model           = UBArmDeal_A7D
10890        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
10891        AnimationMode   = ONCE
10892        Flags           = START_FRAME_FIRST
10893      End   
10894      AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED
10895      AliasConditionState = SNOW DOOR_1_OPENING DAMAGED
10896      AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED
10897      
10898      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
10899        Model           = UBArmDeal_A7E
10900        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
10901        AnimationMode   = ONCE
10902        Flags           = START_FRAME_FIRST
10903      End
10904      AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
10905      AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
10906      AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
10907      
10908      
10909      
10910      ConditionState    = DOOR_1_CLOSING
10911        Model           = UBArmDeal_A7
10912        Animation       = UBArmDeal_A7.UBArmDeal_A7
10913        AnimationMode   = ONCE_BACKWARDS
10914        Flags           = START_FRAME_LAST
10915      End   
10916      AliasConditionState = NIGHT DOOR_1_CLOSING
10917      AliasConditionState = SNOW DOOR_1_CLOSING
10918      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING
10919      
10920      ConditionState    = DOOR_1_CLOSING DAMAGED
10921        Model           = UBArmDeal_A7D
10922        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
10923        AnimationMode   = ONCE_BACKWARDS
10924        Flags           = START_FRAME_LAST
10925      End   
10926      AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED
10927      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED
10928      AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED
10929      
10930      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10931        Model           = UBArmDeal_A7E
10932        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
10933        AnimationMode   = ONCE_BACKWARDS
10934        Flags           = START_FRAME_LAST
10935      End   
10936      AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10937      AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10938      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10939      
10940      
10941      
10942      ConditionState    = DOOR_1_WAITING_OPEN
10943        Model           = UBArmDeal_A7
10944        Animation       = UBArmDeal_A7.UBArmDeal_A7
10945        AnimationMode   = MANUAL
10946        Flags           = START_FRAME_LAST
10947      End   
10948      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
10949      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
10950      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN
10951      
10952      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
10953        Model           = UBArmDeal_A7D
10954        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
10955        AnimationMode   = MANUAL
10956        Flags           = START_FRAME_LAST
10957      End   
10958      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED
10959      AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED
10960      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED
10961      
10962      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10963        Model           = UBArmDeal_A7E
10964        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
10965        AnimationMode   = MANUAL
10966        Flags           = START_FRAME_LAST
10967      End
10968      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10969      AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10970      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10971         
10972      ;**************************************************************************************************************************
10973      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
10974      ;for this draw module
10975      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10976        Model              = UBArmDeal_A7
10977        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10978      End
10979      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
10980      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
10981      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
10982      
10983      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
10984        Model              = UBArmDeal_A7D
10985        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10986      End
10987      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
10988      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
10989      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
10990      
10991      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
10992        Model              = UBArmDeal_A7E
10993        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10994      End
10995      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
10996      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
10997      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
10998      
10999      ConditionState       = AWAITING_CONSTRUCTION 
11000        Model              = NONE
11001      End
11002      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11003      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11004      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11005      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11006      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11007      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11008      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11009      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11010      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11011      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11012      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11013      AliasConditionState  = SOLD DAMAGED
11014      AliasConditionState  = SOLD REALLYDAMAGED
11015      AliasConditionState  = SOLD NIGHT
11016      AliasConditionState  = SOLD NIGHT DAMAGED
11017      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11018      AliasConditionState  = SOLD SNOW
11019      AliasConditionState  = SOLD SNOW DAMAGED
11020      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11021      AliasConditionState  = SOLD NIGHT SNOW
11022      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11023      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11024      ;**************************************************************************************************************************  
11025         
11026         
11027    End
11028    
11029    PlacementViewAngle  = -135
11030    
11031    ; ***DESIGN parameters ***
11032    DisplayName      = OBJECT:ArmsDealer
11033    Side             = GLAStealthGeneral
11034    EditorSorting    = STRUCTURE
11035    Prerequisites
11036      Object = Slth_GLASupplyStash
11037    End
11038    BuildCost        = 625
11039    BuildTime        = 10.0           ; in seconds
11040    EnergyProduction = 0
11041    CommandSet       = FakeGLAArmsDealerCommandSet
11042    VisionRange     = 200.0           ; Shroud clearing distance
11043    ShroudClearingRange = 200
11044  
11045    WeaponSet
11046      Conditions          = None 
11047      Weapon = PRIMARY SuicideWeapon
11048      AutoChooseSources = PRIMARY None
11049    End
11050  
11051    ArmorSet
11052      Conditions          = None
11053      Armor               = StructureArmor
11054      DamageFX            = StructureDamageFXNoShake
11055    End
11056  
11057    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
11058  
11059    ; *** AUDIO Parameters ***
11060    VoiceSelect = WarFactoryGLASelect
11061    SoundOnDamaged        = BuildingDamagedStateLight
11062    SoundOnReallyDamaged  = BuildingDestroy
11063  
11064    UnitSpecificSounds
11065      UnderConstruction     = UnderConstructionLoop
11066    End
11067  
11068    ; *** ENGINEERING Parameters ***
11069    RadarPriority     = STRUCTURE
11070    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE
11071    Body              = StructureBody ModuleTag_05
11072      MaxHealth       = 500.0
11073      InitialHealth   = 500.0
11074  
11075      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
11076      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
11077      SubdualDamageCap = 700
11078      SubdualDamageHealRate = 500
11079      SubdualDamageHealAmount = 100
11080    End
11081    
11082    Behavior             = CreateObjectDie ModuleTag_08
11083      CreationList  = OCL_LargeStructureDebris
11084    End
11085    Behavior             = FXListDie ModuleTag_09
11086      DeathFX       = FX_StructureMediumDeath
11087    End
11088    Behavior = AIUpdateInterface ModuleTag_10
11089      AutoAcquireEnemiesWhenIdle = No
11090    End
11091  
11092    Behavior = ProductionUpdate ModuleTag_11
11093      ; nothing
11094    End
11095  
11096    Behavior = SlowDeathBehavior ModuleTag_12
11097      ExemptStatus = UNDER_CONSTRUCTION
11098      DestructionDelay = 0
11099      Weapon = FINAL FakeStructureDetonationWeapon
11100    End
11101    Behavior = DestroyDie ModuleTag_SlowDeathException
11102      RequiredStatus = UNDER_CONSTRUCTION
11103    End
11104  
11105    Behavior = ReplaceObjectUpgrade ModuleTag_13
11106      ReplaceObject = Slth_GLAArmsDealer
11107      TriggeredBy = Upgrade_BecomeRealGLAArmsDealer
11108    End
11109  
11110    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
11111      ConditionFlag = GARRISONED
11112      TriggeredBy   = Upgrade_GLAFortifiedStructure
11113    End
11114  
11115    Behavior = FlammableUpdate ModuleTag_14
11116      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
11117      AflameDamageAmount = 5       ; taking this much damage...
11118      AflameDamageDelay = 500       ; this often.
11119    End
11120  
11121    Behavior = TransitionDamageFX ModuleTag_31
11122      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
11123      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
11124      ;---------------------------------------------------------------------------------------
11125      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
11126      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
11127      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
11128    End
11129  
11130    Behavior = StealthUpdate ModuleStealth_09
11131      StealthDelay                = 2500 ; msec
11132      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
11133      InnateStealth               = No ;Requires upgrade first
11134      OrderIdleEnemiesToAttackMeUponReveal  = Yes
11135    End
11136    Behavior = StealthUpgrade ModuleTag_32
11137      TriggeredBy = Upgrade_GLACamoNetting
11138    END
11139  
11140    Geometry            = BOX
11141    GeometryMajorRadius = 40.0
11142    GeometryMinorRadius = 62.0
11143    GeometryHeight      = 25.0
11144    GeometryIsSmall     = No
11145    FactoryExitWidth    = 25
11146    Shadow              = SHADOW_VOLUME
11147    ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure.
11148    ShadowSizeX = 127
11149    ShadowSizeY = 144
11150    BuildCompletion     = PLACED_BY_PLAYER
11151  
11152  End
11153  
11154  
11155  
11156  ; -----------------------------------------------------------------------------
11157  
11158  Object Slth_GLASneakAttackTunnelNetworkStart
11159  
11160    ; *** ART Parameters ***
11161  
11162    SelectPortrait         = SUTunnel_L
11163    ButtonImage            = SUTunnel
11164    Draw = W3DModelDraw ModuleTag_01
11165      OkToChangeModelColor = Yes
11166  
11167      ;***NONE
11168  
11169       ConditionState     = NONE
11170        Model             = UBSNKATK_1ANM
11171        Animation         = UBSNKATK_1ANM.UBSNKATK_1ANM
11172        AnimationMode     = ONCE
11173        ParticleSysBone   = DIRT SneakAttackCrackDust 
11174     ;;;ParticleSysBone   = DIRT SneakAttackDirt      ; steveM commented out 8.4.03
11175        ParticleSysBone   = DIRT SneakAttackCrackDust1 
11176        ParticleSysBone   = DIRT SneakAttackDebris
11177        ParticleSysBone   = DIRT SneakAttackDebris0
11178        ParticleSysBone   = DIRT SneakAttackDebris1     
11179        ParticleSysBone   = DIRT SneakAttackCrackDust0
11180        ParticleSysBone   = DIRT SneakAttackSteamVent 
11181      End
11182  
11183  ;    ConditionState
11184  ;      Model             = UBSNKATK_1ANM
11185  ;      Animation         = UBSNKATK_1ANM.UBSNKATK_1ANM
11186  ;      AnimationMode     = ONCE
11187  ;    End
11188   
11189      ConditionState      = DAMAGED
11190        Model             = UBSNATK_E
11191        ParticleSysBone   = DIRT SneakAttackCrackDust 
11192        ParticleSysBone   = DIRT SneakAttackDirt
11193        ParticleSysBone   = DIRT SneakAttackCrackDust1 
11194        ParticleSysBone   = DIRT SneakAttackDebris
11195        ParticleSysBone   = DIRT SneakAttackDebris0
11196        ParticleSysBone   = DIRT SneakAttackDebris1     
11197        ParticleSysBone   = DIRT SneakAttackCrackDust0
11198        ParticleSysBone   = DIRT SneakAttackSteamVent 
11199      End
11200      ConditionState      = REALLYDAMAGED RUBBLE
11201        Model             = UBSNATK_R
11202      End
11203      ConditionState      = SNOW
11204        Model             = UBSNATK_Sanm
11205        Animation         = UBSNATK_Sanm.UBSNATK_Sanm
11206        AnimationMode     = ONCE
11207        ParticleSysBone   = DIRT SneakAttackCrackDustSnow  
11208        ParticleSysBone   = DIRT SneakAttackDirtSnow       
11209        ParticleSysBone   = DIRT SneakAttackCrackDust1Snow 
11210        ParticleSysBone   = DIRT SneakAttackDebrisSnow     
11211        ParticleSysBone   = DIRT SneakAttackDebris0Snow    
11212        ParticleSysBone   = DIRT SneakAttackDebris1Snow       
11213        ParticleSysBone   = DIRT SneakAttackCrackDust0Snow 
11214        ParticleSysBone   = DIRT SneakAttackSteamVent 
11215      End
11216      ConditionState      = DAMAGED SNOW
11217        Model             = UBSNATK_ES
11218        ParticleSysBone   = DIRT SneakAttackCrackDustSnow  
11219        ParticleSysBone   = DIRT SneakAttackDirtSnow       
11220        ParticleSysBone   = DIRT SneakAttackCrackDust1Snow 
11221        ParticleSysBone   = DIRT SneakAttackDebrisSnow     
11222        ParticleSysBone   = DIRT SneakAttackDebris0Snow    
11223        ParticleSysBone   = DIRT SneakAttackDebris1Snow       
11224        ParticleSysBone   = DIRT SneakAttackCrackDust0Snow 
11225        ParticleSysBone   = DIRT SneakAttackSteamVent 
11226      End
11227      ConditionState      = REALLYDAMAGED RUBBLE SNOW
11228        Model             = UBSNATK_RS
11229        ParticleSysBone   = DIRT SneakAttackCrackDustSnow  
11230        ParticleSysBone   = DIRT SneakAttackDirtSnow       
11231        ParticleSysBone   = DIRT SneakAttackCrackDust1Snow 
11232        ParticleSysBone   = DIRT SneakAttackDebrisSnow     
11233        ParticleSysBone   = DIRT SneakAttackDebris0Snow    
11234        ParticleSysBone   = DIRT SneakAttackDebris1Snow       
11235        ParticleSysBone   = DIRT SneakAttackCrackDust0Snow 
11236        ParticleSysBone   = DIRT SneakAttackSteamVent 
11237      End
11238      ConditionState      = NIGHT
11239        Model             = UBSNKATK_1ANM
11240        Animation         = UBSNKATK_1ANM.UBSNKATK_1ANM
11241        AnimationMode     = ONCE
11242      End
11243      ConditionState      = DAMAGED NIGHT
11244        Model             = UBSNATK_E
11245      End
11246      ConditionState      = REALLYDAMAGED RUBBLE NIGHT
11247        Model             = UBSNATK_R
11248      End    
11249      ConditionState      = SNOW NIGHT
11250        Model             = UBSNATK_Sanm
11251        Animation         = UBSNATK_Sanm.UBSNATK_Sanm
11252        AnimationMode     = ONCE
11253      End
11254      ConditionState      = DAMAGED SNOW NIGHT
11255        Model             = UBSNATK_ES
11256      End
11257      ConditionState      = REALLYDAMAGED RUBBLE SNOW NIGHT
11258        Model             = UBSNATK_RS
11259      End
11260    End
11261    PlacementViewAngle = -44
11262  
11263    ; ***DESIGN parameters ***
11264    DisplayName      = OBJECT:TunnelNetwork
11265    Side = GLAStealthGeneral
11266    EditorSorting    = STRUCTURE
11267    Prerequisites
11268     ;None
11269    End
11270    EnergyProduction = 0
11271    VisionRange     = 200.0           ; Shroud clearing distance
11272    ShroudClearingRange = 200
11273    
11274    ArmorSet        
11275      Conditions      = None
11276      Armor           = StructureArmor
11277      DamageFX        = DamageFX_Empty
11278    End
11279    
11280    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
11281  
11282    ; *** AUDIO Parameters ***
11283    VoiceSelect = TunnelNetworkSelect
11284    SoundOnDamaged        = BuildingDamagedStateLight
11285    SoundOnReallyDamaged  = BuildingDestroy
11286    SoundEnter = GarrisonEnter
11287    SoundExit = GarrisonExit
11288  
11289    ; *** ENGINEERING Parameters ***
11290    RadarPriority   = STRUCTURE
11291    KindOf          = PRELOAD STRUCTURE IMMOBILE IMMUNE_TO_CAPTURE
11292    Body = ActiveBody ModuleTag_04
11293      MaxHealth       = 99999.0
11294      InitialHealth   = 99999.0
11295    End
11296  
11297  
11298    Behavior = DestroyDie ModuleTag_10
11299      ;nothing
11300    End
11301    Behavior             = CreateObjectDie ModuleTag_11
11302      CreationList  = OCL_CreateSneakAttackTunnel
11303    End
11304  
11305    Behavior = FlammableUpdate ModuleTag_15
11306  
11307      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
11308      AflameDamageAmount = 5       ; taking this much damage...
11309      AflameDamageDelay = 500       ; this often.
11310    End
11311  
11312    Behavior = LifetimeUpdate ModuleTag_16
11313      MinLifetime = 5000   ; min lifetime in msec
11314      MaxLifetime = 5000   ; max lifetime in msec
11315    End
11316  
11317    Behavior = FireWeaponUpdate ModuleTag_17
11318      Weapon = SneakAttackShockwaveWeaponSmall
11319      InitialDelay = 10;
11320    End
11321  
11322    Behavior = FireWeaponUpdate ModuleTag_18
11323      Weapon = SneakAttackShockwaveWeaponBig
11324      InitialDelay = 1000;
11325    End
11326  
11327    Behavior = FireWeaponUpdate ModuleTag_19
11328      Weapon = SneakAttackShockwaveWeaponBig
11329      InitialDelay = 2500;
11330    End
11331  
11332  
11333    ; IMPORTANT: DO NOT GIVE THIS OBJECT ANY EXTENTS -ML
11334  
11335    Geometry = CYLINDER
11336    GeometryMajorRadius = 25.0
11337    GeometryHeight = 20.0    
11338    GeometryIsSmall     = No
11339    FactoryExtraBibWidth = 25.0
11340    Shadow          = SHADOW_VOLUME
11341    BuildCompletion = PLACED_BY_PLAYER
11342  
11343  End
11344  
11345  
11346  ; -----------------------------------------------------------------------------
11347  Object Slth_GLASneakAttackTunnelNetwork
11348  
11349    ; *** ART Parameters ***
11350    SelectPortrait         = SUSneakAttack_L
11351    ButtonImage            = SUSneakAttack
11352    Draw = W3DModelDraw ModuleTag_01
11353      OkToChangeModelColor = Yes
11354      ;***DEFAULT
11355      ;DefaultConditionState
11356      ConditionState
11357        Model             = UBSNATK_1
11358      End
11359      ConditionState      = DAMAGED
11360        Model             = UBSNATK_E
11361      End
11362      ConditionState      = REALLYDAMAGED RUBBLE
11363        Model             = UBSNATK_R
11364        ;ParticleSysBone   = Mound SteamVent
11365      End
11366      ConditionState      = SNOW
11367        Model             = UBSNATK_S
11368      End
11369      ConditionState      = DAMAGED SNOW
11370        Model             = UBSNATK_ES
11371      End
11372      ConditionState      = REALLYDAMAGED RUBBLE SNOW
11373        Model             = UBSNATK_RS
11374        ;ParticleSysBone   = Mound SteamVent
11375      End
11376      ConditionState      = NIGHT
11377        Model             = UBSNATK_N
11378      End
11379      ConditionState      = DAMAGED NIGHT
11380        Model             = UBSNATK_E
11381      End
11382      ConditionState      = REALLYDAMAGED RUBBLE NIGHT
11383        Model             = UBSNATK_R
11384        ;ParticleSysBone   = Mound SteamVent
11385      End    
11386      ConditionState      = SNOW NIGHT
11387        Model             = UBSNATK_NS
11388      End
11389      ConditionState      = DAMAGED SNOW NIGHT
11390        Model             = UBSNATK_ES
11391      End
11392      ConditionState      = REALLYDAMAGED RUBBLE SNOW NIGHT
11393        Model             = UBSNATK_RS
11394        ;ParticleSysBone   = Mound SteamVent
11395      End
11396    End
11397  
11398    PlacementViewAngle = -44
11399  
11400    ; ***DESIGN parameters ***
11401    DisplayName      = OBJECT:TunnelNetwork
11402    Side = GLAStealthGeneral
11403    EditorSorting    = STRUCTURE
11404    Prerequisites
11405     ;None
11406    End
11407    EnergyProduction = 0
11408    VisionRange     = 200.0           ; Shroud clearing distance
11409    ShroudClearingRange = 200
11410    WeaponSet
11411      Conditions = None 
11412      Weapon = PRIMARY TunnelNetworkGunDUMMY ;So AI can attack from it in guard mode.
11413    End
11414    ArmorSet
11415      Conditions      = None
11416      Armor           = StructureArmor
11417      DamageFX        = StructureDamageFXNoShake
11418    End
11419    CommandSet       = GLASneakAttackTunnelCommandSet
11420    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
11421  
11422    ; *** AUDIO Parameters ***
11423    VoiceSelect = TunnelNetworkSelect
11424    SoundOnDamaged        = BuildingDamagedStateLight
11425    SoundOnReallyDamaged  = BuildingDestroy
11426    SoundEnter = GarrisonEnter
11427    SoundExit = GarrisonExit
11428  
11429    ; *** ENGINEERING Parameters ***
11430    RadarPriority   = STRUCTURE
11431    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT
11432    Body            = StructureBody ModuleTag_04
11433      MaxHealth       = 1000.0
11434      InitialHealth   = 1000.0
11435  
11436      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
11437      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
11438      SubdualDamageCap = 1200
11439      SubdualDamageHealRate = 500
11440      SubdualDamageHealAmount = 100
11441    End
11442  
11443    Behavior = StealthDetectorUpdate ModuleTag_13
11444      DetectionRate     = 500   ; how often to rescan for stealthed things in my sight (msec)
11445      DetectionRange   = 150   ;Dustin, enable this for independant balancing!
11446      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
11447      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
11448    End
11449  
11450    Behavior = TunnelContain ModuleTag_05
11451      TimeForFullHeal     = 5000   ;(in milliseconds)
11452    End
11453  
11454    Behavior = AIUpdateInterface ModuleTag_AI
11455      Turret
11456        TurretTurnRate        = 180   // turn rate, in degrees per sec
11457        ControlledWeaponSlots = PRIMARY
11458      End
11459      AutoAcquireEnemiesWhenIdle = Yes Stealthed; defensive weapon
11460    End
11461  
11462    ;Kris: Removed this module because units exiting the container would extract information from
11463    ;the wrong exit interface. Because TunnelContain has the proper information for exiting properly
11464    ;we don't need this one. Plus sneak attack tunnels don't produce units anyway.
11465    ;Behavior = DefaultProductionExitUpdate ModuleTag_06
11466    ;  UnitCreatePoint   = X:  5.0  Y:  0.0   Z:0.0
11467    ;  NaturalRallyPoint = X: 35.0  Y:  0.0   Z:0.0
11468    ;End
11469  
11470    Behavior = DestroyDie ModuleTag_10
11471      ;nothing
11472    End
11473    Behavior             = CreateObjectDie ModuleTag_11
11474      CreationList  = OCL_ABTunnelNetworkDebris
11475    End
11476    Behavior             = FXListDie ModuleTag_12
11477      DeathFX       = FX_StructureSmallDeath
11478    End
11479  
11480    Behavior = FlammableUpdate ModuleTag_15
11481  
11482      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
11483      AflameDamageAmount = 5       ; taking this much damage...
11484      AflameDamageDelay = 500       ; this often.
11485    End
11486  
11487  
11488    Behavior = TransitionDamageFX ModuleTag_17
11489      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
11490      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
11491      ;---------------------------------------------------------------------------------------
11492      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
11493      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
11494      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
11495    End
11496  
11497    Geometry = CYLINDER
11498    GeometryMajorRadius = 25.0
11499    GeometryHeight = 20.0    
11500    GeometryIsSmall     = No
11501    FactoryExtraBibWidth = 25.0
11502    Shadow          = SHADOW_VOLUME
11503    BuildCompletion = PLACED_BY_PLAYER
11504  
11505  End
11506  
11507  
11508  
11509  
11510  
11511  
11512  
11513  
11514  
11515  
11516  
11517  
11518  
11519  
11520  
11521  
11522  
11523  
11524  
11525  
11526  
11527  
11528  
11529  
11530  
11531  
11532  
11533  
11534  
11535  
11536  
11537  
11538  
11539  ;------------------------------------------------------------------------------
11540  Object Slth_GLAInfantryRebel
11541  
11542    ; *** ART Parameters ***
11543    SelectPortrait         = SURebel_L
11544    ButtonImage            = SURebel
11545  
11546    UpgradeCameo1 = Upgrade_GLAAPBullets
11547    ;UpgradeCameo2 = Upgrade_GLACamouflage
11548    UpgradeCameo3 = Upgrade_InfantryCaptureBuilding
11549    ;UpgradeCameo4 = NONE
11550    ;UpgradeCameo5 = NONE
11551  
11552    Draw = W3DModelDraw ModuleTag_01
11553  
11554      OkToChangeModelColor = Yes
11555      
11556      ; this says "we don't use these condition states at all, so completely
11557      ; ignore them for purposes of matchmaking"... this is useful to help
11558      ; reduce the number of AliasConditionState clauses you must add in
11559      ; order to avoid ambiguity in some cases.
11560      IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A
11561  
11562      ; ---- standing
11563      DefaultConditionState
11564        Model               = UIRGrd_SKN
11565        IdleAnimation       = UIRGrd_SKL.UIRGrd_STN 0 35
11566        IdleAnimation       = UIRGrd_SKL.UIRGrd_IDA 
11567        IdleAnimation       = UIRGrd_SKL.UIRGrd_IDB 
11568        AnimationMode       = ONCE
11569        WeaponFireFXBone    = PRIMARY Muzzle
11570        WeaponMuzzleFlash   = PRIMARY MuzzleFX
11571        TransitionKey       = TRANS_Standing
11572      End
11573  
11574      ConditionState        = REALLYDAMAGED
11575        IdleAnimation       = UIRGrd_SKL.UIRGrd_STB 0 35
11576        IdleAnimation       = UIRGrd_SKL.UIRGrd_IDC
11577        IdleAnimation       = UIRGrd_SKL.UIRGrd_IDD 
11578        AnimationMode       = ONCE
11579        TransitionKey       = TRANS_StandingHurt
11580      End
11581  
11582      ; ---- moving
11583      ConditionState        = MOVING
11584        Animation           = UIRGrd_SKL.UIRGrd_RNA 15
11585        AnimationMode       = LOOP
11586        TransitionKey       = TRANS_Walking
11587        ParticleSysBone     = None InfantryDustTrails
11588      End
11589      AliasConditionState   = MOVING ATTACKING
11590  
11591      ConditionState        = MOVING REALLYDAMAGED
11592        Animation           = UIRGrd_SKL.UIRGrd_RNB 25
11593        AnimationMode       = LOOP
11594        TransitionKey       = TRANS_WalkingHurt
11595        ParticleSysBone     = None InfantryDustTrails
11596      End
11597      AliasConditionState   = MOVING ATTACKING REALLYDAMAGED
11598      
11599      ; ---- dying 
11600      ConditionState        = DYING
11601        Animation           = UIRGrd_SKL.UIRGrd_DTA 
11602        Animation           = UIRGrd_SKL.UIRGrd_DTB 
11603        AnimationMode       = ONCE
11604        TransitionKey       = TRANS_Dying
11605      End
11606  
11607      TransitionState = TRANS_Dying TRANS_Flailing
11608        Animation = UIRGrd_SKL.UIRGrd_ADTE1
11609        AnimationMode = ONCE
11610      End
11611  
11612      ConditionState = DYING EXPLODED_FLAILING
11613        Animation = UIRGrd_SKL.UIRGrd_ADTE2
11614        AnimationMode = LOOP
11615        TransitionKey = TRANS_Flailing
11616      End
11617  
11618      ConditionState = DYING EXPLODED_BOUNCING
11619        Animation = UIRGrd_SKL.UIRGrd_ADTE3
11620        AnimationMode = ONCE
11621        TransitionKey = None
11622      End
11623      
11624      ConditionState = SPECIAL_CHEERING
11625        Animation = UIRGrd_SKL.UIRGrd_IDB
11626      End
11627  
11628      ; ---- firing
11629      ConditionState = USING_WEAPON_A
11630        Animation = UIRGrd_SKL.UIRGrd_ATA
11631        AnimationMode = LOOP
11632        TransitionKey = TRANS_Firing
11633      End
11634  
11635      ConditionState = USING_WEAPON_A REALLYDAMAGED
11636        Animation = UIRGrd_SKL.UIRGrd_ATA2
11637        AnimationMode = LOOP
11638        TransitionKey = TRANS_FiringHurt
11639      End
11640  
11641      TransitionState = TRANS_Standing TRANS_Firing
11642        Animation = UIRGrd_SKL.UIRGrd_ATAST
11643        AnimationMode = ONCE
11644      End
11645  
11646      TransitionState = TRANS_Firing TRANS_Standing
11647        Animation = UIRGrd_SKL.UIRGrd_ATAED
11648        AnimationMode = ONCE
11649      End
11650  
11651      TransitionState = TRANS_StandingHurt TRANS_FiringHurt
11652        Animation = UIRGrd_SKL.UIRGrd_ATA2ED
11653        AnimationMode = ONCE_BACKWARDS
11654      End
11655  
11656      TransitionState = TRANS_FiringHurt TRANS_StandingHurt
11657        Animation = UIRGrd_SKL.UIRGrd_ATA2ED
11658        AnimationMode = ONCE
11659      End
11660  
11661      TransitionState = TRANS_Standing TRANS_StandingHurt
11662        Animation = UIRGrd_SKL.UIRGrd_ATA2ED
11663        AnimationMode = ONCE
11664      End
11665  
11666      
11667  
11668      ; ------- Bldg-capture
11669  
11670      ConditionState = UNPACKING
11671        Model             = UIRGrd_F_SKN
11672        Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP1
11673        AnimationMode     = ONCE
11674      End
11675      AliasConditionState = UNPACKING REALLYDAMAGED
11676  
11677      ConditionState = RAISING_FLAG
11678        Model             = UIRGrd_F_SKN
11679        Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP2
11680        AnimationMode     = ONCE
11681        TransitionKey     = TRANS_Raising
11682      End
11683      AliasConditionState = RAISING_FLAG REALLYDAMAGED
11684  
11685      ConditionState = PACKING
11686        Model             = UIRGrd_F_SKN
11687        Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP1
11688        AnimationMode     = ONCE_BACKWARDS
11689        Flags             = START_FRAME_LAST
11690        TransitionKey     = TRANS_Packing
11691      End
11692      AliasConditionState = PACKING REALLYDAMAGED
11693  
11694      TransitionState = TRANS_Raising TRANS_Packing
11695        Model             = UIRGrd_F_SKN
11696        Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP2
11697        AnimationMode     = ONCE_BACKWARDS
11698        Flags             = START_FRAME_LAST
11699      End
11700  
11701    End
11702  
11703    ; ***DESIGN parameters ***
11704    DisplayName         = OBJECT:Rebel
11705    Side                = GLAStealthGeneral
11706    EditorSorting       = INFANTRY
11707    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
11708   
11709    WeaponSet
11710      Conditions = None 
11711      Weapon = PRIMARY GLARebelMachineGun
11712    End
11713    ArmorSet
11714      Conditions      = None
11715      Armor           = HumanArmor
11716      DamageFX        = InfantryDamageFX
11717    End
11718    VisionRange         = 150
11719    ShroudClearingRange = 300
11720    Prerequisites
11721      Object = Slth_GLABarracks
11722    End
11723    BuildCost = 200
11724    BuildTime = 5.0          ;in seconds  
11725  
11726    ExperienceValue     = 15 15 30 40     ;Experience point value at each level
11727    ExperienceRequired  = 0 40 60 120     ;Experience points needed to gain each level
11728    IsTrainable         = Yes             ;Can gain experience
11729    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
11730    CommandSet          = Slth_GLAInfantryRebelCommandSet
11731  
11732    ; *** AUDIO Parameters ***
11733    VoiceSelect = RebelVoiceSelect
11734    VoiceMove = RebelVoiceMove
11735    VoiceGuard = RebelVoiceMove
11736    VoiceAttack = RebelVoiceAttack
11737    SoundStealthOn = StealthOn
11738    SoundStealthOff = StealthOff
11739    VoiceFear = RebelVoiceFear
11740    VoiceTaskComplete = RebelVoiceCaptureComplete
11741    UnitSpecificSounds
11742      VoiceCreate = RebelVoiceCreate
11743      VoiceSubdue = RebelVoiceSubdue
11744      VoiceGarrison = RebelVoiceGarrison
11745      VoiceEnter = RebelVoiceMove
11746      VoiceEnterHostile = RebelVoiceMove
11747      VoiceGetHealed      = RebelVoiceMove
11748    End
11749  
11750    ; *** ENGINEERING Parameters ***
11751    RadarPriority = UNIT
11752    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 
11753  
11754    Body = ActiveBody ModuleTag_02
11755      MaxHealth       = 120.0
11756      InitialHealth   = 120.0
11757    End
11758  
11759    Behavior = AIUpdateInterface ModuleTag_03
11760      AutoAcquireEnemiesWhenIdle = Yes
11761    End
11762  
11763    Behavior = CommandButtonHuntUpdate  ModuleTag_04 ; allows use of command button hunt script with this unit. 
11764    End
11765  
11766    Locomotor = SET_NORMAL BasicHumanLocomotor
11767  
11768    Behavior = PhysicsBehavior ModuleTag_05
11769      Mass = 5.0
11770    End
11771    Behavior = StealthUpdate ModuleTag_07
11772      StealthDelay                = 2500 ; msec
11773      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
11774      MoveThresholdSpeed          = 3
11775      InnateStealth               = Yes ;doesnt Require upgrade first
11776      OrderIdleEnemiesToAttackMeUponReveal  = Yes
11777    End
11778  
11779    Behavior = WeaponBonusUpgrade ModuleTag_09
11780      TriggeredBy = Upgrade_GLAAPBullets
11781    End
11782    Behavior = GrantUpgradeCreate ModuleTag_10
11783      UpgradeToGrant = Upgrade_GLACamouflage
11784    End
11785   
11786    Behavior = SquishCollide ModuleTag_11
11787      ;nothing
11788    End
11789  
11790  
11791  ; --- begin Death modules ---
11792    Behavior = SlowDeathBehavior ModuleTag_Death01
11793      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
11794      SinkDelay           = 3000
11795      SinkRate            = 0.5     ; in Dist/Sec
11796      DestructionDelay    = 8000
11797      FX                  = INITIAL FX_RebelDie
11798    End
11799    Behavior = SlowDeathBehavior ModuleTag_Death02
11800      DeathTypes          = NONE +CRUSHED +SPLATTED
11801      SinkDelay           = 3000
11802      SinkRate            = 0.5     ; in Dist/Sec
11803      DestructionDelay    = 8000
11804      FX                  = INITIAL FX_GIDieCrushed
11805    End
11806    Behavior = SlowDeathBehavior ModuleTag_Death03
11807      DeathTypes          = NONE +EXPLODED
11808      SinkDelay           = 3000
11809      SinkRate            = 0.5     ; in Dist/Sec
11810      DestructionDelay    = 8000
11811      FX                  = INITIAL FX_RebelDie
11812      FlingForce          = 8
11813      FlingForceVariance  = 3
11814      FlingPitch          = 60
11815      FlingPitchVariance  = 10
11816    End
11817    Behavior = SlowDeathBehavior ModuleTag_Death04
11818      DeathTypes          = NONE +BURNED
11819      DestructionDelay    = 0
11820      FX                  = INITIAL FX_DieByFireGLA
11821      OCL                 = INITIAL OCL_FlamingInfantry
11822    End
11823    Behavior = SlowDeathBehavior ModuleTag_Death05
11824      DeathTypes          = NONE +POISONED
11825      DestructionDelay    = 0
11826      FX                  = INITIAL FX_DieByToxinGLA
11827      OCL                 = INITIAL OCL_ToxicInfantry
11828    End
11829    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
11830      DeathTypes          = NONE +POISONED_BETA
11831      DestructionDelay    = 0
11832      FX                  = INITIAL FX_DieByToxinGLA
11833      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
11834    End
11835    Behavior = SlowDeathBehavior ModuleTag_Death07
11836      DeathTypes          = NONE +POISONED_GAMMA
11837      DestructionDelay    = 0
11838      FX                  = INITIAL FX_DieByToxinGLA
11839      OCL                 = INITIAL OCL_ToxicInfantryGamma
11840    End
11841  ; --- end Death modules ---
11842  
11843    Behavior = PoisonedBehavior ModuleTag_16
11844      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
11845      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
11846    End
11847  
11848    Behavior = SpecialAbility ModuleTag_17
11849      SpecialPowerTemplate      = SpecialAbilityRebelCaptureBuilding
11850      UpdateModuleStartsAttack  = Yes
11851      StartsPaused              = Yes
11852      InitiateSound         = RebelVoiceCapture
11853    End
11854    Behavior = SpecialAbilityUpdate ModuleTag_18
11855      SpecialPowerTemplate  = SpecialAbilityRebelCaptureBuilding
11856      StartAbilityRange  = 5.0
11857      UnpackTime            = 3000  ; (changing this will scale anim speed)
11858      PreparationTime       = 20000 ; time to complete hack once prepared (changing this will scale anim speed)
11859      PackTime              = 2000  ; (changing this will scale anim speed)
11860      DoCaptureFX           = Yes
11861      AwardXPForTriggering  = 12
11862      ;SkillPointsForTriggering = ???  -- Dustin, fill me out if you want different balance values.
11863    End
11864  
11865    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19
11866      SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding
11867      TriggeredBy = Upgrade_InfantryCaptureBuilding
11868    End
11869  
11870    Behavior = SpecialAbility ModuleTag_20
11871      SpecialPowerTemplate = SpecialAbilityBoobyTrap
11872      UpdateModuleStartsAttack = Yes
11873      StartsPaused              = Yes
11874  ;    InitiateSound = TankHunterVoiceTNT
11875    End
11876    Behavior = SpecialAbilityUpdate ModuleTag_21
11877      SpecialPowerTemplate = SpecialAbilityBoobyTrap
11878      StartAbilityRange = 5.0
11879      PreparationTime = 0
11880      SpecialObject = BoobyTrap
11881      MaxSpecialObjects = 100
11882      SpecialObjectsPersistWhenOwnerDies = Yes
11883      SpecialObjectsPersistent = Yes          ;Charges are persistent till lifetime expires or owner detonates them.
11884  ; Not implemented    UniqueSpecialObjectTargets = Yes        ;This prevents multiple charges placed on the same object.
11885    End
11886  
11887    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_22
11888      SpecialPowerTemplate = SpecialAbilityBoobyTrap
11889      TriggeredBy = Upgrade_GLAInfantryRebelBoobyTrapAttack
11890    End
11891  
11892    Geometry = CYLINDER
11893    GeometryMajorRadius = 10.0
11894    GeometryMinorRadius = 10.0
11895    GeometryHeight = 12.0
11896    GeometryIsSmall = Yes
11897    Shadow = SHADOW_DECAL
11898    ShadowSizeX = 14;
11899    ShadowSizeY = 14;
11900    ShadowTexture = ShadowI;
11901    BuildCompletion = APPEARS_AT_RALLY_POINT
11902  
11903  End
11904  
11905  ;----------------------------------------------------------------------------
11906  Object Slth_GLAInfantryJarmenKell
11907  
11908    ; *** ART Parameters ***
11909    SelectPortrait         = SUJermanKell1_L  ;NOTE: Asset spelling mistake
11910    ButtonImage            = SUJermanKell1
11911    
11912    UpgradeCameo1 = Upgrade_GLAAPBullets
11913    ;UpgradeCameo2 = NONE
11914    ;UpgradeCameo3 = NONE
11915    ;UpgradeCameo4 = NONE
11916    ;UpgradeCameo5 = NONE
11917    
11918    Draw = W3DModelDraw ModuleTag_01
11919      OkToChangeModelColor = Yes
11920  
11921      ; --- idle
11922      DefaultConditionState
11923        Model             = UIHERO_SKN
11924        IdleAnimation     = UIHERO_SKL.UIHERO_STA 0 21
11925        IdleAnimation     = UIHERO_SKL.UIHERO_IDA
11926        IdleAnimation     = UIHERO_SKL.UIHERO_IDB
11927        AnimationMode     = ONCE
11928        WeaponFireFXBone  = PRIMARY Muzzle
11929        WeaponMuzzleFlash = PRIMARY MuzzleFX
11930        TransitionKey     = TRANS_Stand
11931      End
11932  
11933      ConditionState      = REALLYDAMAGED
11934        IdleAnimation     = UIHERO_SKL.UIHERO_ISTA 0 30
11935        IdleAnimation     = UIHERO_SKL.UIHERO_IIDA
11936        IdleAnimation     = UIHERO_SKL.UIHERO_IIDB
11937        AnimationMode     = ONCE
11938        TransitionKey     = TRANS_StandInjured
11939      End
11940  
11941      TransitionState     = TRANS_Stand TRANS_StandInjured
11942        Animation         = UIHERO_SKL.UIHERO_ISTAHIT
11943        AnimationMode     = ONCE
11944      End
11945  
11946      ; --- attack
11947  
11948      ConditionState      = FIRING_A 
11949        Animation         = UIHERO_SKL.UIHERO_ATA 
11950        AnimationMode     = ONCE
11951        TransitionKey     = TRANS_FiringA
11952        AnimationSpeedFactorRange = 1.5 1.5
11953      End
11954  
11955      ConditionState      = BETWEEN_FIRING_SHOTS_A
11956        Animation         = UIHERO_SKL.UIHERO_STA
11957        AnimationMode     = ONCE
11958        WaitForStateToFinishIfPossible = TRANS_FiringA
11959      End
11960      AliasConditionState = RELOADING_A
11961    
11962      ConditionState      = FIRING_A REALLYDAMAGED
11963        Animation         = UIHERO_SKL.UIHERO_IATA2
11964        AnimationMode     = ONCE
11965        TransitionKey     = TRANS_FiringAInjured
11966        AnimationSpeedFactorRange = 1.5 1.5
11967      End
11968  
11969      ConditionState      = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
11970        Animation         = UIHERO_SKL.UIHERO_IATA2
11971        AnimationMode     = MANUAL
11972        Flags             = START_FRAME_LAST
11973        WaitForStateToFinishIfPossible = TRANS_FiringAInjured
11974      End
11975      AliasConditionState = RELOADING_A REALLYDAMAGED
11976  
11977      TransitionState     = TRANS_FiringA TRANS_FiringAInjured
11978        Animation         = UIHERO_SKL.UIHERO_IATAHIT
11979        AnimationMode     = ONCE
11980      End
11981  
11982      ; --- moving
11983      ConditionState      = MOVING
11984        Animation         = UIHERO_SKL.UIHERO_RNA2 30
11985        AnimationMode     = LOOP
11986        Flags             = RANDOMSTART
11987        TransitionKey     = None
11988        ParticleSysBone   = None InfantryDustTrails
11989      End
11990      AliasConditionState = MOVING FIRING_A
11991      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
11992      AliasConditionState = MOVING RELOADING_A
11993      AliasConditionState = MOVING DOCKING
11994      AliasConditionState = MOVING DOCKING_BEGINNING
11995      AliasConditionState = MOVING DOCKING_ACTIVE
11996  
11997      ConditionState      = MOVING REALLYDAMAGED
11998        Animation         = UIHERO_SKL.UIHERO_IRNA 30
11999        AnimationMode     = LOOP
12000        Flags             = RANDOMSTART
12001        TransitionKey     = None
12002        ParticleSysBone   = None InfantryDustTrails
12003      End
12004      AliasConditionState = MOVING FIRING_A REALLYDAMAGED
12005      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
12006      AliasConditionState = MOVING RELOADING_A REALLYDAMAGED
12007      
12008      ; --- cheering
12009      ConditionState      = SPECIAL_CHEERING
12010        Animation         = UIHERO_SKL.UIHERO_CHA
12011        AnimationMode     = LOOP
12012      End
12013  
12014      ConditionState      = SPECIAL_CHEERING REALLYDAMAGED
12015        Animation         = UIHERO_SKL.UIHERO_ICHA
12016        AnimationMode     = LOOP
12017      End
12018      
12019      ; --- dying
12020      ConditionState      = DYING
12021        Animation         = UIHERO_SKL.UIHERO_DTA
12022        Animation         = UIHERO_SKL.UIHERO_DTB
12023        Animation         = UIHERO_SKL.UIHERO_IDTA
12024        Animation         = UIHERO_SKL.UIHERO_IDTB
12025        AnimationMode     = ONCE
12026        TransitionKey     = TRANS_Dying
12027      End
12028  
12029      TransitionState     = TRANS_Dying TRANS_Flailing
12030        Animation         = UIHERO_SKL.UIHERO_ADTG21
12031        AnimationMode     = ONCE
12032      End
12033  
12034      ConditionState      = DYING EXPLODED_FLAILING
12035        Animation         = UIHERO_SKL.UIHERO_ADTG22
12036        AnimationMode     = LOOP
12037        TransitionKey     = TRANS_Flailing
12038      End
12039  
12040      ConditionState      = DYING EXPLODED_BOUNCING
12041        Animation         = UIHERO_SKL.UIHERO_ADTG23
12042        AnimationMode     = ONCE
12043        TransitionKey     = None
12044      End
12045      
12046      ; --- falling
12047      ConditionState      = FREEFALL
12048        Animation         = UIHERO_SKL.UIHERO_PFL
12049        AnimationMode     = LOOP
12050        TransitionKey     = TRANS_Falling
12051      End
12052      AliasConditionState = FREEFALL REALLYDAMAGED
12053      AliasConditionState = FREEFALL DYING
12054  
12055      ConditionState      = PARACHUTING
12056        Animation         = UIHERO_SKL.UIHERO_PHG
12057        AnimationMode     = LOOP
12058        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
12059        TransitionKey     = TRANS_Chute
12060      End
12061      AliasConditionState = PARACHUTING REALLYDAMAGED
12062      AliasConditionState = PARACHUTING DYING
12063  
12064      TransitionState     = TRANS_Falling TRANS_Chute
12065        Animation         = UIHERO_SKL.UIHERO_POP
12066        AnimationMode     = ONCE
12067        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
12068      End
12069  
12070      TransitionState     = TRANS_Chute TRANS_Stand
12071        Animation         = UIHERO_SKL.UIHERO_PTD
12072        AnimationMode     = ONCE
12073      End
12074  
12075      TransitionState     = TRANS_Chute TRANS_StandInjured
12076        Animation         = UIHERO_SKL.UIHERO_PTD
12077        AnimationMode     = ONCE
12078      End
12079      
12080    End
12081  
12082    ; ***DESIGN parameters ***
12083    DisplayName           = OBJECT:JarmenKell
12084    Side                  = GLAStealthGeneral
12085    EditorSorting         = INFANTRY
12086    TransportSlotCount    = 1                 ;how many "slots" we take in a transport (0 == not transportable)
12087    MaxSimultaneousOfType = 1
12088   
12089    WeaponSet
12090      Conditions = None 
12091      Weapon = PRIMARY GLAJarmenKellRifle
12092      Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle
12093      AutoChooseSources = SECONDARY NONE
12094    End
12095  
12096    ArmorSet
12097      Conditions      = None
12098      Armor           = HumanArmor
12099      DamageFX        = InfantryDamageFX
12100    End
12101    VisionRange         = 200
12102    ShroudClearingRange = 400
12103    Prerequisites
12104      Object = Slth_GLABarracks
12105      Object = Slth_GLAPalace
12106    End
12107    BuildCost = 1500
12108    BuildTime = 20.0          ;in seconds  
12109  
12110    ExperienceValue     = 50 50 100 150    ;Experience point value at each level
12111    ExperienceRequired  = 0 100 200 400  ;Experience points needed to gain each level
12112    IsTrainable         = Yes             ;Can gain experience
12113    CrushableLevel      = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
12114    CommandSet          = Slth_GLAInfantryJarmenKellCommandSet
12115  
12116    ; *** AUDIO Parameters ***
12117    VoiceSelect = JarmenKellVoiceSelect
12118    VoiceMove = JarmenKellVoiceMove
12119    VoiceGuard = JarmenKellVoiceMove
12120    VoiceAttack = JarmenKellVoiceAttack
12121    VoiceFear = JarmenKellVoiceFear
12122    SoundStealthOn = StealthOn
12123    SoundStealthOff = StealthOff
12124    
12125    UnitSpecificSounds
12126      VoiceCreate          = JarmenKellVoiceCreate
12127      VoiceSnipePilot      = JarmenKellVoiceSnipe
12128      VoiceGarrison = JarmenKellVoiceGarrison
12129      VoiceEnter = JarmenKellVoiceMove
12130      VoiceEnterHostile = JarmenKellVoiceMove
12131      VoiceGetHealed      = JarmenKellVoiceMove
12132    End
12133  
12134  
12135    ; *** ENGINEERING Parameters ***
12136    RadarPriority = UNIT
12137    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE HERO CANNOT_RETALIATE
12138  
12139    Body = ActiveBody ModuleTag_02
12140      MaxHealth       = 200.0
12141      InitialHealth   = 200.0
12142    End
12143  
12144    Behavior = AIUpdateInterface ModuleTag_03
12145      AutoAcquireEnemiesWhenIdle = Yes
12146    End
12147    Locomotor = SET_NORMAL JarmenKellLocomotor
12148  
12149    Behavior = PhysicsBehavior ModuleTag_04
12150      Mass = 5.0
12151    End
12152  
12153    Behavior = StealthDetectorUpdate ModuleTag_StealthDetect
12154      DetectionRate             = 750 ;How often to rescan for stealthed things in my sight (msec)
12155      DetectionRange            = 150 ;Enable this for independant balancing!
12156      CanDetectWhileGarrisoned  = No  ;Garrisoned means being in a structure that you units can shoot out of.
12157      CanDetectWhileContained   = No  ;Contained means being in a transport or tunnel network.
12158    End
12159  
12160    Behavior = StealthUpdate ModuleTag_06
12161      StealthDelay                          = 2000 ; msec
12162      StealthForbiddenConditions            = ATTACKING
12163      InnateStealth                         = Yes
12164      OrderIdleEnemiesToAttackMeUponReveal  = Yes
12165      EnemyDetectionEvaEvent                = EnemyJarmenKellDetected
12166      OwnDetectionEvaEvent                  = OwnJarmenKellDetected
12167    End
12168  
12169    Behavior = CommandButtonHuntUpdate  ModuleTag_07 ; allows use of command button hunt script with this unit. 
12170    End
12171  
12172    Behavior = WeaponBonusUpgrade ModuleTag_08
12173      TriggeredBy = Upgrade_GLAAPBullets
12174    End
12175   
12176    ;Hero units can't be squished!
12177    ;Behavior = SquishCollide ModuleTag_09
12178    ;  ;nothing
12179    ;End
12180  
12181  
12182  ; --- begin Death modules ---
12183    Behavior = SlowDeathBehavior ModuleTag_Death01
12184      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
12185      SinkDelay           = 3000
12186      SinkRate            = 0.5     ; in Dist/Sec
12187      DestructionDelay    = 8000
12188      FX                  = INITIAL FX_JarmenKellDie
12189    End
12190    Behavior = SlowDeathBehavior ModuleTag_Death02
12191      DeathTypes          = NONE +CRUSHED +SPLATTED
12192      SinkDelay           = 3000
12193      SinkRate            = 0.5     ; in Dist/Sec
12194      DestructionDelay    = 8000
12195      FX                  = INITIAL FX_GIDieCrushed
12196    End
12197    Behavior = SlowDeathBehavior ModuleTag_Death03
12198      DeathTypes          = NONE +EXPLODED
12199      SinkDelay           = 3000
12200      SinkRate            = 0.5     ; in Dist/Sec
12201      DestructionDelay    = 8000
12202      FX                  = INITIAL FX_JarmenKellDie
12203      FlingForce          = 8
12204      FlingForceVariance  = 3
12205      FlingPitch          = 60
12206      FlingPitchVariance  = 10
12207    End
12208    Behavior = SlowDeathBehavior ModuleTag_Death04
12209      DeathTypes          = NONE +BURNED
12210      DestructionDelay    = 0
12211      FX                  = INITIAL FX_DieByFireGLA
12212      OCL                 = INITIAL OCL_FlamingInfantry
12213    End
12214    Behavior = SlowDeathBehavior ModuleTag_Death05
12215      DeathTypes          = NONE +POISONED
12216      DestructionDelay    = 0
12217      FX                  = INITIAL FX_DieByToxinGLA
12218      OCL                 = INITIAL OCL_ToxicInfantry
12219    End
12220    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
12221      DeathTypes          = NONE +POISONED_BETA
12222      DestructionDelay    = 0
12223      FX                  = INITIAL FX_DieByToxinGLA
12224      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
12225    End
12226    Behavior = SlowDeathBehavior ModuleTag_Death07
12227      DeathTypes          = NONE +POISONED_GAMMA
12228      DestructionDelay    = 0
12229      FX                  = INITIAL FX_DieByToxinGLA
12230      OCL                 = INITIAL OCL_ToxicInfantryGamma
12231    End
12232  ; --- end Death modules ---
12233  
12234    Behavior = PoisonedBehavior ModuleTag_14
12235      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
12236      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
12237    End
12238   
12239    Geometry = CYLINDER
12240    GeometryMajorRadius = 10.0
12241    GeometryMinorRadius = 10.0
12242    GeometryHeight = 12.0
12243    GeometryIsSmall = Yes
12244    Shadow = SHADOW_DECAL
12245    ShadowSizeX = 14;
12246    ShadowSizeY = 14;
12247    ShadowTexture = ShadowI;
12248    BuildCompletion = APPEARS_AT_RALLY_POINT
12249  
12250  End
12251  
12252  
12253  
12254  
12255  
12256  
12257  
12258  ;------------------------------------------------------------------------------
12259  ;Tunnel Fanatic ;Now called the RPG Trooper
12260  Object Slth_GLAInfantryTunnelDefender
12261  
12262    ; *** ART Parameters ***
12263    SelectPortrait         = SURPG_L
12264    ButtonImage            = SURPG
12265    
12266    UpgradeCameo1 = Upgrade_GLAAPRockets
12267    UpgradeCameo2 = Upgrade_GLACamouflage
12268    ;UpgradeCameo3 = NONE
12269    ;UpgradeCameo4 = NONE
12270    ;UpgradeCameo5 = NONE
12271  
12272    Draw = W3DModelDraw ModuleTag_01
12273      OkToChangeModelColor = Yes
12274  
12275      DefaultConditionState
12276        Model = UITunF_SKN
12277        IdleAnimation = UITunF_SKL.UITunF_STA 0 20
12278        IdleAnimation = UITunF_SKL.UITunF_IDA 
12279        IdleAnimation = UITunF_SKL.UITunF_IDB 
12280        IdleAnimation = UITunF_SKL.UITunF_IDC 
12281        AnimationMode = ONCE
12282        WeaponMuzzleFlash = PRIMARY MuzzleFX
12283        WeaponFireFXBone = PRIMARY Muzzle
12284        WeaponLaunchBone = PRIMARY Muzzle
12285      End
12286  
12287      ConditionState = MOVING
12288        Animation = UITunF_SKL.UITunF_WKA 16
12289        Animation = UITunF_SKL.UITunF_WKB 30
12290        Animation = UITunF_SKL.UITunF_WKC 30
12291        Animation = UITunF_SKL.UITunF_RNA 15
12292        Animation = UITunF_SKL.UITunF_RNB 25   
12293        AnimationMode = LOOP
12294        ParticleSysBone   = None InfantryDustTrails
12295      End
12296  
12297      ConditionState = DYING
12298        Animation = UITunF_SKL.UITunF_DTA 
12299        Animation = UITunF_SKL.UITunF_DTB 
12300        AnimationMode = ONCE
12301        TransitionKey = TRANS_Dying
12302      End
12303  
12304      TransitionState = TRANS_Dying TRANS_Flailing
12305        Animation = UITunF_SKL.UITunF_ADTA1
12306        Animation = UITunF_SKL.UITunF_ADTE1
12307        Animation = UITunF_SKL.UITunF_ADTF1
12308        AnimationMode = ONCE
12309      End
12310  
12311      ConditionState = DYING EXPLODED_FLAILING
12312        Animation = UITunF_SKL.UITunF_ADTA2
12313        Animation = UITunF_SKL.UITunF_ADTE2
12314        Animation = UITunF_SKL.UITunF_ADTF2
12315        AnimationMode = LOOP
12316        TransitionKey = TRANS_Flailing
12317      End
12318  
12319      ConditionState = DYING EXPLODED_BOUNCING
12320        Animation = UITunF_SKL.UITunF_ADTA3
12321        Animation = UITunF_SKL.UITunF_ADTE3
12322        Animation = UITunF_SKL.UITunF_ADTF3
12323        AnimationMode = ONCE
12324        TransitionKey = None
12325      End
12326  
12327      ConditionState = FIRING_A 
12328        Animation = UITunF_SKL.UITunF_ATA 
12329        AnimationMode = ONCE
12330        TransitionKey = TRANS_START_FIRING
12331      End
12332      ConditionState = BETWEEN_FIRING_SHOTS_A
12333        Animation = UITunF_SKL.UITunF_STA
12334        AnimationMode = ONCE
12335        ; this is basically a trick: this guy has a nontrivial animation for firing,
12336        ; and a long recycle time between shots. we want him to finish his fire animation
12337        ; (unless he's ordered to do something else), so this is just a handy trick that
12338        ; says, "if the previous state had this transition key, allow it to finish before
12339        ; switching to us, if possible".
12340        WaitForStateToFinishIfPossible = TRANS_START_FIRING
12341      End
12342      AliasConditionState = RELOADING_A
12343  
12344      ConditionState = SPECIAL_CHEERING
12345        Animation = UITUNF_SKL.UITUNF_CHA
12346        AnimationMode = LOOP
12347      End
12348  
12349    End
12350  
12351    ; ***DESIGN parameters ***
12352    DisplayName      = OBJECT:TunnelDefender
12353    Side = GLAStealthGeneral
12354    EditorSorting = INFANTRY
12355    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
12356    WeaponSet
12357      Conditions = None 
12358      Weapon = PRIMARY TunnelDefenderRocketWeapon
12359    End
12360    ArmorSet
12361      Conditions      = None
12362      Armor           = HumanArmor
12363      DamageFX        = InfantryDamageFX
12364    End
12365    VisionRange = 150
12366    ShroudClearingRange = 400
12367   ; Prerequisites
12368   ;   Object = Slth_GLATunnelNetwork
12369   ; End
12370    BuildCost = 300
12371    BuildTime = 5.0          ;in seconds  
12372  
12373    ExperienceValue = 20 20 40 60    ;Experience point value at each level
12374    ExperienceRequired = 0 100 200 400  ;Experience points needed to gain each level
12375    IsTrainable = Yes             ;Can gain experience
12376    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
12377    CommandSet      = Slth_GLAInfantryTunnelDefenderCommandSet
12378  
12379    ; *** AUDIO Parameters ***
12380    VoiceSelect = RPGTrooperVoiceSelect
12381    VoiceMove = RPGTrooperVoiceMove
12382    VoiceGuard = RPGTrooperVoiceMove
12383    VoiceAttack = RPGTrooperVoiceAttack
12384    VoiceFear = RPGTrooperVoiceFear
12385    UnitSpecificSounds
12386      VoiceCreate          = RPGTrooperVoiceCreate
12387      VoiceGarrison = RPGTrooperVoiceGarrison
12388      VoiceEnter = RPGTrooperVoiceMove
12389      VoiceEnterHostile = RPGTrooperVoiceMove
12390      VoiceGetHealed      = RPGTrooperVoiceMove
12391    End
12392  
12393  
12394    ; *** ENGINEERING Parameters ***
12395    RadarPriority = UNIT
12396    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE
12397  
12398    Body = ActiveBody ModuleTag_02
12399      MaxHealth       = 100.0
12400      InitialHealth   = 100.0
12401    End
12402  
12403    Behavior = AIUpdateInterface ModuleTag_03
12404      AutoAcquireEnemiesWhenIdle = Yes
12405    End
12406    Locomotor = SET_NORMAL MissileDefenderLocomotor
12407  
12408    Behavior = PhysicsBehavior ModuleTag_04
12409      Mass = 5.0
12410    End
12411   
12412    Behavior = SquishCollide ModuleTag_06
12413      ;nothing
12414    End
12415    Behavior = StealthUpdate ModuleTag_07
12416      StealthDelay                = 2500 ; msec
12417      StealthForbiddenConditions  = ATTACKING USING_ABILITY
12418      MoveThresholdSpeed          = 3
12419      InnateStealth               = No ;Requires upgrade first
12420      OrderIdleEnemiesToAttackMeUponReveal  = Yes
12421    End
12422  
12423    Behavior = StealthUpgrade ModuleTag_08
12424      TriggeredBy = Upgrade_GLACamouflage
12425    End
12426  ; --- begin Death modules ---
12427    Behavior = SlowDeathBehavior ModuleTag_Death01
12428      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
12429      SinkDelay           = 3000
12430      SinkRate            = 0.5     ; in Dist/Sec
12431      DestructionDelay    = 8000
12432      FX                  = INITIAL FX_RPGTrooperDie
12433    End
12434    Behavior = SlowDeathBehavior ModuleTag_Death02
12435      DeathTypes          = NONE +CRUSHED +SPLATTED
12436      SinkDelay           = 3000
12437      SinkRate            = 0.5     ; in Dist/Sec
12438      DestructionDelay    = 8000
12439      FX                  = INITIAL FX_GIDieCrushed
12440    End
12441    Behavior = SlowDeathBehavior ModuleTag_Death03
12442      DeathTypes          = NONE +EXPLODED
12443      SinkDelay           = 3000
12444      SinkRate            = 0.5     ; in Dist/Sec
12445      DestructionDelay    = 8000
12446      FX                  = INITIAL FX_RPGTrooperDie
12447      FlingForce          = 8
12448      FlingForceVariance  = 3
12449      FlingPitch          = 60
12450      FlingPitchVariance  = 10
12451    End
12452    Behavior = SlowDeathBehavior ModuleTag_Death04
12453      DeathTypes          = NONE +BURNED
12454      DestructionDelay    = 0
12455      FX                  = INITIAL FX_DieByFireGLA
12456      OCL                 = INITIAL OCL_FlamingInfantry
12457    End
12458    Behavior = SlowDeathBehavior ModuleTag_Death05
12459      DeathTypes          = NONE +POISONED
12460      DestructionDelay    = 0
12461      FX                  = INITIAL FX_DieByToxinGLA
12462      OCL                 = INITIAL OCL_ToxicInfantry
12463    End
12464    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
12465      DeathTypes          = NONE +POISONED_BETA
12466      DestructionDelay    = 0
12467      FX                  = INITIAL FX_DieByToxinGLA
12468      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
12469    End
12470    Behavior = SlowDeathBehavior ModuleTag_Death07
12471      DeathTypes          = NONE +POISONED_GAMMA
12472      DestructionDelay    = 0
12473      FX                  = INITIAL FX_DieByToxinGLA
12474      OCL                 = INITIAL OCL_ToxicInfantryGamma
12475    End
12476  ; --- end Death modules ---
12477  
12478    Behavior = PoisonedBehavior ModuleTag_12
12479      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
12480      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
12481    End
12482   
12483    Geometry = CYLINDER
12484    GeometryMajorRadius = 10.0
12485    GeometryMinorRadius = 10.0
12486    GeometryHeight = 12.0
12487    GeometryIsSmall = Yes
12488    Shadow = SHADOW_DECAL
12489    ShadowSizeX = 14;
12490    ShadowSizeY = 14;
12491    ShadowTexture = ShadowI;
12492    BuildCompletion = APPEARS_AT_RALLY_POINT
12493  
12494  End
12495  
12496  ;------------------------------------------------------------------------------
12497  ;***THESE UNITS ARE NOT SELECTABLE ANYMORE! To kill them, you must target
12498  ;   the stinger site. If the weapon does particular types of damage, it'll
12499  ;   kill guys inside first, then the site.
12500  Object Slth_GLAInfantryStingerSoldier
12501  
12502    ; *** ART Parameters ***
12503    SelectPortrait         = SUStinger_L
12504    ButtonImage            = SUStinger
12505  
12506    Draw = W3DModelDraw ModuleTag_01
12507      OkToChangeModelColor = Yes
12508  
12509      DefaultConditionState
12510        Model = UISmsd_SKN
12511        IdleAnimation = UISmsd_SKL.UISmsd_STA 0 45
12512        IdleAnimation = UISmsd_SKL.UISmsd_IDA 
12513        IdleAnimation = UISmsd_SKL.UISmsd_IDB 
12514        IdleAnimation = UISmsd_SKL.UISmsd_IDC 
12515        IdleAnimation = UISmsd_SKL.UISmsd_IDD 
12516        AnimationMode = ONCE
12517        WeaponMuzzleFlash = PRIMARY MuzzleFX
12518        WeaponFireFXBone = PRIMARY Exhaust
12519        WeaponLaunchBone = PRIMARY Muzzle
12520        WeaponFireFXBone = SECONDARY Exhaust
12521        WeaponLaunchBone = SECONDARY Muzzle
12522  
12523        WaitForStateToFinishIfPossible = TRANS_START_FIRING
12524  
12525      End
12526      AliasConditionState = BETWEEN_FIRING_SHOTS_A
12527      AliasConditionState = BETWEEN_FIRING_SHOTS_B
12528      AliasConditionState = RELOADING_A
12529      AliasConditionState = RELOADING_B
12530  
12531      ConditionState = MOVING
12532        Animation = UISmsd_SKL.UISmsd_WKB 25
12533        AnimationMode = LOOP
12534      End
12535  
12536      ConditionState = DYING
12537        Animation = UISmsd_SKL.UISmsd_DTA 
12538        Animation = UISmsd_SKL.UISmsd_DTB 
12539        AnimationMode = ONCE
12540        TransitionKey = TRANS_Dying
12541        WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish
12542      End
12543  
12544      TransitionState = TRANS_Dying TRANS_Flailing
12545        Animation = UISmsd_SKL.UISmsd_ADTF1
12546        Animation = UISmsd_SKL.UISmsd_ADTG21
12547        AnimationMode = ONCE
12548      End
12549  
12550      ConditionState = DYING EXPLODED_FLAILING
12551        Animation = UISmsd_SKL.UISmsd_ADTF2
12552        Animation = UISmsd_SKL.UISmsd_ADTG22
12553        AnimationMode = LOOP
12554        TransitionKey = TRANS_Flailing
12555        WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish
12556      End
12557  
12558      ConditionState = DYING EXPLODED_BOUNCING
12559        Animation = UISmsd_SKL.UISmsd_ADTF3
12560        Animation = UISmsd_SKL.UISmsd_ADTG23
12561        AnimationMode = ONCE
12562        TransitionKey = None
12563        WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish
12564      End
12565  
12566      ConditionState = FIRING_A
12567        Animation = UISmsd_SKL.UISmsd_ATA
12568        AnimationMode = ONCE
12569        TransitionKey = TRANS_START_FIRING
12570      End
12571      ; AliasConditionState is a new keyword that says,
12572      ; "give me another ConditionState exactly like the previous
12573      ; one, except with different conditions". Useful when you
12574      ; have several states that are the same with only different condition bits.
12575      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
12576      AliasConditionState = MOVING FIRING_A
12577      AliasConditionState = MOVING RELOADING_A
12578  
12579      ConditionState = FIRING_B
12580        Animation = UISmsd_SKL.UISmsd_ATB
12581        AnimationMode = ONCE
12582        TransitionKey = TRANS_START_FIRINGB
12583      End
12584      ; AliasConditionState is a new keyword that says,
12585      ; "give me another ConditionState exactly like the previous
12586      ; one, except with different conditions". Useful when you
12587      ; have several states that are the same with only different condition bits.
12588      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
12589      AliasConditionState = MOVING FIRING_B
12590      AliasConditionState = MOVING RELOADING_B
12591  
12592  
12593      ConditionState = SPECIAL_CHEERING
12594        Animation = UISMSD_SKL.UISMSD_CHA
12595        AnimationMode = LOOP
12596      End
12597  
12598    End
12599  
12600    ; ***DESIGN parameters ***
12601    DisplayName      = OBJECT:StingerSoldier
12602    Side = GLAStealthGeneral
12603    EditorSorting = INFANTRY
12604    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
12605    WeaponSet
12606      Conditions          = None 
12607      Weapon              = PRIMARY   StingerMissileWeapon
12608      AutoChooseSources   = PRIMARY   FROM_PLAYER FROM_AI FROM_SCRIPT
12609      Weapon              = SECONDARY StingerMissileWeaponAir
12610      PreferredAgainst    = SECONDARY BALLISTIC_MISSILE AIRCRAFT
12611    End
12612    ArmorSet
12613      Conditions      = None
12614      Armor           = StingerSoldierArmor ;Extra protection due to being enclosed by the stinger site.
12615      DamageFX        = None
12616    End
12617    VisionRange = 400.0
12618    ShroudClearingRange = 400
12619  
12620    Prerequisites
12621      Object = Slth_GLABarracks
12622    End
12623    BuildCost = 100
12624    BuildTime = 1.0          ;in seconds    
12625    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
12626  
12627  ;  CommandSet      = Slth_GLAInfantryRebelCommandSet
12628  
12629    ; *** AUDIO Parameters ***
12630    VoiceSelect = StingerSoldierVoiceSelect
12631    VoiceMove = StingerSoldierVoiceMove
12632    VoiceAttack = StingerSoldierVoiceAttack
12633  
12634    ; *** ENGINEERING Parameters ***
12635    RadarPriority = UNIT
12636    KindOf = PRELOAD CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER CLICK_THROUGH SPAWNS_ARE_THE_WEAPONS
12637  
12638    Body = ActiveBody ModuleTag_02
12639      MaxHealth       = 100.0
12640      InitialHealth   = 100.0
12641    End
12642  
12643    Behavior = StealthDetectorUpdate ModuleTag_16
12644      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
12645      DetectionRange = 200 ;Dustin, enable this for independant balancing!
12646      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
12647      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
12648    End
12649  
12650    Behavior = AIUpdateInterface ModuleTag_03
12651      AutoAcquireEnemiesWhenIdle = Yes Stealthed ATTACK_BUILDINGS
12652      MoodAttackCheckRate        = 250
12653    End
12654    Locomotor = SET_NORMAL BasicHumanLocomotor
12655    Behavior = PhysicsBehavior ModuleTag_04
12656      Mass = 5.0
12657    End
12658    Behavior = SlavedUpdate ModuleTag_06
12659      ;nothing
12660    End
12661  ;  Behavior = ProneUpdate ModuleTag_07
12662  ;    DamageToFramesRatio = 5.0 ; I take 20 damage, I go prone for 100.  For this guy, if any of my buds or my building take damage too (I have SlaveUpdate + ProneUpdate) Prone may get cut by itself though
12663  ;  End
12664  
12665    Behavior = SquishCollide ModuleTag_08
12666      ;nothing
12667    End
12668  
12669    Behavior = StealthUpdate ModuleTag_09
12670      StealthDelay                = 2500 ; msec
12671      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
12672      MoveThresholdSpeed          = 3
12673      InnateStealth               = Yes ;Requires upgrade first
12674      OrderIdleEnemiesToAttackMeUponReveal  = Yes
12675    End
12676    Behavior = GrantUpgradeCreate ModuleUpgrade_18
12677      UpgradeToGrant = Upgrade_GLACamoNetting
12678    End
12679  
12680  
12681  ; --- begin Death modules ---
12682    Behavior = SlowDeathBehavior ModuleTag_Death01
12683      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
12684      SinkDelay           = 3000
12685      SinkRate            = 0.5     ; in Dist/Sec
12686      DestructionDelay    = 8000
12687      FX                  = INITIAL FX_StingerSoldierDie
12688    End
12689    Behavior = SlowDeathBehavior ModuleTag_Death02
12690      DeathTypes          = NONE +CRUSHED +SPLATTED
12691      SinkDelay           = 3000
12692      SinkRate            = 0.5     ; in Dist/Sec
12693      DestructionDelay    = 8000
12694      FX                  = INITIAL FX_GIDieCrushed
12695    End
12696    Behavior = SlowDeathBehavior ModuleTag_Death03
12697      DeathTypes          = NONE +EXPLODED
12698      SinkDelay           = 3000
12699      SinkRate            = 0.5     ; in Dist/Sec
12700      DestructionDelay    = 8000
12701      FX                  = INITIAL FX_StingerSoldierDie
12702      FlingForce          = 8
12703      FlingForceVariance  = 3
12704      FlingPitch          = 60
12705      FlingPitchVariance  = 10
12706    End
12707    Behavior = SlowDeathBehavior ModuleTag_Death04
12708      DeathTypes          = NONE +BURNED
12709      DestructionDelay    = 0
12710      FX                  = INITIAL FX_DieByFireGLA
12711      OCL                 = INITIAL OCL_FlamingInfantry
12712    End
12713    Behavior = SlowDeathBehavior ModuleTag_Death05
12714      DeathTypes          = NONE +POISONED
12715      DestructionDelay    = 0
12716      FX                  = INITIAL FX_DieByToxinGLA
12717      OCL                 = INITIAL OCL_ToxicInfantry
12718    End
12719    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
12720      DeathTypes          = NONE +POISONED_BETA
12721      DestructionDelay    = 0
12722      FX                  = INITIAL FX_DieByToxinGLA
12723      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
12724    End
12725    Behavior = SlowDeathBehavior ModuleTag_Death07
12726      DeathTypes          = NONE +POISONED_GAMMA
12727      DestructionDelay    = 0
12728      FX                  = INITIAL FX_DieByToxinGLA
12729      OCL                 = INITIAL OCL_ToxicInfantryGamma
12730    End
12731  ; --- end Death modules ---
12732  
12733    Behavior = PoisonedBehavior ModuleTag_14
12734      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
12735      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
12736    End
12737   
12738    Geometry = CYLINDER
12739    GeometryMajorRadius = 10.0
12740    GeometryMinorRadius = 10.0
12741    GeometryHeight = 12.0
12742    GeometryIsSmall = Yes
12743    Shadow = SHADOW_DECAL
12744    ShadowSizeX = 14
12745    ShadowSizeY = 14
12746    ShadowTexture = ShadowI;
12747    BuildCompletion = APPEARS_AT_RALLY_POINT
12748  
12749  End
12750  
12751  
12752  
12753  
12754  
12755  
12756  ;------------------------------------------------------------------------------
12757  Object Slth_GLAInfantryTerrorist
12758  
12759  ; *** ART Parameters ***
12760    SelectPortrait         = SUTerrorist_L
12761    ButtonImage            = SUTerrorist
12762    
12763    UpgradeCameo1 = Upgrade_GLACamouflage
12764    ;UpgradeCameo2 = NONE
12765    ;UpgradeCameo3 = NONE
12766    ;UpgradeCameo4 = NONE
12767    ;UpgradeCameo5 = NONE
12768  
12769    Draw = W3DModelDraw ModuleTag_01
12770      OkToChangeModelColor = Yes
12771      DefaultConditionState
12772        Model = UITRST_SKN
12773        IdleAnimation = UITRST_SKL.UITRST_STA 0 25
12774        ;Regular spice animations
12775        IdleAnimation = UITRST_SKL.UITRST_IDA
12776        IdleAnimation = UITRST_SKL.UITRST_IDB
12777        AnimationMode = ONCE
12778        TransitionKey = TRANS_Stand
12779      End
12780  
12781      ConditionState = REALLYDAMAGED
12782        Animation = UITRST_SKL.UITRST_STA
12783        AnimationMode = LOOP
12784        TransitionKey = TRANS_Stand
12785      End
12786  
12787      ConditionState = FREEFALL
12788        Animation = UITRST_SKL.UITRST_PFL
12789        AnimationMode = LOOP
12790        TransitionKey = TRANS_Falling
12791      End
12792      AliasConditionState = FREEFALL REALLYDAMAGED
12793      AliasConditionState = FREEFALL DYING
12794  
12795      ConditionState = PARACHUTING
12796        Animation = UITRST_SKL.UITRST_PHG
12797        AnimationMode = LOOP
12798        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
12799        TransitionKey = TRANS_Chute
12800      End
12801      AliasConditionState = PARACHUTING REALLYDAMAGED
12802      AliasConditionState = PARACHUTING DYING
12803  
12804      ConditionState = MOVING
12805        Animation = UITRST_SKL.UITRST_RNA 15
12806        AnimationMode = LOOP
12807        Flags = RANDOMSTART
12808        TransitionKey = None
12809        ParticleSysBone   = None InfantryDustTrails
12810      End
12811      AliasConditionState = MOVING REALLYDAMAGED
12812  
12813      ConditionState = ATTACKING MOVING
12814        Animation = UITRST_SKL.UITRST_RNB 10
12815        AnimationMode = LOOP
12816        Flags = RANDOMSTART
12817        TransitionKey = None
12818      End
12819      AliasConditionState = ATTACKING MOVING REALLYDAMAGED
12820  
12821      ConditionState = PREATTACK_A
12822        Animation = UITRST_SKL.UITRST_ATA
12823        AnimationMode = ONCE
12824      End
12825      AliasConditionState = PREATTACK_A MOVING
12826   
12827      ConditionState = DYING
12828        Animation = UITRST_SKL.UITRST_DTA
12829        Animation = UITRST_SKL.UITRST_DTC
12830        AnimationMode = ONCE
12831        TransitionKey = TRANS_Dying
12832      End
12833  
12834      TransitionState = TRANS_Dying TRANS_Flailing
12835        Animation = UITRST_SKL.UITRST_ADTE1
12836        AnimationMode = ONCE
12837      End
12838  
12839      ConditionState = DYING EXPLODED_FLAILING
12840        Animation = UITRST_SKL.UITRST_ADTE2
12841        AnimationMode = LOOP
12842        TransitionKey = TRANS_Flailing
12843      End
12844  
12845      ConditionState = DYING EXPLODED_BOUNCING
12846        Animation = UITRST_SKL.UITRST_ADTE3
12847        AnimationMode = ONCE
12848        TransitionKey = None
12849      End
12850  
12851      ConditionState = SPECIAL_CHEERING
12852        Animation = UITRST_SKL.UITRST_CHA
12853        AnimationMode = LOOP
12854      End
12855  
12856      TransitionState = TRANS_Falling TRANS_Chute
12857        Animation = UITRST_SKL.UITRST_POP
12858        AnimationMode = ONCE
12859        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
12860      End
12861  
12862      TransitionState = TRANS_Chute TRANS_Stand
12863        Animation = UITRST_SKL.UITRST_PTD
12864        AnimationMode = ONCE
12865      End
12866  
12867    End
12868  
12869    ; ***DESIGN parameters ***
12870    DisplayName      = OBJECT:Terrorist
12871    Side = GLAStealthGeneral
12872    EditorSorting = INFANTRY
12873    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
12874    WeaponSet
12875      Conditions = None 
12876      ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE
12877      ;damage to do ini logic for type of death to play -- unresistable for success.
12878      Weapon = PRIMARY TerroristSuicideWeapon 
12879    End
12880    ArmorSet
12881      Conditions      = None
12882      Armor           = HumanArmor
12883      DamageFX        = InfantryDamageFX
12884    End
12885    VisionRange = 150
12886    ShroudClearingRange = 200
12887    Prerequisites
12888      Object = Slth_GLABarracks
12889    End
12890    BuildCost = 200
12891    BuildTime = 5.0          ;in seconds    
12892    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
12893    CommandSet    = Slth_GLAInfantryTerroristCommandSet
12894  
12895    ; *** AUDIO Parameters ***
12896    VoiceSelect = TerroristVoiceSelect
12897    VoiceMove = TerroristVoiceMove
12898    VoiceAttack = TerroristVoiceAttack
12899    VoiceFear = TerroristVoiceFear
12900    VoiceGuard = TerroristVoiceMove
12901    UnitSpecificSounds
12902      VoiceGarrison         = TerroristVoiceMove
12903      VoiceCreate           = TerroristVoiceCreate
12904      VoiceEnter            = TerroristVoiceEnter
12905      VoiceEnterHostile     = TerroristVoiceEnterHostile
12906      VoiceGetHealed      = TerroristVoiceMove
12907    End
12908  
12909    ; *** ENGINEERING Parameters ***
12910    RadarPriority = UNIT
12911    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE
12912  
12913    Body = ActiveBody ModuleTag_02
12914      MaxHealth       = 120.0
12915      InitialHealth   = 120.0
12916    End
12917  
12918    ExperienceValue     = 20 20 20 20  ; Experience point value at each level
12919  
12920    Behavior = AIUpdateInterface ModuleTag_03
12921      AutoAcquireEnemiesWhenIdle = Yes
12922    End
12923    Behavior = CommandButtonHuntUpdate  ModuleTag_CBH01 ; allows use of command button hunt script with this unit. 
12924    End
12925    Locomotor = SET_NORMAL FastHumanLocomotor
12926    Behavior = PhysicsBehavior ModuleTag_04
12927      Mass = 5.0
12928    End
12929  
12930    ;Kris
12931    Behavior = ConvertToCarBombCrateCollide       ModuleTag_06
12932      RequiredKindOf    = VEHICLE      ; we only give our bonus to VEHICLEs we collide with
12933      ;ForbiddenKindOf  = TRANSPORT DOZER  ; but not to TRANSPORTs or DOZERs!
12934      FXList            = FX_MakeCarBombSuccess
12935    End
12936   
12937    Behavior = SquishCollide ModuleTag_07
12938      ;nothing
12939    End
12940    Behavior = StealthUpdate ModuleTag_07
12941      StealthDelay                = 2500 ; msec
12942      StealthForbiddenConditions  = ATTACKING USING_ABILITY
12943      MoveThresholdSpeed          = 3
12944      InnateStealth               = No ;Requires upgrade first
12945      OrderIdleEnemiesToAttackMeUponReveal  = Yes
12946    End
12947  
12948    Behavior = StealthUpgrade ModuleTag_08
12949      TriggeredBy = Upgrade_GLACamouflage
12950    End
12951  ; --- begin Death modules ---
12952    Behavior = SlowDeathBehavior ModuleTag_Death01
12953      DeathTypes          = ALL  -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA
12954      SinkDelay           = 3000
12955      SinkRate            = 0.5     ; in Dist/Sec
12956      DestructionDelay    = 8000
12957      FX                  = INITIAL FX_TerroristDie
12958    End
12959  
12960  
12961    ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS
12962    Behavior = SlowDeathBehavior ModuleTag_Death02
12963      DeathTypes          = NONE +POISONED
12964      DestructionDelay    = 0
12965      FX                  = INITIAL FX_DieByToxinGLA
12966      OCL                 = INITIAL OCL_ToxicInfantry_TerroristOnly
12967    End
12968    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
12969      DeathTypes          = NONE +POISONED_BETA
12970      DestructionDelay    = 0
12971      FX                  = INITIAL FX_DieByToxinGLA
12972      OCL                 = INITIAL OCL_ToxicInfantryBeta_TerroristOnly ;you'll have to create this OCL and make it use the blue guys instead of green ones
12973    End
12974    Behavior = SlowDeathBehavior ModuleTag_Death07
12975      DeathTypes          = NONE +POISONED_GAMMA
12976      DestructionDelay    = 0
12977      FX                  = INITIAL FX_DieByToxinGLA
12978      OCL                 = INITIAL OCL_ToxicInfantryGamma_TerroristOnly
12979    End
12980    ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS
12981  
12982  
12983    ; I have just pulled my ripcord, and this ain't no parachute!
12984    Behavior = SlowDeathBehavior ModuleTag_Death03
12985      DeathTypes          = NONE +SUICIDED
12986      SinkDelay           = 3000
12987      SinkRate            = 0.5     ; in Dist/Sec
12988      DestructionDelay    = 8000
12989      FX                  = INITIAL FX_TerroristExplode
12990      FlingForce          = 8
12991      FlingForceVariance  = 3
12992      FlingPitch          = 60
12993      FlingPitchVariance  = 10
12994    End
12995    Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04
12996      DeathWeapon   = SuicideDynamitePack
12997      StartsActive  = Yes                      ; turned on by upgrade
12998      DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED
12999    End
13000  ; --- end Death modules ---
13001  
13002    Behavior = PoisonedBehavior ModuleTag_14
13003      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
13004      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
13005    End
13006   
13007    Geometry = CYLINDER
13008    GeometryMajorRadius = 10.0
13009    GeometryMinorRadius = 10.0
13010    GeometryHeight = 12.0
13011    GeometryIsSmall = Yes
13012    Shadow = SHADOW_DECAL
13013    ShadowSizeX = 14;
13014    ShadowSizeY = 14;
13015    ShadowTexture = ShadowI;
13016    BuildCompletion = APPEARS_AT_RALLY_POINT
13017  
13018  End
13019  
13020  
13021  
13022  
13023  
13024  
13025  
13026  
13027  ;------------------------------------------------------------------------------
13028  ;------------------------------------------------------------------------------
13029  Object Slth_GLAInfantryAngryMobNexus 
13030  
13031  ;**** ART Parameters **************************
13032    SelectPortrait         = SUAngryMob_L
13033    ButtonImage            = SUAngryMob
13034    
13035    UpgradeCameo1 = Upgrade_GLAArmTheMob
13036    ;UpgradeCameo2 = NONE
13037    ;UpgradeCameo3 = NONE
13038    ;UpgradeCameo4 = NONE
13039    ;UpgradeCameo5 = NONE
13040    
13041    Draw = W3DModelDraw ModuleTag_01
13042      OkToChangeModelColor = Yes
13043      DefaultConditionState
13044        Model = None
13045  ;      Model = AVBomber_B
13046      End
13047    End
13048  
13049  
13050  ;****DESIGN parameters **************************
13051  
13052    DisplayName      = OBJECT:AngryMobNexus
13053    Side = GLAStealthGeneral
13054  
13055    RadarPriority       = NOT_ON_RADAR
13056  
13057    EditorSorting   = INFANTRY
13058    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
13059  
13060    WeaponSet
13061      Conditions = None 
13062      Weapon = PRIMARY GLAAngryMobNexusHarmlessWeapon
13063      Weapon = SECONDARY GLAAngryMobNexusHarmlessWeapon
13064      Weapon = TERTIARY GLAAngryMobNexusHarmlessWeapon
13065    End
13066  
13067  
13068    ArmorSet
13069      Conditions      = None
13070      Armor           = InvulnerableAllArmor
13071      DamageFX        = None
13072    End
13073  
13074    BuildCost       = 800
13075    BuildTime       = 15.0          ;in seconds    
13076    VisionRange     = 150  ; it can scout for the spawn
13077    ShroudClearingRange = 0
13078  
13079    Prerequisites
13080      Object = Slth_GLABarracks
13081      Object = Slth_GLAPalace
13082    End
13083  
13084    ExperienceValue    = 5 5 5 5 ;Experience point value at each level
13085  
13086    IsTrainable     = No
13087  
13088  
13089  
13090    CommandSet    = Slth_GLAInfantryAngryMobCommandSet;
13091  
13092  ;**** AUDIO Parameters *****************************
13093    VoiceSelect = AngryMobVoiceSelect
13094    VoiceMove = AngryMobVoiceMove
13095    VoiceGuard = AngryMobVoiceMove
13096    VoiceAttack = AngryMobVoiceAttack
13097    SoundMoveStart = NoSound
13098    SoundAmbient = AngryMobAmbientLoop
13099    SoundAmbientRubble = NoSound
13100    UnitSpecificSounds
13101      VoiceCreate          = AngryMobVoiceCreate
13102    End
13103  
13104  
13105  ;**** ENGINEERING Parameters ******************************
13106  
13107    RadarPriority = UNIT
13108    KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE SCORE
13109    Body = ImmortalBody ModuleTag_02
13110      MaxHealth       = 99999.0
13111      InitialHealth   = 99999.0
13112    End
13113  
13114    Behavior = AIUpdateInterface ModuleTag_03
13115      AutoAcquireEnemiesWhenIdle = Yes
13116    End
13117  
13118    Locomotor = SET_NORMAL AngryMobNexusLocomotor ;Important! don't make the Nexus any faster!
13119    Locomotor = SET_WANDER AngryMobNexusLocomotor ;Important! don't make the Nexus any faster!
13120    Locomotor = SET_PANIC AngryMobNexusLocomotor ;Important! don't make the Nexus any faster!
13121  
13122  ;  Locomotor = SET_NORMAL WanderHumanLocomotor ;Important! don't make the Nexus any faster!
13123  ;  Locomotor = SET_WANDER WanderHumanLocomotor ;Important! don't make the Nexus any faster!
13124  ;  Locomotor = SET_PANIC WanderHumanLocomotor ;Important! don't make the Nexus any faster!
13125  
13126    Behavior = PhysicsBehavior ModuleTag_04
13127      Mass = 50.0
13128    End
13129  
13130    Behavior            = SpawnBehavior ModuleTag_05
13131      SpawnNumber       = 10
13132      SpawnReplaceDelay = 30000 ; 30 seconds
13133  
13134          SpawnTemplateName = GLAInfantryAngryMobPistol01 ; Aladdin
13135          SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume
13136          SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce
13137          SpawnTemplateName = GLAInfantryAngryMobPistol03 ; Skinny Guy with the Green Beret
13138          SpawnTemplateName = GLAInfantryAngryMobRock04 ; Fat guy with the tank top
13139          SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce
13140          SpawnTemplateName = GLAInfantryAngryMobPistol05 ; The robed dude with the Man-Veil
13141  
13142  
13143  
13144      ExitByBudding = Yes;!
13145  
13146      InitialBurst = 5 ; the first set of 5 will not delay
13147      OneShot     = No
13148      AggregateHealth = Yes
13149      SlavesHaveFreeWill = Yes
13150    End
13151  
13152    Behavior = QueueProductionExitUpdate ModuleTag_06
13153      UnitCreatePoint   = X:  0.0  Y:  0.0   Z:0.0
13154      NaturalRallyPoint = X: 0.0  Y:  0.0   Z:0.0
13155      ExitDelay     = 5000 ; 5 sec
13156      InitialBurst = 5 ; the first set of 5 will not delay
13157    End
13158  
13159    Behavior = DestroyDie ModuleTag_07
13160      DeathTypes = ALL
13161    End
13162  
13163    Geometry = CYLINDER
13164    GeometryMajorRadius = 1.0
13165    GeometryMinorRadius = 1.0
13166    GeometryHeight = 1.0     
13167    GeometryIsSmall = Yes 
13168    Shadow = SHADOW_VOLUME
13169  
13170  End
13171  
13172  
13173  
13174  
13175  
13176  ;------------------------------------------------------------------------------
13177  ;------------------------------------------------------------------------------
13178  Object Slth_GLAInfantryAngryMobPistol01
13179  
13180  ;**** ART Parameters ***
13181    Draw = W3DModelDraw DrawTag_01
13182      OkToChangeModelColor = Yes
13183  
13184      ; WHILE CARRYING PISTOL
13185      ;---------------------------------------------------------
13186      DefaultConditionState ;Idle with Pistol Holstered
13187        Model = UIMOB01_SKN
13188        IdleAnimation = UIMOB01_SKL.UIMOB01_IDA1 0 12
13189        IdleAnimation = UIMOB01_SKL.UIMOB01_IDA2 0 5
13190        IdleAnimation = UIMOB01_SKL.UIMOB01_CHA  0 5
13191        IdleAnimation = UIMOB01_SKL.UIMOB01_STA  0 5
13192        AnimationMode = ONCE
13193        AnimationSpeedFactorRange 0.9 1.1
13194        TransitionKey = TRANS_STAND_A
13195  
13196        WeaponFireFXBone = PRIMARY Muzzle
13197        WeaponMuzzleFlash = PRIMARY MuzzleFX
13198        WeaponFireFXBone = SECONDARY MuzzleAK
13199        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
13200      End
13201  
13202      ; Drawing pistol
13203      ConditionState  = PREATTACK_A
13204        Animation     = UIMOB01_SKL.UIMOB01_ATA1_ST ; start firing
13205        AnimationMode = ONCE
13206      End
13207      AliasConditionState = PREATTACK_A FIRING_A
13208      AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A
13209  
13210      ; Firing pistol
13211      ConditionState = FIRING_A
13212        Animation = UIMOB01_SKL.UIMOB01_ATA1_LP ; looping firing
13213        AnimationMode = LOOP
13214        TransitionKey = TRANS_FIRING_A
13215      End
13216      AliasConditionState  = BETWEEN_FIRING_SHOTS_A
13217      
13218      ConditionState  = RELOADING_A
13219        Animation     = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing
13220        AnimationMode = ONCE
13221      End
13222  
13223      ; This transition allows him to put his gun away when he's finished attacking.
13224      TransitionState = TRANS_FIRING_A TRANS_STAND_A
13225        Animation     = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing
13226        AnimationMode = ONCE
13227      End
13228  
13229      ConditionState = MOVING
13230        Animation = UIMOB01_SKL.UIMOB01_RNA 
13231        AnimationMode = LOOP
13232        Flags = RANDOMSTART
13233        TransitionKey   = MOVING
13234        ParticleSysBone   = None InfantryDustTrails
13235      End
13236      AliasConditionState = MOVING RELOADING_A
13237      AliasConditionState = MOVING PREATTACK_A
13238      AliasConditionState = MOVING FIRING_A
13239      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
13240      AliasConditionState = MOVING RELOADING_C RELOADING_A 
13241      AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 
13242  
13243      ConditionState = DYING
13244        Animation = UIMOB01_SKL.UIMOB01_DA1    
13245        Animation = UIMOB01_SKL.UIMOB01_DA2
13246        AnimationMode = ONCE
13247        TransitionKey = TRANS_Dying
13248      End
13249  
13250  
13251      ConditionState = SPECIAL_CHEERING
13252        Animation = UIMOB01_SKL.UIMOB01_CHA
13253        AnimationMode = ONCE
13254      End
13255  
13256      ;--------------------------------------------------------
13257      ; TRANSITION FROM PISTOL TO AK47
13258      TransitionState = TRANS_STAND_A TRANS_STAND_AK
13259        Animation = UIMOB01_SKL.UIMOB01_TA-D
13260        AnimationMode = ONCE
13261      End
13262  
13263      ; WHILE CARRYING AK47 
13264      ;---------------------------------------------------------
13265      ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung
13266        Model = UIMOB01_SKN
13267        IdleAnimation = UIMOB01_SKL.UIMOB01_IDD1 0 6
13268        IdleAnimation = UIMOB01_SKL.UIMOB01_IDD2 0 6
13269        IdleAnimation = UIMOB01_SKL.UIMOB01_CHD  0 6
13270        IdleAnimation = UIMOB01_SKL.UIMOB01_STD
13271        AnimationMode = ONCE
13272        AnimationSpeedFactorRange 0.9 1.1
13273        TransitionKey = TRANS_STAND_AK
13274      End
13275  
13276      ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE
13277        Animation = UIMOB01_SKL.UIMOB01_RND 
13278        AnimationMode = LOOP
13279        Flags = RANDOMSTART
13280        TransitionKey   = MOVING_AK
13281      End
13282  
13283      ConditionState = DYING WEAPONSET_PLAYER_UPGRADE
13284        Animation = UIMOB01_SKL.UIMOB01_DD1    
13285        Animation = UIMOB01_SKL.UIMOB01_DD2
13286        AnimationMode = ONCE
13287        TransitionKey = TRANS_Dying
13288      End
13289  
13290      ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE
13291        Animation = UIMOB01_SKL.UIMOB01_CHD
13292        AnimationMode = ONCE
13293      End
13294  
13295      ; Drawing AK47
13296      ConditionState  = PREATTACK_B WEAPONSET_PLAYER_UPGRADE
13297        Animation     = UIMOB01_SKL.UIMOB01_ATD1_ST ; start firing
13298        AnimationMode = ONCE
13299      End
13300      AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE
13301      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
13302  
13303      ; Firing Gun
13304      ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE
13305        Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing
13306        AnimationMode = LOOP
13307        WeaponFireFXBone = SECONDARY MuzzleAK
13308        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
13309        TransitionKey = TRANS_FIRING_AK
13310      End
13311      AliasConditionState  = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
13312  
13313  
13314      ConditionState  = RELOADING_B WEAPONSET_PLAYER_UPGRADE
13315        Animation     = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing
13316        AnimationMode = ONCE
13317      End
13318  
13319  
13320      ; This transition allows him to put his gun away when he's finished attacking.
13321      TransitionState = TRANS_FIRING_AK TRANS_STAND_AK
13322        Animation     = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing
13323        AnimationMode = ONCE
13324      End
13325  
13326  ;    ;Throwing bottle----------------------------------------------------------------
13327  ;    ConditionState = PREATTACK_C 
13328  ;      Animation     = UIMOB01_SKL.UIMOB01_ATCA_BF ; the wind up
13329  ;    End
13330  ;    AliasConditionState = PREATTACK_C FIRING_A
13331  ;    AliasConditionState = PREATTACK_C RELOADING_A
13332  ;    AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 
13333  ;
13334  ;    ConditionState = FIRING_C 
13335  ;      Animation     = UIMOB01_SKL.UIMOB01_ATCA_AF ; the release and follow-thru
13336  ;      TransitionKey = TRANS_THROW
13337  ;    End
13338  ;    AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A
13339  ;
13340  ;    ConditionState RELOADING_C
13341  ;      Animation =UIMOB01_SKL.UIMOB01_IDA1
13342  ;      WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru
13343  ;    End
13344  ;    AliasConditionState = RELOADING_C RELOADING_A
13345  ;    AliasConditionState = RELOADING_C FIRING_A
13346  ;    AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A
13347  
13348  
13349  ;    TransitionState = TRANSXXX TRANS_THROW
13350  ;      Animation     = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway gun and take out bottle
13351  ;    End
13352  
13353  ;    TransitionState = TRANS_THROW TRANS_FIRING_A
13354  ;      Animation     = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get PISTOL
13355  ;    End
13356  
13357  ;    TransitionState = TRANSXXXAK TRANS_THROW
13358  ;      Animation     = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway AK and take out bottle
13359  ;    End
13360  
13361  ;    TransitionState = TRANS_THROW TRANS_FIRING_AK
13362  ;      Animation     = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get AK
13363  ;    End
13364  
13365      ;--------------------------------------------------------
13366  
13367      TransitionState = TRANS_Dying TRANS_Flailing
13368        Animation = UIMOB01_SKL.UIMOB01_A_ADTE1
13369        Animation = UIMOB01_SKL.UIMOB01_D_ADTE1
13370        AnimationMode = ONCE
13371      End
13372  
13373      ConditionState = DYING EXPLODED_FLAILING
13374        Animation = UIMOB01_SKL.UIMOB01_A_ADTE2
13375        Animation = UIMOB01_SKL.UIMOB01_D_ADTE2
13376        AnimationMode = LOOP
13377        TransitionKey = TRANS_Flailing
13378      End
13379  
13380      ConditionState = DYING EXPLODED_BOUNCING
13381        Animation = UIMOB01_SKL.UIMOB01_A_ADTE3
13382        Animation = UIMOB01_SKL.UIMOB01_D_ADTE3
13383        AnimationMode = ONCE
13384        TransitionKey = None
13385      End
13386    End
13387  
13388  ;**** DESIGN parameters ***
13389  
13390    DisplayName      = OBJECT:AngryMob
13391    Side = GLAStealthGeneral
13392    EditorSorting = INFANTRY
13393    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
13394  
13395    WeaponSet
13396      Conditions = None 
13397      Weapon = PRIMARY GLAAngryMobPistolWeapon
13398    End
13399  
13400    WeaponSet
13401      Conditions = PLAYER_UPGRADE 
13402      Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions
13403      Weapon = SECONDARY GLAAngryMobAK47Weapon
13404    End
13405  
13406    ArmorSet
13407      Conditions      = None
13408      Armor           = HumanArmor
13409      DamageFX        = InfantryDamageFX
13410    End
13411  
13412    VisionRange = 150
13413    ShroudClearingRange = 150
13414    Prerequisites
13415      Object = Slth_GLABarracks
13416    End
13417    BuildCost = 100
13418    BuildTime = 0.0           
13419  
13420    ExperienceValue = 5 5 5 5    ;Experience point value at each level
13421    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
13422    IsTrainable = Yes             ;Can gain experience
13423    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
13424  
13425    ; *** AUDIO Parameters ***
13426    VoiceSelect = NoSound 
13427    VoiceMove = NoSound   
13428    VoiceAttack = NoSound 
13429  
13430  ;**** ENGINEERING Parameters *** ;MOB01
13431    RadarPriority = UNIT
13432    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI  ;NO_COLLIDE ;Lorenzen disables 
13433  
13434    Body = ActiveBody BodyTag_01
13435      MaxHealth       = 50.0
13436      InitialHealth   = 50.0
13437    End
13438  
13439    Behavior = AIUpdateInterface ModuleTag_03
13440      AutoAcquireEnemiesWhenIdle = Yes
13441    End
13442  
13443    Behavior = MobMemberSlavedUpdate ModuleTag_04
13444      MustCatchUpRadius   = 40
13445      NoNeedToCatchUpRadius = 15
13446      Squirrelliness = 0.05
13447      CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames
13448    End
13449  
13450    Locomotor = SET_NORMAL AngryMobNormalLocomotor
13451    Locomotor = SET_WANDER AngryMobWanderLocomotor
13452    Locomotor = SET_PANIC AngryMobPanicLocomotor
13453  
13454    Behavior = PhysicsBehavior BehaviorTag_01
13455      Mass = 5.0
13456    End
13457  
13458    Behavior = SquishCollide ModuleTag_08
13459      ;nothing
13460    End
13461  
13462    Behavior = WeaponSetUpgrade UpgradeTag_01
13463      TriggeredBy = Upgrade_GLAArmTheMob
13464    End
13465  
13466  
13467  ; --- begin Death modules ---
13468    Behavior = SlowDeathBehavior DeathTag_01
13469      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
13470      SinkDelay           = 3000
13471      SinkRate            = 0.5     ; in Dist/Sec
13472      DestructionDelay    = 8000
13473      FX                  = INITIAL FX_CivilianArabMaleDie
13474    End
13475    Behavior = SlowDeathBehavior DeathTag_02
13476      DeathTypes          = NONE +CRUSHED +SPLATTED
13477      SinkDelay           = 3000
13478      SinkRate            = 0.5     ; in Dist/Sec
13479      DestructionDelay    = 8000
13480      FX                  = INITIAL FX_GIDieCrushed
13481    End
13482    Behavior = SlowDeathBehavior DeathTag_03
13483      DeathTypes          = NONE +EXPLODED
13484      SinkDelay           = 3000
13485      SinkRate            = 0.5     ; in Dist/Sec
13486      DestructionDelay    = 8000
13487      FX                  = INITIAL FX_CivilianArabMaleDie
13488      FlingForce          = 8
13489      FlingForceVariance  = 3
13490      FlingPitch          = 60
13491      FlingPitchVariance  = 10
13492    End
13493    Behavior = SlowDeathBehavior DeathTag_04
13494      DeathTypes          = NONE +BURNED
13495      DestructionDelay    = 0
13496      FX                  = INITIAL FX_GIDie
13497      OCL                 = INITIAL OCL_FlamingInfantry
13498    End
13499    Behavior = SlowDeathBehavior ModuleTag_Death05
13500      DeathTypes          = NONE +POISONED
13501      DestructionDelay    = 0
13502      FX                  = INITIAL FX_DieByToxinGLA
13503      OCL                 = INITIAL OCL_ToxicInfantry
13504    End
13505    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
13506      DeathTypes          = NONE +POISONED_BETA
13507      DestructionDelay    = 0
13508      FX                  = INITIAL FX_DieByToxinGLA
13509      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
13510    End
13511    Behavior = SlowDeathBehavior ModuleTag_Death07
13512      DeathTypes          = NONE +POISONED_GAMMA
13513      DestructionDelay    = 0
13514      FX                  = INITIAL FX_DieByToxinGLA
13515      OCL                 = INITIAL OCL_ToxicInfantryGamma
13516    End
13517  ; --- end Death modules ---
13518  
13519    Behavior = PoisonedBehavior BehaviorTag_02
13520      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
13521      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
13522    End
13523   
13524    Geometry = CYLINDER
13525    GeometryMajorRadius = 4.0 ; very thin
13526    GeometryHeight = 12.0
13527    GeometryIsSmall = Yes
13528    Shadow = SHADOW_DECAL
13529    ShadowSizeX = 14;
13530    ShadowSizeY = 14;
13531    ShadowTexture = ShadowI;
13532    BuildCompletion = APPEARS_AT_RALLY_POINT
13533  
13534  End
13535  
13536  
13537  ;------------------------------------------------------------------------------
13538  ;------------------------------------------------------------------------------
13539  Object Slth_GLAInfantryAngryMobRock02
13540  
13541  ;**** ART Parameters ***
13542    Draw = W3DModelDraw ModuleTag_01
13543      OkToChangeModelColor = Yes
13544  
13545      ; WHILE CARRYING ROCK
13546      ;---------------------------------------------------------
13547      DefaultConditionState
13548        Model = UIMOB02_SKN
13549        IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12
13550        IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5
13551        IdleAnimation = UIMOB02_SKL.UIMOB02_CHB  0 5
13552        IdleAnimation = UIMOB02_SKL.UIMOB02_STB  0 12
13553        AnimationMode = ONCE
13554        AnimationSpeedFactorRange 0.9 1.1
13555        TransitionKey = TRANS_STAND_A
13556  
13557        ;WeaponFireFXBone  = PRIMARY   "UIMOB02 R HAND"
13558        ;WeaponMuzzleFlash = PRIMARY   "UIMOB02 R HAND"
13559        WeaponFireFXBone =  SECONDARY MuzzleAK
13560        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
13561      End
13562  
13563  
13564      ; Drawing rock
13565      ConditionState  = PREATTACK_A
13566        Animation     = UIMOB02_SKL.UIMOB02_ATB2_BF ; wind up
13567        AnimationMode = ONCE
13568      End
13569      AliasConditionState = PREATTACK_A FIRING_A
13570      AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A
13571  
13572      ; throwing rock
13573      ConditionState = FIRING_A
13574        Animation = UIMOB02_SKL.UIMOB02_ATB1_AF ; throw
13575        Animation = UIMOB02_SKL.UIMOB02_ATB2_AF ; throw
13576        AnimationMode = ONCE
13577        TransitionKey = TRANS_FIRING_A
13578      End
13579      
13580      ConditionState = BETWEEN_FIRING_SHOTS_A
13581        Animation         = UIMOB02_SKL.UIMOB02_STB
13582        AnimationMode     = ONCE
13583        ; this is basically a trick: this guy has a nontrivial animation for firing,
13584        ; and a long recycle time between shots. we want him to finish his fire animation
13585        ; (unless he's ordered to do something else), so this is just a handy trick that
13586        ; says, "if the previous state had this transition key, allow it to finish before
13587        ; switching to us, if possible".
13588        WaitForStateToFinishIfPossible = TRANS_FIRING_A
13589      End
13590      AliasConditionState = RELOADING_A
13591  
13592  
13593      ConditionState = MOVING
13594        Animation = UIMOB02_SKL.UIMOB02_RNB 
13595        AnimationMode = LOOP
13596        Flags = RANDOMSTART
13597        TransitionKey   = MOVING
13598        ParticleSysBone   = None InfantryDustTrails
13599      End
13600  
13601      ConditionState = DYING
13602        Animation = UIMOB02_SKL.UIMOB02_DB1    
13603        Animation = UIMOB02_SKL.UIMOB02_DB2
13604        AnimationMode = ONCE
13605        TransitionKey = TRANS_Dying
13606      End
13607  
13608      ConditionState = SPECIAL_CHEERING
13609        Animation = UIMOB02_SKL.UIMOB02_CHB
13610        Flags = RANDOMSTART
13611        AnimationMode = LOOP
13612      End
13613  
13614  
13615      ;--------------------------------------------------------
13616      ; TRANSITION FROM PISTOL TO AK47
13617      TransitionState = TRANS_STAND_A TRANS_STAND_AK
13618        Animation = UIMOB02_SKL.UIMOB02_TB-D
13619        AnimationMode = ONCE
13620      End
13621  
13622  
13623      ; WHILE CARRYING AK47 
13624      ;---------------------------------------------------------
13625      ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung
13626        Model = UIMOB02_SKN
13627        IdleAnimation = UIMOB02_SKL.UIMOB02_IDD1 0 6
13628        IdleAnimation = UIMOB02_SKL.UIMOB02_IDD2 0 6
13629        IdleAnimation = UIMOB02_SKL.UIMOB02_CHD  0 6
13630        IdleAnimation = UIMOB02_SKL.UIMOB02_STD
13631        AnimationMode = ONCE
13632        AnimationSpeedFactorRange 0.9 1.1
13633        TransitionKey = TRANS_STAND_AK
13634      End
13635  
13636      ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE
13637        Animation = UIMOB02_SKL.UIMOB02_RND 
13638        AnimationMode = LOOP
13639        Flags = RANDOMSTART
13640        TransitionKey   = MOVING_AK
13641      End
13642  
13643      ConditionState = DYING WEAPONSET_PLAYER_UPGRADE
13644        Animation = UIMOB02_SKL.UIMOB02_DD1    
13645        Animation = UIMOB02_SKL.UIMOB02_DD2
13646        AnimationMode = ONCE
13647        TransitionKey = TRANS_Dying
13648      End
13649  
13650      ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE
13651        Animation = UIMOB02_SKL.UIMOB02_CHD
13652        AnimationMode = ONCE
13653      End
13654  
13655      ; Drawing AK47
13656      ConditionState  = PREATTACK_B WEAPONSET_PLAYER_UPGRADE
13657        Animation     = UIMOB02_SKL.UIMOB02_ATD1_ST ; start firing
13658        AnimationMode = ONCE
13659      End
13660      AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE
13661      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
13662  
13663      ; Firing Gun
13664      ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE
13665        Animation = UIMOB02_SKL.UIMOB02_ATD1_LP ; looping firing
13666        AnimationMode = LOOP
13667        WeaponFireFXBone = SECONDARY MuzzleAK
13668        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
13669        TransitionKey = TRANS_FIRING_AK
13670      End
13671      AliasConditionState  = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
13672  
13673  
13674      ConditionState  = RELOADING_B WEAPONSET_PLAYER_UPGRADE
13675        Animation     = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing
13676        AnimationMode = ONCE
13677      End
13678  
13679  
13680      ; This transition allows him to put his gun away when he's finished attacking.
13681      TransitionState = TRANS_FIRING_AK TRANS_STAND_AK
13682        Animation     = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing
13683        AnimationMode = ONCE
13684      End
13685  
13686  
13687  
13688  
13689      TransitionState = TRANS_Dying TRANS_Flailing
13690        Animation = UIMOB02_SKL.UIMOB02_B_ADTA1
13691        Animation = UIMOB02_SKL.UIMOB02_D_ADTA1
13692        AnimationMode = ONCE
13693      End
13694  
13695      ConditionState = DYING EXPLODED_FLAILING
13696        Animation = UIMOB02_SKL.UIMOB02_B_ADTA2
13697        Animation = UIMOB02_SKL.UIMOB02_D_ADTA2
13698        AnimationMode = LOOP
13699        TransitionKey = TRANS_Flailing
13700      End
13701  
13702      ConditionState = DYING EXPLODED_BOUNCING
13703        Animation = UIMOB02_SKL.UIMOB02_B_ADTA3
13704        Animation = UIMOB02_SKL.UIMOB02_D_ADTA3
13705        AnimationMode = ONCE
13706        TransitionKey = None
13707      End
13708  
13709  
13710    End
13711  
13712  
13713  ;**** DESIGN parameters ***
13714  
13715    DisplayName      = OBJECT:AngryMob
13716    Side = GLAStealthGeneral
13717    EditorSorting = INFANTRY
13718    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
13719  
13720    WeaponSet
13721      Conditions = None 
13722      Weapon = PRIMARY GLAAngryMobRockProjectileWeapon
13723    End
13724  
13725    WeaponSet
13726      Conditions = PLAYER_UPGRADE 
13727      Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions
13728      Weapon = SECONDARY GLAAngryMobAK47Weapon
13729    End
13730  
13731    ArmorSet
13732      Conditions      = None
13733      Armor           = HumanArmor
13734      DamageFX        = InfantryDamageFX
13735    End
13736  
13737    VisionRange = 150
13738    ShroudClearingRange = 150
13739    Prerequisites
13740      Object = Slth_GLABarracks
13741    End
13742    BuildCost = 100
13743    BuildTime = 0.0            
13744  
13745    ExperienceValue = 5 5 5 5    ;Experience point value at each level
13746    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
13747    IsTrainable = Yes             ;Can gain experience
13748    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
13749  
13750    ; *** AUDIO Parameters ***
13751    VoiceSelect = NoSound 
13752    VoiceMove = NoSound   
13753    VoiceAttack = NoSound 
13754  
13755  ;**** ENGINEERING Parameters *** ;MOB02
13756    RadarPriority = UNIT
13757    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI  ;NO_COLLIDE ;Lorenzen disables 
13758  
13759    Body = ActiveBody BodyTag_01
13760      MaxHealth       = 50.0
13761      InitialHealth   = 50.0
13762    End
13763  
13764    Behavior = AIUpdateInterface ModuleTag_03
13765      AutoAcquireEnemiesWhenIdle = Yes
13766    End
13767  
13768    Behavior = MobMemberSlavedUpdate ModuleTag_04
13769      MustCatchUpRadius   = 40
13770      NoNeedToCatchUpRadius = 15
13771      Squirrelliness = 0.05
13772      CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames
13773    End
13774  
13775    Locomotor = SET_NORMAL AngryMobNormalLocomotor
13776    Locomotor = SET_WANDER AngryMobWanderLocomotor
13777    Locomotor = SET_PANIC AngryMobPanicLocomotor
13778  
13779    Behavior = PhysicsBehavior ModuleTag_05
13780      Mass = 5.0
13781    End
13782  
13783    Behavior = SquishCollide ModuleTag_08
13784      ;nothing
13785    End
13786  
13787    Behavior = WeaponSetUpgrade UpgradeTag_01
13788      TriggeredBy = Upgrade_GLAArmTheMob
13789    End
13790  
13791  
13792  ; --- begin Death modules ---
13793    Behavior = SlowDeathBehavior ModuleTag_Death01
13794      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
13795      SinkDelay           = 3000
13796      SinkRate            = 0.5     ; in Dist/Sec
13797      DestructionDelay    = 8000
13798      FX                  = INITIAL FX_CivilianArabFemaleDie
13799    End
13800    Behavior = SlowDeathBehavior ModuleTag_Death02
13801      DeathTypes          = NONE +CRUSHED +SPLATTED
13802      SinkDelay           = 3000
13803      SinkRate            = 0.5     ; in Dist/Sec
13804      DestructionDelay    = 8000
13805      FX                  = INITIAL FX_GIDieCrushed
13806    End
13807    Behavior = SlowDeathBehavior ModuleTag_Death03
13808      DeathTypes          = NONE +EXPLODED
13809      SinkDelay           = 3000
13810      SinkRate            = 0.5     ; in Dist/Sec
13811      DestructionDelay    = 8000
13812      FX                  = INITIAL FX_CivilianArabFemaleDie
13813      FlingForce          = 8
13814      FlingForceVariance  = 3
13815      FlingPitch          = 60
13816      FlingPitchVariance  = 10
13817    End
13818    Behavior = SlowDeathBehavior ModuleTag_Death04
13819      DeathTypes          = NONE +BURNED
13820      DestructionDelay    = 0
13821      FX                  = INITIAL FX_GIDie
13822      OCL                 = INITIAL OCL_FlamingInfantry
13823    End
13824    Behavior = SlowDeathBehavior ModuleTag_Death05
13825      DeathTypes          = NONE +POISONED
13826      DestructionDelay    = 0
13827      FX                  = INITIAL FX_DieByToxinGLA
13828      OCL                 = INITIAL OCL_ToxicInfantry
13829    End
13830    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
13831      DeathTypes          = NONE +POISONED_BETA
13832      DestructionDelay    = 0
13833      FX                  = INITIAL FX_DieByToxinGLA
13834      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
13835    End
13836    Behavior = SlowDeathBehavior ModuleTag_Death07
13837      DeathTypes          = NONE +POISONED_GAMMA
13838      DestructionDelay    = 0
13839      FX                  = INITIAL FX_DieByToxinGLA
13840      OCL                 = INITIAL OCL_ToxicInfantryGamma
13841    End
13842  ; --- end Death modules ---
13843  
13844    Behavior = PoisonedBehavior ModuleTag_13
13845      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
13846      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
13847    End
13848   
13849    Geometry = CYLINDER
13850    GeometryMajorRadius = 4.0 ; very thin
13851    GeometryHeight = 12.0
13852    GeometryIsSmall = Yes
13853    Shadow = SHADOW_DECAL
13854    ShadowSizeX = 14;
13855    ShadowSizeY = 14;
13856    ShadowTexture = ShadowI;
13857    BuildCompletion = APPEARS_AT_RALLY_POINT
13858  
13859  End
13860  
13861  ;------------------------------------------------------------------------------
13862  ;------------------------------------------------------------------------------
13863  
13864  ObjectReskin Slth_GLAInfantryAngryMobPistol03 Slth_GLAInfantryAngryMobPistol01
13865  
13866  ;**** ART Parameters ***
13867    Draw = W3DModelDraw DrawTag_01
13868      OkToChangeModelColor = Yes
13869  
13870  
13871  
13872      ; WHILE CARRYING PISTOL
13873      ;---------------------------------------------------------
13874      DefaultConditionState ;Idle with Pistol Holstered
13875        Model = UIMOB03_SKN
13876        IdleAnimation = UIMOB03_SKL.UIMOB03_IDA1 0 12
13877        IdleAnimation = UIMOB03_SKL.UIMOB03_IDA2 0 5
13878        IdleAnimation = UIMOB03_SKL.UIMOB03_CHA  0 5
13879        IdleAnimation = UIMOB03_SKL.UIMOB03_STA  0 5
13880        AnimationMode = ONCE
13881        AnimationSpeedFactorRange 0.9 1.1
13882        TransitionKey = TRANS_STAND_A
13883  
13884        WeaponFireFXBone = PRIMARY Muzzle
13885        WeaponMuzzleFlash = PRIMARY MuzzleFX
13886        WeaponFireFXBone = SECONDARY MuzzleAK
13887        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
13888        WeaponFireFXBone = TERTIARY "UIMOB03 R HAND"
13889      End
13890  
13891      ; Drawing pistol
13892      ConditionState  = PREATTACK_A
13893        Animation     = UIMOB03_SKL.UIMOB03_ATA1_ST ; start firing
13894        AnimationMode = ONCE
13895      End
13896      AliasConditionState = PREATTACK_A FIRING_A
13897      AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A
13898  
13899      ; Firing pistol
13900      ConditionState = FIRING_A
13901        Animation = UIMOB03_SKL.UIMOB03_ATA1_LP ; looping firing
13902        AnimationMode = LOOP
13903        TransitionKey = TRANS_FIRING_A
13904      End
13905      AliasConditionState  = BETWEEN_FIRING_SHOTS_A
13906  
13907      ConditionState  = RELOADING_A
13908        Animation     = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing
13909        AnimationMode = ONCE
13910      End
13911  
13912      ; This transition allows him to put his gun away when he's finished attacking.
13913      TransitionState = TRANS_FIRING_A TRANS_STAND_A
13914        Animation     = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing
13915        AnimationMode = ONCE
13916      End
13917  
13918      ConditionState = MOVING
13919        Animation = UIMOB03_SKL.UIMOB03_RNA 
13920        AnimationMode = LOOP
13921        Flags = RANDOMSTART
13922        TransitionKey   = MOVING
13923        ParticleSysBone   = None InfantryDustTrails
13924      End
13925      AliasConditionState = MOVING RELOADING_A
13926      AliasConditionState = MOVING PREATTACK_A
13927      AliasConditionState = MOVING FIRING_A
13928      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
13929      AliasConditionState = MOVING RELOADING_C RELOADING_A 
13930      AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 
13931  
13932      ConditionState = DYING
13933        Animation = UIMOB03_SKL.UIMOB03_DA1    
13934        Animation = UIMOB03_SKL.UIMOB03_DA2
13935        AnimationMode = ONCE
13936        TransitionKey = TRANS_Dying
13937      End
13938  
13939  
13940      ConditionState = SPECIAL_CHEERING
13941        Animation = UIMOB03_SKL.UIMOB03_CHA
13942        AnimationMode = ONCE
13943      End
13944  
13945      ;--------------------------------------------------------
13946      ; TRANSITION FROM PISTOL TO AK47
13947      TransitionState = TRANS_STAND_A TRANS_STAND_AK
13948        Animation = UIMOB03_SKL.UIMOB03_TA-D
13949        AnimationMode = ONCE
13950      End
13951  
13952  
13953      ; WHILE CARRYING AK47 
13954      ;---------------------------------------------------------
13955      ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung
13956        Model = UIMOB03_SKN
13957        IdleAnimation = UIMOB03_SKL.UIMOB03_IDD1 0 6
13958        IdleAnimation = UIMOB03_SKL.UIMOB03_IDD2 0 6
13959        IdleAnimation = UIMOB03_SKL.UIMOB03_CHD  0 6
13960        IdleAnimation = UIMOB03_SKL.UIMOB03_STD
13961        AnimationMode = ONCE
13962        AnimationSpeedFactorRange 0.9 1.1
13963        TransitionKey = TRANS_STAND_AK
13964      End
13965  
13966      ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE
13967        Animation = UIMOB03_SKL.UIMOB03_RND 
13968        AnimationMode = LOOP
13969        Flags = RANDOMSTART
13970        TransitionKey   = MOVING_AK
13971      End
13972  
13973      ConditionState = DYING WEAPONSET_PLAYER_UPGRADE
13974        Animation = UIMOB03_SKL.UIMOB03_DD1    
13975        Animation = UIMOB03_SKL.UIMOB03_DD2
13976        AnimationMode = ONCE
13977        TransitionKey = TRANS_Dying
13978      End
13979  
13980      ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE
13981        Animation = UIMOB03_SKL.UIMOB03_CHD
13982        AnimationMode = ONCE
13983      End
13984  
13985      ; Drawing AK47
13986      ConditionState  = PREATTACK_B WEAPONSET_PLAYER_UPGRADE
13987        Animation     = UIMOB03_SKL.UIMOB03_ATD_ST ; start firing
13988        AnimationMode = ONCE
13989      End
13990      AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE
13991      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
13992  
13993      ; Firing Gun
13994      ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE
13995        Animation = UIMOB03_SKL.UIMOB03_ATD_LP ; looping firing
13996        AnimationMode = LOOP
13997        WeaponFireFXBone = SECONDARY MuzzleAK
13998        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
13999        TransitionKey = TRANS_FIRING_AK
14000      End
14001      AliasConditionState  = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
14002  
14003  
14004      ConditionState  = RELOADING_B WEAPONSET_PLAYER_UPGRADE
14005        Animation     = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing
14006        AnimationMode = ONCE
14007      End
14008  
14009  
14010      ; This transition allows him to put his gun away when he's finished attacking.
14011      TransitionState = TRANS_FIRING_AK TRANS_STAND_AK
14012        Animation     = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing
14013        AnimationMode = ONCE
14014      End
14015  
14016  
14017  ;    ;Throwing bottle----------------------------------------------------------------
14018  ;    ConditionState = PREATTACK_C 
14019  ;      Animation     = UIMOB03_SKL.UIMOB03_ATCA_BF ; the wind up
14020  ;    End
14021  ;    AliasConditionState = PREATTACK_C FIRING_A
14022  ;    AliasConditionState = PREATTACK_C RELOADING_A
14023  ;    AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 
14024  ;
14025  ;    ConditionState = FIRING_C 
14026  ;      Animation     = UIMOB03_SKL.UIMOB03_ATCA_AF ; the release and follow-thru
14027  ;      TransitionKey = TRANS_THROW
14028  ;    End
14029  ;    AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A
14030  ;
14031  ;    ConditionState RELOADING_C
14032  ;      Animation =UIMOB03_SKL.UIMOB03_IDA1
14033  ;      WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru
14034  ;
14035  ;    End
14036  ;    AliasConditionState = RELOADING_C RELOADING_A
14037  ;    AliasConditionState = RELOADING_C FIRING_A
14038  ;    AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A
14039  
14040  
14041  ;    TransitionState = TRANSXXX TRANS_THROW
14042  ;      Animation     = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway gun and take out bottle
14043  ;    End
14044  
14045  ;    TransitionState = TRANS_THROW TRANS_FIRING_A
14046  ;      Animation     = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get PISTOL
14047  ;    End
14048  
14049  ;    TransitionState = TRANSXXXAK TRANS_THROW
14050  ;      Animation     = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway AK and take out bottle
14051  ;    End
14052  
14053  ;    TransitionState = TRANS_THROW TRANS_FIRING_AK
14054  ;      Animation     = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get AK
14055  ;    End
14056  
14057  
14058  
14059  
14060  
14061      ;--------------------------------------------------------
14062  
14063  
14064  
14065  
14066  
14067  
14068      TransitionState = TRANS_Dying TRANS_Flailing
14069        Animation = UIMOB03_SKL.UIMOB03_A_ADTD1
14070        Animation = UIMOB03_SKL.UIMOB03_D_ADTD1
14071        AnimationMode = ONCE
14072      End
14073  
14074      ConditionState = DYING EXPLODED_FLAILING
14075        Animation = UIMOB03_SKL.UIMOB03_A_ADTD2
14076        Animation = UIMOB03_SKL.UIMOB03_D_ADTD2
14077        AnimationMode = LOOP
14078        TransitionKey = TRANS_Flailing
14079      End
14080  
14081      ConditionState = DYING EXPLODED_BOUNCING
14082        Animation = UIMOB03_SKL.UIMOB03_A_ADTD3
14083        Animation = UIMOB03_SKL.UIMOB03_D_ADTD3
14084        AnimationMode = ONCE
14085        TransitionKey = None
14086      End
14087  
14088  
14089    End
14090  
14091  
14092    Geometry = CYLINDER
14093    GeometryMajorRadius = 3.0 ; very thin
14094    GeometryMinorRadius = 3.0 ; very thinD
14095    GeometryHeight = 12.0
14096    GeometryIsSmall = Yes
14097  
14098  End
14099  
14100  ;------------------------------------------------------------------------------
14101  ;------------------------------------------------------------------------------
14102  ObjectReskin Slth_GLAInfantryAngryMobRock04 Slth_GLAInfantryAngryMobRock02
14103  
14104  ;**** ART Parameters ***
14105    Draw = W3DModelDraw ModuleTag_01
14106      OkToChangeModelColor = Yes
14107  
14108      ; WHILE CARRYING ROCK
14109      ;---------------------------------------------------------
14110      DefaultConditionState
14111        Model = UIMOB04_SKN
14112        IdleAnimation = UIMOB04_SKL.UIMOB04_IDB1 0 12
14113        IdleAnimation = UIMOB04_SKL.UIMOB04_IDB2 0 5 
14114        IdleAnimation = UIMOB04_SKL.UIMOB04_CHB  0 5 
14115        IdleAnimation = UIMOB04_SKL.UIMOB04_STB  0 12
14116        AnimationMode = ONCE
14117        AnimationSpeedFactorRange 0.9 1.1
14118        TransitionKey = TRANS_STAND_A
14119        WaitForStateToFinishIfPossible TRANS_FIRING_A
14120  
14121        ;WeaponFireFXBone  = PRIMARY   "UIMOB04 R HAND"
14122        ;WeaponMuzzleFlash = PRIMARY   "UIMOB04 R HAND"
14123        WeaponFireFXBone =  SECONDARY MuzzleAK
14124        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
14125      End
14126  
14127  
14128      ; Drawing rock
14129      ConditionState  = PREATTACK_A
14130        Animation     = UIMOB04_SKL.UIMOB04_ATB2_BF ; wind up
14131        AnimationMode = ONCE
14132        AnimationSpeedFactorRange 1.0 1.0
14133      End
14134      AliasConditionState = PREATTACK_A FIRING_A
14135      AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A
14136  
14137      ; throwing rock
14138      ConditionState = FIRING_A
14139        Animation = UIMOB04_SKL.UIMOB04_ATB1_AF ; throw
14140        Animation = UIMOB04_SKL.UIMOB04_ATB2_AF ; throw
14141        AnimationMode = ONCE
14142        TransitionKey = TRANS_FIRING_A
14143      End
14144  
14145      ConditionState = BETWEEN_FIRING_SHOTS_A
14146        Animation         = UIMOB04_SKL.UIMOB04_STB
14147        AnimationMode     = ONCE
14148        ; this is basically a trick: this guy has a nontrivial animation for firing,
14149        ; and a long recycle time between shots. we want him to finish his fire animation
14150        ; (unless he's ordered to do something else), so this is just a handy trick that
14151        ; says, "if the previous state had this transition key, allow it to finish before
14152        ; switching to us, if possible".
14153        WaitForStateToFinishIfPossible = TRANS_FIRING_A
14154      End
14155      AliasConditionState = RELOADING_A
14156  
14157      ConditionState = MOVING
14158        Animation = UIMOB04_SKL.UIMOB04_RUN 
14159        AnimationMode = LOOP
14160        Flags = RANDOMSTART
14161        TransitionKey   = MOVING
14162        ParticleSysBone   = None InfantryDustTrails
14163      End
14164  
14165      ConditionState = DYING
14166        Animation = UIMOB04_SKL.UIMOB04_DB1    
14167        Animation = UIMOB04_SKL.UIMOB04_DB2
14168        AnimationMode = ONCE
14169        TransitionKey = TRANS_Dying
14170      End
14171  
14172      ConditionState = SPECIAL_CHEERING
14173        Animation = UIMOB04_SKL.UIMOB04_CHB
14174        Flags = RANDOMSTART
14175        AnimationMode = LOOP
14176      End
14177  
14178  
14179  
14180  
14181  
14182  
14183  
14184  
14185      ;--------------------------------------------------------
14186      ; TRANSITION FROM PISTOL TO AK47
14187      TransitionState = TRANS_STAND_A TRANS_STAND_AK
14188        Animation = UIMOB04_SKL.UIMOB04_TB-D
14189        AnimationMode = ONCE
14190      End
14191  
14192  
14193      ; WHILE CARRYING AK47 
14194      ;---------------------------------------------------------
14195      ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung
14196        Model = UIMOB04_SKN
14197        IdleAnimation = UIMOB04_SKL.UIMOB04_IDD1 0 6
14198        IdleAnimation = UIMOB04_SKL.UIMOB04_IDD2 0 6
14199        IdleAnimation = UIMOB04_SKL.UIMOB04_CHD  0 6
14200        IdleAnimation = UIMOB04_SKL.UIMOB04_STD
14201        AnimationMode = ONCE
14202        AnimationSpeedFactorRange 0.9 1.1
14203        TransitionKey = TRANS_STAND_AK
14204        WeaponFireFXBone = SECONDARY MuzzleAK
14205        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
14206      End
14207  
14208      ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE
14209        Animation = UIMOB04_SKL.UIMOB04_RND 
14210        AnimationMode = LOOP
14211        Flags = RANDOMSTART
14212        TransitionKey   = MOVING_AK
14213      End
14214  
14215      ConditionState = DYING WEAPONSET_PLAYER_UPGRADE
14216        Animation = UIMOB04_SKL.UIMOB04_DD1    
14217        Animation = UIMOB04_SKL.UIMOB04_DD2
14218        AnimationMode = ONCE
14219        TransitionKey = TRANS_Dying
14220      End
14221  
14222      ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE
14223        Animation = UIMOB04_SKL.UIMOB04_CHD
14224        AnimationMode = ONCE
14225      End
14226  
14227      ; Drawing AK47
14228      ConditionState  = PREATTACK_B WEAPONSET_PLAYER_UPGRADE
14229        Animation     = UIMOB04_SKL.UIMOB04_ATD1_ST ; start firing
14230        AnimationMode = ONCE
14231      End
14232      AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE
14233      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
14234  
14235      ; Firing Gun
14236      ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE
14237        Animation = UIMOB04_SKL.UIMOB04_ATD1_LP ; looping firing
14238        AnimationMode = LOOP
14239        WeaponFireFXBone = PRIMARY MuzzleAK
14240        WeaponMuzzleFlash = PRIMARY MuzzleAKFX
14241        TransitionKey = TRANS_FIRING_AK
14242      End
14243      AliasConditionState  = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
14244  
14245  
14246      ConditionState  = RELOADING_B WEAPONSET_PLAYER_UPGRADE
14247        Animation     = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing
14248        AnimationMode = ONCE
14249      End
14250  
14251  
14252      ; This transition allows him to put his gun away when he's finished attacking.
14253      TransitionState = TRANS_FIRING_AK TRANS_STAND_AK
14254        Animation     = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing
14255        AnimationMode = ONCE
14256      End
14257  
14258  
14259  
14260  
14261  
14262  
14263  
14264  
14265  
14266  
14267      TransitionState = TRANS_Dying TRANS_Flailing
14268        Animation = UIMOB04_SKL.UIMOB04_B_ADTF1
14269        Animation = UIMOB04_SKL.UIMOB04_D_ADTF1
14270        AnimationMode = ONCE
14271      End
14272  
14273      ConditionState = DYING EXPLODED_FLAILING
14274        Animation = UIMOB04_SKL.UIMOB04_B_ADTF2
14275        Animation = UIMOB04_SKL.UIMOB04_D_ADTF2
14276        AnimationMode = LOOP
14277        TransitionKey = TRANS_Flailing
14278      End
14279  
14280      ConditionState = DYING EXPLODED_BOUNCING
14281        Animation = UIMOB04_SKL.UIMOB04_B_ADTF3
14282        Animation = UIMOB04_SKL.UIMOB04_D_ADTF3
14283        AnimationMode = ONCE
14284        TransitionKey = None
14285      End
14286  
14287  
14288    End
14289  
14290    Geometry = CYLINDER
14291    GeometryMajorRadius = 5.0 ; kinda thin
14292    GeometryMinorRadius = 5.0 ; kinda thinD
14293    GeometryHeight = 12.0
14294    GeometryIsSmall = Yes
14295  
14296  End
14297  
14298  ;------------------------------------------------------------------------------
14299  ;------------------------------------------------------------------------------
14300  ObjectReskin Slth_GLAInfantryAngryMobPistol05 Slth_GLAInfantryAngryMobPistol01
14301  
14302  ;**** ART Parameters ***
14303    Draw = W3DModelDraw DrawTag_01
14304      OkToChangeModelColor = Yes
14305  
14306  
14307  
14308      ; WHILE CARRYING PISTOL
14309      ;---------------------------------------------------------
14310      DefaultConditionState ;Idle with Pistol Holstered
14311        Model = UIMOB05_SKN
14312        IdleAnimation = UIMOB05_SKL.UIMOB05_IDA1 0 12
14313        IdleAnimation = UIMOB05_SKL.UIMOB05_IDA2 0 5
14314        IdleAnimation = UIMOB05_SKL.UIMOB05_CHA  0 5
14315        IdleAnimation = UIMOB05_SKL.UIMOB05_STA  0 5
14316        AnimationMode = ONCE
14317        AnimationSpeedFactorRange 0.9 1.1
14318        TransitionKey = TRANS_STAND_A
14319  
14320        WeaponFireFXBone = PRIMARY Muzzle01
14321        WeaponMuzzleFlash = PRIMARY Muzzle01
14322      End
14323  
14324      ; Drawing pistol
14325      ConditionState  = PREATTACK_A
14326        Animation     = UIMOB05_SKL.UIMOB05_ATA1_ST ; start firing
14327        AnimationMode = ONCE
14328      End
14329      AliasConditionState = PREATTACK_A FIRING_A
14330      AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A
14331  
14332      ; Firing pistol
14333      ConditionState = FIRING_A
14334        Animation = UIMOB05_SKL.UIMOB05_ATA1_LP ; looping firing
14335        AnimationMode = LOOP
14336        TransitionKey = TRANS_FIRING_A
14337      End
14338      AliasConditionState  = BETWEEN_FIRING_SHOTS_A
14339      
14340      ConditionState  = RELOADING_A
14341        Animation     = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing
14342        AnimationMode = ONCE
14343      End
14344  
14345      ; This transition allows him to put his gun away when he's finished attacking.
14346      TransitionState = TRANS_FIRING_A TRANS_STAND_A
14347        Animation     = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing
14348        AnimationMode = ONCE
14349      End
14350  
14351      ConditionState = MOVING
14352        Animation = UIMOB05_SKL.UIMOB05_RNA 
14353        AnimationMode = LOOP
14354        Flags = RANDOMSTART
14355        TransitionKey   = MOVING
14356        ParticleSysBone   = None InfantryDustTrails
14357      End
14358      AliasConditionState = MOVING RELOADING_A
14359      AliasConditionState = MOVING PREATTACK_A
14360      AliasConditionState = MOVING FIRING_A
14361      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
14362      AliasConditionState = MOVING RELOADING_C RELOADING_A 
14363      AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 
14364  
14365      ConditionState = DYING
14366        Animation = UIMOB05_SKL.UIMOB05_DA1    
14367        Animation = UIMOB05_SKL.UIMOB05_DA2
14368        AnimationMode = ONCE
14369        TransitionKey = TRANS_Dying
14370      End
14371  
14372  
14373      ConditionState = SPECIAL_CHEERING
14374        Animation = UIMOB05_SKL.UIMOB05_CHA
14375        AnimationMode = ONCE
14376      End
14377  
14378      ;--------------------------------------------------------
14379  
14380      ; TRANSITION FROM PISTOL TO AK47
14381      TransitionState = TRANS_STAND_A TRANS_STAND_AK
14382        Animation = UIMOB05_SKL.UIMOB05_TA-D
14383        AnimationMode = ONCE
14384      End
14385  
14386  
14387      ; WHILE CARRYING AK47 
14388      ;---------------------------------------------------------
14389      ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung
14390        Model = UIMOB05_SKN
14391        IdleAnimation = UIMOB05_SKL.UIMOB05_IDD1 0 6
14392        IdleAnimation = UIMOB05_SKL.UIMOB05_IDD2 0 6
14393        IdleAnimation = UIMOB05_SKL.UIMOB05_CHD  0 6
14394        IdleAnimation = UIMOB05_SKL.UIMOB05_STD
14395        AnimationMode = ONCE
14396        AnimationSpeedFactorRange 0.9 1.1
14397        TransitionKey = TRANS_STAND_AK
14398        WeaponFireFXBone = SECONDARY MuzzleAK
14399        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
14400      End
14401  
14402      ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE
14403        Animation = UIMOB05_SKL.UIMOB05_RND 
14404        AnimationMode = LOOP
14405        Flags = RANDOMSTART
14406        TransitionKey   = MOVING_AK
14407      End
14408  
14409      ConditionState = DYING WEAPONSET_PLAYER_UPGRADE
14410        Animation = UIMOB05_SKL.UIMOB05_DD1    
14411        Animation = UIMOB05_SKL.UIMOB05_DD2
14412        AnimationMode = ONCE
14413        TransitionKey = TRANS_Dying
14414      End
14415  
14416      ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE
14417        Animation = UIMOB05_SKL.UIMOB05_CHD
14418        AnimationMode = ONCE
14419      End
14420  
14421      ; Drawing AK47
14422      ConditionState  = PREATTACK_B WEAPONSET_PLAYER_UPGRADE
14423        Animation     = UIMOB05_SKL.UIMOB05_ATD1_ST ; start firing
14424        AnimationMode = ONCE
14425      End
14426      AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE
14427      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
14428  
14429      ; Firing Gun
14430      ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE
14431        Animation = UIMOB05_SKL.UIMOB05_ATD1_LP ; looping firing
14432        AnimationMode = LOOP
14433        WeaponFireFXBone = PRIMARY MuzzleAK
14434        WeaponMuzzleFlash = PRIMARY MuzzleAKFX
14435        TransitionKey = TRANS_FIRING_AK
14436      End
14437      AliasConditionState  = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
14438  
14439  
14440      ConditionState  = RELOADING_B WEAPONSET_PLAYER_UPGRADE
14441        Animation     = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing
14442        AnimationMode = ONCE
14443      End
14444  
14445  
14446      ; This transition allows him to put his gun away when he's finished attacking.
14447      TransitionState = TRANS_FIRING_AK TRANS_STAND_AK
14448        Animation     = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing
14449        AnimationMode = ONCE
14450      End
14451  
14452  
14453  ;    ;Throwing bottle----------------------------------------------------------------
14454  ;    ConditionState = PREATTACK_C 
14455  ;      Animation     = UIMOB05_SKL.UIMOB05_ATCA_BF ; the wind up
14456  ;    End
14457  ;    AliasConditionState = PREATTACK_C FIRING_A
14458  ;    AliasConditionState = PREATTACK_C RELOADING_A
14459  ;    AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 
14460  ;
14461  ;    ConditionState = FIRING_C 
14462  ;      Animation     = UIMOB05_SKL.UIMOB05_ATCA_AF ; the release and follow-thru
14463  ;      TransitionKey = TRANS_THROW
14464  ;    End
14465  ;    AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A
14466  ;
14467  ;    ConditionState RELOADING_C
14468  ;      Animation =UIMOB05_SKL.UIMOB05_IDA1
14469  ;      WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru
14470  ;    End
14471  ;    AliasConditionState = RELOADING_C RELOADING_A
14472  ;    AliasConditionState = RELOADING_C FIRING_A
14473  ;    AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A
14474  
14475  
14476  ;    TransitionState = TRANSXXX TRANS_THROW
14477  ;      Animation     = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway gun and take out bottle
14478  ;    End
14479  
14480  ;    TransitionState = TRANS_THROW TRANS_FIRING_A
14481  ;      Animation     = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get PISTOL
14482  ;    End
14483  
14484  ;    TransitionState = TRANSXXXAK TRANS_THROW
14485  ;      Animation     = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway AK and take out bottle
14486  ;    End
14487  
14488  
14489  ;    TransitionState = TRANS_THROW TRANS_FIRING_AK
14490  ;      Animation     = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get AK
14491  ;    End
14492  
14493  
14494  
14495  
14496  
14497      ;--------------------------------------------------------
14498  
14499  
14500  
14501  
14502  
14503  
14504      TransitionState = TRANS_Dying TRANS_Flailing
14505        Animation = UIMOB05_SKL.UIMOB05_A_ADTA1
14506        Animation = UIMOB05_SKL.UIMOB05_D_ADTA1
14507        AnimationMode = ONCE
14508      End
14509  
14510      ConditionState = DYING EXPLODED_FLAILING
14511        Animation = UIMOB05_SKL.UIMOB05_A_ADTA2
14512        Animation = UIMOB05_SKL.UIMOB05_D_ADTA2
14513        AnimationMode = LOOP
14514        TransitionKey = TRANS_Flailing
14515      End
14516  
14517      ConditionState = DYING EXPLODED_BOUNCING
14518        Animation = UIMOB05_SKL.UIMOB05_A_ADTA3
14519        Animation = UIMOB05_SKL.UIMOB05_D_ADTA3
14520        AnimationMode = ONCE
14521        TransitionKey = None
14522      End
14523  
14524  
14525    End
14526  
14527  
14528  
14529    Geometry = CYLINDER
14530    GeometryMajorRadius = 3.0 ; very thin
14531    GeometryMinorRadius = 3.0 ; very thinD
14532    GeometryHeight = 12.0
14533    GeometryIsSmall = Yes
14534  
14535  End
14536  
14537  
14538  ;------------------------------------------------------------------------------
14539  ;------------------------------------------------------------------------------
14540  Object Slth_GLAInfantryAngryMobMolotov02
14541  
14542  ;**** ART Parameters ***
14543    Draw = W3DModelDraw ModuleTag_01
14544      OkToChangeModelColor = Yes
14545  
14546      ; WHILE CARRYING ROCK
14547      ;---------------------------------------------------------
14548      DefaultConditionState
14549        Model = UIMOB02_SKN
14550        IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12
14551        IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5
14552        IdleAnimation = UIMOB02_SKL.UIMOB02_CHB  0 5
14553        IdleAnimation = UIMOB02_SKL.UIMOB02_STB  0 12
14554        AnimationMode = ONCE
14555        AnimationSpeedFactorRange 0.9 1.1
14556        TransitionKey = TRANS_STAND_B
14557  
14558        WeaponFireFXBone  = SECONDARY   "UIMOB02 R HAND"
14559  
14560      End
14561  
14562  
14563      ; Drawing rock
14564      ConditionState  = PREATTACK_B
14565        Animation     = UIMOB02_SKL.UIMOB02_ATCB_BF ; wind up
14566        AnimationMode = ONCE
14567      End
14568      AliasConditionState = PREATTACK_B FIRING_B
14569      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B
14570  
14571      ; throwing rock
14572      ConditionState = FIRING_B
14573        Animation = UIMOB02_SKL.UIMOB02_ATCB_AF ; throw
14574        AnimationMode = ONCE
14575        TransitionKey = TRANS_FIRING_B
14576      End
14577  
14578      ConditionState = BETWEEN_FIRING_SHOTS_B
14579        Animation         = UIMOB02_SKL.UIMOB02_STB
14580        AnimationMode     = ONCE
14581        ; this is basically a trick: this guy has a nontrivial animation for firing,
14582        ; and a long recycle time between shots. we want him to finish his fire animation
14583        ; (unless he's ordered to do something else), so this is just a handy trick that
14584        ; says, "if the previous state had this transition key, allow it to finish before
14585        ; switching to us, if possible".
14586        WaitForStateToFinishIfPossible = TRANS_FIRING_B
14587      End
14588      AliasConditionState = RELOADING_B
14589  
14590  
14591      ConditionState = MOVING
14592        Animation = UIMOB02_SKL.UIMOB02_RNB 
14593        AnimationMode = LOOP
14594        Flags = RANDOMSTART
14595        TransitionKey   = MOVING
14596        ParticleSysBone   = None InfantryDustTrails
14597      End
14598  
14599      ConditionState = DYING
14600        Animation = UIMOB02_SKL.UIMOB02_DB1    
14601        Animation = UIMOB02_SKL.UIMOB02_DB2
14602        AnimationMode = ONCE
14603        TransitionKey = TRANS_Dying
14604      End
14605  
14606      ConditionState = SPECIAL_CHEERING
14607        Animation = UIMOB02_SKL.UIMOB02_CHB
14608        Flags = RANDOMSTART
14609        AnimationMode = LOOP
14610      End
14611  
14612  
14613  
14614  
14615  
14616  
14617      TransitionState = TRANS_Dying TRANS_Flailing
14618        Animation = UIMOB02_SKL.UIMOB02_B_ADTA1
14619        Animation = UIMOB02_SKL.UIMOB02_D_ADTA1
14620        AnimationMode = ONCE
14621      End
14622  
14623      ConditionState = DYING EXPLODED_FLAILING
14624        Animation = UIMOB02_SKL.UIMOB02_B_ADTA2
14625        Animation = UIMOB02_SKL.UIMOB02_D_ADTA2
14626        AnimationMode = LOOP
14627        TransitionKey = TRANS_Flailing
14628      End
14629  
14630      ConditionState = DYING EXPLODED_BOUNCING
14631        Animation = UIMOB02_SKL.UIMOB02_B_ADTA3
14632        Animation = UIMOB02_SKL.UIMOB02_D_ADTA3
14633        AnimationMode = ONCE
14634        TransitionKey = None
14635      End
14636  
14637  
14638    End
14639  
14640  
14641  ;**** DESIGN parameters ***
14642  
14643    DisplayName      = OBJECT:AngryMob
14644    Side = GLAStealthGeneral
14645    EditorSorting = INFANTRY
14646    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
14647  
14648    WeaponSet
14649      Conditions = None 
14650      Weapon = PRIMARY GLAAngryMobMolotovCocktailProjectileWeapon ; all she does is throw molotovs
14651    End
14652  
14653    ArmorSet
14654      Conditions      = None
14655      Armor           = HumanArmor
14656      DamageFX        = InfantryDamageFX
14657    End
14658  
14659    VisionRange = 150
14660    ShroudClearingRange = 150
14661    Prerequisites
14662      Object = Slth_GLABarracks
14663  
14664    End
14665    BuildCost = 100
14666    BuildTime = 0.0            
14667  
14668    ExperienceValue = 5 5 5 5    ;Experience point value at each level
14669    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
14670    IsTrainable = Yes             ;Can gain experience
14671    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
14672  
14673    ; *** AUDIO Parameters ***
14674    VoiceSelect = NoSound 
14675    VoiceMove = NoSound   
14676    VoiceAttack = NoSound 
14677  
14678  ;**** ENGINEERING Parameters *** ;MOB02
14679    RadarPriority = UNIT
14680    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI  ;NO_COLLIDE ;Lorenzen disables 
14681  
14682    Body = ActiveBody BodyTag_01
14683      MaxHealth       = 50.0
14684      InitialHealth   = 50.0
14685    End
14686  
14687    Behavior = AIUpdateInterface ModuleTag_03
14688      AutoAcquireEnemiesWhenIdle = Yes
14689    End
14690  
14691    Behavior = MobMemberSlavedUpdate ModuleTag_04
14692      MustCatchUpRadius   = 40
14693      NoNeedToCatchUpRadius = 15
14694      Squirrelliness = 0.05
14695      CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames
14696    End
14697  
14698    Locomotor = SET_NORMAL AngryMobNormalLocomotor
14699    Locomotor = SET_WANDER AngryMobWanderLocomotor
14700    Locomotor = SET_PANIC AngryMobPanicLocomotor
14701  
14702    Behavior = PhysicsBehavior ModuleTag_05
14703      Mass = 5.0
14704    End
14705  
14706    Behavior = SquishCollide ModuleTag_08
14707      ;nothing
14708    End
14709  
14710    Behavior = WeaponSetUpgrade UpgradeTag_01
14711      TriggeredBy = Upgrade_GLAArmTheMob
14712    End
14713  
14714  
14715  ; --- begin Death modules ---
14716    Behavior = SlowDeathBehavior ModuleTag_Death01
14717      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
14718      SinkDelay           = 3000
14719      SinkRate            = 0.5     ; in Dist/Sec
14720      DestructionDelay    = 8000
14721      FX                  = INITIAL FX_CivilianArabFemaleDie
14722    End
14723    Behavior = SlowDeathBehavior ModuleTag_Death02
14724      DeathTypes          = NONE +CRUSHED +SPLATTED
14725      SinkDelay           = 3000
14726      SinkRate            = 0.5     ; in Dist/Sec
14727      DestructionDelay    = 8000
14728      FX                  = INITIAL FX_GIDieCrushed
14729    End
14730    Behavior = SlowDeathBehavior ModuleTag_Death03
14731      DeathTypes          = NONE +EXPLODED
14732      SinkDelay           = 3000
14733      SinkRate            = 0.5     ; in Dist/Sec
14734      DestructionDelay    = 8000
14735      FX                  = INITIAL FX_CivilianArabFemaleDie
14736      FlingForce          = 8
14737      FlingForceVariance  = 3
14738      FlingPitch          = 60
14739      FlingPitchVariance  = 10
14740    End
14741    Behavior = SlowDeathBehavior ModuleTag_Death04
14742      DeathTypes          = NONE +BURNED
14743      DestructionDelay    = 0
14744      FX                  = INITIAL FX_GIDie
14745      OCL                 = INITIAL OCL_FlamingInfantry
14746    End
14747    Behavior = SlowDeathBehavior ModuleTag_Death05
14748      DeathTypes          = NONE +POISONED
14749      DestructionDelay    = 0
14750      FX                  = INITIAL FX_DieByToxinGLA
14751      OCL                 = INITIAL OCL_ToxicInfantry
14752    End
14753    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
14754      DeathTypes          = NONE +POISONED_BETA
14755      DestructionDelay    = 0
14756      FX                  = INITIAL FX_DieByToxinGLA
14757      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
14758    End
14759    Behavior = SlowDeathBehavior ModuleTag_Death07
14760      DeathTypes          = NONE +POISONED_GAMMA
14761      DestructionDelay    = 0
14762      FX                  = INITIAL FX_DieByToxinGLA
14763      OCL                 = INITIAL OCL_ToxicInfantryGamma
14764    End
14765  ; --- end Death modules ---
14766  
14767    Behavior = PoisonedBehavior ModuleTag_13
14768      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
14769      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
14770    End
14771   
14772    Geometry = CYLINDER
14773    GeometryMajorRadius = 4.0 ; very thin
14774    GeometryHeight = 12.0
14775    GeometryIsSmall = Yes
14776    Shadow = SHADOW_DECAL
14777    ShadowSizeX = 14;
14778    ShadowSizeY = 14;
14779    ShadowTexture = ShadowI;
14780    BuildCompletion = APPEARS_AT_RALLY_POINT
14781  
14782  End
14783  
14784  ;------------------------------------------------------------------------------
14785  ;------------------------------------------------------------------------------
14786  
14787  
14788  
14789  ;------------------------------------------------------------------------------
14790  ;------------------------------------------------------------------------------
14791  ;------------------------------------------------------------------------------
14792  Object Slth_GLAInfantryHijacker
14793  
14794    ; *** ART Parameters ***
14795    SelectPortrait         = SUHijacker_L
14796    ButtonImage            = SUHijacker
14797    
14798    ;UpgradeCameo1 = NONE
14799    ;UpgradeCameo2 = NONE
14800    ;UpgradeCameo3 = NONE
14801    ;UpgradeCameo4 = NONE
14802    ;UpgradeCameo5 = NONE
14803  
14804    Draw = W3DModelDraw ModuleTag_01
14805      OkToChangeModelColor = Yes
14806  
14807      DefaultConditionState
14808        Model = UIHJCK_SKN
14809        IdleAnimation = UIHJCK_SKL.UIHJCK_STA 0 25
14810        IdleAnimation = UIHJCK_SKL.UIHJCK_IDA
14811        IdleAnimation = UIHJCK_SKL.UIHJCK_IDB
14812        AnimationMode = ONCE
14813        TransitionKey = TRANS_Stand
14814      End
14815      AliasConditionState = REALLYDAMAGED
14816  
14817      ConditionState = MOVING
14818        Animation = UIHJCK_SKL.UIHJCK_RUN 
14819        AnimationMode = LOOP
14820        Flags = RANDOMSTART
14821        TransitionKey = None
14822        ParticleSysBone   = None InfantryDustTrails
14823      End
14824      AliasConditionState = REALLYDAMAGED MOVING
14825  
14826  
14827      ConditionState = DYING
14828        Animation = UIHJCK_SKL.UIHJCK_DTA
14829        Animation = UIHJCK_SKL.UIHJCK_DTB
14830        AnimationMode = ONCE
14831        TransitionKey = TRANS_Dying
14832      End
14833  
14834      TransitionState = TRANS_Dying TRANS_Flailing
14835        Animation = UIHJCK_SKL.UIHJCK_ADTE1
14836        AnimationMode = ONCE
14837      End
14838  
14839      ConditionState = DYING EXPLODED_FLAILING
14840        Animation = UIHJCK_SKL.UIHJCK_ADTE2
14841        AnimationMode = LOOP
14842        TransitionKey = TRANS_Flailing
14843      End
14844  
14845      ConditionState = DYING EXPLODED_BOUNCING
14846        Animation = UIHJCK_SKL.UIHJCK_ADTE3
14847        AnimationMode = ONCE
14848        TransitionKey = None
14849      End
14850  
14851      ConditionState = SPECIAL_CHEERING
14852        Animation = UIHJCK_SKL.UIHJCK_CHA
14853        AnimationMode = LOOP
14854      End
14855  
14856  
14857      ConditionState = PARACHUTING
14858        Animation = UIHJCK_SKL.UIHJCK_PHG
14859        AnimationMode = LOOP
14860        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
14861        TransitionKey = TRANS_Chute
14862      End
14863      AliasConditionState = PARACHUTING REALLYDAMAGED
14864      AliasConditionState = PARACHUTING DYING
14865      TransitionState = TRANS_Falling TRANS_Chute
14866        Animation = UIHJCK_SKL.UIHJCK_POP
14867        AnimationMode = ONCE
14868        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
14869      End
14870      TransitionState = TRANS_Chute TRANS_Stand
14871        Animation = UIHJCK_SKL.UIHJCK_PTD
14872        AnimationMode = ONCE
14873      End
14874  
14875  
14876    End
14877  
14878    ; ***DESIGN parameters ***
14879    DisplayName      = OBJECT:Hijacker
14880    Side = GLAStealthGeneral
14881    EditorSorting = INFANTRY
14882    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
14883    
14884    
14885  
14886    ArmorSet
14887      Conditions      = None
14888      Armor           = HumanArmor
14889      DamageFX        = InfantryDamageFX
14890    End
14891  
14892    VisionRange = 100
14893    ShroudClearingRange = 200
14894    Prerequisites
14895      Object = Slth_GLABarracks
14896    End
14897  
14898    BuildCost = 600
14899    BuildTime = 15.0          ;in seconds    
14900  
14901  
14902  
14903  
14904    ExperienceValue = 50 100 150 400    ;Experience point value at each level
14905    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
14906    IsTrainable = No                    ;Can gain experience
14907    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
14908    CommandSet    = Slth_GLAInfantryHijackerCommandSet
14909  
14910    ; *** AUDIO Parameters ***
14911    VoiceSelect =    HijackerVoiceSelect
14912    VoiceMove =      HijackerVoiceMove
14913    VoiceGuard =      HijackerVoiceMove
14914    VoiceAttack =    HijackerVoiceAttack
14915    VoiceFear =      HijackerVoiceFear
14916    UnitSpecificSounds
14917      VoiceGarrison =  HijackerVoiceGarrison
14918      VoiceCreate           = HijackerVoiceCreate
14919      VoiceEnter            = HijackerVoiceEnter
14920      VoiceEnterHostile     = HijackerVoiceEnterHostile
14921      VoiceGetHealed      = HijackerVoiceMove
14922    End
14923    
14924  
14925    ; *** ENGINEERING Parameters ***
14926    RadarPriority = UNIT
14927    EnterGuard = Yes
14928    HijackGuard = Yes
14929    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE STEALTH_GARRISON
14930    ;STEALTH_GARRISON Added per Dustin, 12/14--ML
14931  
14932  
14933    Behavior = StealthUpdate ModuleTag_02
14934      StealthDelay                = 500                    ; half second delay before stealthy
14935      StealthForbiddenConditions  = None ;MOVING only stealthy while stationary
14936      MoveThresholdSpeed          = 3
14937      InnateStealth               = Yes
14938      OrderIdleEnemiesToAttackMeUponReveal  = Yes
14939    End
14940  
14941    Body = ActiveBody ModuleTag_03
14942      MaxHealth       = 100.0
14943      InitialHealth   = 100.0
14944    End
14945  
14946    Behavior = HijackerUpdate ModuleTag_04
14947      ParachuteName = AmericaParachute
14948    End
14949  
14950    Behavior = AIUpdateInterface ModuleTag_05
14951      AutoAcquireEnemiesWhenIdle = Yes
14952    End
14953    Behavior = CommandButtonHuntUpdate  ModuleTag_CBH01 ; allows use of command button hunt script with this unit. 
14954    End
14955    Locomotor = SET_NORMAL JarmenKellLocomotor
14956  
14957    Behavior = PhysicsBehavior ModuleTag_06
14958      Mass = 5.0
14959    End
14960  
14961    Behavior = ConvertToHijackedVehicleCrateCollide       ModuleTag_08
14962      RequiredKindOf = VEHICLE      ; This is my car now, infidel!
14963    End
14964  
14965    Behavior = SquishCollide ModuleTag_09
14966      ;nothing
14967    End
14968  
14969  
14970  ; --- begin Death modules ---
14971    Behavior = SlowDeathBehavior ModuleTag_Death01
14972      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
14973      SinkDelay           = 3000
14974      SinkRate            = 0.5     ; in Dist/Sec
14975      DestructionDelay    = 8000
14976      FX                  = INITIAL FX_HijackerDie
14977    End
14978    Behavior = SlowDeathBehavior ModuleTag_Death02
14979      DeathTypes          = NONE +CRUSHED +SPLATTED
14980      SinkDelay           = 3000
14981      SinkRate            = 0.5     ; in Dist/Sec
14982      DestructionDelay    = 8000
14983      FX                  = INITIAL FX_GIDieCrushed
14984    End
14985    Behavior = SlowDeathBehavior ModuleTag_Death03
14986      DeathTypes          = NONE +EXPLODED
14987      SinkDelay           = 3000
14988      SinkRate            = 0.5     ; in Dist/Sec
14989      DestructionDelay    = 8000
14990      FX                  = INITIAL FX_HijackerDie
14991      FlingForce          = 8
14992      FlingForceVariance  = 3
14993      FlingPitch          = 60
14994      FlingPitchVariance  = 10
14995    End
14996    Behavior = SlowDeathBehavior ModuleTag_Death04
14997      DeathTypes          = NONE +BURNED
14998      DestructionDelay    = 0
14999      FX                  = INITIAL FX_DieByFireGLA
15000      OCL                 = INITIAL OCL_FlamingInfantry
15001    End
15002    Behavior = SlowDeathBehavior ModuleTag_Death05
15003      DeathTypes          = NONE +POISONED
15004      DestructionDelay    = 0
15005      FX                  = INITIAL FX_DieByToxinGLA
15006      OCL                 = INITIAL OCL_ToxicInfantry
15007    End
15008    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
15009      DeathTypes          = NONE +POISONED_BETA
15010      DestructionDelay    = 0
15011      FX                  = INITIAL FX_DieByToxinGLA
15012      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
15013    End
15014    Behavior = SlowDeathBehavior ModuleTag_Death07
15015      DeathTypes          = NONE +POISONED_GAMMA
15016      DestructionDelay    = 0
15017      FX                  = INITIAL FX_DieByToxinGLA
15018      OCL                 = INITIAL OCL_ToxicInfantryGamma
15019    End
15020  ; --- end Death modules ---
15021  
15022    Behavior = PoisonedBehavior ModuleTag_14
15023      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
15024      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
15025    End
15026   
15027    Geometry = CYLINDER
15028    GeometryMajorRadius = 10.0
15029    GeometryMinorRadius = 10.0
15030    GeometryHeight = 12.0
15031    GeometryIsSmall = Yes
15032    Shadow = SHADOW_DECAL
15033    ShadowSizeX = 14;
15034    ShadowSizeY = 14;
15035    ShadowTexture = ShadowI;
15036    BuildCompletion = APPEARS_AT_RALLY_POINT
15037  
15038  End
15039  
15040  
15041  
15042  
15043  
15044  ;------------------------------------------------------------------------------
15045  Object Slth_GLAInfantryWorker
15046  
15047    ; *** ART Parameters ***
15048    SelectPortrait         = SUWorker_L
15049    ButtonImage            = SUWorker
15050    
15051    UpgradeCameo1 = Upgrade_GLAWorkerShoes
15052    UpgradeCameo2 = Upgrade_GLACamouflage
15053    ;UpgradeCameo3 = NONE
15054    ;UpgradeCameo4 = NONE
15055    ;UpgradeCameo5 = NONE
15056  
15057    Draw = W3DModelDraw ModuleTag_01
15058      OkToChangeModelColor = Yes
15059  
15060      DefaultConditionState
15061        Model         = UIWRKR_SKN
15062        IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9
15063        IdleAnimation = UIWRKR_SKL.UIWRKR_IDA
15064        AnimationMode = ONCE
15065        TransitionKey = TRANS_Stand
15066      End
15067  
15068      ConditionState  = MOVING
15069        Animation     = UIWRKR_SKL.UIWRKR_RNA 16
15070        AnimationMode = LOOP
15071        Flags         = RANDOMSTART
15072        TransitionKey = TRANS_Moving
15073        ParticleSysBone = None InfantryDustTrails
15074      End
15075      ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time,
15076      ; since we flip the bit once we get pretty close to the target. but it looks
15077      ; funky to do the construction animation while moving. 
15078      ; so just use the normal move animation in that case.
15079      AliasConditionState = ACTIVELY_CONSTRUCTING MOVING
15080  
15081      ConditionState = ATTACKING
15082        ShowSubObject = MINED_SKIN
15083        Animation = UIWRKR_SKL.UIWRKR_MS
15084        AnimationMode = LOOP
15085        Flags = RANDOMSTART
15086        TransitionKey = TRANS_MetalDetector_Standing
15087      End
15088  
15089      ConditionState = MOVING ATTACKING
15090        ShowSubObject = MINED_SKIN
15091        Animation = UIWRKR_SKL.UIWRKR_MSW 50
15092        AnimationMode = LOOP
15093        Flags = RANDOMSTART
15094        TransitionKey = TRANS_MetalDetector_Moving
15095        ParticleSysBone = None InfantryDustTrails
15096      End
15097      AliasConditionState = MOVING ATTACKING CARRYING
15098  
15099      TransitionState = TRANS_Stand TRANS_MetalDetector_Standing    ;STANDING -> ATTACKING
15100        ShowSubObject = MINED_SKIN
15101        Animation     = UIWRKR_SKL.UIWRKR_TRB1;take out standing
15102        AnimationMode = ONCE
15103      End
15104      TransitionState = TRANS_MetalDetector_Standing TRANS_Stand    ;ATTACKING -> STANDING
15105        ShowSubObject = MINED_SKIN
15106        Animation     = UIWRKR_SKL.UIWRKR_TRB2;put away standing
15107        AnimationMode = ONCE
15108      End
15109  
15110      TransitionState = TRANS_Carry TRANS_MetalDetector_Standing    ;CARRYING -> ATTACKING
15111        ShowSubObject = MINED_SKIN
15112        Animation     = UIWRKR_SKL.UIWRKR_TRB1;take out standing
15113        AnimationMode = ONCE
15114      End
15115      TransitionState = TRANS_MetalDetector_Standing TRANS_Carry    ;ATTACKING -> CARRYING
15116        ShowSubObject = MINED_SKIN
15117        Animation     = UIWRKR_SKL.UIWRKR_TRB2;put away standing
15118        AnimationMode = ONCE
15119      End
15120      TransitionState = TRANS_Carry TRANS_MetalDetector_Moving      ;CARRYING -> MOVING ATTACKING
15121        ShowSubObject = MINED_SKIN
15122        Animation     = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION]
15123        AnimationMode = ONCE
15124        AnimationSpeedFactorRange = 2.0 2.0
15125      End
15126  
15127      TransitionState = TRANS_MetalDetector_Moving TRANS_Stand      ;MOVING ATTACKING -> STANDING
15128        ShowSubObject = MINED_SKIN
15129        Animation     = UIWRKR_SKL.UIWRKR_TRB2;put away moving
15130        AnimationMode = ONCE
15131      End
15132      TransitionState = TRANS_Stand TRANS_MetalDetector_Moving      ;STANDING -> MOVING ATTACKING
15133        ShowSubObject = MINED_SKIN
15134        Animation     = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION]
15135        AnimationMode = ONCE
15136        AnimationSpeedFactorRange = 2.0 2.0
15137      End
15138  
15139      TransitionState = TRANS_Moving TRANS_MetalDetector_Standing   ;MOVING -> ATTACKING [STANDING]
15140        ShowSubObject = MINED_SKIN
15141        Animation     = UIWRKR_SKL.UIWRKR_TRB1;take out standing
15142        AnimationMode = ONCE
15143      End
15144      TransitionState = TRANS_MetalDetector_Standing TRANS_Moving   ;ATTACKING [STANDING] -> MOVING
15145        ShowSubObject = MINED_SKIN
15146        Animation     = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION]
15147        AnimationMode = ONCE
15148        AnimationSpeedFactorRange = 2.0 2.0
15149      End
15150  
15151      TransitionState = TRANS_Moving TRANS_MetalDetector_Moving     ;MOVING -> MOVING ATTACKING
15152        ShowSubObject = MINED_SKIN
15153        Animation     = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION]
15154        AnimationMode = ONCE
15155        AnimationSpeedFactorRange = 2.0 2.0
15156      End
15157      TransitionState = TRANS_MetalDetector_Moving TRANS_Moving     ;MOVING ATTACKING -> MOVING
15158        ShowSubObject = MINED_SKIN
15159        Animation     = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION]
15160        AnimationMode = ONCE
15161        AnimationSpeedFactorRange = 2.0 2.0
15162      End
15163  
15164  
15165      ConditionState = MOVING CARRYING
15166        ShowSubObject = BOX
15167        Animation = UIWRKR_SKL.UIWRKR_CARY 12
15168        AnimationMode = LOOP
15169        Flags = RANDOMSTART
15170        TransitionKey = TRANS_Carry
15171        ParticleSysBone = None InfantryDustTrails
15172      End
15173      ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time,
15174      ; since we flip the bit once we get pretty close to the target. but it looks
15175      ; funky to do the construction animation while moving. 
15176      ; so just use the normal move animation in that case.
15177      AliasConditionState = ACTIVELY_CONSTRUCTING MOVING CARRYING
15178  
15179      ConditionState = CARRYING
15180        ShowSubObject = BOX
15181        Animation = UIWRKR_SKL.UIWRKR_CARST 30 
15182        AnimationMode = LOOP
15183        Flags = RANDOMSTART
15184        TransitionKey = TRANS_Carry
15185      End
15186  
15187      ConditionState = DYING
15188        Animation = UIWRKR_SKL.UIWRKR_DTA
15189        AnimationMode = ONCE
15190        TransitionKey = TRANS_Dying
15191      End
15192      AliasConditionState = DYING CARRYING
15193  
15194      TransitionState = TRANS_Dying TRANS_Flailing
15195        Animation = UIWRKR_SKL.UIWRKR_ADTE1
15196        AnimationMode = ONCE
15197      End
15198  
15199      ConditionState = DYING EXPLODED_FLAILING
15200        Animation = UIWRKR_SKL.UIWRKR_ADTE2
15201        AnimationMode = LOOP
15202        TransitionKey = TRANS_Flailing
15203      End
15204  
15205      ConditionState = DYING EXPLODED_BOUNCING
15206        Animation = UIWRKR_SKL.UIWRKR_ADTE3
15207        AnimationMode = ONCE
15208        TransitionKey = None
15209      End
15210  
15211      ConditionState  = SPECIAL_CHEERING
15212        Animation     = UIWRKR_SKL.UIWRKR_CHA
15213        AnimationMode = ONCE
15214      End
15215      
15216      ConditionState  = ACTIVELY_CONSTRUCTING
15217        Animation     = UIWRKR_SKL.UIWRKR_BDA
15218        AnimationMode = LOOP
15219        TransitionKey = TRANS_Constructing
15220      End
15221      AliasConditionState = ACTIVELY_CONSTRUCTING CARRYING
15222  
15223      ; --------------------
15224  
15225      TransitionState = TRANS_Stand TRANS_Carry
15226        ShowSubObject = BOX
15227        Animation     = UIWRKR_SKL.UIWRKR_PIK
15228        AnimationMode = ONCE
15229      End
15230  
15231      TransitionState = TRANS_Carry TRANS_Stand
15232        ShowSubObject = BOX
15233        Animation     = UIWRKR_SKL.UIWRKR_PIK
15234        AnimationMode = ONCE_BACKWARDS
15235        Flags         = START_FRAME_LAST
15236      End
15237      
15238      TransitionState = TRANS_Stand TRANS_Constructing
15239        Animation     = UIWRKR_SKL.UIWRKR_TRA1
15240        AnimationMode = ONCE
15241      End
15242  
15243      TransitionState = TRANS_Constructing TRANS_Stand
15244        Animation     = UIWRKR_SKL.UIWRKR_TRA2
15245        AnimationMode = ONCE
15246      End
15247    End
15248  
15249    ; ***DESIGN parameters ***
15250    DisplayName = OBJECT:Worker
15251    Side = GLAStealthGeneral
15252    EditorSorting = INFANTRY
15253    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
15254  
15255  
15256    WeaponSet
15257      Conditions = None 
15258      Weapon = PRIMARY None
15259    End
15260    WeaponSet
15261      Conditions = MINE_CLEARING_DETAIL 
15262      Weapon = PRIMARY WorkerMineDisarmingWeapon
15263    End
15264  
15265  
15266    ArmorSet
15267      Conditions      = None
15268      Armor           = HumanArmor
15269      DamageFX        = InfantryDamageFX
15270    End
15271    VisionRange = 100
15272    ShroudClearingRange = 200
15273   ;Prerequisites
15274   ;  Object = Slth_GLABarracks GLASupplyStash ;commented out, or else you can't build from Con Yard as Dozer.
15275   ;End
15276    BuildCost = 200
15277    BuildTime = 3.0          ;in seconds    
15278    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
15279    CommandSet = Slth_GLAWorkerCommandSet
15280  
15281    ; *** AUDIO Parameters ***
15282    VoiceSelect = WorkerVoiceSelect
15283    VoiceMove = WorkerVoiceMove
15284    VoiceAttack = WorkerVoiceMove
15285    VoiceGuard = WorkerVoiceMove
15286    VoiceFear = WorkerVoiceFear
15287    VoiceTaskComplete = WorkerVoiceBuildComplete
15288    UnitSpecificSounds
15289      VoiceEnter        = WorkerVoiceMoveUpgraded
15290      VoiceEnterHostile = WorkerVoiceMoveUpgraded
15291      VoiceGarrison     = WorkerVoiceGarrison
15292      VoiceCreate       = WorkerVoiceCreate
15293      VoiceSupply       = WorkerVoiceSupply
15294      VoiceNoBuild      = WorkerVoiceBuildNot
15295      VoiceRepair       = WorkerVoiceRepair
15296      VoiceDisarm       = WorkerVoiceClearMine
15297      VoiceBuildResponse = WorkerVoiceBuild
15298      VoiceGetHealed    = WorkerVoiceMoveUpgraded
15299      VoiceMoveUpgraded = WorkerVoiceMoveUpgraded
15300    End
15301  
15302    ; *** ENGINEERING Parameters ***
15303    RadarPriority = UNIT
15304    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER DOZER HARVESTER SCORE
15305  
15306    Body = ActiveBody ModuleTag_02
15307      MaxHealth       = 100.0
15308      InitialHealth   = 100.0
15309    End
15310  
15311    Behavior = WorkerAIUpdate ModuleTag_03
15312      RepairHealthPercentPerSecond  = 2%    ; % of max health to repair each second
15313      BoredTime                     = 5000  ; in milliseconds
15314      BoredRange                    = 150   ; when bored, we look this far away to do something 
15315      MaxBoxes                      = 1
15316      UpgradedSupplyBoost           = 8 ; gives this much more cash for every box collected
15317      SupplyCenterActionDelay       = 150 ;400 ; ms for whole thing (one transaction)
15318      SupplyWarehouseActionDelay    = 150 ;400 ;ms per box (many small transactions)
15319      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)
15320      SuppliesDepletedVoice = WorkerVoiceSuppliesDepleted
15321      ; the only "enemies" that workers can acquire are mines, to be disarmed...
15322      AutoAcquireEnemiesWhenIdle    = Yes
15323    End
15324    Locomotor = SET_NORMAL FastHumanLocomotor
15325    Locomotor = SET_NORMAL_UPGRADED WorkerShoesLocomotor
15326    Behavior = PhysicsBehavior ModuleTag_04
15327      Mass = 5.0
15328    End
15329   
15330    Behavior = SquishCollide ModuleTag_06
15331      ;nothing
15332    End
15333    Behavior = LocomotorSetUpgrade ModuleTag_07
15334      TriggeredBy = Upgrade_GLAWorkerShoes
15335    End
15336    Behavior = StealthUpdate ModuleTag_07
15337      StealthDelay                = 2500 ; msec
15338      StealthForbiddenConditions  = ATTACKING USING_ABILITY
15339      MoveThresholdSpeed          = 3
15340      InnateStealth               = No ;Requires upgrade first
15341      OrderIdleEnemiesToAttackMeUponReveal  = Yes
15342    End
15343  
15344    Behavior = StealthUpgrade ModuleTag_08
15345      TriggeredBy = Upgrade_GLACamouflage
15346    End
15347  
15348  ; --- begin Death modules ---
15349    Behavior = SlowDeathBehavior ModuleTag_Death01
15350      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
15351      SinkDelay           = 3000
15352      SinkRate            = 0.5     ; in Dist/Sec
15353      DestructionDelay    = 8000
15354      FX                  = INITIAL FX_WorkerDie
15355    End
15356    Behavior = SlowDeathBehavior ModuleTag_Death02
15357      DeathTypes          = NONE +CRUSHED +SPLATTED
15358      SinkDelay           = 3000
15359      SinkRate            = 0.5     ; in Dist/Sec
15360      DestructionDelay    = 8000
15361      FX                  = INITIAL FX_GIDieCrushed
15362    End
15363    Behavior = SlowDeathBehavior ModuleTag_Death03
15364      DeathTypes          = NONE +EXPLODED
15365      SinkDelay           = 3000
15366      SinkRate            = 0.5     ; in Dist/Sec
15367      DestructionDelay    = 8000
15368      FX                  = INITIAL FX_WorkerDie
15369      FlingForce          = 8
15370      FlingForceVariance  = 3
15371      FlingPitch          = 60
15372      FlingPitchVariance  = 10
15373    End
15374    Behavior = SlowDeathBehavior ModuleTag_Death04
15375      DeathTypes          = NONE +BURNED
15376      DestructionDelay    = 0
15377      FX                  = INITIAL FX_DieByFireGLA
15378      OCL                 = INITIAL OCL_FlamingInfantry
15379    End
15380    Behavior = SlowDeathBehavior ModuleTag_Death05
15381      DeathTypes          = NONE +POISONED
15382      DestructionDelay    = 0
15383      FX                  = INITIAL FX_DieByToxinGLA
15384      OCL                 = INITIAL OCL_ToxicInfantry
15385    End
15386    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
15387      DeathTypes          = NONE +POISONED_BETA
15388      DestructionDelay    = 0
15389      FX                  = INITIAL FX_DieByToxinGLA
15390      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
15391    End
15392    Behavior = SlowDeathBehavior ModuleTag_Death07
15393      DeathTypes          = NONE +POISONED_GAMMA
15394      DestructionDelay    = 0
15395      FX                  = INITIAL FX_DieByToxinGLA
15396      OCL                 = INITIAL OCL_ToxicInfantryGamma
15397    End
15398  ; --- end Death modules ---
15399  
15400    Behavior = StealthDetectorUpdate ModuleTag_12
15401      DetectionRate         = 500   ; how often to rescan for stealthed things in my sight (msec)
15402      ;DetectionRange       = ??? ;Dustin, enable this for independant balancing!
15403      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
15404      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
15405      ExtraRequiredKindOf   = MINE  ; we can only detect MINES, not other stealthed things
15406    End
15407  
15408    Behavior = PoisonedBehavior ModuleTag_13
15409      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
15410      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
15411    End
15412  
15413    Behavior = CommandSetUpgrade ModuleTag_14
15414      TriggeredBy = Upgrade_GLAWorkerFakeCommandSet
15415      RemovesUpgrades = Upgrade_GLAWorkerRealCommandSet
15416      CommandSet = Slth_GLAWorkerFakeBuildingsCommandSet
15417    End
15418   
15419    Behavior = CommandSetUpgrade ModuleTag_15
15420      TriggeredBy = Upgrade_GLAWorkerRealCommandSet
15421      RemovesUpgrades = Upgrade_GLAWorkerFakeCommandSet Upgrade_GLAWorkerRealCommandSet
15422      CommandSet = Slth_GLAWorkerCommandSet
15423    End
15424   
15425    Behavior = ProductionUpdate ModuleTag_16
15426      MaxQueueEntries = 1; For the command set switching upgrade
15427    End
15428  
15429    Geometry = CYLINDER
15430    GeometryMajorRadius = 10.0
15431    GeometryMinorRadius = 10.0
15432    GeometryHeight = 12.0
15433    GeometryIsSmall = Yes
15434    Shadow = SHADOW_DECAL
15435    ShadowSizeX = 14;
15436    ShadowSizeY = 14;
15437    ShadowTexture = ShadowI;
15438    BuildCompletion = APPEARS_AT_RALLY_POINT
15439  
15440  End
15441  
15442  ;------------------------------------------------------------------------------
15443  Object Slth_GLAInfantrySaboteur
15444  
15445    ; *** ART Parameters ***
15446    SelectPortrait         = SUSaboteur_L
15447    ButtonImage            = SUSaboteur
15448  
15449    ;UpgradeCameo1 = NONE
15450    ;UpgradeCameo2 = NONE
15451    ;UpgradeCameo3 = NONE
15452    ;UpgradeCameo4 = NONE
15453    ;UpgradeCameo5 = NONE
15454  
15455    Draw = W3DModelDraw ModuleTag_01
15456  
15457      OkToChangeModelColor = Yes
15458      
15459      ; this says "we don't use these condition states at all, so completely
15460      ; ignore them for purposes of matchmaking"... this is useful to help
15461      ; reduce the number of AliasConditionState clauses you must add in
15462      ; order to avoid ambiguity in some cases.
15463      IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A
15464  
15465      ; ---- standing
15466      DefaultConditionState
15467        Model = UISabotr_SKN
15468        IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9
15469        IdleAnimation = UIWRKR_SKL.UIWRKR_IDA
15470        AnimationMode = ONCE
15471        TransitionKey = TRANS_Stand
15472      End
15473  
15474      ConditionState  = MOVING
15475        Animation     = UIWRKR_SKL.UIWRKR_RNA 16
15476        AnimationMode = LOOP
15477        Flags         = RANDOMSTART
15478        TransitionKey = TRANS_Moving
15479        ParticleSysBone = None InfantryDustTrails
15480      End
15481  
15482      ConditionState = DYING
15483        Animation = UIWRKR_SKL.UIWRKR_DTA
15484        AnimationMode = ONCE
15485        TransitionKey = TRANS_Dying
15486      End
15487  
15488      TransitionState = TRANS_Dying TRANS_Flailing
15489        Animation = UIWRKR_SKL.UIWRKR_ADTE1
15490        AnimationMode = ONCE
15491      End
15492  
15493      ConditionState = DYING EXPLODED_FLAILING
15494        Animation = UIWRKR_SKL.UIWRKR_ADTE2
15495        AnimationMode = LOOP
15496        TransitionKey = TRANS_Flailing
15497      End
15498  
15499      ConditionState = DYING EXPLODED_BOUNCING
15500        Animation = UIWRKR_SKL.UIWRKR_ADTE3
15501        AnimationMode = ONCE
15502        TransitionKey = None
15503      End
15504  
15505      ConditionState  = SPECIAL_CHEERING
15506        Animation     = UIWRKR_SKL.UIWRKR_CHA
15507        AnimationMode = ONCE
15508      End
15509      
15510    End
15511  
15512    ; ***DESIGN parameters ***
15513    DisplayName         = OBJECT:Saboteur
15514    Side                = GLAStealthGeneral
15515    EditorSorting       = INFANTRY
15516    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
15517   
15518    ArmorSet
15519      Conditions      = None
15520      Armor           = HumanArmor
15521      DamageFX        = InfantryDamageFX
15522    End
15523    VisionRange         = 150
15524    ShroudClearingRange = 300
15525    Prerequisites
15526      Object = Slth_GLAPalace
15527    End
15528    BuildCost = 800
15529    BuildTime = 15.0          ;in seconds  
15530  
15531    ExperienceValue     = 15 15 30 40     ;Experience point value at each level
15532    ExperienceRequired  = 0 40 60 120     ;Experience points needed to gain each level
15533    IsTrainable         = Yes             ;Can gain experience
15534    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
15535    CommandSet          = GLAInfantrySaboteurCommandSet
15536  
15537    ; *** AUDIO Parameters ***
15538    VoiceSelect = SaboteurVoiceSelect
15539    VoiceMove = SaboteurVoiceMove
15540    VoiceGuard = SaboteurVoiceMove
15541    VoiceAttack = SaboteurVoiceAttack
15542    SoundStealthOn = StealthOn
15543    SoundStealthOff = StealthOff
15544    VoiceFear = SaboteurVoiceFear
15545    VoiceTaskComplete = NoSound
15546    UnitSpecificSounds
15547      VoiceCreate = SaboteurVoiceCreate
15548      VoiceSubdue = SaboteurVoiceMove
15549      VoiceGarrison = SaboteurVoiceMove
15550      VoiceEnter = SaboteurVoiceMove
15551      VoiceEnterHostile = SaboteurVoiceAttack
15552      VoiceGetHealed      = SaboteurVoiceMove
15553    End
15554  
15555    ; *** ENGINEERING Parameters ***
15556    RadarPriority = UNIT
15557    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 
15558  
15559    Body = ActiveBody ModuleTag_02
15560      MaxHealth       = 120.0
15561      InitialHealth   = 120.0
15562    End
15563  
15564    Behavior = AIUpdateInterface ModuleTag_03
15565      AutoAcquireEnemiesWhenIdle = Yes
15566    End
15567  
15568    Behavior = CommandButtonHuntUpdate  ModuleTag_04 ; allows use of command button hunt script with this unit. 
15569    End
15570  
15571    Locomotor = SET_NORMAL SaboteurGroundLocomotor SaboteurCliffLocomotor
15572  
15573    Behavior = PhysicsBehavior ModuleTag_05
15574      Mass = 5.0
15575    End
15576    Behavior = StealthUpdate ModuleTag_07
15577      StealthDelay                = 2500 ; msec
15578      StealthForbiddenConditions  = None
15579      InnateStealth               = Yes ;Requires upgrade first
15580      OrderIdleEnemiesToAttackMeUponReveal  = Yes
15581    End
15582  
15583    Behavior = SquishCollide ModuleTag_11
15584      ;nothing
15585    End
15586  
15587    Behavior = SabotagePowerPlantCrateCollide       SabotageTag_01
15588      BuildingPickup = Yes
15589      SabotagePowerDuration = 30000
15590    End
15591    ;Behavior = SabotageSupplyDropzoneCrateCollide   SabotageTag_02
15592    ;  BuildingPickup  = Yes
15593    ;  StealCashAmount = 800
15594    ;End
15595    Behavior = SabotageSuperweaponCrateCollide      SabotageTag_03
15596      BuildingPickup = Yes
15597    End
15598    Behavior = SabotageCommandCenterCrateCollide    SabotageTag_04
15599      BuildingPickup = Yes
15600    End
15601    Behavior = SabotageSupplyCenterCrateCollide     SabotageTag_05
15602      BuildingPickup  = Yes
15603      StealCashAmount = 1000
15604    End
15605    Behavior = SabotageMilitaryFactoryCrateCollide  SabotageTag_06
15606      BuildingPickup = Yes
15607      SabotageDuration = 30000
15608    End
15609  
15610  ; --- begin Death modules ---
15611    Behavior = SlowDeathBehavior ModuleTag_Death01
15612      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
15613      SinkDelay           = 3000
15614      SinkRate            = 0.5     ; in Dist/Sec
15615      DestructionDelay    = 8000
15616      FX                  = INITIAL FX_RebelDie
15617    End
15618    Behavior = SlowDeathBehavior ModuleTag_Death02
15619      DeathTypes          = NONE +CRUSHED +SPLATTED
15620      SinkDelay           = 3000
15621      SinkRate            = 0.5     ; in Dist/Sec
15622      DestructionDelay    = 8000
15623      FX                  = INITIAL FX_GIDieCrushed
15624    End
15625    Behavior = SlowDeathBehavior ModuleTag_Death03
15626      DeathTypes          = NONE +EXPLODED
15627      SinkDelay           = 3000
15628      SinkRate            = 0.5     ; in Dist/Sec
15629      DestructionDelay    = 8000
15630      FX                  = INITIAL FX_RebelDie
15631      FlingForce          = 8
15632      FlingForceVariance  = 3
15633      FlingPitch          = 60
15634      FlingPitchVariance  = 10
15635    End
15636    Behavior = SlowDeathBehavior ModuleTag_Death04
15637      DeathTypes          = NONE +BURNED
15638      DestructionDelay    = 0
15639      FX                  = INITIAL FX_DieByFireGLA
15640      OCL                 = INITIAL OCL_FlamingInfantry
15641    End
15642    Behavior = SlowDeathBehavior ModuleTag_Death05
15643      DeathTypes          = NONE +POISONED
15644      DestructionDelay    = 0
15645      FX                  = INITIAL FX_DieByToxinGLA
15646      OCL                 = INITIAL OCL_ToxicInfantry
15647    End
15648    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
15649      DeathTypes          = NONE +POISONED_BETA
15650      DestructionDelay    = 0
15651      FX                  = INITIAL FX_DieByToxinGLA
15652      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
15653    End
15654    Behavior = SlowDeathBehavior ModuleTag_Death07
15655      DeathTypes          = NONE +POISONED_GAMMA
15656      DestructionDelay    = 0
15657      FX                  = INITIAL FX_DieByToxinGLA
15658      OCL                 = INITIAL OCL_ToxicInfantryGamma
15659    End
15660  ; --- end Death modules ---
15661  
15662    Behavior = PoisonedBehavior ModuleTag_16
15663      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
15664      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
15665    End
15666  
15667  ;  Behavior = SpecialAbility ModuleTag_17
15668  ;    SpecialPowerTemplate      = SpecialAbilityRebelCaptureBuilding
15669  ;    UpdateModuleStartsAttack  = Yes
15670  ;    StartsPaused              = Yes
15671  ;    InitiateSound         = RebelVoiceCapture
15672  ;  End
15673  ;  Behavior = SpecialAbilityUpdate ModuleTag_18
15674  ;    SpecialPowerTemplate  = SpecialAbilityRebelCaptureBuilding
15675  ;    StartAbilityRange  = 5.0
15676  ;    UnpackTime            = 3000  ; (changing this will scale anim speed)
15677  ;    PreparationTime       = 20000 ; time to complete hack once prepared (changing this will scale anim speed)
15678  ;    PackTime              = 2000  ; (changing this will scale anim speed)
15679  ;    DoCaptureFX           = Yes
15680  ;    AwardXPForTriggering  = 12
15681  ;    ;SkillPointsForTriggering = ???  -- Dustin, fill me out if you want different balance values.
15682  ;  End
15683  
15684    Geometry = CYLINDER
15685    GeometryMajorRadius = 10.0
15686    GeometryMinorRadius = 10.0
15687    GeometryHeight = 12.0
15688    GeometryIsSmall = Yes
15689    Shadow = SHADOW_DECAL
15690    ShadowSizeX = 14;
15691    ShadowSizeY = 14;
15692    ShadowTexture = ShadowI;
15693    BuildCompletion = APPEARS_AT_RALLY_POINT
15694  
15695  End
15696  
15697  
15698  
15699  
15700  
15701  
15702  
15703  
15704  
15705  
15706  
15707  
15708  
15709  
15710  
15711  
15712  
15713  
15714  
15715  
15716  
15717  
15718  
15719  
15720  
15721  
15722  
15723  
15724  
15725  
15726  
15727  
15728  
15729  
15730  ;------------------------------------------------------------------------------
15731  Object Slth_GLATankScorpion
15732  
15733    ; *** ART Parameters ***
15734    SelectPortrait         = SUScorpion_L
15735    ButtonImage            = SUScorpion
15736    
15737    UpgradeCameo1 = Upgrade_GLAScorpionRocket
15738    UpgradeCameo2 = Upgrade_GLAAPRockets
15739    UpgradeCameo3 = Upgrade_GLAToxinShells
15740    UpgradeCameo4 = Upgrade_GLAJunkRepair
15741    ;UpgradeCameo5 = NONE
15742    
15743    Draw = W3DTankDraw ModuleTag_01
15744      OkToChangeModelColor = Yes
15745  
15746      ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
15747   
15748  ; ------------ Normal  
15749      DefaultConditionState
15750        Model = UVLiteTank
15751        Turret = Turret ; Logic twist bone is always this, both turrets are subobjects of it, as are both missile racks
15752        ; note, order-dependent: we must hide/show Missile AFTER we hide/show MissileRack!
15753        ShowSubObject = Turret01
15754        HideSubObject = MissleRack01 MissleRack02 TurretUP01; MissileRack misspelled in the Art
15755        WeaponFireFXBone = PRIMARY Muzzle
15756        WeaponRecoilBone = PRIMARY Barrel
15757        WeaponMuzzleFlash = PRIMARY MuzzleFX
15758        WeaponLaunchBone = PRIMARY Muzzle
15759      End
15760  
15761      ConditionState = REALLYDAMAGED
15762        Model = UVLiteTank_d
15763      End
15764      AliasConditionState = RUBBLE
15765      
15766  ; ------------ With big turret  
15767      ConditionState = WEAPONSET_CRATEUPGRADE_ONE ; one or two crates is a turret switch
15768        ShowSubObject = TurretUP01
15769        HideSubObject = MissleRack01 MissleRack02 Turret01   ; MissileRack misspelled in the Art
15770      End
15771      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO
15772  
15773      ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED
15774        Model = UVLiteTank_d
15775        ShowSubObject = TurretUP01
15776        HideSubObject = MissleRack01 MissleRack02 Turret01   ; MissileRack misspelled in the Art
15777      End
15778      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED
15779  
15780  ; ---------- With missile
15781      ConditionState = WEAPONSET_PLAYER_UPGRADE
15782        ShowSubObject = MissleRack01 Turret01
15783        HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art
15784        WeaponFireFXBone = SECONDARY WeaponA
15785        WeaponLaunchBone = SECONDARY WeaponA
15786      End
15787  
15788      ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
15789        Model = UVLiteTank_d
15790        ShowSubObject = MissleRack01 Turret01
15791        HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art
15792        WeaponFireFXBone = SECONDARY WeaponA
15793        WeaponLaunchBone = SECONDARY WeaponA
15794      End
15795  
15796  ; ---------- With missile and big turret
15797      ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
15798        ShowSubObject = MissleRack01 TurretUP01
15799        HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art
15800        WeaponFireFXBone = SECONDARY WeaponA
15801        WeaponLaunchBone = SECONDARY WeaponA
15802      End
15803  
15804      ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED
15805        Model = UVLiteTank_d
15806        ShowSubObject = MissleRack01 TurretUP01
15807        HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art
15808        WeaponFireFXBone = SECONDARY WeaponA
15809        WeaponLaunchBone = SECONDARY WeaponA
15810      End
15811  
15812  ; ---------- With two missiles and big turret
15813      ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
15814        ShowSubObject = MissleRack01 MissleRack02 TurretUP01
15815        HideSubObject = Turret01; MissileRack misspelled in the Art
15816        WeaponFireFXBone = SECONDARY WeaponA
15817        WeaponLaunchBone = SECONDARY WeaponA
15818      End
15819  
15820      ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED
15821        Model = UVLiteTank_d
15822        ShowSubObject = MissleRack01 MissleRack02 TurretUP01
15823        HideSubObject = Turret01; MissileRack misspelled in the Art
15824        WeaponFireFXBone = SECONDARY WeaponA
15825        WeaponLaunchBone = SECONDARY WeaponA
15826      End
15827  
15828      TrackMarks = EXTnkTrack.tga
15829      TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
15830    End
15831  
15832    ; ***DESIGN parameters ***
15833    DisplayName           = OBJECT:Scorpion
15834    Side                  = GLAStealthGeneral
15835    EditorSorting         = VEHICLE
15836    TransportSlotCount    = 3                 ;how many "slots" we take in a transport (0 == not transportable)
15837  
15838    WeaponSet
15839      Conditions = None 
15840      Weapon = PRIMARY ScorpionTankGun
15841      Weapon = SECONDARY None
15842    End
15843    WeaponSet
15844      Conditions = PLAYER_UPGRADE 
15845      Weapon = PRIMARY ScorpionTankGun
15846      Weapon = SECONDARY ScorpionMissileWeapon
15847    End
15848    WeaponSet
15849      Conditions = CRATEUPGRADE_ONE 
15850      Weapon = PRIMARY ScorpionTankGunPlusOne
15851      Weapon = SECONDARY None
15852    End
15853    WeaponSet
15854      Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE 
15855      Weapon = PRIMARY ScorpionTankGunPlusOne
15856      Weapon = SECONDARY ScorpionMissileWeapon ; No bonus at Plus One
15857    End
15858    WeaponSet
15859      Conditions = CRATEUPGRADE_TWO 
15860      Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two
15861      Weapon = SECONDARY None
15862    End
15863    WeaponSet
15864      Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE 
15865      Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two
15866      Weapon = SECONDARY ScorpionMissileWeaponPlusTwo
15867    End
15868  
15869    ArmorSet
15870      Conditions      = None
15871      Armor           = TankArmor
15872      DamageFX        = TankDamageFX
15873    End
15874    BuildCost       = 600
15875    BuildTime       = 7.0          ;in seconds    
15876    VisionRange     = 125
15877    ShroudClearingRange = 300
15878    Prerequisites
15879      Object = Slth_GLAArmsDealer
15880    End
15881  
15882    ExperienceValue = 60 60 120 200    ;Experience point value at each level
15883    ExperienceRequired = 0 100 200 400  ;Experience points needed to gain each level
15884    IsTrainable = Yes             ;Can gain experience
15885    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
15886    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
15887    CommandSet      = GLATankScorpionCommandSet
15888  
15889    ; *** AUDIO Parameters ***
15890    VoiceSelect = ScorpionTankVoiceSelect
15891    VoiceMove = ScorpionTankVoiceMove
15892    VoiceAttack = ScorpionTankVoiceAttack
15893    SoundMoveStart = ScorpionTankMoveStart
15894    SoundMoveStartDamaged = ScorpionTankMoveStart
15895    VoiceGuard = ScorpionTankVoiceMove
15896  
15897    UnitSpecificSounds
15898      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
15899      VoiceCreate          = ScorpionTankVoiceCreate
15900      ;TurretMoveStart = NoSound
15901      TurretMoveLoop = TurretMoveLoop
15902      VoiceEnter = ScorpionTankVoiceMove
15903    End
15904  
15905    ; *** ENGINEERING Parameters ***
15906    RadarPriority = UNIT
15907    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE
15908  
15909    Body = ActiveBody ModuleTag_02
15910      MaxHealth       = 370.0
15911      InitialHealth   = 370.0
15912  
15913      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
15914      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
15915      SubdualDamageCap = 740
15916      SubdualDamageHealRate = 500
15917      SubdualDamageHealAmount = 50
15918    End
15919  
15920    Behavior = AIUpdateInterface ModuleTag_03
15921      Turret
15922        TurretTurnRate = 100
15923        RecenterTime = 5000   ; how long to wait during idle before recentering
15924        ControlledWeaponSlots = PRIMARY SECONDARY
15925      End
15926      AutoAcquireEnemiesWhenIdle = Yes
15927    End
15928    Locomotor = SET_NORMAL ScorpionLocomotor
15929    Behavior = PhysicsBehavior ModuleTag_04
15930      Mass = 50.0
15931    End
15932    Behavior = AutoHealBehavior ModuleTag_05
15933      HealingAmount = 2
15934      HealingDelay = 1000 ; msec
15935      TriggeredBy = Upgrade_GLAJunkRepair
15936    End
15937  
15938    ; Catch fire, and explode death
15939    Behavior = SlowDeathBehavior ModuleTag_06
15940      DeathTypes = ALL -CRUSHED -SPLATTED
15941      ProbabilityModifier = 50
15942      DestructionDelay = 2000
15943      DestructionDelayVariance = 300
15944      FX  = INITIAL  FX_CrusaderCatchFire
15945      OCL = FINAL    OCL_ScorpionTankDeathEffect
15946      FX  = FINAL    FX_BattleMasterExplosionOneFinal
15947    End
15948  
15949    Behavior = WeaponSetUpgrade ModuleTag_07
15950      TriggeredBy = Upgrade_GLAScorpionRocket
15951    End
15952  
15953    Behavior = DestroyDie ModuleTag_09
15954      DeathTypes = NONE +CRUSHED +SPLATTED
15955    End
15956  
15957    ; A crushing defeat
15958    Behavior = FXListDie ModuleTag_10
15959      DeathTypes = NONE +CRUSHED +SPLATTED
15960      DeathFX = FX_CarCrush
15961    End
15962    Behavior = CreateObjectDie ModuleTag_11
15963      DeathTypes = NONE +CRUSHED +SPLATTED
15964      CreationList = OCL_CrusaderTank_CrushEffect
15965    End
15966    Behavior = CreateCrateDie ModuleTag_12
15967      CrateData = SalvageCrateData
15968      ;CrateData = EliteTankCrateData
15969      ;CrateData = HeroicTankCrateData
15970    End
15971    
15972    Behavior                 = TransitionDamageFX ModuleTag_13
15973      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
15974      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
15975    End
15976  
15977    Behavior = FlammableUpdate ModuleTag_21
15978      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
15979      AflameDamageAmount = 3       ; taking this much damage...
15980      AflameDamageDelay = 500       ; this often.
15981    End
15982  
15983    Geometry = BOX
15984    GeometryMajorRadius = 14.0
15985    GeometryMinorRadius = 9.0
15986    GeometryHeight = 10.5    
15987    GeometryIsSmall = Yes 
15988    Shadow = SHADOW_VOLUME   
15989    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
15990  
15991  End
15992  
15993  ;------------------------------------------------------------------------------
15994  ;GLA Rocket Buggy
15995  Object Slth_GLAVehicleRocketBuggy
15996  
15997    ; *** ART Parameters ***
15998    SelectPortrait         = SURocketBuggy_L
15999    ButtonImage            = SURocketBuggy
16000    
16001    UpgradeCameo1 = Upgrade_GLABuggyAmmo
16002    UpgradeCameo2 = Upgrade_GLAAPRockets
16003    UpgradeCameo3 = Upgrade_GLAJunkRepair
16004    ;UpgradeCameo4 = NONE
16005    ;UpgradeCameo5 = NONE
16006    
16007    Draw = W3DTruckDraw ModuleTag_01
16008      OkToChangeModelColor = Yes
16009  
16010      DefaultConditionState
16011        Model = UVRockBug
16012        Turret = Turret
16013        ShowSubObject = Turret
16014        HideSubObject = TurretUp01 
16015        WeaponFireFXBone = PRIMARY WeaponA
16016        WeaponLaunchBone = PRIMARY WeaponA
16017      End
16018      
16019      ConditionState = REALLYDAMAGED
16020        Model = UVRockBug_D
16021        Turret = Turret
16022        ShowSubObject = Turret
16023        HideSubObject = TurretUp01 
16024        WeaponFireFXBone = PRIMARY WeaponA
16025        WeaponLaunchBone = PRIMARY WeaponA
16026      End
16027      
16028      ConditionState = RUBBLE
16029        Model = UVRockBug_D
16030        Turret = Turret
16031        ShowSubObject = Turret
16032        HideSubObject = TurretUp01 
16033        WeaponFireFXBone = PRIMARY WeaponA
16034        WeaponLaunchBone = PRIMARY WeaponA
16035      End
16036  
16037      ConditionState =   WEAPONSET_PLAYER_UPGRADE
16038        Model = UVRockBug
16039        Turret = TurretUp01
16040        ShowSubObject = TurretUp01 
16041        HideSubObject = Turret
16042        WeaponFireFXBone = PRIMARY WeaponB
16043        WeaponLaunchBone = PRIMARY WeaponB
16044      End
16045      
16046      ConditionState =   WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
16047        Model = UVRockBug_D
16048        Turret = TurretUp01
16049        ShowSubObject = TurretUp01 
16050        HideSubObject = Turret
16051        WeaponFireFXBone = PRIMARY WeaponB
16052        WeaponLaunchBone = PRIMARY WeaponB
16053      End
16054      
16055      ConditionState =   WEAPONSET_PLAYER_UPGRADE RUBBLE
16056        Model = UVRockBug_D
16057        Turret = TurretUp01
16058        ShowSubObject = TurretUp01 
16059        HideSubObject = Turret
16060        WeaponFireFXBone = PRIMARY WeaponB
16061        WeaponLaunchBone = PRIMARY WeaponB
16062      End
16063  
16064      TrackMarks = EXTireTrack.tga
16065  
16066      Dust                        = RocketBuggyDust
16067      DirtSpray                   = RocketBuggyDirtSpray
16068      PowerslideSpray             = RocketBuggyDirtPowerSlide
16069  
16070      ; These parameters are only used if the model has a separate suspension, 
16071      ; and the locomotor has HasSuspension = Yes.
16072      LeftFrontTireBone           = Tire01
16073      RightFrontTireBone          = Tire02
16074      LeftRearTireBone            = Tire03
16075      RightRearTireBone           = Tire04
16076      TireRotationMultiplier      = 0.2   ; this * speed = rotation.
16077      PowerslideRotationAddition  = 2.5   ; This speed is added to the rotation speed when powersliding.
16078  
16079    End
16080  
16081    ; ***DESIGN parameters ***
16082    DisplayName         = OBJECT:RocketBuggy
16083    Side                = GLAStealthGeneral
16084    EditorSorting       = VEHICLE
16085    TransportSlotCount  = 3                 ;how many "slots" we take in a transport (0 == not transportable)
16086    WeaponSet
16087      Conditions = None 
16088      Weapon = PRIMARY BuggyRocketWeapon
16089    End
16090    WeaponSet
16091      Conditions = PLAYER_UPGRADE 
16092      Weapon = PRIMARY BuggyRocketWeaponUpgraded
16093    End
16094    ArmorSet
16095      Conditions      = None
16096      Armor           = TruckArmor
16097      DamageFX        = TankDamageFX
16098    End
16099    BuildCost       = 900
16100    BuildTime       = 10.0          ;in seconds    
16101    VisionRange     = 180
16102    ShroudClearingRange = 300
16103    Prerequisites
16104      Object = Slth_GLAArmsDealer
16105      Object = Slth_GLAPalace
16106    End
16107  
16108    ExperienceValue       = 50 50 100 150    ;Experience point value at each level
16109    ExperienceRequired    = 0 200 400 800  ;Experience points needed to gain each level
16110    IsTrainable           = Yes             ;Can gain experience
16111    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
16112    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
16113    CommandSet            = GLAVehicleRocketBuggyCommandSet
16114  
16115    ; *** AUDIO Parameters ***
16116    VoiceSelect = RocketBuggyVoiceSelect
16117    VoiceMove = RocketBuggyVoiceMove
16118    VoiceAttack = RocketBuggyVoiceAttack
16119    SoundMoveStart = RocketBuggyMoveStart
16120    SoundMoveStartDamaged = RocketBuggyMoveStart
16121    VoiceGuard = RocketBuggyVoiceMove
16122  
16123  
16124    UnitSpecificSounds
16125      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
16126      VoiceCreate          = RocketBuggyVoiceCreate
16127      TurretMoveStart = NoSound
16128      TurretMoveLoop = TurretMoveLoop  
16129    ; Required for the W3DTruckDraw module
16130      TruckLandingSound = RocketBuggyLand
16131      TruckPowerslideSound = RocketBuggyPowerslide
16132      VoiceCrush      = RocketBuggyVoiceCrush
16133      VoiceEnter = RocketBuggyVoiceMove
16134    End
16135  
16136    ; *** ENGINEERING Parameters ***
16137    RadarPriority = UNIT
16138    KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE
16139  
16140    Body = ActiveBody ModuleTag_02
16141      MaxHealth       = 120
16142      InitialHealth   = 120
16143  
16144      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
16145      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
16146      SubdualDamageCap = 240
16147      SubdualDamageHealRate = 500
16148      SubdualDamageHealAmount = 50
16149    End
16150    Behavior = AIUpdateInterface ModuleTag_03
16151      Turret
16152        TurretTurnRate = 90
16153        ControlledWeaponSlots = PRIMARY
16154      End
16155      AutoAcquireEnemiesWhenIdle = Yes
16156    End
16157    Locomotor = SET_NORMAL RocketBuggyLocomotor
16158    Behavior = PhysicsBehavior ModuleTag_04
16159      Mass = 50.0
16160    End
16161  
16162  ; The pop up AirDeath 
16163    Behavior = SlowDeathBehavior ModuleTag_05
16164      DeathTypes = ALL -CRUSHED -SPLATTED
16165      ProbabilityModifier = 5
16166      ModifierBonusPerOverkillPercent = 20%  ; negative means less likely to pick this in the face of much damage, positive means more likely
16167      DestructionDelay = 0
16168      FX = INITIAL FX_BuggyNewDeathExplosion
16169      OCL = FINAL OCL_RocketBuggyAirDeathStart
16170    End
16171  
16172    Behavior = AutoHealBehavior ModuleTag_08
16173      HealingAmount = 2
16174      HealingDelay = 1000 ; msec
16175      TriggeredBy = Upgrade_GLAJunkRepair
16176    End
16177  
16178    Behavior = WeaponSetUpgrade ModuleTag_09
16179      TriggeredBy = Upgrade_GLABuggyAmmo
16180    End
16181  
16182    Behavior = DestroyDie ModuleTag_11
16183      DeathTypes = NONE +CRUSHED +SPLATTED
16184    End
16185  
16186    ; A crushing defeat
16187    Behavior = FXListDie ModuleTag_12
16188      DeathTypes = NONE +CRUSHED +SPLATTED
16189      DeathFX = FX_CarCrush
16190    End
16191    Behavior = CreateObjectDie ModuleTag_13
16192      DeathTypes = NONE +CRUSHED +SPLATTED
16193      CreationList = OCL_RocketBuggy_CrushEffect
16194    End
16195    Behavior = CreateCrateDie ModuleTag_14
16196      CrateData = SalvageCrateData
16197      ;CrateData = EliteTankCrateData
16198      ;CrateData = HeroicTankCrateData
16199    End
16200    
16201    Behavior                 = TransitionDamageFX ModuleTag_15
16202      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
16203      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
16204    End
16205  
16206    Behavior = FlammableUpdate ModuleTag_21
16207      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
16208      AflameDamageAmount = 3       ; taking this much damage...
16209      AflameDamageDelay = 500       ; this often.
16210    End
16211  
16212    Geometry = BOX
16213    GeometryMajorRadius = 13.0
16214    GeometryMinorRadius = 9.0
16215    GeometryHeight = 7.5     
16216    GeometryIsSmall = Yes    
16217  
16218    Shadow = SHADOW_VOLUME
16219    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
16220  
16221  End
16222  
16223  
16224  
16225  
16226  
16227  ;------------------------------------------------------------------------------
16228  ;GLA Combat Bike
16229  Object Slth_GLAVehicleCombatBike
16230  
16231    ; *** ART Parameters ***
16232    SelectPortrait         = SUComBike_L
16233    ButtonImage            = SUComBike
16234    
16235    UpgradeCameo1 = Upgrade_GLAJunkRepair
16236    ;UpgradeCameo2 = NONE
16237    ;UpgradeCameo3 = NONE
16238    ;UpgradeCameo4 = NONE
16239    ;UpgradeCameo5 = NONE
16240  
16241    
16242    Draw = W3DTruckDraw ModuleTag_01
16243      OkToChangeModelColor = Yes
16244  
16245      ;Normal Bike
16246      ;------------------------------
16247      DefaultConditionState
16248        Model = UVComBike
16249        WeaponFireFXBone    = PRIMARY Muzzle_B
16250        WeaponLaunchBone    = PRIMARY RocketFX03
16251        WeaponMuzzleFlash   = PRIMARY MuzzleFX_B
16252        ParticleSysBone     = SMOKE CombatBikeSmokeLight
16253  
16254        HideSubObject = BOMBBIKE ; Hide from all states except terrorist (rider 5)
16255  
16256  
16257      End
16258      AliasConditionState RIDER1
16259      AliasConditionState RIDER1 MOVING
16260      AliasConditionState RIDER6
16261      AliasConditionState RIDER6 MOVING
16262      AliasConditionState RIDER7
16263      AliasConditionState RIDER7 MOVING
16264      ConditionState = REALLYDAMAGED
16265        Model = UVComBike_d
16266      End
16267      AliasConditionState RIDER1 REALLYDAMAGED
16268      AliasConditionState RIDER1 MOVING REALLYDAMAGED
16269      AliasConditionState RIDER6 REALLYDAMAGED
16270      AliasConditionState RIDER6 MOVING REALLYDAMAGED
16271      AliasConditionState RIDER7 REALLYDAMAGED
16272      AliasConditionState RIDER7 MOVING REALLYDAMAGED
16273    
16274      ConditionState = TOPPLED
16275        Model = UVComBike_F
16276        Animation           = UVComBike_F.UVComBike_F
16277        AnimationMode       = ONCE
16278      End
16279      ConditionState = TOPPLED REALLYDAMAGED
16280        Model = UVComBike_dF
16281        Animation           = UVComBike_DF.UVComBike_DF
16282        AnimationMode       = ONCE
16283      End
16284  
16285      ConditionState = RIDER1 MOVING CENTER_TO_LEFT
16286        Model = UVComBike_A1
16287        Animation           = UVComBike_A1.UVComBike_A1
16288        AnimationMode       = ONCE
16289        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16290      End
16291      AliasConditionState RIDER6 MOVING CENTER_TO_LEFT
16292      AliasConditionState RIDER7 MOVING CENTER_TO_LEFT
16293      ConditionState = RIDER1 MOVING CENTER_TO_LEFT REALLYDAMAGED
16294        Model = UVComBike_A1d
16295        Animation           = UVComBike_A1D.UVComBike_A1D
16296        AnimationMode       = ONCE
16297        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16298      End
16299      AliasConditionState RIDER6 MOVING CENTER_TO_LEFT REALLYDAMAGED
16300      AliasConditionState RIDER7 MOVING CENTER_TO_LEFT REALLYDAMAGED
16301  
16302      ConditionState = RIDER1 MOVING LEFT_TO_CENTER
16303        Model = UVComBike_A1
16304        Animation           = UVComBike_A1.UVComBike_A1
16305        AnimationMode       = ONCE_BACKWARDS
16306        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16307      End
16308      AliasConditionState RIDER6 MOVING LEFT_TO_CENTER
16309      AliasConditionState RIDER7 MOVING LEFT_TO_CENTER
16310      ConditionState = RIDER1 MOVING LEFT_TO_CENTER REALLYDAMAGED
16311        Model = UVComBike_A1d
16312        Animation           = UVComBike_A1D.UVComBike_A1D
16313        AnimationMode       = ONCE_BACKWARDS
16314        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16315      End
16316      AliasConditionState RIDER6 MOVING LEFT_TO_CENTER REALLYDAMAGED
16317      AliasConditionState RIDER7 MOVING LEFT_TO_CENTER REALLYDAMAGED
16318  
16319      ConditionState = RIDER1 MOVING CENTER_TO_RIGHT
16320        Model = UVComBike_A2
16321        Animation           = UVComBike_A2.UVComBike_A2
16322        AnimationMode       = ONCE
16323        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16324      End
16325      AliasConditionState  RIDER6 MOVING CENTER_TO_RIGHT
16326      AliasConditionState  RIDER7 MOVING CENTER_TO_RIGHT
16327      ConditionState = RIDER1 MOVING CENTER_TO_RIGHT REALLYDAMAGED
16328        Model = UVComBike_A2d
16329        Animation           = UVComBike_A2D.UVComBike_A2D
16330        AnimationMode       = ONCE
16331        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16332      End
16333      AliasConditionState  RIDER6 MOVING CENTER_TO_RIGHT REALLYDAMAGED
16334      AliasConditionState  RIDER7 MOVING CENTER_TO_RIGHT REALLYDAMAGED
16335  
16336      ConditionState = RIDER1 MOVING RIGHT_TO_CENTER
16337        Model = UVComBike_A2
16338        Animation           = UVComBike_A2.UVComBike_A2
16339        AnimationMode       = ONCE_BACKWARDS
16340        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16341      End
16342      AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER
16343      AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER
16344      ConditionState = RIDER1 MOVING RIGHT_TO_CENTER REALLYDAMAGED
16345        Model = UVComBike_A2d
16346        Animation           = UVComBike_A2D.UVComBike_A2D
16347        AnimationMode       = ONCE_BACKWARDS
16348        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16349      End
16350      AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER REALLYDAMAGED
16351      AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER REALLYDAMAGED
16352  
16353  
16354  
16355  
16356  
16357  
16358      ;Terror Bike
16359      ;------------------------------
16360      ConditionState  RIDER5
16361        Model = UVComBike
16362        WeaponFireFXBone    = PRIMARY Muzzle_B
16363        WeaponLaunchBone    = PRIMARY RocketFX03
16364        WeaponMuzzleFlash   = PRIMARY MuzzleFX_B
16365        ParticleSysBone     = SMOKE CombatBikeSmokeLight
16366        ShowSubObject = BOMBBIKE
16367      End
16368      AliasConditionState RIDER5 MOVING
16369  
16370      ConditionState = REALLYDAMAGED RIDER5
16371        Model = UVComBike_d
16372        ShowSubObject = BOMBBIKE
16373      End
16374      AliasConditionState RIDER5 MOVING REALLYDAMAGED
16375    
16376      ConditionState = TOPPLED RIDER5
16377        Model = UVComBike_F
16378        Animation           = UVComBike_F.UVComBike_F
16379        AnimationMode       = ONCE
16380        ShowSubObject = BOMBBIKE
16381      End
16382      ConditionState = TOPPLED REALLYDAMAGED RIDER5
16383        Model = UVComBike_dF
16384        Animation           = UVComBike_DF.UVComBike_DF
16385        AnimationMode       = ONCE
16386        ShowSubObject = BOMBBIKE
16387      End
16388  
16389      ConditionState = RIDER5 MOVING CENTER_TO_LEFT
16390        Model = UVComBike_A1
16391        Animation           = UVComBike_A1.UVComBike_A1
16392        AnimationMode       = ONCE
16393        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16394        ShowSubObject = BOMBBIKE
16395      End
16396  
16397      ConditionState = RIDER5 MOVING CENTER_TO_LEFT REALLYDAMAGED
16398        Model = UVComBike_A1d
16399        Animation           = UVComBike_A1D.UVComBike_A1D
16400        AnimationMode       = ONCE
16401        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16402        ShowSubObject = BOMBBIKE
16403      End
16404  
16405      ConditionState = RIDER5 MOVING LEFT_TO_CENTER
16406        Model = UVComBike_A1
16407        Animation           = UVComBike_A1.UVComBike_A1
16408        AnimationMode       = ONCE_BACKWARDS
16409        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16410        ShowSubObject = BOMBBIKE
16411      End
16412  
16413      ConditionState = RIDER5 MOVING LEFT_TO_CENTER REALLYDAMAGED
16414        Model = UVComBike_A1d
16415        Animation           = UVComBike_A1D.UVComBike_A1D
16416        AnimationMode       = ONCE_BACKWARDS
16417        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16418        ShowSubObject = BOMBBIKE
16419      End
16420  
16421      ConditionState = RIDER5 MOVING CENTER_TO_RIGHT
16422        Model = UVComBike_A2
16423        Animation           = UVComBike_A2.UVComBike_A2
16424        AnimationMode       = ONCE
16425        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16426        ShowSubObject = BOMBBIKE
16427      End
16428  
16429      ConditionState = RIDER5 MOVING CENTER_TO_RIGHT REALLYDAMAGED
16430        Model = UVComBike_A2d
16431        Animation           = UVComBike_A2D.UVComBike_A2D
16432        AnimationMode       = ONCE
16433        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16434        ShowSubObject = BOMBBIKE
16435      End
16436  
16437      ConditionState = RIDER5 MOVING RIGHT_TO_CENTER
16438        Model = UVComBike_A2
16439        Animation           = UVComBike_A2.UVComBike_A2
16440        AnimationMode       = ONCE_BACKWARDS
16441        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16442        ShowSubObject = BOMBBIKE
16443      End
16444  
16445      ConditionState = RIDER5 MOVING RIGHT_TO_CENTER REALLYDAMAGED
16446        Model = UVComBike_A2d
16447        Animation           = UVComBike_A2D.UVComBike_A2D
16448        AnimationMode       = ONCE_BACKWARDS
16449        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16450        ShowSubObject = BOMBBIKE
16451      End
16452  
16453  
16454  
16455      ;Gun Bike
16456      ;------------------------------
16457      ConditionState = RIDER2
16458        Model = UVComBikeG
16459      End
16460      AliasConditionState RIDER2 MOVING
16461      AliasConditionState RIDER4
16462      AliasConditionState RIDER4 MOVING
16463      ConditionState = RIDER2 REALLYDAMAGED
16464        Model = UVComBikeG_d
16465      End
16466      AliasConditionState RIDER2 MOVING REALLYDAMAGED
16467      AliasConditionState RIDER4 REALLYDAMAGED
16468      AliasConditionState RIDER4 MOVING REALLYDAMAGED
16469     
16470      ConditionState = RIDER2 MOVING CENTER_TO_LEFT
16471        Model = UVComBikeG
16472        Animation           = UVComBikeG_A1.UVComBikeG_A1
16473        AnimationMode       = ONCE
16474        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16475      End
16476      AliasConditionState RIDER4 MOVING CENTER_TO_LEFT
16477      ConditionState = RIDER2 MOVING CENTER_TO_LEFT REALLYDAMAGED
16478        Model = UVComBikeG_d
16479        Animation           = UVComBikeG_A1.UVComBikeG_A1
16480        AnimationMode       = ONCE
16481        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16482      End
16483      AliasConditionState RIDER4 MOVING CENTER_TO_LEFT REALLYDAMAGED
16484  
16485      ConditionState = RIDER2 MOVING LEFT_TO_CENTER
16486        Model = UVComBikeG
16487        Animation           = UVComBikeG_A1.UVComBikeG_A1
16488        AnimationMode       = ONCE_BACKWARDS
16489        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16490      End
16491      AliasConditionState RIDER4 MOVING LEFT_TO_CENTER
16492      ConditionState = RIDER2 MOVING LEFT_TO_CENTER REALLYDAMAGED
16493        Model = UVComBikeG_d
16494        Animation           = UVComBikeG_A1.UVComBikeG_A1
16495        AnimationMode       = ONCE_BACKWARDS
16496        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16497      End
16498      AliasConditionState RIDER4 MOVING LEFT_TO_CENTER REALLYDAMAGED
16499  
16500      ConditionState = RIDER2 MOVING CENTER_TO_RIGHT
16501        Model = UVComBikeG
16502        Animation           = UVComBikeG_A2.UVComBikeG_A2
16503        AnimationMode       = ONCE
16504        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16505      End
16506      AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT
16507      ConditionState = RIDER2 MOVING CENTER_TO_RIGHT REALLYDAMAGED
16508        Model = UVComBikeG_d
16509        Animation           = UVComBikeG_A2.UVComBikeG_A2
16510        AnimationMode       = ONCE
16511        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16512      End
16513      AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT REALLYDAMAGED
16514  
16515      ConditionState = RIDER2 MOVING RIGHT_TO_CENTER
16516        Model = UVComBikeG
16517        Animation           = UVComBikeG_A2.UVComBikeG_A2
16518        AnimationMode       = ONCE_BACKWARDS
16519        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16520      End
16521      AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER
16522      ConditionState = RIDER2 MOVING RIGHT_TO_CENTER REALLYDAMAGED
16523        Model = UVComBikeG_d
16524        Animation           = UVComBikeG_A2.UVComBikeG_A2
16525        AnimationMode       = ONCE_BACKWARDS
16526        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16527      End
16528      AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER REALLYDAMAGED
16529  
16530      ;Missile Bike
16531      ;------------------------------
16532      ConditionState = RIDER3
16533        Model = UVComBikeTN
16534      End
16535      AliasConditionState RIDER3 MOVING
16536      ConditionState = RIDER3 REALLYDAMAGED
16537        Model = UVComBikeTN_d
16538      End
16539      AliasConditionState RIDER3 MOVING REALLYDAMAGED
16540    
16541      ConditionState = RIDER3 MOVING CENTER_TO_LEFT
16542        Model = UVComBikeTN_A1
16543        Animation           = UVComBikeTN_A1.UVComBikeTN_A1
16544        AnimationMode       = ONCE
16545        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16546      End
16547      ConditionState = RIDER3 MOVING CENTER_TO_LEFT REALLYDAMAGED
16548        Model = UVComBikeTN_A1d
16549        Animation           = UVComBikeTN_A1D.UVComBikeTN_A1D
16550        AnimationMode       = ONCE
16551        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16552      End
16553  
16554      ConditionState = RIDER3 MOVING LEFT_TO_CENTER
16555        Model = UVComBikeTN_A1
16556        Animation           = UVComBikeTN_A1.UVComBikeTN_A1
16557        AnimationMode       = ONCE_BACKWARDS
16558        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16559      End
16560      ConditionState = RIDER3 MOVING LEFT_TO_CENTER REALLYDAMAGED
16561        Model = UVComBikeTN_A1d
16562        Animation           = UVComBikeTN_A1D.UVComBikeTN_A1D
16563        AnimationMode       = ONCE_BACKWARDS
16564        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16565      End
16566  
16567      ConditionState = RIDER3 MOVING CENTER_TO_RIGHT
16568        Model = UVComBikeTN_A2
16569        Animation           = UVComBikeTN_A2D.UVComBikeTN_A2D
16570        AnimationMode       = ONCE
16571        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16572      End
16573      ConditionState = RIDER3 MOVING CENTER_TO_RIGHT REALLYDAMAGED
16574        Model = UVComBikeTN_A2d
16575        Animation           = UVComBikeTN_A2D.UVComBikeTN_A2D
16576        AnimationMode       = ONCE
16577        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16578      End
16579  
16580      ConditionState = RIDER3 MOVING RIGHT_TO_CENTER
16581        Model = UVComBikeTN_A2
16582        Animation           = UVComBikeTN_A2.UVComBikeTN_A2
16583        AnimationMode       = ONCE_BACKWARDS
16584        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16585      End
16586      ConditionState = RIDER3 MOVING RIGHT_TO_CENTER REALLYDAMAGED
16587        Model = UVComBikeTN_A2d
16588        Animation           = UVComBikeTN_A2D.UVComBikeTN_A2D
16589        AnimationMode       = ONCE_BACKWARDS
16590        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
16591      End
16592  
16593      TrackMarks = EXTireTrack03.tga
16594  
16595      Dust                        = CombatBikeDust
16596      DirtSpray                   = CombatBikeDirtSpray
16597      PowerslideSpray             = CombatBikeDirtPowerSlide
16598  
16599      ; These parameters are only used if the model has a separate suspension, 
16600      ; and the locomotor has HasSuspension = Yes.
16601      LeftFrontTireBone           = Tire01
16602      LeftRearTireBone            = Tire00
16603      TireRotationMultiplier      = 0.2   ; this * speed = rotation.
16604      PowerslideRotationAddition  = 2.5   ; This speed is added to the rotation speed when powersliding.
16605  
16606    End
16607  
16608    Draw = W3DModelDraw ModuleTag_Rider01
16609      OkToChangeModelColor = Yes
16610  
16611      DefaultConditionState
16612        ;**************************************************
16613        ;*** Must have a default model in order to see
16614        ;*** house color!!!
16615        ;**************************************************
16616        Model = UIWrkr_SKN
16617        ;WeaponFireFXBone    = PRIMARY Muzzle
16618        ;WeaponLaunchBone    = PRIMARY Muzzle
16619        WeaponMuzzleFlash   = PRIMARY MuzzleFX
16620      End
16621      AliasConditionState MOVING
16622  
16623      ;Worker animations
16624      ;-----------------------
16625      ConditionState = RIDER1 
16626        Model = UIWrkr_SKN
16627        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A5
16628        AnimationMode = LOOP
16629      End
16630      ConditionState = RIDER1 MOVING
16631        Model = UIWrkr_SKN
16632        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A4
16633        AnimationMode = LOOP
16634      End
16635      ConditionState = RIDER1 MOVING CENTER_TO_LEFT
16636        Model = UIWrkr_SKN
16637        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
16638        AnimationMode       = ONCE
16639      End
16640      ConditionState = RIDER1 MOVING LEFT_TO_CENTER
16641        Model = UIWrkr_SKN
16642        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
16643        AnimationMode       = ONCE_BACKWARDS
16644      End
16645      ConditionState = RIDER1 MOVING CENTER_TO_RIGHT
16646        Model = UIWrkr_SKN
16647        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
16648        AnimationMode       = ONCE
16649      End
16650      ConditionState = RIDER1 MOVING RIGHT_TO_CENTER
16651        Model = UIWrkr_SKN
16652        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
16653        AnimationMode       = ONCE_BACKWARDS
16654      End
16655  
16656  
16657      ;Rebel animations
16658      ;-----------------------
16659      ConditionState = RIDER2 
16660        Model = UIRGrd_SKN
16661        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A5
16662        AnimationMode = LOOP
16663      End
16664      ConditionState = RIDER2 MOVING
16665        Model = UIRGrd_SKN
16666        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A4
16667        AnimationMode = LOOP
16668      End
16669      ConditionState = RIDER2 MOVING CENTER_TO_LEFT
16670        Model = UIRGrd_SKN
16671        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A1
16672        AnimationMode       = ONCE
16673      End
16674      ConditionState = RIDER2 MOVING LEFT_TO_CENTER
16675        Model = UIRGrd_SKN
16676        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A1
16677        AnimationMode       = ONCE_BACKWARDS
16678      End
16679      ConditionState = RIDER2 MOVING CENTER_TO_RIGHT
16680        Model = UIRGrd_SKN
16681        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A2
16682        AnimationMode       = ONCE
16683      End
16684      ConditionState = RIDER2 MOVING RIGHT_TO_CENTER
16685        Model = UIRGrd_SKN
16686        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A2
16687        AnimationMode       = ONCE_BACKWARDS
16688      End
16689  
16690      ;RPG Trooper animations
16691      ;-----------------------
16692      ConditionState = RIDER3 
16693        Model = UITunF_SKN2
16694        Animation           = UITunF_SKL.UITunF_CmBk_A5
16695        AnimationMode = LOOP
16696      End
16697      ConditionState = RIDER3 MOVING
16698        Model = UITunF_SKN2
16699        Animation           = UITunF_SKL.UITunF_CmBk_A4
16700        AnimationMode = LOOP
16701      End
16702      ConditionState = RIDER3 MOVING CENTER_TO_LEFT
16703        Model = UITunF_SKN2
16704        Animation           = UITunF_SKL.UITunF_CmBk_A1
16705        AnimationMode       = ONCE
16706      End
16707      ConditionState = RIDER3 MOVING LEFT_TO_CENTER
16708        Model = UITunF_SKN2
16709        Animation           = UITunF_SKL.UITunF_CmBk_A1
16710        AnimationMode       = ONCE_BACKWARDS
16711      End
16712      ConditionState = RIDER3 MOVING CENTER_TO_RIGHT
16713        Model = UITunF_SKN2
16714        Animation           = UITunF_SKL.UITunF_CmBk_A2
16715        AnimationMode       = ONCE
16716      End
16717      ConditionState = RIDER3 MOVING RIGHT_TO_CENTER
16718        Model = UITunF_SKN2
16719        Animation           = UITunF_SKL.UITunF_CmBk_A2
16720        AnimationMode       = ONCE_BACKWARDS
16721      End
16722  
16723      ;Jarmen Kell animations
16724      ;-----------------------
16725      ConditionState = RIDER4 
16726        Model = UIHERO_SKN
16727        Animation           = UIHERO_SKL.UIHERO_CmBk_A5
16728        AnimationMode = LOOP
16729      End
16730      ConditionState = RIDER4 MOVING
16731        Model = UIHERO_SKN
16732        Animation           = UIHERO_SKL.UIHERO_CmBk_A4
16733        AnimationMode = LOOP
16734      End
16735      ConditionState = RIDER4 MOVING CENTER_TO_LEFT
16736        Model = UIHERO_SKN
16737        Animation           = UIHERO_SKL.UIHERO_CmBk_A1
16738        AnimationMode       = ONCE
16739      End
16740      ConditionState = RIDER4 MOVING LEFT_TO_CENTER
16741        Model = UIHERO_SKN
16742        Animation           = UIHERO_SKL.UIHERO_CmBk_A1
16743        AnimationMode       = ONCE_BACKWARDS
16744      End
16745      ConditionState = RIDER4 MOVING CENTER_TO_RIGHT
16746        Model = UIHERO_SKN
16747        Animation           = UIHERO_SKL.UIHERO_CmBk_A2
16748        AnimationMode       = ONCE
16749      End
16750      ConditionState = RIDER4 MOVING RIGHT_TO_CENTER
16751        Model = UIHERO_SKN
16752        Animation           = UIHERO_SKL.UIHERO_CmBk_A2
16753        AnimationMode       = ONCE_BACKWARDS
16754      End
16755  
16756      ;Terrorist animations
16757      ;-----------------------
16758      ConditionState = RIDER5 
16759        Model = UITer_Local_SKN
16760        Animation           = UITer_Local_SKL.UITER_Local_A5
16761        AnimationMode = LOOP
16762      End
16763      ConditionState = RIDER5 MOVING
16764        Model = UITer_Local_SKN
16765        Animation           = UITer_Local_SKL.UITER_Local_A4
16766        AnimationMode = LOOP
16767      End
16768      ConditionState = RIDER5 MOVING CENTER_TO_LEFT
16769        Model = UITer_Local_SKN
16770        Animation           = UITer_Local_SKL.UITER_Local_A1
16771        AnimationMode       = ONCE
16772      End
16773      ConditionState = RIDER5 MOVING LEFT_TO_CENTER
16774        Model = UITer_Local_SKN
16775        Animation           = UITer_Local_SKL.UITER_Local_A1
16776        AnimationMode       = ONCE_BACKWARDS
16777      End
16778      ConditionState = RIDER5 MOVING CENTER_TO_RIGHT
16779        Model = UITer_Local_SKN
16780        Animation           = UITer_Local_SKL.UITER_Local_A2
16781        AnimationMode       = ONCE
16782      End
16783      ConditionState = RIDER5 MOVING RIGHT_TO_CENTER
16784        Model = UITer_Local_SKN
16785        Animation           = UITer_Local_SKL.UITER_Local_A2
16786        AnimationMode       = ONCE_BACKWARDS
16787      End
16788  
16789      ;Hijacker animations
16790      ;-----------------------
16791      ConditionState = RIDER6 
16792        Model = UIHJCK_SKN
16793        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A5
16794        AnimationMode = LOOP
16795      End
16796      ConditionState = RIDER6 MOVING
16797        Model = UIHJCK_SKN
16798        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A4
16799        AnimationMode = LOOP
16800      End
16801      ConditionState = RIDER6 MOVING CENTER_TO_LEFT
16802        Model = UIHJCK_SKN
16803        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A1
16804        AnimationMode       = ONCE
16805      End
16806      ConditionState = RIDER6 MOVING LEFT_TO_CENTER
16807        Model = UIHJCK_SKN
16808        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A1
16809        AnimationMode       = ONCE_BACKWARDS
16810      End
16811      ConditionState = RIDER6 MOVING CENTER_TO_RIGHT
16812        Model = UIHJCK_SKN
16813        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A2
16814        AnimationMode       = ONCE
16815      End
16816      ConditionState = RIDER6 MOVING RIGHT_TO_CENTER
16817        Model = UIHJCK_SKN
16818        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A2
16819        AnimationMode       = ONCE_BACKWARDS
16820      End
16821  
16822      ;Saboteur animations
16823      ;-----------------------
16824      ConditionState = RIDER7 
16825        Model = UISabotr_SKN
16826        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A5
16827        AnimationMode = LOOP
16828      End
16829      ConditionState = RIDER7 MOVING
16830        Model = UISabotr_SKN
16831        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A4
16832        AnimationMode = LOOP
16833      End
16834      ConditionState = RIDER7 MOVING CENTER_TO_LEFT
16835        Model = UISabotr_SKN
16836        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
16837        AnimationMode       = ONCE
16838      End
16839      ConditionState = RIDER7 MOVING LEFT_TO_CENTER
16840        Model = UISabotr_SKN
16841        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
16842        AnimationMode       = ONCE_BACKWARDS
16843      End
16844      ConditionState = RIDER7 MOVING CENTER_TO_RIGHT
16845        Model = UISabotr_SKN
16846        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
16847        AnimationMode       = ONCE
16848      End
16849      ConditionState = RIDER7 MOVING RIGHT_TO_CENTER
16850        Model = UISabotr_SKN
16851        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
16852        AnimationMode       = ONCE_BACKWARDS
16853      End
16854  
16855      ConditionState = TOPPLED
16856        Model = None
16857      End
16858      AliasConditionState TOPPLED MOVING
16859  
16860    End
16861  
16862    ; ***DESIGN parameters ***
16863    DisplayName         = OBJECT:CombatBike
16864    Side                = GLAStealthGeneral
16865    EditorSorting       = VEHICLE
16866    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
16867    WeaponSet
16868      Conditions = None
16869      Weapon = PRIMARY NONE
16870    End
16871    WeaponSet
16872      Conditions = WEAPON_RIDER2
16873      Weapon = PRIMARY GLARebelBikerMachineGun
16874    End
16875    WeaponSet
16876      Conditions = WEAPON_RIDER3
16877      Weapon = PRIMARY TunnelDefenderBikerRocketWeapon
16878    End
16879    WeaponSet
16880      Conditions = WEAPON_RIDER4
16881      Weapon = PRIMARY GLABikerKellSniperRifle
16882      Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle
16883      AutoChooseSources = SECONDARY NONE
16884    End
16885    WeaponSet
16886      ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE
16887      ;damage to do ini logic for type of death to play -- unresistable for success.
16888      Conditions = WEAPON_RIDER5
16889      Weapon = PRIMARY TerroristSuicideWeapon 
16890    End
16891    ArmorSet
16892      Conditions      = None
16893      Armor           = TruckArmor
16894      DamageFX        = TankDamageFX
16895    End
16896    BuildCost       = 550
16897    BuildTime       = 4.0          ;in seconds    
16898    VisionRange     = 180
16899    ShroudClearingRange = 300
16900    Prerequisites
16901      Object = Slth_GLAArmsDealer
16902    End
16903  
16904    ExperienceValue       = 50 50 100 150    ;Experience point value at each level
16905    ExperienceRequired    = 0 200 400 800  ;Experience points needed to gain each level
16906    IsTrainable           = Yes             ;Can gain experience
16907    ;CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
16908    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
16909    ;CommandSet            = Slth_GLAVehicleCombatBikeCommandSet ****COMMANDSET is overwritten in RiderChangeContain!
16910  
16911    ; *** AUDIO Parameters ***
16912    VoiceSelect = CombatCycleVoiceSelect
16913    VoiceMove = CombatCycleVoiceMove
16914    VoiceAttack = CombatCycleVoiceAttack
16915    SoundMoveStart = CombatBikeMoveStart
16916    SoundMoveStartDamaged = CombatBikeMoveStart
16917    VoiceGuard = CombatCycleVoiceMove
16918    SoundEnter = CombatCycleSwitchRider
16919  
16920  
16921    UnitSpecificSounds
16922      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
16923      VoiceCreate          = CombatCycleVoiceCreate
16924      TurretMoveStart = NoSound
16925      TurretMoveLoop = TurretMoveLoop  
16926    ; Required for the W3DTruckDraw module
16927      TruckLandingSound = RocketBuggyLand
16928      TruckPowerslideSound = CombatBikeMoveStart
16929      VoiceCrush      = CombatCycleVoiceMove
16930      VoiceEnter = CombatCycleVoiceMove
16931    End
16932  
16933    ; *** ENGINEERING Parameters ***
16934    RadarPriority = UNIT
16935    KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE CLIFF_JUMPER
16936  
16937    Body = ActiveBody ModuleTag_02
16938      MaxHealth       = 100
16939      InitialHealth   = 100
16940  
16941      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
16942      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
16943      SubdualDamageCap = 200
16944      SubdualDamageHealRate = 500
16945      SubdualDamageHealAmount = 50
16946    End
16947    Behavior = AIUpdateInterface ModuleTag_03
16948      Turret
16949        TurretTurnRate = 0       ; turn rate, in degrees per sec
16950        NaturalTurretAngle = 0
16951        ControlledWeaponSlots = PRIMARY SECONDARY
16952      End
16953      AutoAcquireEnemiesWhenIdle = No
16954    End
16955    Locomotor = SET_NORMAL CombatBikeGroundLocomotor CombatBikeCliffLocomotor
16956    Locomotor = SET_SLUGGISH CombatBikeTerroristGroundLocomotor CombatBikeTerroristCliffLocomotor
16957    Behavior = PhysicsBehavior ModuleTag_04
16958      Mass = 15.0
16959    End
16960  
16961    Behavior = SlowDeathBehavior DeathTag_04
16962      ExemptStatus = STATUS_RIDER1 STATUS_RIDER2 STATUS_RIDER3 STATUS_RIDER4 STATUS_RIDER5 STATUS_RIDER6 STATUS_RIDER7
16963      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
16964      DestructionDelay = 0
16965      FX = INITIAL FX_BuggyNewDeathExplosion
16966      OCL = FINAL OCL_CombatBikeAirDeathStart
16967    End
16968    Behavior = SlowDeathBehavior DeathTag_05
16969      RequiredStatus = STATUS_RIDER1
16970      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
16971      DestructionDelay = 0
16972      FX = INITIAL FX_BuggyNewDeathExplosion
16973      OCL = INITIAL OCL_WorkerFlyingOffBikeDeathStart
16974      OCL = FINAL OCL_CombatBikeAirDeathStart
16975    End
16976    Behavior = SlowDeathBehavior DeathTag_06
16977      RequiredStatus = STATUS_RIDER2
16978      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
16979      DestructionDelay = 0
16980      FX = INITIAL FX_BuggyNewDeathExplosion
16981      OCL = INITIAL OCL_RebelFlyingOffBikeDeathStart
16982      OCL = FINAL OCL_CombatBikeAirDeathStart
16983    End
16984    Behavior = SlowDeathBehavior DeathTag_07
16985      RequiredStatus = STATUS_RIDER3
16986      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
16987      DestructionDelay = 0
16988      FX = INITIAL FX_BuggyNewDeathExplosion
16989      OCL = INITIAL OCL_TunnelDefenderFlyingOffBikeDeathStart
16990      OCL = FINAL OCL_CombatBikeAirDeathStart
16991    End
16992    Behavior = SlowDeathBehavior DeathTag_08
16993      RequiredStatus = STATUS_RIDER4
16994      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
16995      DestructionDelay = 0
16996      FX = INITIAL FX_BuggyNewDeathExplosion
16997      OCL = INITIAL OCL_JarmenKellFlyingOffBikeDeathStart
16998      OCL = FINAL OCL_CombatBikeAirDeathStart
16999    End
17000    Behavior = SlowDeathBehavior DeathTag_09
17001      RequiredStatus = STATUS_RIDER5
17002      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
17003      DestructionDelay = 0
17004      FX = INITIAL FX_BuggyNewDeathExplosion
17005      OCL = INITIAL OCL_TerroristFlyingOffBikeDeathStart
17006      OCL = FINAL OCL_CombatBikeAirDeathStart
17007    End
17008    Behavior = SlowDeathBehavior DeathTag_10
17009      RequiredStatus = STATUS_RIDER6
17010      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
17011      DestructionDelay = 0
17012      FX = INITIAL FX_BuggyNewDeathExplosion
17013      OCL = INITIAL OCL_HijackerFlyingOffBikeDeathStart
17014      OCL = FINAL OCL_CombatBikeAirDeathStart
17015    End
17016    Behavior = SlowDeathBehavior DeathTag_11
17017      RequiredStatus = STATUS_RIDER7
17018      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
17019      DestructionDelay = 0
17020      FX = INITIAL FX_BuggyNewDeathExplosion
17021      OCL = INITIAL OCL_SaboteurFlyingOffBikeDeathStart
17022      OCL = FINAL OCL_CombatBikeAirDeathStart
17023    End
17024  
17025    Behavior = AutoHealBehavior ModuleTag_08
17026      HealingAmount = 2
17027      HealingDelay = 1000 ; msec
17028      TriggeredBy = Upgrade_GLAJunkRepair
17029    End
17030  
17031    Behavior = WeaponSetUpgrade ModuleTag_09
17032      TriggeredBy = Upgrade_GLABuggyAmmo
17033    End
17034  
17035    ;Create the hulk after the toppling is complete (not killed until topple anim finished).
17036    Behavior = CreateObjectDie ModuleTag_10
17037      DeathTypes = NONE +TOPPLED
17038      CreationList = OCL_CombatBike_ToppledHulk
17039    End
17040  
17041    Behavior = DestroyDie ModuleTag_11
17042      DeathTypes = NONE +CRUSHED +SPLATTED +TOPPLED
17043    End
17044  
17045    ; A crushing defeat
17046    Behavior = FXListDie ModuleTag_12
17047      DeathTypes = NONE +CRUSHED +SPLATTED
17048      DeathFX = FX_CarCrush
17049    End
17050    Behavior = CreateObjectDie ModuleTag_13
17051      DeathTypes = NONE +CRUSHED +SPLATTED
17052      CreationList = OCL_RocketBuggy_CrushEffect
17053    End
17054    Behavior = CreateCrateDie ModuleTag_14
17055      CrateData = SalvageCrateData
17056      ;CrateData = EliteTankCrateData
17057      ;CrateData = HeroicTankCrateData
17058    End
17059  
17060    Behavior                 = TransitionDamageFX ModuleTag_15
17061      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
17062      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
17063    End
17064  
17065    Behavior = RiderChangeContain ModuleTag_16
17066      ;A list of each valid rider that is allowed to ride this object. Each rider is
17067      ;assigned a modelcondition state, a weaponset flag, an object status bit, and
17068      ;a commandset override. The actual object is hidden inside the container so the 
17069      ;visible rider is fluff. Also riders are deleted (not killed) when the bike is
17070      ;destroyed, so all deaths must be OCLs on the bike.
17071      Rider1 = Slth_GLAInfantryWorker         RIDER1 WEAPON_RIDER1 STATUS_RIDER1 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
17072      Rider2 = Slth_GLAInfantryRebel          RIDER2 WEAPON_RIDER2 STATUS_RIDER2 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
17073      Rider3 = Slth_GLAInfantryTunnelDefender RIDER3 WEAPON_RIDER3 STATUS_RIDER3 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
17074      Rider4 = Slth_GLAInfantryJarmenKell     RIDER4 WEAPON_RIDER4 STATUS_RIDER4 GLAVehicleCombatBikeJarmenKellCommandSet SET_NORMAL
17075      Rider5 = Slth_GLAInfantryTerrorist      RIDER5 WEAPON_RIDER5 STATUS_RIDER5 GLAVehicleCombatBikeDefaultCommandSet SET_SLUGGISH
17076      Rider6 = Slth_GLAInfantryHijacker       RIDER6 WEAPON_RIDER6 STATUS_RIDER6 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
17077      Rider7 = Slth_GLAInfantrySaboteur       RIDER7 WEAPON_RIDER7 STATUS_RIDER7 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
17078      ScuttleDelay          = 1500
17079      ScuttleStatus         = TOPPLED
17080  
17081      ;Standard TransportContain stuff
17082      Slots                 = 1
17083      InitialPayload        = Slth_GLAInfantryRebel 1
17084      ScatterNearbyOnExit   = No
17085      HealthRegen%PerSec    = 0
17086      DamagePercentToUnits  = 100%  ; This module will Delete the rider on death, but we need to kill him as well so he doesn't pick up the bike's salvage crate.
17087      BurnedDeathToUnits    = No    ; And no Burned death.
17088      AllowInsideKindOf     = INFANTRY
17089      ExitDelay         = 250
17090      NumberOfExitPaths = 1 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
17091      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
17092    End
17093  
17094    Behavior = AnimationSteeringUpdate ModuleTag_17
17095      MinTransitionTime = 300
17096    End
17097  
17098    Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18
17099      RequiredStatus  = STATUS_RIDER5
17100      DeathWeapon     = SuicideBikeBomb
17101      StartsActive    = Yes
17102      DeathTypes      = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED
17103    End
17104  
17105    Behavior = StealthUpdate ModuleTag_19
17106      UseRiderStealth             = Yes
17107      ;StealthDelay                = 2000 ; msec
17108      ;StealthForbiddenConditions  = ATTACKING
17109      ;InnateStealth               = Yes
17110      ;OrderIdleEnemiesToAttackMeUponReveal  = Yes
17111    End
17112  
17113    Behavior = FlammableUpdate ModuleTag_21
17114      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
17115      AflameDamageAmount = 3       ; taking this much damage...
17116      AflameDamageDelay = 500       ; this often.
17117    End
17118  
17119    Geometry = BOX
17120    GeometryMajorRadius = 11.0
17121    GeometryMinorRadius = 2.5
17122    GeometryHeight = 7.5     
17123    GeometryIsSmall = Yes    
17124  
17125    Shadow = SHADOW_VOLUME
17126    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
17127  
17128  End
17129  
17130  
17131  ;------------------------------------------------------------------------------
17132  Object Slth_GLAVehicleQuadCannon
17133  
17134    ; *** ART Parameters ***
17135    SelectPortrait         = SUQuadCannon_L
17136    ButtonImage            = SUQuadCannon
17137    
17138    UpgradeCameo1 = Upgrade_GLAAPBullets
17139    UpgradeCameo2 = Upgrade_GLAJunkRepair
17140    ;UpgradeCameo3 = XXX
17141    ;UpgradeCameo4 = XXX
17142    ;UpgradeCameo5 = XXX
17143    
17144    Draw = W3DTankTruckDraw ModuleTag_01
17145      OkToChangeModelColor = Yes
17146  
17147      ConditionState = NONE
17148        Model = UVQuadCann
17149        Turret = TURRET
17150        TurretPitch = TURRETEL
17151        WeaponFireFXBone  = PRIMARY   BarrelMS
17152        WeaponMuzzleFlash = PRIMARY   BarrelFX
17153        WeaponRecoilBone  = PRIMARY   Barrel
17154        WeaponFireFXBone  = SECONDARY BarrelMS
17155        WeaponMuzzleFlash = SECONDARY BarrelFX
17156        WeaponRecoilBone  = SECONDARY Barrel
17157        ShowSubObject = TURRET
17158        HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04  ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash
17159      End
17160        
17161      ConditionState = REALLYDAMAGED
17162        Model = UVQuadCann_D
17163        Turret = TURRET
17164        TurretPitch = TURRETEL
17165        WeaponFireFXBone  = PRIMARY   BarrelMS
17166        WeaponMuzzleFlash = PRIMARY   BarrelFX
17167        WeaponRecoilBone  = PRIMARY   Barrel
17168        WeaponFireFXBone  = SECONDARY BarrelMS
17169        WeaponMuzzleFlash = SECONDARY BarrelFX
17170        WeaponRecoilBone  = SECONDARY Barrel
17171        ShowSubObject = TURRET
17172        HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04
17173      End
17174      
17175      ConditionState = RUBBLE
17176        Model = UVQuadCann_D
17177        Turret = TURRET
17178        TurretPitch = TURRETEL
17179        WeaponFireFXBone  = PRIMARY   BarrelMS
17180        WeaponMuzzleFlash = PRIMARY   BarrelFX
17181        WeaponRecoilBone  = PRIMARY   Barrel
17182        WeaponFireFXBone  = SECONDARY BarrelMS
17183        WeaponMuzzleFlash = SECONDARY BarrelFX
17184        WeaponRecoilBone  = SECONDARY Barrel
17185        ShowSubObject = TURRET
17186        HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04
17187      End
17188  
17189      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
17190        Model = UVQuadCann
17191        Turret = TURRETUP01
17192        TurretPitch = TURRETEL01
17193        WeaponFireFXBone  = PRIMARY   BarrelUp01MS
17194        WeaponMuzzleFlash = PRIMARY   BarrelUp01FX
17195        WeaponRecoilBone  = PRIMARY   BarrelUp01
17196        WeaponFireFXBone  = SECONDARY BarrelUp01MS
17197        WeaponMuzzleFlash = SECONDARY BarrelUp01FX
17198        WeaponRecoilBone  = SECONDARY BarrelUp01
17199        ShowSubObject = TURRETUP01
17200        HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04
17201      End
17202      
17203      ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED
17204        Model = UVQuadCann
17205        Turret = TURRETUP01
17206        TurretPitch = TURRETEL01
17207        WeaponFireFXBone  = PRIMARY   BarrelUp01MS
17208        WeaponMuzzleFlash = PRIMARY   BarrelUp01FX
17209        WeaponRecoilBone  = PRIMARY   BarrelUp01
17210        WeaponFireFXBone  = SECONDARY BarrelUp01MS
17211        WeaponMuzzleFlash = SECONDARY BarrelUp01FX
17212        WeaponRecoilBone  = SECONDARY BarrelUp01
17213        ShowSubObject = TURRETUP01
17214        HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04
17215      End
17216      
17217      ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE
17218        Model = UVQuadCann
17219        Turret = TURRETUP01
17220        TurretPitch = TURRETEL01
17221        WeaponFireFXBone  = PRIMARY   BarrelUp01MS
17222        WeaponMuzzleFlash = PRIMARY   BarrelUp01FX
17223        WeaponRecoilBone  = PRIMARY   BarrelUp01
17224        WeaponFireFXBone  = SECONDARY BarrelUp01MS
17225        WeaponMuzzleFlash = SECONDARY BarrelUp01FX
17226        WeaponRecoilBone  = SECONDARY BarrelUp01
17227        ShowSubObject = TURRETUP01
17228        HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04
17229      End
17230  
17231      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
17232        Model = UVQuadCann
17233        Turret = TURRETUP02
17234        TurretPitch = TURRETEL02
17235        WeaponFireFXBone  = PRIMARY   BarrelUp02MS
17236        WeaponMuzzleFlash = PRIMARY   BarrelUp02FX
17237        WeaponRecoilBone  = PRIMARY   BarrelUp02
17238        WeaponFireFXBone  = SECONDARY BarrelUp02MS
17239        WeaponMuzzleFlash = SECONDARY BarrelUp02FX
17240        WeaponRecoilBone  = SECONDARY BarrelUp02
17241        ShowSubObject = TURRETUP02
17242        HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04
17243      End
17244      
17245      ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED
17246        Model = UVQuadCann_D
17247        Turret = TURRETUP02
17248        TurretPitch = TURRETEL02
17249        WeaponFireFXBone  = PRIMARY   BarrelUp02MS
17250        WeaponMuzzleFlash = PRIMARY   BarrelUp02FX
17251        WeaponRecoilBone  = PRIMARY   BarrelUp02
17252        WeaponFireFXBone  = SECONDARY BarrelUp02MS
17253        WeaponMuzzleFlash = SECONDARY BarrelUp02FX
17254        WeaponRecoilBone  = SECONDARY BarrelUp02
17255        ShowSubObject = TURRETUP02
17256        HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04
17257      End
17258      
17259      ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE
17260        Model = UVQuadCann_D
17261        Turret = TURRETUP02
17262        TurretPitch = TURRETEL02
17263        WeaponFireFXBone  = PRIMARY   BarrelUp02MS
17264        WeaponMuzzleFlash = PRIMARY   BarrelUp02FX
17265        WeaponRecoilBone  = PRIMARY   BarrelUp02
17266        WeaponFireFXBone  = SECONDARY BarrelUp02MS
17267        WeaponMuzzleFlash = SECONDARY BarrelUp02FX
17268        WeaponRecoilBone  = SECONDARY BarrelUp02
17269        ShowSubObject = TURRETUP02
17270        HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04
17271      End
17272  
17273      TrackMarks = EXTnkTrack.tga
17274  
17275      TreadAnimationRate = 2.0;  amount of tread texture to move per second
17276      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
17277      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
17278  
17279      Dust = RocketBuggyDust
17280      DirtSpray = RocketBuggyDirtSpray
17281   
17282      ; These parameters are only used if the model has a separate suspension, 
17283      ; and the locomotor has HasSuspension = Yes.
17284      LeftFrontTireBone = Tire01
17285      RightFrontTireBone = Tire02
17286      TireRotationMultiplier = 0.2   ; this * speed = rotation.
17287      PowerslideRotationAddition = 0   ; This unit doesn't powerslide.
17288    End
17289  
17290    ; ***DESIGN parameters ***
17291    DisplayName      = OBJECT:QuadCannon
17292    Side = GLAStealthGeneral
17293    EditorSorting   = VEHICLE
17294    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
17295    WeaponSet
17296      Conditions = None 
17297      Weapon = PRIMARY QuadCannonGun
17298      Weapon = SECONDARY QuadCannonGunAir
17299    End
17300    WeaponSet
17301      Conditions = CRATEUPGRADE_ONE 
17302      Weapon = PRIMARY QuadCannonGunUpgradeOne
17303      Weapon = SECONDARY QuadCannonGunUpgradeOneAir
17304    End
17305    WeaponSet
17306      Conditions = CRATEUPGRADE_TWO 
17307      Weapon = PRIMARY QuadCannonGunUpgradeTwo
17308      Weapon = SECONDARY QuadCannonGunUpgradeTwoAir
17309    End
17310    ArmorSet
17311      Conditions      = None
17312      Armor           = HumveeArmor
17313      DamageFX        = TankDamageFX
17314    End
17315    BuildCost       = 700
17316    BuildTime       = 6.0          ;in seconds    
17317    VisionRange     = 150
17318    ShroudClearingRange = 300
17319    Prerequisites
17320      Object = Slth_GLAArmsDealer
17321    End
17322  
17323    CommandSet          = Slth_GLAVehicleQuadCannon
17324  
17325    ExperienceValue = 50 50 100 150    ;Experience point value at each level
17326    ExperienceRequired = 0 100 150 300  ;Experience points needed to gain each level
17327    IsTrainable = Yes             ;Can gain experience
17328    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
17329    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
17330  
17331    ; *** AUDIO Parameters ***
17332    VoiceSelect           = QuadCannonVoiceSelect
17333    VoiceMove             = QuadCannonVoiceMove
17334    VoiceAttack           = QuadCannonVoiceAttack
17335    VoiceAttackAir        = QuadCannonVoiceAttackAir
17336    SoundMoveStart        = QuadCannonMoveStart
17337    SoundMoveStartDamaged = QuadCannonMoveStart
17338    VoiceGuard             = QuadCannonVoiceMove
17339    UnitSpecificSounds
17340     ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
17341      VoiceCreate         = QuadCannonVoiceCreate
17342     TurretMoveStart      = NoSound
17343     TurretMoveLoop       = TurretMoveLoop
17344     ; Required for the W3DTruckDraw module
17345     TruckLandingSound    = NoSound
17346     TruckPowerslideSound = NoSound
17347     VoiceSalvage         = QuadCannonVoiceSalvage
17348     VoiceCrush           = QuadCannonVoiceCrush
17349     VoiceEnter             = QuadCannonVoiceMove
17350    End
17351  
17352  
17353    ; *** ENGINEERING Parameters ***
17354    RadarPriority = UNIT
17355    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE
17356  
17357    Body = ActiveBody ModuleTag_02
17358      MaxHealth       = 300.0
17359      InitialHealth   = 300.0
17360  
17361      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
17362      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
17363      SubdualDamageCap = 440
17364      SubdualDamageHealRate = 500
17365      SubdualDamageHealAmount = 50
17366    End
17367    
17368    Behavior = AIUpdateInterface ModuleTag_03
17369      Turret
17370        TurretTurnRate = 360
17371        TurretPitchRate = 360
17372        AllowsPitch = Yes
17373        ControlledWeaponSlots = PRIMARY SECONDARY
17374      End
17375      AutoAcquireEnemiesWhenIdle = Yes Stealthed
17376      MoodAttackCheckRate        = 250
17377    End
17378    
17379    Locomotor = SET_NORMAL QuadCannonLocomotor
17380    
17381    Behavior = PhysicsBehavior ModuleTag_04
17382      Mass = 40.0
17383    End
17384    
17385    ; Catch fire, and explode death
17386    Behavior = SlowDeathBehavior ModuleTag_05
17387      DeathTypes = ALL -CRUSHED -SPLATTED
17388      ProbabilityModifier = 411
17389      DestructionDelay = 150
17390      DestructionDelayVariance = 250
17391      OCL = FINAL    OCL_QuadCannonDeathEffect  
17392      FX  = FINAL    FX_BattleMasterExplosionOneFinal
17393    End
17394    
17395    Behavior = AutoHealBehavior ModuleTag_06
17396      HealingAmount = 2
17397      HealingDelay = 1000 ; msec
17398      TriggeredBy = Upgrade_GLAJunkRepair
17399    End
17400  
17401    Behavior = FlammableUpdate ModuleTag_08
17402      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
17403      AflameDamageAmount = 3       ; taking this much damage...
17404      AflameDamageDelay = 500       ; this often.
17405    End
17406  
17407    Behavior                 = TransitionDamageFX ModuleTag_09
17408      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
17409      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
17410    End
17411  
17412  
17413    ; A crushing defeat
17414    Behavior = FXListDie ModuleTag_10
17415      DeathTypes = NONE +CRUSHED +SPLATTED
17416      DeathFX = FX_CarCrush
17417    End
17418  
17419    Behavior = CreateCrateDie ModuleTag_11
17420      CrateData = SalvageCrateData
17421      ;CrateData = EliteTankCrateData
17422      ;CrateData = HeroicTankCrateData
17423    End
17424  
17425    Behavior = WeaponBonusUpgrade ModuleTag_12
17426      TriggeredBy = Upgrade_GLAAPBullets
17427    End 
17428  
17429    Behavior = DestroyDie ModuleTag_13
17430      DeathTypes = NONE +CRUSHED +SPLATTED
17431    End
17432  
17433    Geometry = BOX
17434    GeometryMajorRadius = 18.0
17435    GeometryMinorRadius = 7.0
17436    GeometryHeight = 11.5     
17437    GeometryIsSmall = No
17438    Shadow = SHADOW_VOLUME
17439    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
17440  
17441  End
17442  
17443  ;------------------------------------------------------------------------------
17444  ;Also called Toxin Tractor && ToxinTractor
17445  Object Slth_GLAVehicleToxinTruck
17446  
17447    ; *** ART Parameters ***
17448    SelectPortrait         = SUToxinTractor_L
17449    ButtonImage            = SUToxinTractor
17450    
17451    UpgradeCameo1 = Upgrade_GLAAnthraxBeta
17452    UpgradeCameo2 = Upgrade_GLAJunkRepair
17453    ;UpgradeCameo3 = NONE
17454    ;UpgradeCameo4 = NONE
17455    ;UpgradeCameo5 = NONE
17456    
17457    Draw = W3DTruckDraw ModuleTag_01
17458      OkToChangeModelColor = Yes
17459  
17460      DefaultConditionState 
17461        Model = UVToxinTrk
17462        Turret = Turret
17463        TurretPitch = TurretEL
17464        ShowSubObject = Turret
17465        HideSubObject = TurretUP01 TurretUP02
17466        WeaponFireFXBone = PRIMARY WeaponA
17467        WeaponLaunchBone = PRIMARY WeaponA
17468        WeaponFireFXBone = SECONDARY Spigot
17469        WeaponLaunchBone = SECONDARY Spigot
17470      End
17471      AliasConditionState WEAPONSET_PLAYER_UPGRADE
17472  
17473      ConditionState = USING_WEAPON_B 
17474        Model = UVToxinTrk
17475        ParticleSysBone = none ToxinPuddleContinuous
17476      END
17477      ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE
17478        Model = UVToxinTrk
17479        ParticleSysBone = none AnthraxPuddleContinuous
17480      END
17481  
17482      ConditionState = REALLYDAMAGED
17483        Model = UVToxinTrk_D
17484      End
17485      AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE
17486      AliasConditionState RUBBLE
17487      AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE
17488  
17489      ConditionState = USING_WEAPON_B REALLYDAMAGED
17490        Model = UVToxinTrk_D
17491        ParticleSysBone = none ToxinPuddleContinuous
17492      END
17493      ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE 
17494        Model = UVToxinTrk_D
17495        ParticleSysBone = none AnthraxPuddleContinuous
17496      END
17497  
17498  ; -------------- Turret change #1
17499      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
17500        Turret = TurretUP01
17501        TurretPitch = TurretEL01
17502        ShowSubObject = TurretUP01
17503        HideSubObject = Turret TurretUP02
17504        WeaponFireFXBone = PRIMARY WeaponB
17505        WeaponLaunchBone = PRIMARY WeaponB
17506      End
17507      AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
17508  
17509      ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_ONE
17510        Turret = TurretUP01
17511        TurretPitch = TurretEL01
17512        ShowSubObject = TurretUP01
17513        HideSubObject = Turret TurretUP02
17514        WeaponFireFXBone = PRIMARY WeaponB
17515        WeaponLaunchBone = PRIMARY WeaponB
17516        ParticleSysBone = none ToxinPuddleContinuous
17517      END
17518      ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
17519        Turret = TurretUP01
17520        TurretPitch = TurretEL01
17521        ShowSubObject = TurretUP01
17522        HideSubObject = Turret TurretUP02
17523        WeaponFireFXBone = PRIMARY WeaponB
17524        WeaponLaunchBone = PRIMARY WeaponB
17525        ParticleSysBone = none AnthraxPuddleContinuous
17526      END
17527  
17528      ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE
17529        Model = UVToxinTrk_D
17530        Turret = TurretUP01
17531        TurretPitch = TurretEL01
17532        ShowSubObject = TurretUP01
17533        HideSubObject = Turret TurretUP02
17534        WeaponFireFXBone = PRIMARY WeaponB
17535        WeaponLaunchBone = PRIMARY WeaponB
17536      End
17537      AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
17538      AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_ONE
17539      AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_ONE
17540  
17541      ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE
17542        Model = UVToxinTrk_D
17543        Turret = TurretUP01
17544        TurretPitch = TurretEL01
17545        ShowSubObject = TurretUP01
17546        HideSubObject = Turret TurretUP02
17547        WeaponFireFXBone = PRIMARY WeaponB
17548        WeaponLaunchBone = PRIMARY WeaponB
17549        ParticleSysBone = none ToxinPuddleContinuous
17550      END
17551      ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE 
17552        Model = UVToxinTrk_D
17553        Turret = TurretUP01
17554        TurretPitch = TurretEL01
17555        ShowSubObject = TurretUP01
17556        HideSubObject = Turret TurretUP02
17557        WeaponFireFXBone = PRIMARY WeaponB
17558        WeaponLaunchBone = PRIMARY WeaponB
17559        ParticleSysBone = none AnthraxPuddleContinuous
17560      END
17561  
17562  ; -------------- Turret change #2
17563      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
17564        Turret = TurretUP02
17565        TurretPitch = TurretEL02
17566        ShowSubObject = TurretUP02
17567        HideSubObject = TurretUP01 Turret
17568        WeaponFireFXBone = PRIMARY WeaponC
17569        WeaponLaunchBone = PRIMARY WeaponC
17570      End
17571      AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
17572  
17573      ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_TWO
17574        Turret = TurretUP02
17575        TurretPitch = TurretEL02
17576        ShowSubObject = TurretUP02
17577        HideSubObject = TurretUP01 Turret
17578        WeaponFireFXBone = PRIMARY WeaponC
17579        WeaponLaunchBone = PRIMARY WeaponC
17580        ParticleSysBone = none ToxinPuddleContinuous
17581      END
17582      ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
17583        Turret = TurretUP02
17584        TurretPitch = TurretEL02
17585        ShowSubObject = TurretUP02
17586        HideSubObject = TurretUP01 Turret
17587        WeaponFireFXBone = PRIMARY WeaponC
17588        WeaponLaunchBone = PRIMARY WeaponC
17589        ParticleSysBone = none AnthraxPuddleContinuous
17590      END
17591  
17592      ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO
17593        Model = UVToxinTrk_D
17594        Turret = TurretUP02
17595        TurretPitch = TurretEL02
17596        ShowSubObject = TurretUP02
17597        HideSubObject = TurretUP01 Turret
17598        WeaponFireFXBone = PRIMARY WeaponC
17599        WeaponLaunchBone = PRIMARY WeaponC
17600      End
17601      AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
17602      AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_TWO
17603      AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_TWO
17604  
17605      ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO
17606        Model = UVToxinTrk_D
17607        Turret = TurretUP02
17608        TurretPitch = TurretEL02
17609        ShowSubObject = TurretUP02
17610        HideSubObject = TurretUP01 Turret
17611        WeaponFireFXBone = PRIMARY WeaponC
17612        WeaponLaunchBone = PRIMARY WeaponC
17613        ParticleSysBone = none ToxinPuddleContinuous
17614      END
17615      ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO 
17616        Model = UVToxinTrk_D
17617        Turret = TurretUP02
17618        TurretPitch = TurretEL02
17619        ShowSubObject = TurretUP02
17620        HideSubObject = TurretUP01 Turret
17621        WeaponFireFXBone = PRIMARY WeaponC
17622        WeaponLaunchBone = PRIMARY WeaponC
17623        ParticleSysBone = none AnthraxPuddleContinuous
17624      END
17625  
17626      TrackMarks = EXTireTrack.tga
17627      LeftFrontTireBone = Tire01
17628      RightFrontTireBone = Tire02
17629      LeftRearTireBone = Tire03
17630      RightRearTireBone = Tire04
17631  
17632      TireRotationMultiplier = 0.2   ; this * speed = rotation.
17633      PowerslideRotationAddition = 0   ; This vehicle doesn't powerslide.
17634  
17635      Dust = RocketBuggyDust
17636      DirtSpray = RocketBuggyDirtSpray
17637  
17638    End
17639  
17640    ; ***DESIGN parameters ***
17641    DisplayName         = OBJECT:ToxinTruck
17642    Side                = GLAStealthGeneral
17643    EditorSorting       = VEHICLE
17644    TransportSlotCount  = 3                 ;how many "slots" we take in a transport (0 == not transportable)
17645  
17646    WeaponSet 
17647      Conditions        = None 
17648      Weapon            = PRIMARY     ToxinTruckGun
17649      Weapon            = SECONDARY   ToxinTruckSprayer
17650      AutoChooseSources = SECONDARY   NONE ;Special attack only
17651    End
17652    WeaponSet
17653      Conditions        = PLAYER_UPGRADE 
17654      Weapon            = PRIMARY     ToxinTruckGunUpgraded
17655      Weapon            = SECONDARY   ToxinTruckSprayerUpgraded
17656      AutoChooseSources = SECONDARY   NONE ;Special attack only
17657    End
17658    WeaponSet 
17659      Conditions        = CRATEUPGRADE_ONE 
17660      Weapon            = PRIMARY     ToxinTruckGunPlusOne
17661      Weapon            = SECONDARY   ToxinTruckSprayerPlusOne
17662      AutoChooseSources = SECONDARY   NONE ;Special attack only
17663    End
17664    WeaponSet
17665      Conditions        = CRATEUPGRADE_ONE PLAYER_UPGRADE 
17666      Weapon            = PRIMARY     ToxinTruckGunUpgradedPlusOne
17667      Weapon            = SECONDARY   ToxinTruckSprayerUpgradedPlusOne
17668      AutoChooseSources = SECONDARY   NONE ;Special attack only
17669    End
17670    WeaponSet 
17671      Conditions        = CRATEUPGRADE_TWO 
17672      Weapon            = PRIMARY     ToxinTruckGunPlusTwo
17673      Weapon            = SECONDARY   ToxinTruckSprayerPlusTwo
17674      AutoChooseSources = SECONDARY   NONE ;Special attack only
17675    End
17676    WeaponSet
17677      Conditions        = CRATEUPGRADE_TWO PLAYER_UPGRADE 
17678      Weapon            = PRIMARY     ToxinTruckGunUpgradedPlusTwo
17679      Weapon            = SECONDARY   ToxinTruckSprayerUpgradedPlusTwo
17680      AutoChooseSources = SECONDARY   NONE ;Special attack only
17681    End
17682  
17683    ArmorSet
17684      Conditions        = None
17685      Armor             = ToxinTruckArmor
17686      DamageFX          = TruckDamageFX
17687    End
17688    BuildCost           = 600
17689    BuildTime           = 5.0          ;in seconds    
17690    VisionRange         = 100
17691    ShroudClearingRange = 200
17692    Prerequisites
17693      Object = Slth_GLAArmsDealer
17694    End
17695  
17696    ExperienceValue     = 50 50 100 150    ;Experience point value at each level
17697    ExperienceRequired  = 0 100 150 300  ;Experience points needed to gain each level
17698    IsTrainable         = Yes             ;Can gain experience
17699    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
17700    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
17701    CommandSet          = GLAVehicleToxinTruckCommandSet
17702  
17703    ; *** AUDIO Parameters ***
17704    VoiceSelect         = ToxinTractorVoiceSelect
17705    VoiceMove           = ToxinTractorVoiceMove
17706    VoiceGuard          = ToxinTractorVoiceMove
17707    VoiceAttack         = ToxinTractorVoiceAttack
17708    SoundMoveStart      = ToxinTractorMoveStart
17709    SoundMoveStartDamaged = ToxinTractorMoveStart
17710  
17711    UnitSpecificSounds
17712      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
17713      VoiceCreate         = ToxinTractorVoiceCreate
17714      TurretMoveStart     = NoSound
17715      TurretMoveLoop      = TurretMoveLoop
17716     TruckLandingSound    = NoSound
17717     TruckPowerslideSound = NoSound
17718      VoiceCrush      = ToxinTractorVoiceCrush
17719      VoiceEnter           = ToxinTractorVoiceMove
17720      VoicePoisonLocation = ToxinTractorVoiceAttackContam
17721  
17722    End
17723  
17724    ; *** ENGINEERING Parameters ***
17725    RadarPriority         = UNIT
17726    KindOf                = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE
17727  
17728    Body = ActiveBody ModuleTag_02
17729      MaxHealth           = 240.0
17730      InitialHealth       = 240.0
17731  
17732      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
17733      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
17734      SubdualDamageCap = 480
17735      SubdualDamageHealRate = 500
17736      SubdualDamageHealAmount = 50
17737    End
17738  
17739    Behavior = AIUpdateInterface ModuleTag_03
17740      AutoAcquireEnemiesWhenIdle = Yes
17741      Turret
17742        TurretTurnRate            = 180
17743        TurretPitchRate           = 180
17744        AllowsPitch               = Yes
17745        MinPhysicalPitch          = -20 ; If allows pitch, the lowest I can dip down to shoot.  defaults to 0 (horizontal)
17746        TurretFireAngleSweep      = PRIMARY 8
17747        TurretSweepSpeedModifier  = PRIMARY 0.5    ; Sweep slower than you turn
17748        ControlledWeaponSlots     = PRIMARY
17749      End
17750    End
17751    Locomotor             = SET_NORMAL ToxinTruckLocomotor
17752    Behavior              = PhysicsBehavior ModuleTag_04
17753      Mass                = 50.0
17754    End
17755  
17756    Behavior                    = SlowDeathBehavior  ModuleTag_05
17757      DeathTypes                = ALL -CRUSHED -SPLATTED
17758      ProbabilityModifier       = 5
17759      ModifierBonusPerOverkillPercent = 20%  ; negative means less likely to pick this in the face of much damage, positive means more likely
17760      DestructionDelay          = 0
17761      DestructionDelayVariance  = 200
17762      FX                        = INITIAL FX_ToxinTractorDie
17763      OCL                       = INITIAL OCL_ToxinTractorDeathEffect
17764      FX                        = FINAL FX_ToxinTruckExplosionOneFinal
17765    End
17766    Behavior                    = InstantDeathBehavior  ModuleTag_06
17767      DeathTypes                = NONE +CRUSHED +SPLATTED
17768      FX                        = FX_CarCrush
17769      OCL                       = OCL_CrusaderTank_CrushEffect
17770    End
17771      
17772    Behavior = CreateCrateDie ModuleTag_07
17773      CrateData   = SalvageCrateData
17774      ;CrateData  = EliteTankCrateData
17775      ;CrateData  = HeroicTankCrateData
17776    End
17777  
17778    Behavior = WeaponSetUpgrade ModuleTag_08
17779      ; the Toxin Tractor gets this upgrade if we either buy the upgrade,
17780      ; or if it gets HEROIC status
17781      TriggeredBy   = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC
17782    End
17783    
17784    Behavior                          = TransitionDamageFX ModuleTag_11
17785      ReallyDamagedParticleSystem1  = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
17786      ReallyDamagedFXList1          = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
17787    End
17788    
17789    Behavior = AutoHealBehavior ModuleTag_12
17790      HealingAmount   = 2
17791      HealingDelay    = 1000 ; msec
17792      TriggeredBy     = Upgrade_GLAJunkRepair
17793    End
17794  
17795    Behavior = FlammableUpdate ModuleTag_21
17796      AflameDuration          = 5000         ; If I catch fire, I'll burn for this long...
17797      AflameDamageAmount      = 3       ; taking this much damage...
17798      AflameDamageDelay       = 500       ; this often.
17799    End
17800  
17801    Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_13
17802      WeaponSlot            = SECONDARY
17803      ConflictsWith         = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC
17804      OCL                   = OCL_PoisonFieldMedium
17805      MinShotsToCreateOCL   = 4
17806      OCLLifetimePerSecond  = 10000
17807      OCLLifetimeMaxCap     = 180000
17808    End
17809    Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_14
17810      WeaponSlot            = SECONDARY
17811      TriggeredBy           = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC
17812      OCL                   = OCL_PoisonFieldUpgradedMedium
17813      MinShotsToCreateOCL   = 4
17814      OCLLifetimePerSecond  = 10000
17815      OCLLifetimeMaxCap     = 180000
17816    End
17817  
17818    Behavior = FireWeaponWhenDeadBehavior ModuleTag_15    ;These two make the right damage field at death
17819      DeathWeapon   = ToxinShellWeapon
17820      StartsActive  = Yes   
17821      ConflictsWith = Upgrade_GLAAnthraxBeta
17822    End
17823    Behavior = FireWeaponWhenDeadBehavior ModuleTag_16
17824      DeathWeapon   = ToxinShellWeaponUpgraded
17825      StartsActive  = No   
17826      TriggeredBy = Upgrade_GLAAnthraxBeta
17827    End
17828  
17829    Geometry = BOX
17830    GeometryMajorRadius = 13.0
17831    GeometryMinorRadius = 9.0
17832    GeometryHeight = 10.0   ; set to make the projectile stream look right  
17833    GeometryIsSmall = Yes    
17834    Shadow = SHADOW_VOLUME
17835    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
17836  
17837  End
17838  
17839  
17840  
17841  
17842  ;------------------------------------------------------------------------------
17843  Object Slth_GLAVehicleBombTruck
17844  
17845    ; *** ART Parameters ***
17846    SelectPortrait         = SUBombTruck_L
17847    ButtonImage            = SUBombTruck
17848    
17849    UpgradeCameo1 = Upgrade_GLABombTruckHighExplosiveBomb
17850    UpgradeCameo2 = Upgrade_GLABombTruckBioBomb
17851    UpgradeCameo3 = Upgrade_GLAJunkRepair
17852    ;UpgradeCameo4 = NONE
17853    ;UpgradeCameo5 = NONE
17854    
17855    
17856    Draw = W3DTruckDraw ModuleTag_01
17857      OkToChangeModelColor = Yes
17858      TrackMarks = EXTireTrack.tga
17859      
17860      DefaultConditionState
17861        Model = UVBMBTRUK
17862        Animation = UVBMBTRUK.UVBMBTRUK
17863        AnimationMode = LOOP
17864  
17865        ;Display the default bombload -- and the upgrades will handle the rest!
17866        HideSubObject = Bombload02 Bombload03 Bombload04
17867      End
17868  
17869      ConditionState = REALLYDAMAGED
17870        Model = UVBMBTRUK_D
17871        Animation = UVBMBTRUK_D.UVBMBTRUK_D
17872        AnimationMode = LOOP
17873      End
17874      
17875      ConditionState = RUBBLE
17876        Model = UVBMBTRUK_D
17877      End
17878  
17879      LeftFrontTireBone = Tire01
17880      RightFrontTireBone = Tire02
17881      MidLeftFrontTireBone = Tire03
17882      MidRightFrontTireBone = Tire04
17883      LeftRearTireBone = Tire05
17884      RightRearTireBone = Tire06
17885      TireRotationMultiplier = 0.2   ; this * speed = rotation.
17886  
17887      Dust = RocketBuggyDust
17888      DirtSpray = RocketBuggyDirtSpray
17889      PowerslideSpray = RocketBuggyDirtPowerSlide
17890  
17891    End
17892  
17893    ; ***DESIGN parameters ***
17894    DisplayName      = OBJECT:BombTruck
17895    Side = GLAStealthGeneral
17896    EditorSorting   = VEHICLE
17897    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
17898    WeaponSet
17899      Conditions = None 
17900      Weapon = PRIMARY SuicideWeapon 
17901    End
17902    ArmorSet
17903      Conditions      = None
17904      Armor           = TruckArmor
17905      DamageFX        = TruckDamageFX
17906    End
17907    BuildCost       = 1200
17908    BuildTime       = 15.0          ;in seconds    
17909    VisionRange     = 150 ; Used in attack move targeting
17910    ShroudClearingRange     = 200
17911    Prerequisites
17912      Object = Slth_GLAArmsDealer
17913      Object = Slth_GLAPalace
17914    End
17915    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
17916    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
17917    CommandSet = Slth_GLAVehicleBombTruckCommandSet
17918  
17919    ; *** AUDIO Parameters ***
17920    VoiceSelect = BombTruckVoiceSelect
17921    VoiceMove = BombTruckVoiceMove
17922    VoiceGuard = BombTruckVoiceMove
17923    VoiceAttack = BombTruckVoiceAttack
17924    SoundMoveStart = BombTruckMoveStart
17925    SoundMoveStartDamaged = BombTruckMoveStart
17926    UnitSpecificSounds
17927      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
17928      VoiceCreate                   = BombTruckVoiceCreate
17929      TurretMoveStart               = NoSound
17930      TurretMoveLoop                = NoSound
17931      TruckLandingSound             = RocketBuggyLand
17932      TruckPowerslideSound          = NoSound
17933      DisguiseStarted               = BombTruckDisguiseStarted
17934      DisguiseRevealedSuccess       = BombTruckDisguiseRevealedSuccess
17935      DisguiseRevealedFailure       = BombTruckDisguiseRevealedFailure
17936      VoiceEnter = BombTruckVoiceMove
17937    End
17938  
17939    ; *** ENGINEERING Parameters ***
17940    RadarPriority = UNIT
17941    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE DISGUISER CANNOT_RETALIATE
17942  
17943    Body = ActiveBody ModuleTag_02
17944      MaxHealth       = 220.0
17945      InitialHealth   = 220.0
17946  
17947      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
17948      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
17949      SubdualDamageCap = 440
17950      SubdualDamageHealRate = 500
17951      SubdualDamageHealAmount = 50
17952    End
17953  
17954    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
17955    IsTrainable = No
17956  
17957    ;Kris: Um, bomb trucks don't gain experience.
17958    ;Behavior = VeterancyGainCreate ModuleTag_03
17959    ;  StartingLevel = VETERAN
17960    ;End
17961  
17962    Behavior = AIUpdateInterface ModuleTag_04
17963      AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS
17964    End
17965    Locomotor = SET_NORMAL BombTruckLocomotor
17966  
17967    Behavior = PhysicsBehavior ModuleTag_05
17968      Mass = 40.0
17969    End
17970  
17971    Behavior = AutoHealBehavior ModuleTag_06
17972      HealingAmount = 2
17973      HealingDelay = 1000 ; msec
17974      TriggeredBy = Upgrade_GLAJunkRepair
17975    End
17976  
17977    Behavior = ProductionUpdate ModuleTag_07
17978      ; nothing
17979    End
17980  
17981    Behavior = SlowDeathBehavior  ModuleTag_08
17982      DeathTypes = ALL -CRUSHED -SPLATTED
17983      ProbabilityModifier = 5
17984      ModifierBonusPerOverkillPercent = 20%  ; negative means less likely to pick this in the face of much damage, positive means more likely
17985      DestructionDelay = 0
17986      DestructionDelayVariance = 200
17987      FX = FINAL FX_BuggyNewDeathExplosion
17988      OCL = FINAL OCL_BombTruckDeathEffect
17989    End
17990  
17991    ;Behavior = DestroyDie
17992      ;nothing
17993    ;End
17994  
17995  
17996    ;************************************************************************************************
17997    ;* WHICH BOMB DO WE USE??? 
17998    ;* We have 2 damage possibilities -- (normal OR high explosive) 
17999    ;* So part 1 is inflicting the damage itself without creating effects
18000    ;* The complicated part is the part where we have 6 possible effect explosions based on 
18001    ;* all the possible upgrade combinations. Note that bio weapons don't inflict damage through
18002    ;* the explosion.
18003    ;*
18004    ;* DAMAGE COMBINATIONS (NO EFFECTS):
18005    ;* 1) Normal (doesn't have high explosive upgrade)
18006    ;* 2) High explosive (has high-explosive upgrade)
18007    ;*
18008    ;* EFFECT COMBINATIONS (NO DAMAGE):
18009    ;* 1) Normal (no upgrades)
18010    ;* 2) Bio (bio-bomb upgrade)
18011    ;* 3) Anthrax (bio-bomb and anthrax upgrade)
18012    ;* 4) High explosive (high explosive upgrade)
18013    ;* 5) High explosive bio (high explosive and bio-bomb upgrade)
18014    ;* 6) High explosive anthrax (high explosive, bio-bomb, and anthrax upgrades)
18015    ;************************************************************************************************
18016  
18017    ;************************************************************************************************
18018    ;* EXCLUSIVE DAMAGE POSSIBILITY 1 -- Normal explosion (can't have high-explosive upgrade)
18019    ;************************************************************************************************
18020    Behavior = FireWeaponWhenDeadBehavior ModuleTag_09
18021      DeathWeapon   = BombTruckDefaultBombDamage
18022      StartsActive  = Yes                      ; turned on by upgrade
18023      ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb
18024    End
18025  
18026    ;************************************************************************************************
18027    ;* EXCLUSIVE DAMAGE POSSIBILITY 2 -- High explosion (always plays if it has high-explosive upgrade)
18028    ;************************************************************************************************
18029    Behavior = FireWeaponWhenDeadBehavior ModuleTag_10
18030      DeathWeapon   = BombTruckHighExplosionBombDamage
18031      StartsActive  = No                      ; turned on by upgrade
18032      TriggeredBy   = Upgrade_GLABombTruckHighExplosiveBomb
18033    End
18034  
18035    ;************************************************************************************************
18036    ;* EXCLUSIVE EFFECT COMBINATION 1 - Regular explosion (no upgrades)
18037    ;************************************************************************************************
18038    Behavior = FireWeaponWhenDeadBehavior ModuleTag_11
18039      DeathWeapon   = BombTruckDefaultBombEffect
18040      StartsActive  = Yes                      ; turned on by upgrade
18041      ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb
18042    End
18043  
18044    ;************************************************************************************************
18045    ;* EXCLUSIVE EFFECT COMBINATION 2 - Bio explosion 
18046    ;* Requires:    Bio upgrade
18047    ;* Can't have:  Anthrax upgrade, high explosive upgrade
18048    ;************************************************************************************************
18049    Behavior = FireWeaponWhenDeadBehavior ModuleTag_12
18050      DeathWeapon   = BombTruckBioBombEffect
18051      StartsActive  = No                      ; turned on by upgrade
18052      TriggeredBy   = Upgrade_GLABombTruckBioBomb
18053      ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta
18054      RequiresAllTriggers = Yes
18055    End
18056  
18057    ;************************************************************************************************
18058    ;* EXCLUSIVE EFFECT COMBINATION 3 - Anthrax explosion 
18059    ;* Requires:    Bio upgrade and anthrax upgrade
18060    ;* Can't have:  High explosive upgrade
18061    ;************************************************************************************************
18062    Behavior = FireWeaponWhenDeadBehavior ModuleTag_13
18063      DeathWeapon   = BombTruckAnthraxBombEffect
18064      StartsActive  = No                      ; turned on by upgrade
18065      TriggeredBy   = Upgrade_GLABombTruckBioBomb Upgrade_GLAAnthraxBeta
18066      ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb 
18067      RequiresAllTriggers = Yes
18068    End
18069  
18070    ;************************************************************************************************
18071    ;* EXCLUSIVE EFFECT COMBINATION 4 - High explosion
18072    ;* Requires:    High explosive upgrade
18073    ;* Can't have:  Bio upgrade and anthrax upgrade
18074    ;************************************************************************************************
18075    Behavior = FireWeaponWhenDeadBehavior ModuleTag_14
18076      DeathWeapon   = BombTruckHighExplosiveBombEffect
18077      StartsActive  = No                      ; turned on by upgrade
18078      TriggeredBy   = Upgrade_GLABombTruckHighExplosiveBomb
18079      ConflictsWith = Upgrade_GLABombTruckBioBomb
18080      RequiresAllTriggers = Yes
18081    End
18082  
18083    ;************************************************************************************************
18084    ;* EXCLUSIVE EFFECT COMBINATION 5 - High explosive bio explosion 
18085    ;* Requires:    High explosive upgrade and bio upgrade 
18086    ;* Can't have:  Anthrax upgrade
18087    ;************************************************************************************************
18088    Behavior = FireWeaponWhenDeadBehavior ModuleTag_15
18089      DeathWeapon   = BombTruckHighExplosiveBioBombEffect
18090      StartsActive  = No                      ; turned on by upgrade
18091      TriggeredBy   = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb
18092      ConflictsWith = Upgrade_GLAAnthraxBeta
18093      RequiresAllTriggers = Yes
18094    End
18095  
18096    ;************************************************************************************************
18097    ;* EXCLUSIVE EFFECT COMBINATION 6 - High explosive Anthrax explosion 
18098    ;* Requires:    High explosive, Bio, and anthrax upgrade
18099    ;************************************************************************************************
18100    Behavior = FireWeaponWhenDeadBehavior ModuleTag_16
18101      DeathWeapon   = BombTruckHighExplosiveAnthraxBombEffect
18102      StartsActive  = No                      ; turned on by upgrade
18103      TriggeredBy   = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta
18104      RequiresAllTriggers = Yes
18105    End
18106  
18107    ;-------------------------------------------------------------------
18108    ; Now we get to display the payload based on upgrades!!! 
18109    ;-------------------------------------------------------------------
18110    Behavior = SubObjectsUpgrade ModuleTag_17
18111      ;*** Bio bomb load ***
18112      TriggeredBy    = Upgrade_GLABombTruckBioBomb 
18113      ConflictsWith  = Upgrade_GLABombTruckHighExplosiveBomb
18114      ShowSubObjects = Bombload02 
18115      HideSubObjects = Bombload01 Bombload03 Bombload04
18116    End
18117    Behavior = SubObjectsUpgrade ModuleTag_18
18118      ;*** High-explosive bomb load ***
18119      TriggeredBy    = Upgrade_GLABombTruckHighExplosiveBomb
18120      ConflictsWith  = Upgrade_GLABombTruckBioBomb 
18121      ShowSubObjects = Bombload03 
18122      HideSubObjects = Bombload01 Bombload02 Bombload04
18123    End
18124    Behavior = SubObjectsUpgrade ModuleTag_19
18125      ;*** High-explosive bio bomb load ***
18126      TriggeredBy    = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb
18127      ShowSubObjects = Bombload04 
18128      HideSubObjects = Bombload01 Bombload02 Bombload03
18129      RequiresAllTriggers = Yes
18130    End
18131    ;-------------------------------------------------------------------
18132  
18133  
18134    Behavior = SpecialAbility ModuleTag_20
18135      SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle
18136      UpdateModuleStartsAttack = Yes
18137      InitiateSound = BombTruckVoiceDisguise
18138    End
18139    Behavior = SpecialAbilityUpdate ModuleTag_21
18140      SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle
18141      StartAbilityRange = 1000000.0
18142      ApproachRequiresLOS = No
18143    End
18144  
18145    Behavior = StealthUpdate ModuleTag_22
18146      StealthDelay                          = 1
18147      DisguisesAsTeam                       = Yes
18148      RevealDistanceFromTarget              = 100.0f
18149      OrderIdleEnemiesToAttackMeUponReveal  = Yes
18150      DisguiseFX                            = FX_BombTruckDisguise
18151      DisguiseRevealFX                      = FX_BombTruckDisguiseReveal
18152      InnateStealth                         = Yes
18153      DisguiseTransitionTime                = 2000
18154      DisguiseRevealTransitionTime          = 1000 
18155    End
18156  
18157    ; A crushing defeat
18158    Behavior = FXListDie ModuleTag_23
18159      DeathTypes = NONE +CRUSHED +SPLATTED
18160      DeathFX = FX_CarCrush
18161    End
18162    Behavior = CreateObjectDie ModuleTag_24
18163      DeathTypes = NONE +CRUSHED +SPLATTED
18164      CreationList = OCL_CrusaderTank_CrushEffect
18165    End
18166    Behavior = CreateCrateDie ModuleTag_25
18167      CrateData = SalvageCrateData
18168      ;CrateData = EliteTankCrateData
18169      ;CrateData = HeroicTankCrateData
18170    End
18171    
18172    Behavior = TransitionDamageFX ModuleTag_26
18173      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
18174      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
18175    End
18176  
18177    Behavior = FlammableUpdate ModuleTag_28
18178      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
18179      AflameDamageAmount = 3       ; taking this much damage...
18180      AflameDamageDelay = 500       ; this often.
18181    End
18182  
18183    Behavior = DestroyDie ModuleTag_29
18184      DeathTypes = NONE +CRUSHED +SPLATTED
18185    End
18186  
18187    Geometry = BOX
18188    GeometryMajorRadius = 19.0
18189    GeometryMinorRadius = 8.0
18190    GeometryHeight = 11.5     
18191    GeometryIsSmall = No    
18192    Shadow = SHADOW_VOLUME
18193    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
18194  
18195  End
18196  
18197  ;------------------------------------------------------------------------------
18198  Object Slth_GLAVehicleScudLauncher
18199  
18200    ; *** ART Parameters ***
18201    SelectPortrait         = SUScudLauncher_L
18202    ButtonImage            = SUScudLauncher
18203  
18204    UpgradeCameo1 = Upgrade_GLAJunkRepair
18205    UpgradeCameo2 = Upgrade_GLAAnthraxBeta
18206    ;UpgradeCameo3 = NONE
18207    ;UpgradeCameo4 = NONE
18208    ;UpgradeCameo5 = NONE
18209  
18210    Draw = W3DTruckDraw ModuleTag_01
18211      OkToChangeModelColor = Yes
18212  
18213      ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
18214    
18215      DefaultConditionState
18216        Model = UVScudLchr
18217        Turret = TURRET
18218        TurretPitch = TURRETEL
18219        ShowSubObject = TURRET
18220        HideSubObject = TURRETUP01 TURRETUP02
18221        WeaponLaunchBone = PRIMARY WeaponA
18222        WeaponLaunchBone = SECONDARY WeaponA
18223      End
18224  
18225      ConditionState = REALLYDAMAGED
18226        Model = UVScudLchr_d
18227      End
18228      AliasConditionState = RUBBLE
18229  
18230      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
18231        Model = UVScudLchr
18232        Turret = TURRETUP01
18233        TurretPitch = TURRETEL01
18234        ShowSubObject = TURRETUP01
18235        HideSubObject = TURRET TURRETUP02
18236        WeaponLaunchBone = PRIMARY WeaponB
18237        WeaponLaunchBone = SECONDARY WeaponB
18238      End
18239  
18240      ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED
18241        Model = UVScudLchr_d
18242        Turret = TURRETUP01
18243        TurretPitch = TURRETEL01
18244        ShowSubObject = TURRETUP01
18245        HideSubObject = TURRET TURRETUP02
18246        WeaponLaunchBone = PRIMARY WeaponB
18247        WeaponLaunchBone = SECONDARY WeaponB
18248      End
18249  
18250      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
18251        Model = UVScudLchr
18252        Turret = TURRETUP02
18253        TurretPitch = TURRETEL02
18254        ShowSubObject = TURRETUP02
18255        HideSubObject = TURRET TURRETUP01
18256        WeaponLaunchBone = PRIMARY WeaponC
18257        WeaponLaunchBone = SECONDARY WeaponC
18258      End
18259  
18260      ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED
18261        Model = UVScudLchr_d
18262        Turret = TURRETUP02
18263        TurretPitch = TURRETEL02
18264        ShowSubObject = TURRETUP02
18265        HideSubObject = TURRET TURRETUP01
18266        WeaponLaunchBone = PRIMARY WeaponC
18267        WeaponLaunchBone = SECONDARY WeaponC
18268      End
18269  
18270      TrackMarks = EXTireTrack.tga
18271  
18272      Dust = ScudLauncherDust
18273      DirtSpray = RocketBuggyDirtSpray
18274      PowerslideSpray = RocketBuggyDirtPowerSlide
18275  
18276      ; These parameters are only used if the model has a separate suspension, 
18277      ; and the locomotor has HasSuspension = Yes.
18278      LeftFrontTireBone = Tire01
18279      RightFrontTireBone = Tire05
18280      LeftRearTireBone = Tire04
18281      RightRearTireBone = Tire08
18282      MidLeftFrontTireBone = Tire02
18283      MidRightFrontTireBone = Tire06
18284      MidLeftRearTireBone = Tire03
18285      MidRightRearTireBone = Tire07
18286  
18287      TireRotationMultiplier = 0.2   ; this * speed = rotation.
18288      ;PowerslideRotationAddition = 0.0   ; This speed is added to the rotation speed when powersliding.
18289  
18290    End
18291  
18292  
18293    ; ***DESIGN parameters ***
18294  
18295    DisplayName      = OBJECT:ScudLauncher
18296    Side = GLAStealthGeneral
18297    EditorSorting   = VEHICLE
18298    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
18299  
18300    WeaponSet
18301      Conditions = None
18302      Weapon = PRIMARY SCUDLauncherGunExplosive
18303      Weapon = SECONDARY SCUDLauncherGunToxin
18304      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON
18305      AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI
18306      PreferredAgainst = SECONDARY INFANTRY
18307      ShareWeaponReloadTime = Yes
18308    End
18309    WeaponSet
18310      Conditions = PLAYER_UPGRADE
18311      Weapon = PRIMARY SCUDLauncherGunExplosive
18312      Weapon = SECONDARY SCUDLauncherGunAnthrax
18313      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON
18314      AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI
18315      PreferredAgainst = SECONDARY INFANTRY
18316      ShareWeaponReloadTime = Yes
18317      WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock
18318    End
18319    WeaponSet
18320      Conditions = CRATEUPGRADE_ONE
18321      Weapon = PRIMARY SCUDLauncherGunExplosivePlusOne
18322      Weapon = SECONDARY SCUDLauncherGunToxinPlusOne
18323      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON
18324      AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI
18325      PreferredAgainst = SECONDARY INFANTRY
18326      ShareWeaponReloadTime = Yes
18327      WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock
18328    End
18329    WeaponSet
18330      Conditions = PLAYER_UPGRADE CRATEUPGRADE_ONE
18331      Weapon = PRIMARY SCUDLauncherGunExplosivePlusOne
18332      Weapon = SECONDARY SCUDLauncherGunAnthraxPlusOne
18333      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON
18334      AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI
18335      PreferredAgainst = SECONDARY INFANTRY
18336      ShareWeaponReloadTime = Yes
18337      WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock
18338    End
18339    WeaponSet
18340      Conditions = CRATEUPGRADE_TWO
18341      Weapon = PRIMARY SCUDLauncherGunExplosivePlusTwo
18342      Weapon = SECONDARY SCUDLauncherGunToxinPlusTwo
18343      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON
18344      AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI
18345      PreferredAgainst = SECONDARY INFANTRY
18346      ShareWeaponReloadTime = Yes
18347      WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock
18348    End
18349    WeaponSet
18350      Conditions = PLAYER_UPGRADE CRATEUPGRADE_TWO
18351      Weapon = PRIMARY SCUDLauncherGunExplosivePlusTwo
18352      Weapon = SECONDARY SCUDLauncherGunAnthraxPlusTwo
18353      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON
18354      AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI
18355      PreferredAgainst = SECONDARY INFANTRY
18356      ShareWeaponReloadTime = Yes
18357      WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock
18358    End
18359  
18360    ArmorSet
18361      Conditions      = None
18362      Armor           = TruckArmor
18363      DamageFX        = TankDamageFX
18364    End
18365    BuildCost       = 1200
18366    BuildTime       = 15.0          ;in seconds    
18367    VisionRange     = 180
18368    ShroudClearingRange = 300
18369    Prerequisites
18370      Object = Slth_GLAArmsDealer
18371      Object = Slth_GLAPalace
18372      Science = SCIENCE_ScudLauncher
18373    End
18374  
18375    ExperienceValue = 50 50 100 150   ;Experience point value at each level
18376    ExperienceRequired = 0 100 200 400  ;Experience points needed to gain each level
18377    IsTrainable = Yes             ;Can gain experience
18378    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
18379    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
18380    CommandSet           = Slth_GLAVehicleScudLauncherCommandSet
18381  
18382    ; *** AUDIO Parameters ***
18383    VoiceSelect = ScudLauncherVoiceSelect
18384    VoiceMove = ScudLauncherVoiceMove
18385    VoiceGuard = ScudLauncherVoiceMove
18386    VoiceAttack = ScudLauncherVoiceAttack
18387    SoundMoveStart = ScudLauncherMoveStart
18388    SoundMoveStartDamaged = ScudLauncherMoveStart
18389    UnitSpecificSounds
18390      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
18391      VoiceCreate       = ScudLauncherVoiceCreate
18392      TurretMoveStart = NoSound
18393      TurretMoveLoop = TurretMoveLoop
18394      TruckLandingSound = NoSound
18395      TruckPowerslideSound = NoSound
18396      VoiceCrush = ScudLauncherVoiceCrush
18397      VoiceEnter = ScudLauncherVoiceMove
18398      VoicePrimaryWeaponMode = ScudLauncherVoiceModeHiEx
18399      VoiceSecondaryWeaponMode = ScudLauncherVoiceModeAnthrax
18400    End
18401  
18402    ; *** ENGINEERING Parameters ***
18403    RadarPriority = UNIT
18404    KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE
18405  
18406    Body = ActiveBody ModuleTag_02
18407      MaxHealth       = 180.0
18408      InitialHealth   = 180.0
18409  
18410      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
18411      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
18412      SubdualDamageCap = 360
18413      SubdualDamageHealRate = 500
18414      SubdualDamageHealAmount = 50
18415    End
18416  
18417    Behavior = AIUpdateInterface ModuleTag_03
18418      Turret
18419        TurretTurnRate = 60   ; turn rate, in degrees per sec
18420        TurretPitchRate = 60
18421        FirePitch = 90  ; Instead of aiming pitchwise at the target, it will aim here
18422        AllowsPitch = Yes
18423        ControlledWeaponSlots = PRIMARY SECONDARY
18424      End
18425      AutoAcquireEnemiesWhenIdle = No NotWhileAttacking
18426    End  
18427  
18428    Behavior = CommandButtonHuntUpdate  ModuleTag_04 ; allows use of command button hunt script with this unit. 
18429    End
18430  
18431    Locomotor = SET_NORMAL ScudLauncherLocomotor
18432    Behavior = PhysicsBehavior ModuleTag_05
18433      Mass = 40.0
18434    End
18435  
18436    Behavior = AutoHealBehavior ModuleTag_06
18437      HealingAmount = 2
18438      HealingDelay = 1000 ; msec
18439      TriggeredBy = Upgrade_GLAJunkRepair
18440    End
18441  
18442    Behavior = TransitionDamageFX ModuleTag_08
18443      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
18444      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ScudLauncherDamageTransition
18445    End
18446  
18447    ; Catch fire, and explode death
18448    Behavior = SlowDeathBehavior ModuleTag_09
18449      DeathTypes = ALL -CRUSHED -SPLATTED
18450      ProbabilityModifier = 50
18451      DestructionDelay = 2000
18452      DestructionDelayVariance = 300
18453      FX  = INITIAL  FX_CrusaderCatchFire
18454      OCL = FINAL    OCL_SCUDLauncherDeathEffect  
18455      FX  = FINAL    FX_ScudLauncherExplosionOneFinal
18456    End
18457  
18458    ; A crushing defeat
18459    Behavior = FXListDie ModuleTag_10
18460      DeathTypes = NONE +CRUSHED +SPLATTED
18461      DeathFX = FX_CarCrush
18462    End
18463  
18464    Behavior = CreateObjectDie ModuleTag_11
18465      DeathTypes = NONE +CRUSHED +SPLATTED
18466      CreationList = OCL_CrusaderTank_CrushEffect
18467    End
18468  
18469    Behavior = FlammableUpdate ModuleTag_21
18470      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
18471      AflameDamageAmount = 3       ; taking this much damage...
18472      AflameDamageDelay = 500       ; this often.
18473    End
18474  
18475    Behavior = DestroyDie ModuleTag_22
18476      DeathTypes = NONE +CRUSHED +SPLATTED
18477    End
18478  
18479    Behavior = WeaponSetUpgrade ModuleTag_23
18480      TriggeredBy = Upgrade_GLAAnthraxBeta
18481    End
18482  
18483    Behavior = LockWeaponCreate ModuleTag_24
18484      SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack.
18485    End
18486  
18487    Geometry = BOX
18488    GeometryMajorRadius = 14.0
18489    GeometryMinorRadius = 7.0
18490    GeometryHeight = 11.5     
18491    GeometryIsSmall = No
18492    Shadow = SHADOW_VOLUME   
18493    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length 
18494  
18495  End
18496  
18497  
18498  
18499  
18500  
18501  ;------------------------------------------------------------------------------
18502  ; this unit is never really "built"; building one triggers the random building of
18503  ; one of the other chassis. If you want a *specific* chassis, choose it explicitly;
18504  ; if you want a chassis at random, specify this.
18505  Object Slth_GLAVehicleTechnical
18506  
18507    ; *** ART Parameters ***
18508    SelectPortrait         = SUTechnical_L 
18509    ButtonImage            = SUTechnical
18510  
18511    Draw = W3DModelDraw ModuleTag_01
18512      DefaultConditionState
18513        ; give it a model so it'll show up in WB
18514        Model = UVTechTrck
18515      End
18516    End
18517  
18518    ; set cost and time fields here or else they won't work
18519    BuildCost       = 500
18520    BuildTime       = 3.0          ;in seconds    
18521  
18522    ; Needed to get the Veterancy Overlays on top of the Technical with his build variations.
18523    ;------------------------------------------------------------
18524    Behavior = VeterancyGainCreate ModuleTag_03
18525      StartingLevel = VETERAN
18526      ScienceRequired = SCIENCE_TechnicalTraining
18527    End
18528  
18529    Side = GLAStealthGeneral
18530    EditorSorting = VEHICLE
18531    BuildVariations = GLAVehicleTechnicalChassisOne GLAVehicleTechnicalChassisTwo GLAVehicleTechnicalChassisThree
18532  
18533    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE TRANSPORT
18534  
18535  End
18536  
18537  ;------------------------------------------------------------------------------
18538  Object Slth_GLAVehicleTechnicalChassisOne
18539  
18540    ; *** ART Parameters ***
18541    SelectPortrait         = SUTechnical_L 
18542    ButtonImage            = SUTechnical
18543  
18544    UpgradeCameo1 = Upgrade_GLAAPBullets
18545    UpgradeCameo2 = Upgrade_GLAJunkRepair
18546    ;UpgradeCameo3 = NONE
18547    ;UpgradeCameo4 = NONE
18548    ;UpgradeCameo5 = NONE
18549  
18550    Draw = W3DTruckDraw ModuleTag_01
18551  
18552      ExtraPublicBone = Dum_Turret 
18553  
18554      DefaultConditionState
18555        Model         = UVTechTrck
18556      End
18557      ConditionState  = REALLYDAMAGED
18558        Model         = UVTechTrck_d
18559      End
18560      ConditionState  = RUBBLE
18561        Model         = UVTechTrck_d
18562      End
18563  
18564      OkToChangeModelColor        = Yes
18565      TrackMarks                  = EXTireTrack.tga
18566      Dust                        = TechnicalDust
18567      DirtSpray                   = RocketBuggyDirtSpray
18568      PowerslideSpray             = RocketBuggyDirtPowerSlide
18569  
18570      ; These parameters are only used if the model has a separate suspension, 
18571      ; and the locomotor has HasSuspension = Yes.
18572      LeftFrontTireBone           = Tire01
18573      RightFrontTireBone          = Tire02
18574      LeftRearTireBone            = Tire03
18575      RightRearTireBone           = Tire04
18576      TireRotationMultiplier      = 0.2        ; this * speed = rotation.
18577      PowerslideRotationAddition  = 2.5    ; This speed is added to the rotation speed when powersliding.
18578    End
18579  
18580    Draw = W3DModelDraw ModuleTag_02
18581  
18582      OkToChangeModelColor        = Yes
18583      AttachToBoneInAnotherModule = Dum_Turret
18584  
18585      ; ------------------ basic technical ------------------------
18586      DefaultConditionState
18587        Model = UITech_SKN
18588        Turret = Dum-TurManMVR
18589        TurretArtAngle = 180  ; this turret has art pointed 180 degrees backward
18590        HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03
18591        IdleAnimation = UITech_SKL.UITech_STA 0 6
18592        IdleAnimation = UITech_SKL.UITech_IDA
18593        IdleAnimation = UITech_SKL.UITech_IDB
18594        AnimationMode = ONCE
18595        ShowSubObject = 20Cal
18596        WeaponMuzzleFlash = PRIMARY MuzzleFX01
18597        WeaponFireFXBone = PRIMARY Muzzle01
18598      End
18599  
18600      ConditionState = RUBBLE MOVING TURRET_ROTATE
18601        Animation = None
18602        HideSubObject = UITech-SKN
18603        ShowSubObject = 20Cal
18604        WeaponMuzzleFlash = PRIMARY MuzzleFX01
18605        WeaponFireFXBone = PRIMARY Muzzle01
18606      End
18607  
18608      ConditionState = MOVING
18609        Animation = UITech_SKL.UITech_MVB
18610        AnimationMode = LOOP
18611        ShowSubObject = 20Cal
18612        WeaponMuzzleFlash = PRIMARY MuzzleFX01
18613        WeaponFireFXBone = PRIMARY Muzzle01
18614      End
18615  
18616      ConditionState = TURRET_ROTATE
18617        Animation = UITech_SKL.UITech_TNA
18618        AnimationMode = LOOP
18619        ShowSubObject = 20Cal
18620        WeaponMuzzleFlash = PRIMARY MuzzleFX01
18621        WeaponFireFXBone = PRIMARY Muzzle01
18622      End
18623      AliasConditionState = TURRET_ROTATE MOVING
18624      AliasConditionState = TURRET_ROTATE FIRING_A
18625      AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
18626      AliasConditionState = TURRET_ROTATE RELOADING_A
18627      AliasConditionState = TURRET_ROTATE MOVING FIRING_A
18628      AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
18629      AliasConditionState = TURRET_ROTATE MOVING RELOADING_A
18630  
18631      ConditionState = FIRING_A 
18632        Animation = UITech_SKL.UITech_ATA
18633        AnimationMode = LOOP
18634        ShowSubObject = 20Cal
18635        WeaponMuzzleFlash = PRIMARY MuzzleFX01
18636        WeaponFireFXBone = PRIMARY Muzzle01
18637      End
18638  
18639      ; AliasConditionState is a new keyword that says,
18640      ; "give me another ConditionState exactly like the previous
18641      ; one, except with different conditions". Useful when you
18642      ; have several states that are the same with only different condition bits.
18643      AliasConditionState = BETWEEN_FIRING_SHOTS_A
18644      AliasConditionState = RELOADING_A
18645  
18646      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
18647      AliasConditionState = MOVING FIRING_A
18648      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
18649      AliasConditionState = MOVING RELOADING_A
18650  
18651      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------
18652      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
18653        IdleAnimation = UITech_SKL.UITech_STA 0 6
18654        IdleAnimation = UITech_SKL.UITech_IDA
18655        IdleAnimation = UITech_SKL.UITech_IDB
18656        AnimationMode = ONCE
18657        ShowSubObject = 50Cal
18658        WeaponMuzzleFlash = PRIMARY MuzzleFX02
18659        WeaponFireFXBone = PRIMARY Muzzle02
18660        WeaponLaunchBone = PRIMARY Muzzle02
18661      End
18662  
18663      ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE
18664        Animation = None
18665        HideSubObject = UITech-SKN
18666        ShowSubObject = 50Cal
18667        WeaponMuzzleFlash = PRIMARY MuzzleFX02
18668        WeaponFireFXBone = PRIMARY Muzzle02
18669        WeaponLaunchBone = PRIMARY Muzzle02
18670      End
18671  
18672      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE
18673        Animation = UITech_SKL.UITech_MVB
18674        AnimationMode = LOOP
18675        ShowSubObject = 50Cal
18676        WeaponMuzzleFlash = PRIMARY MuzzleFX02
18677        WeaponFireFXBone = PRIMARY Muzzle02
18678        WeaponLaunchBone = PRIMARY Muzzle02
18679      End
18680  
18681      ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE
18682        Animation = UITech_SKL.UITech_TNA
18683        AnimationMode = LOOP
18684        ShowSubObject = 50Cal
18685        WeaponMuzzleFlash = PRIMARY MuzzleFX02
18686        WeaponFireFXBone = PRIMARY Muzzle02
18687        WeaponLaunchBone = PRIMARY Muzzle02
18688      End
18689      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING
18690      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A
18691      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
18692      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A
18693      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A
18694      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
18695      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A
18696  
18697      ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 
18698        Animation = UITech_SKL.UITech_ATA
18699        AnimationMode = LOOP
18700        ShowSubObject = 50Cal
18701        WeaponMuzzleFlash = PRIMARY MuzzleFX02
18702        WeaponFireFXBone = PRIMARY Muzzle02
18703        WeaponLaunchBone = PRIMARY Muzzle02
18704      End
18705  
18706      ; AliasConditionState is a new keyword that says,
18707      ; "give me another ConditionState exactly like the previous
18708      ; one, except with different conditions". Useful when you
18709      ; have several states that are the same with only different condition bits.
18710      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A
18711      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A
18712  
18713      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
18714      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A
18715      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A
18716      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A
18717  
18718      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------
18719      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
18720        IdleAnimation = UITech_SKL.UITech_STA 0 6
18721        IdleAnimation = UITech_SKL.UITech_IDA
18722        IdleAnimation = UITech_SKL.UITech_IDB
18723        AnimationMode = ONCE
18724        ShowSubObject = RPG
18725        WeaponFireFXBone = PRIMARY Muzzle03
18726        WeaponLaunchBone = PRIMARY Muzzle03
18727      End
18728  
18729      ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE
18730        Animation = None
18731        HideSubObject = UITech-SKN
18732        ShowSubObject = RPG
18733        WeaponFireFXBone = PRIMARY Muzzle03
18734        WeaponLaunchBone = PRIMARY Muzzle03
18735      End
18736  
18737      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO
18738        Animation = UITech_SKL.UITech_MVB
18739        AnimationMode = LOOP
18740        ShowSubObject = RPG
18741        WeaponFireFXBone = PRIMARY Muzzle03
18742        WeaponLaunchBone = PRIMARY Muzzle03
18743      End
18744  
18745      ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE
18746        Animation = UITech_SKL.UITech_TNA
18747        AnimationMode = LOOP
18748        ShowSubObject = RPG
18749        WeaponFireFXBone = PRIMARY Muzzle03
18750        WeaponLaunchBone = PRIMARY Muzzle03
18751      End
18752      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING
18753      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A
18754      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
18755      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A
18756      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A
18757      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
18758      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A
18759  
18760      ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A 
18761        Animation = UITech_SKL.UITech_ATA
18762        AnimationMode = LOOP
18763        ShowSubObject = RPG
18764        WeaponFireFXBone = PRIMARY Muzzle03
18765        WeaponLaunchBone = PRIMARY Muzzle03
18766      End
18767  
18768      ; AliasConditionState is a new keyword that says,
18769      ; "give me another ConditionState exactly like the previous
18770      ; one, except with different conditions". Useful when you
18771      ; have several states that are the same with only different condition bits.
18772      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A
18773      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A
18774  
18775      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
18776      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A
18777      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A
18778      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A
18779  
18780    End
18781  
18782    ; ***DESIGN parameters ***
18783    DisplayName         = OBJECT:Technical
18784    Side                = GLAStealthGeneral
18785    EditorSorting       = VEHICLE
18786    TransportSlotCount  = 3                 ;how many "slots" we take in a transport (0 == not transportable)
18787  
18788    WeaponSet
18789      Conditions = None 
18790      Weapon = PRIMARY TechnicalMachineGunWeapon
18791    End
18792    WeaponSet
18793      Conditions = CRATEUPGRADE_ONE 
18794      Weapon = PRIMARY TechnicalCannonWeapon
18795    End
18796    WeaponSet
18797      Conditions = CRATEUPGRADE_TWO 
18798      Weapon = PRIMARY TechnicalRPGWeapon
18799    End
18800    ArmorSet
18801      Conditions      = None
18802      Armor           = TruckArmor
18803      DamageFX        = TruckDamageFX
18804    End
18805    ;update cost and time fields in Object GLAVehicleTechnical, or else they won't work
18806    ;BuildCost            = 300
18807    ;BuildTime            = 5.0          ;in seconds    
18808    VisionRange           = 150
18809    ShroudClearingRange   = 300
18810    Prerequisites
18811      Object = Slth_GLAArmsDealer
18812    End
18813  
18814    ExperienceValue         = 25 25 50 100    ;Experience point value at each level
18815    ExperienceRequired      = 0 50 75 150  ;Experience points needed to gain each level
18816    IsTrainable             = Yes             ;Can gain experience
18817    CrusherLevel            = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
18818    CrushableLevel          = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
18819    CommandSet              = GLAVehicleTechnicalCommandSet
18820  
18821    ; *** AUDIO Parameters ***
18822    VoiceSelect = TechnicalVoiceSelect
18823    VoiceMove = TechnicalVoiceMove
18824    VoiceGuard = TechnicalVoiceMove
18825    VoiceAttack = TechnicalVoiceAttack
18826    SoundMoveStart = TechnicalMoveStart
18827    SoundMoveStartDamaged = TechnicalMoveStart
18828    SoundEnter = HumveeEnter
18829    SoundExit = HumveeExit
18830  
18831    UnitSpecificSounds
18832    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
18833      VoiceCreate          = TechnicalVoiceCreate
18834      TurretMoveStart = NoSound
18835      TurretMoveLoop = TurretMoveLoop
18836      TruckLandingSound = RocketBuggyLand
18837      TruckPowerslideSound = RocketBuggyPowerslide
18838      VoiceSalvage = TechnicalVoiceSalvage
18839      VoiceCrush      = TechnicalVoiceCrush
18840      VoiceUnload     = TechnicalVoiceUnload
18841      VoiceEnter = TechnicalVoiceMove
18842    End
18843  
18844    ; *** ENGINEERING Parameters ***
18845    RadarPriority = UNIT
18846    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE TRANSPORT
18847  
18848    Behavior = VeterancyGainCreate ModuleTag_03
18849      StartingLevel = VETERAN
18850      ScienceRequired = SCIENCE_TechnicalTraining
18851    End
18852  
18853    Body = ActiveBody ModuleTag_04
18854      MaxHealth       = 180
18855      InitialHealth   = 180
18856  
18857      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
18858      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
18859      SubdualDamageCap = 360
18860      SubdualDamageHealRate = 500
18861      SubdualDamageHealAmount = 50
18862    End
18863    Behavior = AIUpdateInterface ModuleTag_05
18864      Turret
18865        TurretTurnRate = 240       ; turn rate, in degrees per sec
18866        NaturalTurretAngle = 0
18867        MinIdleScanAngle = 30      ; in degrees off the natural turret angle
18868        MaxIdleScanAngle = 60      ; in degrees off the natural turret angle
18869        MinIdleScanInterval = 5000 ; in milliseconds
18870        MaxIdleScanInterval = 10000 ; in milliseconds
18871        ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
18872      End
18873      AutoAcquireEnemiesWhenIdle = Yes
18874    End
18875    Locomotor = SET_NORMAL TechnicalLocomotor
18876    Behavior = PhysicsBehavior ModuleTag_06
18877      Mass = 40.0
18878    End
18879    Behavior = AutoHealBehavior ModuleTag_07
18880      HealingAmount = 2
18881      HealingDelay = 1000 ; msec
18882      TriggeredBy = Upgrade_GLAJunkRepair
18883    End
18884  
18885    Behavior = FlammableUpdate ModuleTag_09
18886      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
18887      AflameDamageAmount = 3       ; taking this much damage...
18888      AflameDamageDelay = 500       ; this often.
18889    End
18890  
18891    Behavior                 = TransitionDamageFX ModuleTag_10
18892      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
18893      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
18894    End
18895  
18896    Behavior = DestroyDie ModuleTag_11
18897      DeathTypes = NONE +CRUSHED +SPLATTED
18898    End
18899  
18900    ; A crushing defeat
18901    Behavior = FXListDie ModuleTag_12
18902      DeathTypes = NONE +CRUSHED +SPLATTED
18903      DeathFX = FX_CarCrush
18904    End
18905    Behavior = CreateObjectDie ModuleTag_13
18906      DeathTypes = NONE +CRUSHED +SPLATTED
18907      CreationList = OCL_TechnicalJeep_CrushEffect
18908    End
18909    Behavior = CreateCrateDie ModuleTag_14
18910      CrateData = SalvageCrateData
18911      ;CrateData = EliteTankCrateData
18912      ;CrateData = HeroicTankCrateData
18913    End
18914  
18915    Behavior = SlowDeathBehavior ModuleTag_15
18916      DeathTypes = ALL -CRUSHED -SPLATTED
18917      DestructionDelay = 500
18918      DestructionDelayVariance = 1500
18919      OCL = INITIAL OCL_TechnicalAirDeathStart
18920      FX = INITIAL FX_TechnicalAirDeathGroundPart
18921      OCL = FINAL OCL_RocketBuggyAirDeath
18922      FX = FINAL FX_RocketBuggyAirDeathAirPart    ; This happens in the air
18923    End
18924  
18925    Behavior = TransportContain ModuleTag_16
18926      Slots = 5
18927      AllowInsideKindOf   = INFANTRY
18928      DamagePercentToUnits = 10%
18929      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
18930     End
18931  
18932    Behavior = WeaponBonusUpgrade ModuleTag_17 ; Not a full weapon set switch, just a number tweak reflected in a weapon. 
18933      TriggeredBy = Upgrade_GLAAPBullets
18934    End 
18935  
18936    Geometry = BOX
18937    GeometryMajorRadius = 18.0
18938    GeometryMinorRadius = 9.0
18939    GeometryHeight = 7.5     
18940    GeometryIsSmall = No    
18941    Shadow = SHADOW_VOLUME
18942    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
18943  
18944  End
18945  
18946  ;------------------------------------------------------------------------------
18947  ObjectReskin Slth_GLAVehicleTechnicalChassisTwo Slth_GLAVehicleTechnicalChassisOne
18948  
18949    ; *** ART Parameters ***
18950    Draw = W3DTruckDraw ModuleTag_01
18951  
18952      ExtraPublicBone = Dum_Turret 
18953  
18954      DefaultConditionState
18955        Model = UVTechVan
18956      End
18957  
18958      ConditionState = REALLYDAMAGED
18959        Model = UVTechVan_d
18960      End
18961      ConditionState = RUBBLE
18962        Model = UVTechVan_d
18963      End
18964  
18965      OkToChangeModelColor = Yes
18966      TrackMarks = EXTireTrack.tga
18967      Dust = TechnicalDust
18968  
18969      ;DirtSpray = RocketBuggyDirtSpray
18970      PowerslideSpray = RocketBuggyDirtPowerSlide
18971  
18972      ; These parameters are only used if the model has a separate suspension, 
18973      ; and the locomotor has HasSuspension = Yes.
18974      LeftFrontTireBone = Tire01
18975      RightFrontTireBone = Tire02
18976      LeftRearTireBone = Tire03
18977      RightRearTireBone = Tire04
18978      TireRotationMultiplier = 0.2        ; this * speed = rotation.
18979      PowerslideRotationAddition = 2.5    ; This speed is added to the rotation speed when powersliding.
18980    End
18981  
18982    Draw = W3DModelDraw ModuleTag_02
18983      OkToChangeModelColor = Yes
18984      AttachToBoneInAnotherModule = Dum_Turret
18985  
18986      ; ------------------ basic technical ------------------------
18987      DefaultConditionState
18988        Model = UITech_SKN
18989        Turret = Dum-TurManMVR
18990        TurretArtAngle = 180  ; this turret has art pointed 180 degrees backward
18991        HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03
18992        IdleAnimation = UITech_SKL.UITech_STA 0 6
18993        IdleAnimation = UITech_SKL.UITech_IDA
18994        IdleAnimation = UITech_SKL.UITech_IDB
18995        AnimationMode = ONCE
18996        ShowSubObject = 20Cal
18997        WeaponMuzzleFlash = PRIMARY MuzzleFX01
18998        WeaponFireFXBone = PRIMARY Muzzle01
18999      End
19000  
19001      ConditionState = RUBBLE MOVING TURRET_ROTATE
19002        Animation = None
19003        HideSubObject = UITech-SKN
19004        ShowSubObject = 20Cal
19005        WeaponMuzzleFlash = PRIMARY MuzzleFX01
19006        WeaponFireFXBone = PRIMARY Muzzle01
19007      End
19008  
19009      ConditionState = MOVING
19010        Animation = UITech_SKL.UITech_MVB
19011        AnimationMode = LOOP
19012        ShowSubObject = 20Cal
19013        WeaponMuzzleFlash = PRIMARY MuzzleFX01
19014        WeaponFireFXBone = PRIMARY Muzzle01
19015      End
19016  
19017      ConditionState = TURRET_ROTATE
19018        Animation = UITech_SKL.UITech_TNA
19019        AnimationMode = LOOP
19020        ShowSubObject = 20Cal
19021        WeaponMuzzleFlash = PRIMARY MuzzleFX01
19022        WeaponFireFXBone = PRIMARY Muzzle01
19023      End
19024      AliasConditionState = TURRET_ROTATE MOVING
19025      AliasConditionState = TURRET_ROTATE FIRING_A
19026      AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
19027      AliasConditionState = TURRET_ROTATE RELOADING_A
19028      AliasConditionState = TURRET_ROTATE MOVING FIRING_A
19029      AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
19030      AliasConditionState = TURRET_ROTATE MOVING RELOADING_A
19031  
19032      ConditionState = FIRING_A 
19033        Animation = UITech_SKL.UITech_ATA
19034        AnimationMode = LOOP
19035        ShowSubObject = 20Cal
19036        WeaponMuzzleFlash = PRIMARY MuzzleFX01
19037        WeaponFireFXBone = PRIMARY Muzzle01
19038      End
19039  
19040      ; AliasConditionState is a new keyword that says,
19041      ; "give me another ConditionState exactly like the previous
19042      ; one, except with different conditions". Useful when you
19043      ; have several states that are the same with only different condition bits.
19044      AliasConditionState = BETWEEN_FIRING_SHOTS_A
19045      AliasConditionState = RELOADING_A
19046  
19047      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
19048      AliasConditionState = MOVING FIRING_A
19049      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
19050      AliasConditionState = MOVING RELOADING_A
19051  
19052      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------
19053      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
19054        IdleAnimation = UITech_SKL.UITech_STA 0 6
19055        IdleAnimation = UITech_SKL.UITech_IDA
19056        IdleAnimation = UITech_SKL.UITech_IDB
19057        AnimationMode = ONCE
19058        ShowSubObject = 50Cal
19059        WeaponMuzzleFlash = PRIMARY MuzzleFX02
19060        WeaponFireFXBone = PRIMARY Muzzle02
19061        WeaponLaunchBone = PRIMARY Muzzle02
19062      End
19063  
19064      ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE
19065        Animation = None
19066        HideSubObject = UITech-SKN
19067        ShowSubObject = 50Cal
19068        WeaponMuzzleFlash = PRIMARY MuzzleFX02
19069        WeaponFireFXBone = PRIMARY Muzzle02
19070        WeaponLaunchBone = PRIMARY Muzzle02
19071      End
19072  
19073      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE
19074        Animation = UITech_SKL.UITech_MVB
19075        AnimationMode = LOOP
19076        ShowSubObject = 50Cal
19077        WeaponMuzzleFlash = PRIMARY MuzzleFX02
19078        WeaponFireFXBone = PRIMARY Muzzle02
19079        WeaponLaunchBone = PRIMARY Muzzle02
19080      End
19081  
19082      ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE
19083        Animation = UITech_SKL.UITech_TNA
19084        AnimationMode = LOOP
19085        ShowSubObject = 50Cal
19086        WeaponMuzzleFlash = PRIMARY MuzzleFX02
19087        WeaponFireFXBone = PRIMARY Muzzle02
19088        WeaponLaunchBone = PRIMARY Muzzle02
19089      End
19090      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING
19091      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A
19092      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
19093      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A
19094      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A
19095      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
19096      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A
19097  
19098      ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A
19099        Animation = UITech_SKL.UITech_ATA
19100        AnimationMode = LOOP
19101        ShowSubObject = 50Cal
19102        WeaponMuzzleFlash = PRIMARY MuzzleFX02
19103        WeaponFireFXBone = PRIMARY Muzzle02
19104        WeaponLaunchBone = PRIMARY Muzzle02
19105      End
19106  
19107      ; AliasConditionState is a new keyword that says,
19108      ; "give me another ConditionState exactly like the previous
19109      ; one, except with different conditions". Useful when you
19110      ; have several states that are the same with only different condition bits.
19111      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A
19112      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A
19113  
19114      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
19115      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A
19116      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A
19117      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A
19118  
19119  
19120      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------
19121      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
19122        IdleAnimation = UITech_SKL.UITech_STA 0 6
19123        IdleAnimation = UITech_SKL.UITech_IDA
19124        IdleAnimation = UITech_SKL.UITech_IDB
19125        AnimationMode = ONCE
19126        ShowSubObject = RPG
19127        WeaponFireFXBone = PRIMARY Muzzle03
19128        WeaponLaunchBone = PRIMARY Muzzle03
19129      End
19130  
19131      ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE
19132        Animation = None
19133        HideSubObject = UITech-SKN
19134        ShowSubObject = RPG
19135        WeaponFireFXBone = PRIMARY Muzzle03
19136        WeaponLaunchBone = PRIMARY Muzzle03
19137      End
19138  
19139      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO
19140        Animation = UITech_SKL.UITech_MVB
19141        AnimationMode = LOOP
19142        ShowSubObject = RPG
19143        WeaponFireFXBone = PRIMARY Muzzle03
19144        WeaponLaunchBone = PRIMARY Muzzle03
19145      End
19146  
19147      ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE
19148        Animation = UITech_SKL.UITech_TNA
19149        AnimationMode = LOOP
19150        ShowSubObject = RPG
19151        WeaponFireFXBone = PRIMARY Muzzle03
19152        WeaponLaunchBone = PRIMARY Muzzle03
19153      End
19154      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING
19155      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A
19156      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
19157      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A
19158      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A
19159      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
19160      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A
19161  
19162      ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A
19163        Animation = UITech_SKL.UITech_ATA
19164        AnimationMode = LOOP
19165        ShowSubObject = RPG
19166        WeaponFireFXBone = PRIMARY Muzzle03
19167        WeaponLaunchBone = PRIMARY Muzzle03
19168      End
19169  
19170      ; AliasConditionState is a new keyword that says,
19171      ; "give me another ConditionState exactly like the previous
19172      ; one, except with different conditions". Useful when you
19173      ; have several states that are the same with only different condition bits.
19174      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A
19175      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A
19176  
19177      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
19178      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A
19179      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A
19180      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A
19181  
19182    End 
19183    
19184   ; Behavior = CreateObjectDie ModuleTag_13
19185   ;   DeathTypes = NONE +CRUSHED +SPLATTED
19186   ;   CreationList = OCL_TechnicalVan_CrushEffect
19187   ; End
19188  
19189    Geometry = BOX
19190    GeometryMajorRadius = 16.0
19191    GeometryMinorRadius = 8.0
19192    GeometryHeight = 7.5     
19193    GeometryIsSmall = Yes  
19194    
19195  
19196  End
19197  
19198  ;------------------------------------------------------------------------------
19199  ObjectReskin Slth_GLAVehicleTechnicalChassisThree Slth_GLAVehicleTechnicalChassisOne
19200  
19201    ; *** ART Parameters ***
19202    Draw = W3DTruckDraw ModuleTag_01
19203  
19204      ExtraPublicBone = Dum_Turret 
19205  
19206      DefaultConditionState
19207        Model = UVTechJeep
19208      End
19209  
19210      ConditionState = REALLYDAMAGED
19211        Model = UVTechJeep_d
19212      End
19213      ConditionState = RUBBLE
19214        Model = UVTechJeep_d
19215      End
19216  
19217      OkToChangeModelColor = Yes
19218      TrackMarks = EXTireTrack.tga
19219      Dust = TechnicalDust
19220  
19221      ;DirtSpray = RocketBuggyDirtSpray
19222      PowerslideSpray = RocketBuggyDirtPowerSlide
19223  
19224      ; These parameters are only used if the model has a separate suspension, 
19225      ; and the locomotor has HasSuspension = Yes.
19226      LeftFrontTireBone = Tire01
19227      RightFrontTireBone = Tire02
19228      LeftRearTireBone = Tire03
19229      RightRearTireBone = Tire04
19230      TireRotationMultiplier = 0.2        ; this * speed = rotation.
19231      PowerslideRotationAddition = 2.5    ; This speed is added to the rotation speed when powersliding.
19232    End
19233  
19234    Draw = W3DModelDraw ModuleTag_02
19235      OkToChangeModelColor = Yes
19236      AttachToBoneInAnotherModule = Dum_Turret
19237  
19238      ; ------------------ basic technical ------------------------
19239      DefaultConditionState
19240        Model = UITech_SKN
19241        Turret = Dum-TurManMVR
19242        TurretArtAngle = 180  ; this turret has art pointed 180 degrees backward
19243        HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03
19244        IdleAnimation = UITech_SKL.UITech_STA 0 6
19245        IdleAnimation = UITech_SKL.UITech_IDA
19246        IdleAnimation = UITech_SKL.UITech_IDB
19247        AnimationMode = ONCE
19248        ShowSubObject = 20Cal
19249        WeaponMuzzleFlash = PRIMARY MuzzleFX01
19250        WeaponFireFXBone = PRIMARY Muzzle01
19251      End
19252  
19253      ConditionState = RUBBLE MOVING TURRET_ROTATE
19254        Animation = None
19255        HideSubObject = UITech-SKN
19256        ShowSubObject = 20Cal
19257        WeaponMuzzleFlash = PRIMARY MuzzleFX01
19258        WeaponFireFXBone = PRIMARY Muzzle01
19259      End
19260  
19261      ConditionState = MOVING
19262        Animation = UITech_SKL.UITech_MVB
19263        AnimationMode = LOOP
19264        ShowSubObject = 20Cal
19265        WeaponMuzzleFlash = PRIMARY MuzzleFX01
19266        WeaponFireFXBone = PRIMARY Muzzle01
19267      End
19268  
19269      ConditionState = TURRET_ROTATE
19270        Animation = UITech_SKL.UITech_TNA
19271        AnimationMode = LOOP
19272        ShowSubObject = 20Cal
19273        WeaponMuzzleFlash = PRIMARY MuzzleFX01
19274        WeaponFireFXBone = PRIMARY Muzzle01
19275      End
19276      AliasConditionState = TURRET_ROTATE MOVING
19277      AliasConditionState = TURRET_ROTATE FIRING_A
19278      AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
19279      AliasConditionState = TURRET_ROTATE RELOADING_A
19280      AliasConditionState = TURRET_ROTATE MOVING FIRING_A
19281      AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
19282      AliasConditionState = TURRET_ROTATE MOVING RELOADING_A
19283  
19284      ConditionState = FIRING_A
19285        Animation = UITech_SKL.UITech_ATA
19286        AnimationMode = LOOP
19287        ShowSubObject = 20Cal
19288        WeaponMuzzleFlash = PRIMARY MuzzleFX01
19289        WeaponFireFXBone = PRIMARY Muzzle01
19290      End
19291  
19292      ; AliasConditionState is a new keyword that says,
19293      ; "give me another ConditionState exactly like the previous
19294      ; one, except with different conditions". Useful when you
19295      ; have several states that are the same with only different condition bits.
19296      AliasConditionState = BETWEEN_FIRING_SHOTS_A
19297      AliasConditionState = RELOADING_A
19298  
19299      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
19300      AliasConditionState = MOVING FIRING_A
19301      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
19302      AliasConditionState = MOVING RELOADING_A
19303  
19304      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------
19305      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
19306        IdleAnimation = UITech_SKL.UITech_STA 0 6
19307        IdleAnimation = UITech_SKL.UITech_IDA
19308        IdleAnimation = UITech_SKL.UITech_IDB
19309        AnimationMode = ONCE
19310        ShowSubObject = 50Cal
19311        WeaponMuzzleFlash = PRIMARY MuzzleFX02
19312        WeaponFireFXBone = PRIMARY Muzzle02
19313        WeaponLaunchBone = PRIMARY Muzzle02
19314      End
19315  
19316      ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE
19317        Animation = None
19318        HideSubObject = UITech-SKN
19319        ShowSubObject = 50Cal
19320        WeaponMuzzleFlash = PRIMARY MuzzleFX02
19321        WeaponFireFXBone = PRIMARY Muzzle02
19322        WeaponLaunchBone = PRIMARY Muzzle02
19323      End
19324  
19325      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE
19326        Animation = UITech_SKL.UITech_MVB
19327        AnimationMode = LOOP
19328        ShowSubObject = 50Cal
19329        WeaponMuzzleFlash = PRIMARY MuzzleFX02
19330        WeaponFireFXBone = PRIMARY Muzzle02
19331        WeaponLaunchBone = PRIMARY Muzzle02
19332      End
19333  
19334      ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE
19335        Animation = UITech_SKL.UITech_TNA
19336        AnimationMode = LOOP
19337        ShowSubObject = 50Cal
19338        WeaponMuzzleFlash = PRIMARY MuzzleFX02
19339        WeaponFireFXBone = PRIMARY Muzzle02
19340        WeaponLaunchBone = PRIMARY Muzzle02
19341      End
19342      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING
19343      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A
19344      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
19345      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A
19346      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A
19347      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
19348      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A
19349  
19350      ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A
19351        Animation = UITech_SKL.UITech_ATA
19352        AnimationMode = LOOP
19353        ShowSubObject = 50Cal
19354        WeaponMuzzleFlash = PRIMARY MuzzleFX02
19355        WeaponFireFXBone = PRIMARY Muzzle02
19356        WeaponLaunchBone = PRIMARY Muzzle02
19357      End
19358  
19359      ; AliasConditionState is a new keyword that says,
19360      ; "give me another ConditionState exactly like the previous
19361      ; one, except with different conditions". Useful when you
19362      ; have several states that are the same with only different condition bits.
19363      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A
19364      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A
19365  
19366      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
19367      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A
19368      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A
19369      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A
19370  
19371      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------
19372      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
19373        IdleAnimation = UITech_SKL.UITech_STA 0 6
19374        IdleAnimation = UITech_SKL.UITech_IDA
19375        IdleAnimation = UITech_SKL.UITech_IDB
19376        AnimationMode = ONCE
19377        ShowSubObject = RPG
19378        WeaponFireFXBone = PRIMARY Muzzle03
19379        WeaponLaunchBone = PRIMARY Muzzle03
19380      End
19381  
19382      ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE
19383        Animation = None
19384        HideSubObject = UITech-SKN
19385        ShowSubObject = RPG
19386        WeaponFireFXBone = PRIMARY Muzzle03
19387        WeaponLaunchBone = PRIMARY Muzzle03
19388      End
19389  
19390      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO
19391        Animation = UITech_SKL.UITech_MVB
19392        AnimationMode = LOOP
19393        ShowSubObject = RPG
19394        WeaponFireFXBone = PRIMARY Muzzle03
19395        WeaponLaunchBone = PRIMARY Muzzle03
19396      End
19397  
19398      ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE
19399        Animation = UITech_SKL.UITech_TNA
19400        AnimationMode = LOOP
19401        ShowSubObject = RPG
19402        WeaponFireFXBone = PRIMARY Muzzle03
19403        WeaponLaunchBone = PRIMARY Muzzle03
19404      End
19405      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING
19406      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A
19407      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
19408      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A
19409      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A
19410      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
19411      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A
19412  
19413      ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A
19414        Animation = UITech_SKL.UITech_ATA
19415        AnimationMode = LOOP
19416        ShowSubObject = RPG
19417        WeaponFireFXBone = PRIMARY Muzzle03
19418        WeaponLaunchBone = PRIMARY Muzzle03
19419      End
19420  
19421      ; AliasConditionState is a new keyword that says,
19422      ; "give me another ConditionState exactly like the previous
19423      ; one, except with different conditions". Useful when you
19424      ; have several states that are the same with only different condition bits.
19425      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A
19426      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A
19427  
19428      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
19429      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A
19430      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A
19431      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A
19432  
19433    End  
19434    
19435   ; Behavior = CreateObjectDie ModuleTag_13
19436   ;   DeathTypes = NONE +CRUSHED +SPLATTED
19437   ;   CreationList = OCL_TechnicalJeep_CrushEffect
19438   ; End
19439    
19440    Geometry = BOX
19441    GeometryMajorRadius = 14.0
19442    GeometryMinorRadius = 9.0
19443    GeometryHeight = 9.5     
19444    GeometryIsSmall = Yes    
19445    
19446  
19447  End
19448  
19449  
19450  
19451  
19452  
19453  
19454  ;------------------------------------------------------------------------------
19455  ;The Marauder Tank, for the Warlord General.  
19456  Object Slth_GLATankMarauder
19457  
19458    ; *** ART Parameters ***
19459    SelectPortrait         = SUMarauder_L
19460    ButtonImage            = SUMarauder
19461    
19462    UpgradeCameo1 = Upgrade_GLAToxinShells
19463    UpgradeCameo2 = Upgrade_GLAJunkRepair
19464    ;UpgradeCameo3 = NONE
19465    ;UpgradeCameo4 = NONE
19466    ;UpgradeCameo5 = NONE
19467    
19468    Draw = W3DTankDraw ModuleTag_01
19469      OkToChangeModelColor = Yes
19470  
19471  ; no crate upgrade
19472      ConditionState = NONE
19473        Model = UVMarauder
19474        Turret = Turret
19475        ShowSubObject = Turret
19476        HideSubObject = TurretUp01 TurretUp02 BarrelFX01 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash
19477        WeaponFireFXBone = PRIMARY BarrelMS
19478        WeaponRecoilBone = PRIMARY Barrel
19479        WeaponMuzzleFlash = PRIMARY BarrelFX
19480        WeaponLaunchBone = PRIMARY BarrelMS
19481      End
19482  
19483      ConditionState = REALLYDAMAGED
19484        Model = UVMarauder_d
19485        Turret = Turret
19486        ShowSubObject = Turret
19487        HideSubObject = TurretUp01 TurretUp02 BarrelFX01
19488        WeaponFireFXBone = PRIMARY BarrelMS
19489        WeaponRecoilBone = PRIMARY Barrel
19490        WeaponMuzzleFlash = PRIMARY BarrelFX
19491        WeaponLaunchBone = PRIMARY BarrelMS
19492      End
19493  
19494      ConditionState = RUBBLE
19495        Model = UVMarauder_d
19496        Turret = Turret
19497        ShowSubObject = Turret
19498        HideSubObject = TurretUp01 TurretUp02 BarrelFX01
19499        WeaponFireFXBone = PRIMARY BarrelMS
19500        WeaponRecoilBone = PRIMARY Barrel
19501        WeaponMuzzleFlash = PRIMARY BarrelFX
19502        WeaponLaunchBone = PRIMARY BarrelMS
19503      End
19504  
19505  ; crate upgrade 1
19506      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
19507        Model = UVMarauder
19508        Turret = TurretUp01
19509        ShowSubObject = TurretUp01
19510        HideSubObject = Turret TurretUp02 BarrelUp01FX01
19511        WeaponFireFXBone = PRIMARY BarrelUp01MS
19512        WeaponRecoilBone = PRIMARY BarrelUp01
19513        WeaponMuzzleFlash = PRIMARY BarrelUp01FX
19514        WeaponLaunchBone = PRIMARY BarrelUp01MS
19515      End
19516  
19517      ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE
19518        Model = UVMarauder_d
19519        Turret = TurretUp01
19520        ShowSubObject = TurretUp01
19521        HideSubObject = Turret TurretUp02 BarrelUp01FX01
19522        WeaponFireFXBone = PRIMARY BarrelUp01MS
19523        WeaponRecoilBone = PRIMARY BarrelUp01
19524        WeaponMuzzleFlash = PRIMARY BarrelUp01FX
19525        WeaponLaunchBone = PRIMARY BarrelUp01MS
19526      End
19527  
19528      ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_ONE
19529        Model = UVMarauder_d
19530        Turret = TurretUp01
19531        ShowSubObject = TurretUp01
19532        HideSubObject = Turret TurretUp02 BarrelUp01FX01
19533        WeaponFireFXBone = PRIMARY BarrelUp01MS
19534        WeaponRecoilBone = PRIMARY BarrelUp01
19535        WeaponMuzzleFlash = PRIMARY BarrelUp01FX
19536        WeaponLaunchBone = PRIMARY BarrelUp01MS
19537      End
19538  
19539  ; crate upgrade 2
19540      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
19541        Model = UVMarauder
19542        Turret = TurretUp02
19543        ShowSubObject = TurretUp02
19544        HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02
19545        WeaponFireFXBone = PRIMARY BarrelUp02MS
19546        WeaponRecoilBone = PRIMARY BarrelUp02
19547        WeaponMuzzleFlash = PRIMARY BarrelUp02FX
19548        WeaponLaunchBone = PRIMARY BarrelUp02MS
19549      End
19550  
19551      ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO
19552        Model = UVMarauder_d
19553        Turret = TurretUp02
19554        ShowSubObject = TurretUp02
19555        HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02
19556        WeaponFireFXBone = PRIMARY BarrelUp02MS
19557        WeaponRecoilBone = PRIMARY BarrelUp02
19558        WeaponMuzzleFlash = PRIMARY BarrelUp02FX
19559        WeaponLaunchBone = PRIMARY BarrelUp02MS
19560      End
19561  
19562      ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_TWO
19563        Model = UVMarauder_d
19564        Turret = TurretUp02
19565        ShowSubObject = TurretUp02
19566        HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02
19567        WeaponFireFXBone = PRIMARY BarrelUp02MS
19568        WeaponRecoilBone = PRIMARY BarrelUp02
19569        WeaponMuzzleFlash = PRIMARY BarrelUp02FX
19570        WeaponLaunchBone = PRIMARY BarrelUp02MS
19571      End
19572  
19573      TrackMarks = EXTnkTrack.tga
19574      TreadAnimationRate = 2.0;  amount of tread texture to move per second
19575      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
19576      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
19577  
19578    End
19579  
19580    ; ***DESIGN parameters ***
19581    DisplayName           = OBJECT:Marauder
19582    Side                  = GLAStealthGeneral
19583    EditorSorting         = VEHICLE
19584    TransportSlotCount    = 3                 ;how many "slots" we take in a transport (0 == not transportable)
19585    WeaponSet
19586      Conditions = None 
19587      Weapon = PRIMARY MarauderTankGun
19588    End
19589    WeaponSet
19590      Conditions = CRATEUPGRADE_ONE
19591      Weapon = PRIMARY MarauderTankGunUpgradeOne
19592  
19593    End
19594    WeaponSet
19595      Conditions = CRATEUPGRADE_TWO 
19596      Weapon = PRIMARY MarauderTankGunUpgradeTwo
19597    End
19598    ArmorSet
19599      Conditions      = None
19600      Armor           = TankArmor
19601      DamageFX        = TankDamageFX
19602    End
19603    BuildCost       = 800
19604    BuildTime       = 10.0          ;in seconds    
19605    VisionRange     = 125
19606    ShroudClearingRange = 300
19607    Prerequisites
19608      Object = Slth_GLAArmsDealer
19609      Science = SCIENCE_MarauderTank
19610    End
19611  
19612    ExperienceValue = 100 100 200 300    ;Experience point value at each level
19613    ExperienceRequired = 0 200 300 600  ;Experience points needed to gain each level
19614    IsTrainable = Yes             ;Can gain experience
19615    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
19616    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
19617    CommandSet           = GLATankMarauderCommandSet
19618  
19619    ; *** AUDIO Parameters ***
19620    VoiceSelect = MarauderTankVoiceSelect
19621    VoiceMove = MarauderTankVoiceMove
19622    VoiceGuard = MarauderTankVoiceMove
19623    VoiceAttack = MarauderTankVoiceAttack
19624    SoundMoveStart = MarauderTankMoveStart
19625    SoundMoveStartDamaged = MarauderTankMoveStart
19626  
19627    UnitSpecificSounds
19628      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
19629      VoiceCreate     = MarauderTankVoiceCreate
19630      ;TurretMoveStart = NoSound
19631      TurretMoveLoop = TurretMoveLoop
19632      VoiceSalvage = MarauderTankVoiceSalvage      
19633      VoiceCrush = MarauderTankVoiceCrush
19634      VoiceEnter = MarauderTankVoiceMove
19635    End
19636  
19637    ; *** ENGINEERING Parameters ***
19638    RadarPriority = UNIT
19639    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE
19640  
19641    Body = ActiveBody ModuleTag_02
19642      MaxHealth       = 430.0
19643      InitialHealth   = 430.0
19644  
19645      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
19646      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
19647      SubdualDamageCap = 860
19648      SubdualDamageHealRate = 500
19649      SubdualDamageHealAmount = 50
19650    End
19651  
19652    Behavior = AIUpdateInterface ModuleTag_03
19653      AutoAcquireEnemiesWhenIdle = Yes
19654    End
19655    Locomotor = SET_NORMAL MarauderLocomotor
19656    Behavior = PhysicsBehavior ModuleTag_04
19657      Mass = 50.0
19658    End
19659    Behavior = AutoHealBehavior ModuleTag_05
19660      HealingAmount = 2
19661      HealingDelay = 1000 ; msec
19662      TriggeredBy = Upgrade_GLAJunkRepair
19663    End
19664  
19665    ; Catch fire, and explode death
19666    Behavior = SlowDeathBehavior ModuleTag_06
19667      DeathTypes = ALL -CRUSHED -SPLATTED
19668      ProbabilityModifier = 50
19669      DestructionDelay = 1000
19670      DestructionDelayVariance = 300
19671      FX  = INITIAL  FX_CrusaderCatchFire
19672      OCL = FINAL    OCL_MarauderTankDeathEffect  
19673      FX  = FINAL    FX_BattleMasterExplosionOneFinal
19674    End
19675  
19676  
19677    Behavior = CreateCrateDie ModuleTag_07
19678      CrateData = SalvageCrateData
19679      ;CrateData = EliteTankCrateData
19680      ;CrateData = HeroicTankCrateData
19681    End
19682    
19683    Behavior                 = TransitionDamageFX ModuleTag_08
19684      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
19685      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
19686    End
19687    
19688    ; A crushing defeat
19689    Behavior = FXListDie ModuleTag_09
19690      DeathTypes = NONE +CRUSHED +SPLATTED
19691      DeathFX = FX_CarCrush
19692    End
19693  
19694    Behavior = FlammableUpdate ModuleTag_21
19695      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
19696      AflameDamageAmount = 3       ; taking this much damage...
19697      AflameDamageDelay = 500       ; this often.
19698    End
19699  
19700    Geometry = BOX
19701    GeometryMajorRadius = 17.0
19702    GeometryMinorRadius = 10.0
19703    GeometryHeight = 9.5     
19704    GeometryIsSmall = Yes 
19705    Shadow = SHADOW_VOLUME   
19706    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
19707  
19708  End
19709  
19710  
19711  
19712  ;------------------------------------------------------------------------------
19713  ;GLA Radar Van
19714  Object Slth_GLAVehicleRadarVan
19715  
19716    ; *** ART Parameters ***
19717    SelectPortrait         = SURadarVan_L
19718    ButtonImage            = SURadarVan
19719    
19720    UpgradeCameo1 = Upgrade_GLARadarVanScan
19721    UpgradeCameo2 = Upgrade_GLAJunkRepair
19722    ;UpgradeCameo3 = NONE
19723    ;UpgradeCameo4 = NONE
19724    ;UpgradeCameo5 = NONE
19725    
19726    Draw = W3DTruckDraw ModuleTag_01
19727      OkToChangeModelColor = Yes
19728  
19729      DefaultConditionState
19730        Model = UVRadarVan
19731        Animation = UVRadarVan.UVRadarVan
19732        AnimationMode = LOOP
19733      End
19734      
19735      ConditionState = REALLYDAMAGED
19736        Model = UVRadarVan_D
19737        Animation = UVRadarVan_D.UVRadarVan_D
19738        AnimationMode = LOOP
19739      End
19740      
19741      ConditionState = RUBBLE
19742        Model = UVRadarVan_D
19743        Animation = UVRadarVan_D.UVRadarVan_D
19744        AnimationMode = LOOP
19745      End
19746      
19747      TrackMarks = EXTireTrack.tga
19748      
19749      ; These parameters are only used if the model has a separate suspension, 
19750      ; and the locomotor has HasSuspension = Yes.
19751      LeftFrontTireBone = Tire01
19752      RightFrontTireBone = Tire02
19753      LeftRearTireBone = Tire03
19754      RightRearTireBone = Tire04
19755      TireRotationMultiplier = 0.2   ; this * speed = rotation.
19756      PowerslideRotationAddition = 2.5   ; This speed is added to the rotation speed when powersliding.
19757    End
19758  
19759    ; ***DESIGN parameters ***
19760    DisplayName      = OBJECT:RadarVan
19761    Side = GLAStealthGeneral
19762    EditorSorting   = VEHICLE
19763    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
19764    ArmorSet
19765      Conditions      = None
19766      Armor           = TruckArmor
19767      DamageFX        = TankDamageFX
19768    End
19769    BuildCost       = 500
19770    BuildTime       = 10.0          ;in seconds    
19771    VisionRange     = 200
19772    ShroudClearingRange = 500
19773    Prerequisites
19774      Object = Slth_GLAArmsDealer
19775    End
19776    IsTrainable = No
19777    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
19778    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
19779    CommandSet      = Slth_GLAVehicleRadarVanCommandSet
19780  
19781    ; *** AUDIO Parameters ***
19782    VoiceSelect = RadarVanVoiceSelect
19783    VoiceMove = RadarVanVoiceMove
19784    VoiceAttack = RadarVanVoiceMove
19785    SoundMoveStart = RadarVanMoveStart
19786    SoundMoveStartDamaged = RadarVanMoveStart
19787  
19788    UnitSpecificSounds
19789      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
19790      VoiceCreate     = RadarVanVoiceCreate
19791      TurretMoveStart = NoSound
19792      TurretMoveLoop = TurretMoveLoop  
19793    ; Required for the W3DTruckDraw module
19794      TruckLandingSound = NoSound ;RocketBuggyLand
19795      TruckPowerslideSound = NoSound ;RocketBuggyPowerslide
19796      VoiceCrush      = RadarVanVoiceCrush
19797      VoiceEnter = RadarVanVoiceMove
19798    End
19799  
19800    ; *** ENGINEERING Parameters ***
19801    RadarPriority = UNIT
19802    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE IGNORES_SELECT_ALL
19803  
19804    Body = ActiveBody ModuleTag_02
19805      MaxHealth       = 200
19806      InitialHealth   = 200
19807  
19808      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
19809      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
19810      SubdualDamageCap = 400
19811      SubdualDamageHealRate = 500
19812      SubdualDamageHealAmount = 50
19813    End
19814  
19815    ExperienceValue     = 20 20 20 20  ; Experience point value at each level
19816  
19817    Behavior = GrantUpgradeCreate ModuleTag_03
19818      UpgradeToGrant     = Upgrade_GLARadar
19819    End
19820    Behavior        = RadarUpgrade ModuleTag_05
19821      TriggeredBy   = Upgrade_GLARadar
19822      DisableProof  = Yes ; Won't be disabled by power low
19823    End
19824  
19825    Behavior           = OCLSpecialPower ModuleTag_06
19826      SpecialPowerTemplate = SpecialPowerRadarVanScan
19827      OCL                  = SUPERWEAPON_RadarVanScan
19828      CreateLocation       = CREATE_AT_LOCATION
19829      StartsPaused         = Yes ; Unpaused by upgrade module
19830    End
19831  
19832    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_07
19833      SpecialPowerTemplate = SpecialPowerRadarVanScan
19834      TriggeredBy = Upgrade_GLARadarVanScan
19835    End
19836  
19837    Behavior = AutoHealBehavior ModuleTag_08
19838      HealingAmount = 2
19839      HealingDelay = 1000 ; msec
19840      TriggeredBy = Upgrade_GLAJunkRepair
19841    End
19842  
19843    Behavior = AIUpdateInterface ModuleTag_09
19844      Turret
19845        TurretTurnRate = 100
19846        ControlledWeaponSlots = PRIMARY
19847      End
19848    End
19849    Locomotor = SET_NORMAL RadarVanLocomotor
19850  
19851    Behavior = PhysicsBehavior ModuleTag_10
19852      Mass = 50.0
19853    End
19854  
19855  ; The default explosion
19856    Behavior = SlowDeathBehavior  ModuleTag_11
19857      DeathTypes = ALL -CRUSHED -SPLATTED
19858      ProbabilityModifier = 5
19859      ModifierBonusPerOverkillPercent = 20%  ; negative means less likely to pick this in the face of much damage, positive means more likely
19860      DestructionDelay = 0
19861      DestructionDelayVariance = 200
19862      FX = FINAL FX_BuggyNewDeathExplosion
19863      OCL = FINAL OCL_RadarVanDeathEffect
19864    End
19865  
19866  
19867    Behavior = FlammableUpdate ModuleTag_13
19868      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
19869      AflameDamageAmount = 3       ; taking this much damage...
19870      AflameDamageDelay = 500       ; this often.
19871    End
19872  
19873    Behavior = DestroyDie ModuleTag_14
19874      DeathTypes = NONE +CRUSHED +SPLATTED
19875    End
19876    Behavior = CreateCrateDie ModuleTag_15
19877      CrateData = SalvageCrateData
19878      ;CrateData = EliteTankCrateData
19879      ;CrateData = HeroicTankCrateData
19880    End
19881  
19882    Behavior = StealthDetectorUpdate ModuleTag_16
19883      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
19884      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
19885      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
19886      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
19887    End
19888  
19889    ; A crushing defeat
19890    Behavior = FXListDie ModuleTag_17
19891      DeathTypes = NONE +CRUSHED +SPLATTED
19892      DeathFX = FX_CarCrush
19893    End
19894    Behavior = CreateObjectDie ModuleTag_18
19895      DeathTypes = NONE +CRUSHED +SPLATTED
19896      CreationList = OCL_CrusaderTank_CrushEffect
19897    End
19898  
19899    Behavior                 = TransitionDamageFX ModuleTag_19
19900      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
19901      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_CrusaderDamageTransition
19902    End
19903    
19904    Geometry = BOX
19905    GeometryMajorRadius = 16.0
19906    GeometryMinorRadius = 6.0
19907    GeometryHeight = 12.5     
19908    GeometryIsSmall = Yes    
19909    Shadow = SHADOW_VOLUME
19910    ShadowSizeX = 45  ;minimum elevation angle above horizon. Used to limit shadow length
19911  
19912  End
19913  
19914  ;------------------------------------------------------------------------------
19915  Object Slth_GLAVehicleBattleBus
19916  
19917    ; *** ART Parameters ***
19918    SelectPortrait         = SUbattlebus_L
19919    ButtonImage            = SUbattlebus
19920    
19921    UpgradeCameo1 = Upgrade_GLAJunkRepair
19922    
19923    
19924    Draw = W3DTruckDraw ModuleTag_01
19925      OkToChangeModelColor = Yes
19926      TrackMarks = EXTireTrack.tga
19927      ExtraPublicBone = BUSUP01
19928      ExtraPublicBone = BUSUP02
19929      
19930      DefaultConditionState
19931        Model = UVBATTBUS
19932        HideSubObject = BUSUP01 BUSUP02
19933        Animation = UVBATTBUS.UVBATTBUS
19934        AnimationMode = MANUAL
19935      End
19936      ConditionState = MOVING
19937        Model = UVBATTBUS
19938        Animation = UVBATTBUS.UVBATTBUS
19939        AnimationMode = LOOP
19940      End
19941  
19942      ConditionState = REALLYDAMAGED
19943        Model = UVBATTBUS_D
19944        Animation = UVBATTBUS_D.UVBATTBUS_D
19945        AnimationMode = MANUAL
19946      End
19947      ConditionState = REALLYDAMAGED MOVING
19948        Model = UVBATTBUS_D
19949        Animation = UVBATTBUS_D.UVBATTBUS_D
19950        AnimationMode = LOOP
19951      End
19952  
19953      ConditionState = SECOND_LIFE ; Set after our first death, natch
19954        Model = UVBATTBUS_D1
19955        Animation = UVBATTBUS_D1.UVBATTBUS_D1
19956        AnimationMode = MANUAL
19957      End
19958      AliasConditionState = REALLYDAMAGED SECOND_LIFE
19959      AliasConditionState = RUBBLE SECOND_LIFE
19960      
19961      ConditionState = RUBBLE
19962        Model = UVBATTBUS_D
19963      End
19964  
19965  ;--------- One crates
19966      ConditionState = ARMORSET_CRATEUPGRADE_ONE
19967        Model = UVBATTBUS
19968        ShowSubObject = BUSUP01
19969        HideSubObject = BUSUP02
19970        Animation = UVBATTBUS.UVBATTBUS
19971        AnimationMode = MANUAL
19972      End
19973      ConditionState = MOVING ARMORSET_CRATEUPGRADE_ONE
19974        Model = UVBATTBUS
19975        ShowSubObject = BUSUP01
19976        HideSubObject = BUSUP02
19977        Animation = UVBATTBUS.UVBATTBUS
19978        AnimationMode = LOOP
19979      End
19980  
19981      ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_ONE
19982        Model = UVBATTBUS_D
19983        ShowSubObject = BUSUP01
19984        HideSubObject = BUSUP02
19985        Animation = UVBATTBUS_D.UVBATTBUS_D
19986        AnimationMode = MANUAL
19987      End
19988      ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_ONE
19989        Model = UVBATTBUS_D
19990        ShowSubObject = BUSUP01
19991        HideSubObject = BUSUP02
19992        Animation = UVBATTBUS_D.UVBATTBUS_D
19993        AnimationMode = LOOP
19994      End
19995  
19996      ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE
19997        Model = UVBATTBUS_D1
19998        ShowSubObject = BUSUP01
19999        HideSubObject = BUSUP02
20000        Animation = UVBATTBUS_D1.UVBATTBUS_D1
20001        AnimationMode = MANUAL
20002      End
20003      AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE
20004      AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE
20005      
20006      ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_ONE
20007        Model = UVBATTBUS_D
20008        ShowSubObject = BUSUP01
20009        HideSubObject = BUSUP02
20010      End
20011  
20012  ;--------- Two crates
20013      ConditionState = ARMORSET_CRATEUPGRADE_TWO
20014        Model = UVBATTBUS
20015        ShowSubObject = BUSUP01 BUSUP02
20016        Animation = UVBATTBUS.UVBATTBUS
20017        AnimationMode = MANUAL
20018      End
20019      ConditionState = MOVING ARMORSET_CRATEUPGRADE_TWO
20020        Model = UVBATTBUS
20021        ShowSubObject = BUSUP01 BUSUP02
20022        Animation = UVBATTBUS.UVBATTBUS
20023        AnimationMode = LOOP
20024      End
20025  
20026      ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_TWO
20027        Model = UVBATTBUS_D
20028        ShowSubObject = BUSUP01 BUSUP02
20029        Animation = UVBATTBUS_D.UVBATTBUS_D
20030        AnimationMode = MANUAL
20031      End
20032      ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_TWO
20033        Model = UVBATTBUS_D
20034        ShowSubObject = BUSUP01 BUSUP02
20035        Animation = UVBATTBUS_D.UVBATTBUS_D
20036        AnimationMode = LOOP
20037      End
20038  
20039      ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO
20040        Model = UVBATTBUS_D1
20041        ShowSubObject = BUSUP01 BUSUP02
20042        Animation = UVBATTBUS_D1.UVBATTBUS_D1
20043        AnimationMode = MANUAL
20044      End
20045      AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO 
20046      AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO
20047      
20048      ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_TWO
20049        Model = UVBATTBUS_D
20050        ShowSubObject = BUSUP01 BUSUP02
20051      End
20052  
20053      LeftFrontTireBone = Tire01
20054      RightFrontTireBone = Tire04
20055      LeftRearTireBone = Tire02
20056      RightRearTireBone = Tire03
20057      TireRotationMultiplier = 0.2   ; this * speed = rotation.
20058  
20059      Dust = RocketBuggyDust
20060      DirtSpray = RocketBuggyDirtSpray
20061      PowerslideSpray = RocketBuggyDirtPowerSlide
20062  
20063    End
20064    PlacementViewAngle = 180
20065    ; ***DESIGN parameters ***
20066    DisplayName      = OBJECT:BattleBus
20067    Side = GLAStealthGeneral
20068    EditorSorting   = VEHICLE
20069    TransportSlotCount = 8                 ;how many "slots" we take in a transport (0 == not transportable)
20070    WeaponSet
20071      Conditions = None 
20072      Weapon = PRIMARY None 
20073    End
20074    WeaponSet
20075      Conditions          = PLAYER_UPGRADE 
20076      Weapon              = PRIMARY     BattleBusPassengerDummyWeapon
20077    End
20078  
20079    ArmorSet
20080      Conditions      = None
20081      Armor           = BattleBusTruckArmor
20082      DamageFX        = TruckDamageFX
20083    End
20084    ArmorSet
20085      Conditions      = SECOND_LIFE ; Set after our first death, natch
20086      Armor           = BattleBusStructureArmorTough
20087      DamageFX        = StructureDamageFX
20088    End
20089  
20090    ArmorSet
20091      Conditions      = CRATE_UPGRADE_ONE
20092      Armor           = BattleBusTruckArmorPlusOne
20093      DamageFX        = TruckDamageFX
20094    End
20095    ArmorSet
20096      Conditions      = CRATE_UPGRADE_ONE SECOND_LIFE ; Set after our first death, natch
20097      Armor           = BattleBusStructureArmorToughPlusOne
20098      DamageFX        = StructureDamageFX
20099    End
20100  
20101    ArmorSet
20102      Conditions      = CRATE_UPGRADE_TWO
20103      Armor           = BattleBusTruckArmorPlusTwo
20104      DamageFX        = TruckDamageFX
20105    End
20106    ArmorSet
20107      Conditions      = CRATE_UPGRADE_TWO SECOND_LIFE ; Set after our first death, natch
20108      Armor           = BattleBusStructureArmorToughPlusTwo
20109      DamageFX        = StructureDamageFX
20110    End
20111  
20112    BuildCost       = 1000
20113    BuildTime       = 15.0          ;in seconds    
20114    VisionRange     = 150 ; Used in attack move targeting
20115    ShroudClearingRange     = 200
20116    Prerequisites
20117      Object = Slth_GLAArmsDealer
20118      Object = Slth_GLAPalace
20119    End
20120    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
20121    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
20122    CommandSet = Slth_GLAVehicleBattleBusCommandSet
20123  
20124    ; *** AUDIO Parameters ***
20125    VoiceSelect = BattleBusVoiceSelect
20126    VoiceMove = BattleBusVoiceMove
20127    VoiceGuard = BattleBusVoiceMove
20128    VoiceAttack = BattleBusVoiceAttack
20129    SoundMoveStart = BattleBusMoveStart
20130    SoundMoveStartDamaged = BattleBusMoveStart
20131    SoundEnter = HumveeEnter
20132    SoundExit = HumveeExit
20133  
20134    UnitSpecificSounds
20135      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
20136      VoiceCreate                   = BattleBusVoiceCreate
20137      TurretMoveStart               = NoSound
20138      TurretMoveLoop                = NoSound
20139      TruckLandingSound             = RocketBuggyLand
20140      TruckPowerslideSound          = RocketBuggyPowerslide
20141      VoiceUnload                   = BattleBusVoiceUnload
20142    End
20143  
20144    ; *** ENGINEERING Parameters ***
20145    RadarPriority = UNIT
20146    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER ARMOR_SALVAGER SCORE
20147  
20148    Body = UndeadBody ModuleTag_02 ; Body module that treats the first death as a state change
20149      MaxHealth           = 400.0
20150      InitialHealth       = 400.0
20151  
20152      SecondLifeMaxHealth = 650.0
20153  
20154      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
20155      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
20156      SubdualDamageCap = 750
20157      SubdualDamageHealRate = 500
20158      SubdualDamageHealAmount = 50
20159    End
20160  
20161    IsTrainable = No
20162    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
20163  
20164    Behavior = AIUpdateInterface ModuleTag_04
20165      AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS
20166    End
20167  
20168    Behavior = PhysicsBehavior ModuleTag_05
20169      Mass = 40.0
20170    End
20171  
20172    Behavior = AutoHealBehavior ModuleTag_06
20173      HealingAmount = 2
20174      HealingDelay = 1000 ; msec
20175      TriggeredBy = Upgrade_GLAJunkRepair
20176    End
20177  
20178    Locomotor = SET_NORMAL BattleBusLocomotor
20179  
20180    Behavior = BattleBusSlowDeathBehavior  ModuleTag_08
20181      DeathTypes = ALL -CRUSHED -SPLATTED -EXTRA_4
20182      ProbabilityModifier = 5
20183      ModifierBonusPerOverkillPercent = 20%  ; negative means less likely to pick this in the face of much damage, positive means more likely
20184  
20185      ; Part the first, uses when killed the first time from non-system (unresistable) damage
20186      FXStartUndeath = FX_BattleBusStartUndeath
20187      OCLStartUndeath = OCL_BattleBusStartUndeath
20188      FXHitGround = FX_BattleBusHitGround
20189      OCLHitGround = OCL_BattleBusHitGround
20190      ThrowForce = 100.0
20191      PercentDamageToPassengers = 50%
20192      EmptyHulkDestructionDelay = 1000 ; If non-zero, msec of emptiness before we kill ourselves with Penalty damage
20193  
20194      ; Part the second, normal fields of a SlowDeathBehavior
20195      DestructionDelay = 0
20196      DestructionDelayVariance = 200
20197      FX = FINAL FX_BuggyNewDeathExplosion
20198      OCL = FINAL OCL_BattleBusDeath
20199    End
20200  
20201    Behavior = TransportContain  ModuleTag_10
20202      PassengersAllowedToFire = Yes
20203      Slots             = 8
20204      DamagePercentToUnits = 100%
20205      AllowInsideKindOf  = INFANTRY
20206      ExitDelay = 250
20207      NumberOfExitPaths = 5 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
20208      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
20209      WeaponBonusPassedToPassengers = Yes
20210      DelayExitInAir = Yes
20211      ArmedRidersUpgradeMyWeaponSet = Yes
20212    End
20213  
20214  ; Module 11 cut.
20215  ;  Behavior = HordeUpdate ModuleTag_11
20216  ;    RubOffRadius = 150    ; if I am this close to a real hordesman, I will get to be an honorary hordesman
20217  ;    UpdateRate = 1000     ; how often to recheck horde status (msec)
20218  ;    Radius = 75           ; how close other units must be to us to count towards our horde-ness (~30 feet or so)
20219  ;    AlliesOnly = Yes      ; do we only count allies towards horde status? 
20220  ;    ExactMatch = Yes      ; do we only count units of our exact same type towards horde status? (overrides kindof)
20221  ;    Count = 5             ; how many units must be within Radius to grant us horde-ness
20222  ;    Action = HORDE        ; when horde-ing, grant us the HORDE bonus
20223  ;  End
20224  
20225    ; A crushing defeat
20226    Behavior = FXListDie ModuleTag_23
20227      DeathTypes = NONE +CRUSHED +SPLATTED
20228      DeathFX = FX_CarCrush
20229    End
20230    Behavior = CreateObjectDie ModuleTag_24
20231      DeathTypes = NONE +CRUSHED +SPLATTED
20232      CreationList = OCL_CrusaderTank_CrushEffect
20233    End
20234    Behavior = CreateCrateDie ModuleTag_25
20235      CrateData = SalvageCrateData
20236    End
20237    
20238    Behavior = FlammableUpdate ModuleTag_28
20239      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
20240      AflameDamageAmount = 3       ; taking this much damage...
20241      AflameDamageDelay = 500       ; this often.
20242    End
20243  
20244    Behavior = DestroyDie ModuleTag_29
20245      DeathTypes = NONE +CRUSHED +SPLATTED
20246    End
20247  
20248    Behavior = SlowDeathBehavior ModuleTag_30 // Empty Hulk sinking away
20249      DeathTypes = NONE +EXTRA_4
20250  
20251      SinkDelay = 1
20252      SinkRate = 2.5
20253      DestructionDelay = 5000
20254    End
20255  
20256    Behavior                 = TransitionDamageFX ModuleTag_31
20257      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
20258      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
20259    End
20260  
20261    Geometry = BOX
20262    GeometryMajorRadius = 19.0
20263    GeometryMinorRadius = 8.0
20264    GeometryHeight = 11.5     
20265    GeometryIsSmall = No    
20266    Shadow = SHADOW_VOLUME
20267    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
20268  
20269  End
20270  
20271  Object Slth_GLAAirport
20272  
20273    ; *** ART Parameters ***
20274    SelectPortrait         = T4
20275    ButtonImage            = T4
20276    UpgradeCameo1 = Upgrade_GLACamoNetting
20277    Draw = W3DModelDraw ModuleTag_01
20278  
20279      ExtraPublicBone = Runway1Parking1 
20280      ExtraPublicBone = Runway1Parking2 
20281      ExtraPublicBone = Runway2Parking1 
20282      ExtraPublicBone = Runway2Parking2 
20283      ExtraPublicBone = Runway1Park1Han
20284      ExtraPublicBone = Runway1Park2Han
20285      ExtraPublicBone = Runway2Park1Han
20286      ExtraPublicBone = Runway2Park2Han 
20287      ExtraPublicBone = Runway1Prep1 
20288      ExtraPublicBone = Runway1Prep2 
20289      ExtraPublicBone = Runway2Prep1 
20290      ExtraPublicBone = Runway2Prep2 
20291      ExtraPublicBone = RunwayStart1 
20292      ExtraPublicBone = RunwayStart2 
20293      ExtraPublicBone = RunwayEnd1 
20294      ExtraPublicBone = RunwayEnd2
20295      ExtraPublicBone = HeliPark01
20296  
20297      OkToChangeModelColor = Yes
20298  
20299      ; day ********************************************
20300      DefaultConditionState
20301        Model              = UBAIRF
20302        Animation          = UBAIRF.UBAIRF
20303        AnimationMode      = LOOP
20304      End
20305      ConditionState       = DAMAGED
20306        Model              = UBAIRF
20307        Animation          = UBAIRF.UBAIRF
20308        AnimationMode      = LOOP
20309        ParticleSysBone    = Smoke01 SmolderingSmoke
20310        ParticleSysBone    = Fire01 SmolderingFire
20311      End
20312      ConditionState       = REALLYDAMAGED RUBBLE
20313        Model              = UBAIRF
20314        Animation          = UBAIRF.UBAIRF
20315        AnimationMode      = LOOP
20316        ParticleSysBone    = Smoke01 SmolderingSmoke
20317        ParticleSysBone    = Fire01 SmolderingFire
20318        ParticleSysBone    = Spark01 SparksLarge
20319      End
20320      
20321  
20322      ; night ******************************************
20323      ConditionState       = NIGHT
20324        Model              = UBAIRF
20325        Animation          = UBAIRF.UBAIRF
20326        AnimationMode      = LOOP
20327      End
20328      ConditionState       = DAMAGED NIGHT
20329        Model              = UBAIRF
20330        Animation          = UBAIRF.UBAIRF
20331        AnimationMode      = LOOP
20332      End
20333      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
20334        Model              = UBAIRF
20335        Animation          = UBAIRF.UBAIRF
20336        AnimationMode      = LOOP
20337      End
20338      
20339      
20340         ;**************************************************************************************************************************
20341      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
20342      ;for this draw module
20343      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
20344        Model              = UBAIRF
20345        Animation          = UBAIRF.UBAIRF
20346        AnimationMode      = LOOP
20347        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20348      End
20349      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
20350        Model              = UBAIRF
20351        Animation          = UBAIRF.UBAIRF
20352        AnimationMode      = LOOP
20353        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20354      End
20355      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
20356        Model              = UBAIRF
20357        Animation          = UBAIRF.UBAIRF
20358        AnimationMode      = LOOP
20359        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20360      End
20361      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
20362        Model              = UBAIRF
20363        Animation          = UBAIRF.UBAIRF
20364        AnimationMode      = LOOP
20365        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20366      End
20367      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
20368        Model              = UBAIRF
20369        Animation          = UBAIRF.UBAIRF
20370        AnimationMode      = LOOP
20371        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20372      End
20373      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
20374        Model              = UBAIRF
20375        Animation          = UBAIRF.UBAIRF
20376        AnimationMode      = LOOP
20377        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20378      End
20379  
20380      ConditionState       = AWAITING_CONSTRUCTION 
20381        Model              = NONE
20382      End
20383      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
20384      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
20385      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
20386      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
20387      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
20388      AliasConditionState  = SOLD 
20389      AliasConditionState  = SOLD DAMAGED
20390      AliasConditionState  = SOLD REALLYDAMAGED
20391      AliasConditionState  = SOLD NIGHT
20392      AliasConditionState  = SOLD NIGHT DAMAGED
20393      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
20394      ;**************************************************************************************************************************
20395  
20396    End
20397  
20398    ; ------------ construction-zone fence -----------------
20399    Draw = W3DModelDraw ModuleTag_07
20400    AnimationsRequirePower = No
20401      DefaultConditionState
20402        Model           = None
20403        TransitionKey   = DOWN_DEFAULT
20404      End
20405      ConditionState    = NIGHT
20406        Model           = None
20407        TransitionKey   = DOWN_DEFAULT
20408      End
20409  
20410      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
20411        Model           = UBAIRF
20412        Animation       = UBAIRF.UBAIRF
20413        AnimationMode   = MANUAL
20414        Flags           = START_FRAME_LAST
20415        TransitionKey   = UP_DAY
20416        ParticleSysBone = SmokeS01 SmokeBuildingSmall
20417        ParticleSysBone = SparksS01 LiveWireSparks02
20418      End
20419  
20420      TransitionState   = DOWN_DEFAULT UP_DAY
20421        Model           = UBAIRF
20422        Animation       = UBAIRF.UBAIRF
20423        AnimationMode   = ONCE
20424        AnimationSpeedFactorRange = 1.0 1.0
20425        Flags           = START_FRAME_FIRST
20426      End
20427  
20428      TransitionState   = UP_DAY DOWN_DEFAULT
20429        Model           = UBAIRF
20430        Animation       = UBAIRF.UBAIRF
20431        AnimationMode   = ONCE_BACKWARDS
20432        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
20433        Flags           = START_FRAME_LAST
20434      End
20435   End
20436  
20437    ; ------------ under-construction scaffolding -----------------
20438    Draw = W3DModelDraw ModuleTag_08
20439    AnimationsRequirePower = No
20440      MinLODRequired = MEDIUM
20441      DefaultConditionState
20442        Model           = None
20443        TransitionKey   = DOWN_DEFAULT
20444      End
20445      ConditionState    = NIGHT
20446        Model           = None
20447        TransitionKey   = DOWN_DEFAULT
20448      End
20449      ConditionState    = SNOW
20450        Model           = None
20451        TransitionKey   = DOWN_DEFAULT
20452      End
20453      ConditionState    = SNOW NIGHT
20454        Model           = None
20455        TransitionKey   = DOWN_DEFAULT
20456      End
20457      ConditionState    = PARTIALLY_CONSTRUCTED
20458        Model           = UBPalace_A6
20459        Animation       = UBPalace_A6.UBPalace_A6
20460        AnimationMode   = MANUAL
20461        Flags           = START_FRAME_LAST
20462        TransitionKey   = UP_DAY
20463        ParticleSysBone = Dust01 BuildingDust
20464        ParticleSysBone = Smoke01 BuildUpSmoke
20465        ParticleSysBone = Smoke02 BuildUpSmoke
20466        ParticleSysBone = Smoke03 BuildUpSmoke
20467        ParticleSysBone = Smoke04 BuildUpSmoke
20468        ParticleSysBone = Smoke05 BuildUpSmoke
20469      End
20470      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
20471        Model           = UBPalace_A6N
20472        Animation       = UBPalace_A6N.UBPalace_A6N
20473        AnimationMode   = MANUAL
20474        Flags           = START_FRAME_LAST
20475        TransitionKey   = UP_NIGHT
20476        ParticleSysBone = Dust01 BuildingDust
20477        ParticleSysBone = Smoke01 BuildUpSmoke
20478        ParticleSysBone = Smoke02 BuildUpSmoke
20479        ParticleSysBone = Smoke03 BuildUpSmoke
20480        ParticleSysBone = Smoke04 BuildUpSmoke
20481        ParticleSysBone = Smoke05 BuildUpSmoke
20482      End
20483      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
20484        Model           = UBPalace_A6S
20485        Animation       = UBPalace_A6S.UBPalace_A6S
20486        AnimationMode   = MANUAL
20487        Flags           = START_FRAME_LAST
20488        TransitionKey   = UP_SNOW
20489        ParticleSysBone = Dust01 BuildingSnowDust
20490        ParticleSysBone = Smoke01 BuildUpSnowSmoke
20491        ParticleSysBone = Smoke02 BuildUpSnowSmoke
20492        ParticleSysBone = Smoke03 BuildUpSnowSmoke
20493        ParticleSysBone = Smoke04 BuildUpSnowSmoke
20494        ParticleSysBone = Smoke05 BuildUpSnowSmoke
20495      End
20496      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
20497        Model           = UBPalace_A6SN
20498        Animation       = UBPalace_A6SN.UBPalace_A6SN
20499        AnimationMode   = MANUAL
20500        Flags           = START_FRAME_LAST
20501        TransitionKey   = UP_SNOWNIGHT
20502        ParticleSysBone = Dust01 BuildingNightSnowDust
20503        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
20504        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
20505        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
20506        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
20507        ParticleSysBone = Smoke05 BuildUpNightSnowSmoke
20508      End
20509      TransitionState   = DOWN_DEFAULT UP_DAY
20510       Model            = UBPalace_A6
20511        Animation       = UBPalace_A6.UBPalace_A6
20512        AnimationMode   = ONCE
20513        AnimationSpeedFactorRange = 1.0 1.0
20514        Flags           = START_FRAME_FIRST
20515      End
20516      TransitionState   = DOWN_DEFAULT UP_NIGHT
20517       Model            = UBPalace_A6N
20518        Animation       = UBPalace_A6N.UBPalace_A6N
20519        AnimationMode   = ONCE
20520        AnimationSpeedFactorRange = 1.0 1.0
20521        Flags           = START_FRAME_FIRST
20522      End
20523      TransitionState   = DOWN_DEFAULT UP_SNOW
20524       Model            = UBPalace_A6S
20525        Animation       = UBPalace_A6S.UBPalace_A6S
20526        AnimationMode   = ONCE
20527        AnimationSpeedFactorRange = 1.0 1.0
20528        Flags           = START_FRAME_FIRST
20529      End
20530      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
20531       Model            = UBPalace_A6SN
20532        Animation       = UBPalace_A6SN.UBPalace_A6SN
20533        AnimationMode   = ONCE
20534        AnimationSpeedFactorRange = 1.0 1.0
20535        Flags           = START_FRAME_FIRST
20536      End
20537      TransitionState   = UP_DAY DOWN_DEFAULT
20538        Model           = UBPalace_A6
20539        Animation       = UBPalace_A6.UBPalace_A6
20540        AnimationMode   = ONCE_BACKWARDS
20541        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
20542        Flags           = START_FRAME_LAST
20543      End
20544      TransitionState   = UP_NIGHT DOWN_DEFAULT
20545        Model           = UBPalace_A6N
20546        Animation       = UBPalace_A6N.UBPalace_A6N
20547        AnimationMode   = ONCE_BACKWARDS
20548        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
20549        Flags           = START_FRAME_LAST
20550      End
20551      TransitionState   = UP_SNOW DOWN_DEFAULT
20552        Model           = UBPalace_A6S
20553        Animation       = UBPalace_A6S.UBPalace_A6S
20554        AnimationMode   = ONCE_BACKWARDS
20555        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
20556        Flags           = START_FRAME_LAST
20557      End
20558      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
20559        Model           = UBPalace_A6SN
20560        Animation       = UBPalace_A6SN.UBPalace_A6SN
20561        AnimationMode   = ONCE_BACKWARDS
20562        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
20563        Flags           = START_FRAME_LAST
20564      End
20565    End
20566  
20567    ; ------------ being-constructed crane -----------------
20568    Draw = W3DModelDraw ModuleTag_09
20569    AnimationsRequirePower = No
20570      DefaultConditionState
20571        Model           = None
20572        TransitionKey   = DOWN_DEFAULT
20573      End
20574      ConditionState    = NIGHT
20575        Model           = None
20576        TransitionKey   = DOWN_DEFAULT
20577      End
20578  
20579      ConditionState    = SOLD
20580        Model           = NONE
20581      End
20582  
20583      ConditionState    = ACTIVELY_BEING_CONSTRUCTED
20584        Model           = UBAIRF
20585        Animation       = UBAIRF.UBAIRF
20586        AnimationMode   = LOOP
20587        TransitionKey   = UP_DAY
20588      End
20589  
20590    End
20591  
20592    PlacementViewAngle = -45
20593  
20594    ; ***DESIGN parameters ***
20595    DisplayName      = OBJECT:Airfield
20596    Side             = GLAStealthGenera
20597    EditorSorting    = STRUCTURE
20598    Prerequisites
20599      Object = Slth_GLASupplyStash
20600    End
20601  
20602    BuildCost           = 300
20603    BuildTime           = 10.0           ; in seconds
20604    EnergyProduction    = 0
20605    CommandSet          = Slth_GLAAirPortCommandSet
20606    VisionRange         = 200.0           ; Shroud clearing distance
20607    ShroudClearingRange = 200
20608    ArmorSet
20609      Conditions        = None
20610      Armor             = StructureArmor
20611      DamageFX          = StructureDamageFXNoShake
20612    End
20613    ExperienceValue     = 150 150 150 150  ; Experience point value at each level
20614  
20615    ; *** AUDIO Parameters ***
20616    VoiceSelect = WarFactoryGLASelect
20617    SoundOnDamaged        = BuildingDamagedStateLight
20618    SoundOnReallyDamaged  = BuildingDestroy
20619  
20620    UnitSpecificSounds
20621      UnderConstruction     = UnderConstructionLoop
20622    End
20623  
20624    ; *** ENGINEERING Parameters ***
20625    RadarPriority       = STRUCTURE
20626    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_FACTORY MP_COUNT_FOR_VICTORY AUTO_RALLYPOINT FS_AIRFIELD
20627    Body                = StructureBody ModuleTag_10
20628      MaxHealth         = 1000.0
20629      InitialHealth     = 1000.0
20630  
20631      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
20632      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
20633      SubdualDamageCap = 1700
20634      SubdualDamageHealRate = 500
20635      SubdualDamageHealAmount = 100
20636    End
20637    
20638    Behavior = ParkingPlaceBehavior ModuleTag_11
20639      HealAmountPerSecond   = 10
20640      NumRows               = 1
20641  
20642      NumCols               = 1
20643      HasRunways            = Yes
20644      ApproachHeight        = 50
20645    End
20646  
20647    Behavior = ProductionUpdate ModuleTag_12
20648      NumDoorAnimations            = 4
20649      DoorOpeningTime              = 1  ;in mSeconds
20650      DoorWaitOpenTime             = 1  ;in mSeconds
20651      DoorCloseTime                = 1  ;in mSeconds
20652      ConstructionCompleteDuration = 1000  ;in mSeconds
20653    End
20654  
20655    Behavior = BaseRegenerateUpdate ModuleTag_13
20656      ;No data
20657    End 
20658  
20659    Behavior = DestroyDie ModuleTag_14
20660      ;nothing
20661    End
20662    Behavior             = CreateObjectDie ModuleTag_15
20663      CreationList  = OCL_ABPowerPlantExplode
20664    End
20665  
20666    Behavior             = FXListDie ModuleTag_17
20667      DeathFX       = FX_StructureMediumDeath
20668    End
20669  
20670    Behavior = FlammableUpdate ModuleTag_19
20671      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
20672      AflameDamageAmount = 5       ; taking this much damage...
20673      AflameDamageDelay = 500       ; this often.
20674    End
20675  
20676    Behavior = TransitionDamageFX ModuleTag_31
20677      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
20678      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
20679      ;---------------------------------------------------------------------------------------
20680      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
20681      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
20682      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
20683    End
20684      Behavior = StealthUpdate ModuleStealth_09
20685      StealthDelay                = 2500 ; msec
20686      StealthForbiddenConditions  = ATTACKING USING_ABILITY TAKING_DAMAGE
20687      InnateStealth               = No ;Requires upgrade first
20688      OrderIdleEnemiesToAttackMeUponReveal  = Yes
20689    End
20690    Behavior = StealthUpgrade ModuleTag_23
20691      TriggeredBy = Upgrade_GLACamoNetting
20692    END
20693    Geometry            = BOX
20694    GeometryMajorRadius = 75.0
20695    GeometryMinorRadius = 60.0
20696    GeometryHeight      = 30.0
20697    GeometryIsSmall     = No
20698    FactoryExitWidth    = 25
20699    Shadow          = SHADOW_VOLUME
20700    BuildCompletion = PLACED_BY_PLAYER
20701  
20702  End
20703  
20704  
20705  Object GLAVehicleBalloon
20706  
20707    ; *** ART Parameters ***
20708    SelectPortrait         = T32
20709    ButtonImage            = T32
20710    
20711     UpgradeCameo1 = Upgrade_GLACamouflage
20712    ;UpgradeCameo3 = Upgrade_ChinaHelixGattlingCannon
20713    ;UpgradeCameo4 = Upgrade_ChinaHelixPropagandaTower
20714    ;UpgradeCameo5 = Upgrade_ChinaHelixBattleBunker
20715      
20716      Draw = W3DOverlordAircraftDraw  ModuleTag_01; Works with the dependencyModelDraw of the upgrade portable structures 
20717  
20718        ParticlesAttachedToAnimatedBones = Yes
20719  
20720      DefaultConditionState
20721        Model = nvballoon
20722        Animation = nvballoon.nvballoon
20723        AnimationMode = LOOP
20724        WeaponFireFXBone    = PRIMARY Muzzle03
20725        WeaponMuzzleFlash   = PRIMARY TurretFX03
20726        HideSubObject       = BombWing
20727      End
20728  
20729      ConditionState = MOVING
20730        ParticleSysBone = SMOKE01 HelixExhaust
20731        ParticleSysBone = SMOKE02 HelixExhaust
20732      End
20733  
20734      ConditionState = REALLYDAMAGED
20735        Model = nvballoon
20736        Animation = nvballoon.nvballoon
20737        AnimationMode = LOOP
20738      End
20739      ConditionState = REALLYDAMAGED MOVING
20740        Model = nvballoon
20741        Animation = nvballoon.nvballoon
20742        AnimationMode = LOOP
20743        ParticleSysBone = SMOKE01 HelixExhaust
20744        ParticleSysBone = SMOKE02 HelixExhaust
20745      End
20746  
20747      ConditionState = RUBBLE
20748        Model = nvballoon_d
20749        Animation = nvballoon_d.nvballoon_d
20750        AnimationMode = LOOP
20751      End
20752      ConditionState = RUBBLE MOVING
20753        Model = nvballoon_d
20754        Animation = nvballoon_d.nvballoon_d
20755        AnimationMode = LOOP
20756        ParticleSysBone = SMOKE01 HelixExhaust
20757        ParticleSysBone = SMOKE02 HelixExhaust
20758      End
20759  
20760      ConditionState = RUBBLE SPECIAL_DAMAGED
20761        Model = nvballoon_d
20762      End
20763  
20764      OkToChangeModelColor = Yes
20765    End
20766  
20767  
20768    ; ***DESIGN parameters ***
20769    DisplayName         = OBJECT:Balloon
20770    EditorSorting       = VEHICLE
20771    Side                = GLAStealthGeneral
20772    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
20773    VisionRange         = 200.0 
20774    ShroudClearingRange = 600
20775    BuildCost           = 500
20776    BuildTime           = 10.0          ;in seconds  
20777    Prerequisites
20778      Object = Slth_GLAAirport
20779    End
20780    ExperienceValue     = 50 100 150 200 ;Experience point value at each level
20781    ExperienceRequired  = 0 100 200 400  ;Experience points needed to gain each level
20782    IsTrainable         = Yes  
20783    CommandSet          = BalloonCommandSet
20784  
20785  
20786    ArmorSet
20787      Conditions      = None
20788      Armor           = ChinookArmor
20789      DamageFX        = None
20790    End
20791  
20792  
20793    WeaponSet
20794      Conditions          = None
20795      ; -----
20796      Weapon              = PRIMARY     NONE
20797      AutoChooseSources   = PRIMARY    NONE
20798   
20799    End
20800  
20801  
20802  
20803  
20804  
20805    ; *** ENGINEERING Parameters ***
20806    RadarPriority   = UNIT
20807    ; note that, although Helixes aren't produced at helipads, we want to set this KINDOF so that they can land at
20808    ; (well, "near" actually) an Airfield to get healed...
20809    KindOf          = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE HUGE_VEHICLE TRANSPORT AIRCRAFT SCORE PRODUCED_AT_HELIPAD CAN_ATTACK 
20810  
20811    Body = ActiveBody ModuleTag_03
20812      MaxHealth       = 50.0
20813      InitialHealth   = 50.0
20814    End
20815  
20816    Behavior = FXListDie ModuleTag_05
20817      DeathFX = FX_HelicopterStartDeath
20818    End
20819  
20820    Behavior                       = TransitionDamageFX ModuleTag_06
20821      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown
20822      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition
20823    End
20824  
20825    Behavior = ChinookAIUpdate ModuleTag_07
20826       AutoAcquireEnemiesWhenIdle = Yes 
20827       RotorWashParticleSystem = HelixRotorWashRing
20828    End
20829    Locomotor = SET_NORMAL    BalloonLocomotor
20830    Locomotor = SET_TAXIING   BasicHelicopterTaxiLocomotor
20831  
20832  
20833    Behavior = PhysicsBehavior ModuleTag_09
20834      Mass = 50.0
20835    End
20836  
20837    Behavior = HelicopterSlowDeathBehavior ModuleTag_10
20838      DestructionDelay                = 99999999        ; the destruction delay
20839      SpiralOrbitTurnRate             = 80.0           ; in degrees per second, bigger # = tighter spiral
20840      SpiralOrbitForwardSpeed         = 110.0           ; bigger # = larger spiral
20841      SpiralOrbitForwardSpeedDamping  = .9999           ; smaller #'s = slow down faster
20842      MaxBraking                      = 210   ; max braking we can use during death spiral (lower num = wilder spiral)    
20843      SoundDeathLoop                  = HelixDamagedLoop
20844      MinSelfSpin                     = 40                     ; in degrees per second
20845      MaxSelfSpin                     = 120                     ; in degrees per second
20846      SelfSpinUpdateDelay             = 300                     ; in milliseconds
20847      SelfSpinUpdateAmount            = 5                      ; in degrees   
20848      FallHowFast                     = 8.0%                   ; fraction of gravity, lower = take longer to fall
20849      MinBladeFlyOffDelay             = 1000                    ; in milliseconds
20850      MaxBladeFlyOffDelay             = 1000                    ; in milliseconds
20851      AttachParticle                  = SootySmokeTrail
20852      AttachParticleBone              = Propeller02
20853      BladeObjectName                 = HelixBlades
20854      BladeBoneName                   = Propeller01    
20855      FXBlade                         = FX_HelicopterBladeExplosion
20856      OCLBlade                        = OCL_HelicopterBladeExplosion
20857      FXHitGround                     = FX_HelicopterHitGround
20858      OCLHitGround                    = OCL_HelicopterHitGround
20859      FXFinalBlowUp                   = FX_HelixHelicopterBlowUpBig
20860      OCLFinalBlowUp                  = OCL_HelixBlades
20861      DelayFromGroundToFinalDeath     = 30
20862      FinalRubbleObject               = GLAVehicleBalloonHulk
20863    End
20864  
20865    Behavior = FlammableUpdate ModuleTag_21
20866      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
20867      AflameDamageAmount = 3        ; taking this much damage...
20868      AflameDamageDelay = 500       ; this often.
20869    End
20870  
20871  
20872  
20873    Behavior = ProductionUpdate ModuleTag_25
20874      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
20875    End
20876  
20877  
20878  
20879  
20880  
20881    ;--------------------------
20882    Behavior = ObjectCreationUpgrade ModuleTag_22
20883      UpgradeObject = OCL_HelixGattlingCannon
20884      TriggeredBy   = Upgrade_ChinaHelixGattlingCannon
20885      ConflictsWith = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker
20886    End
20887    Behavior = CommandSetUpgrade ModuleTag_26
20888      CommandSet = ChinaHelixGattlingCannonCommandSet
20889      TriggeredBy   = Upgrade_ChinaHelixGattlingCannon
20890      ConflictsWith = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker
20891    End
20892    Behavior = WeaponSetUpgrade ModuleTag_35
20893      TriggeredBy = Upgrade_ChinaHelixGattlingCannon
20894    End
20895  ; lorenzen commented out 8/4... the helix now keeps its minigun, even when upgraded to gattling
20896  ;  Behavior = SubObjectsUpgrade ModuleTag_36
20897  ;    TriggeredBy    = Upgrade_ChinaHelixGattlingCannon 
20898  ;    ConflictsWith  = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker
20899  ;    HideSubObjects = MINIGUN 
20900  ;  End
20901    ;--------------------------
20902    Behavior = ObjectCreationUpgrade ModuleTag_23
20903      UpgradeObject = OCL_HelixPropagandaTower
20904      TriggeredBy   = Upgrade_ChinaHelixPropagandaTower
20905      ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixBattleBunker
20906    End
20907    Behavior = CommandSetUpgrade ModuleTag_27
20908      CommandSet = ChinaHelixPropagandaTowerCommandSet
20909      TriggeredBy   = Upgrade_ChinaHelixPropagandaTower
20910      ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixBattleBunker
20911    End
20912    ;--------------------------
20913    Behavior = ObjectCreationUpgrade ModuleTag_24
20914      UpgradeObject = OCL_HelixBattleBunker
20915      TriggeredBy   = Upgrade_ChinaHelixBattleBunker
20916      ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixPropagandaTower
20917    End
20918    Behavior = CommandSetUpgrade ModuleTag_28
20919      CommandSet = ChinaHelixBattleBunkerCommandSet
20920      TriggeredBy   = Upgrade_ChinaHelixBattleBunker
20921      ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixPropagandaTower
20922    End
20923    Behavior = PassengersFireUpgrade ModuleTag_34
20924      TriggeredBy   = Upgrade_ChinaHelixBattleBunker
20925    End
20926    ;--------------------------
20927  
20928    Behavior = TransportContain ModuleTag_29
20929      Slots                   = 2
20930      
20931      DamagePercentToUnits    = 100%
20932      AllowInsideKindOf       = INFANTRY 
20933      ForbidInsideKindOf      = AIRCRAFT 
20934      ExitDelay               = 100
20935      NumberOfExitPaths       = 1
20936      PassengersAllowedToFire = Yes ; the 
20937    End
20938  
20939  
20940    Behavior = WeaponSetUpgrade ModuleTag_30
20941      TriggeredBy = Upgrade_ChinaBlackNapalm
20942    End
20943  
20944  
20945    Behavior = SpecialAbility ModuleTag_32
20946      SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb
20947      UpdateModuleStartsAttack = Yes
20948      StartsPaused              = Yes; so the UnpauseSpecialPowerUpgrade, below can turn it on
20949      InitiateSound             = HelixVoiceAttack
20950    End
20951    Behavior = SpecialAbilityUpdate ModuleTag_33
20952      SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb
20953      StartAbilityRange = 3.0
20954      PreparationTime = 0
20955      SpecialObject = NapalmBomb
20956      MaxSpecialObjects = 1
20957      SpecialObjectsPersistWhenOwnerDies = Yes 
20958      SpecialObjectsPersistent = Yes          ;Charges are persistent till lifetime expires or owner detonates them.
20959      UniqueSpecialObjectTargets = No        ;This would prevent multiple charges placed on the same object.
20960      UnpackTime              = 500     ;slight delay to drop bomb
20961      FlipOwnerAfterUnpacking = No
20962      FleeRangeAfterCompletion = 0.0         ;DOes not run away after finishing ability
20963      UnpackSound               = NoSound
20964      LoseStealthOnTrigger      = No
20965      ApproachRequiresLOS       = No ; we are a helicopter, we can see everything
20966      NeedToFaceTarget          = No ; can drop the bomb at any angle to target
20967  
20968      PersistentPrepTime        = 100
20969      PersistenceRequiresRecharge = Yes
20970  
20971    End
20972    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_38
20973      SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb
20974      TriggeredBy = Upgrade_HelixNapalmBomb
20975    End
20976    Behavior = SubObjectsUpgrade ModuleTag_39
20977      TriggeredBy    = Upgrade_HelixNapalmBomb 
20978      ShowSubObjects = BombWing 
20979    End
20980      Behavior = StealthUpdate ModuleTag_07
20981      StealthDelay                = 2500 ; msec
20982      StealthForbiddenConditions  = ATTACKING USING_ABILITY
20983      MoveThresholdSpeed          = 3
20984      InnateStealth               = No ;Requires upgrade first
20985      OrderIdleEnemiesToAttackMeUponReveal  = Yes
20986    End
20987  
20988    Behavior = StealthUpgrade ModuleTag_08
20989      TriggeredBy = Upgrade_GLACamouflage
20990    End
20991    Scale = 1.95                           ;Scaling
20992    GeometryMajorRadius = 1.0
20993    GeometryMinorRadius = 1.0
20994    GeometryHeight = 8.0
20995  
20996  
20997  
20998  
20999    Geometry              = CYLINDER
21000    GeometryMajorRadius   = 35.0
21001    GeometryHeight        = 30.0     
21002    GeometryIsSmall       = No
21003    Shadow                = SHADOW_VOLUME    
21004    ShadowSizeX           = 89  ; minimum elevation angle above horizon. Used to limit shadow length
21005  
21006  End
21007  
21008  
21009  ;------------------------------------------------------------------
21010  Object GLAVehicleBalloonHulk
21011  
21012    ; *** ART Parameters ***
21013    Draw = W3DModelDraw                         ModuleTag_01 ; Helicopter
21014      DefaultConditionState
21015        Model = nvballoon_d
21016      End
21017    End
21018  
21019    ; ***DESIGN parameters ***
21020    DisplayName      = OBJECT:Chinook
21021    Side = GLA
21022  
21023    ; *** ENGINEERING Parameters ***
21024    KindOf = IMMOBILE NO_COLLIDE HULK
21025  
21026    Behavior = PhysicsBehavior ModuleTag_02
21027      Mass           = 15.0
21028      AllowBouncing  = Yes
21029    End
21030  
21031    Behavior = LifetimeUpdate ModuleTag_03
21032      MinLifetime    = 3000   ; min lifetime in msec
21033      MaxLifetime    = 3000   ; max lifetime in msec
21034    End
21035  
21036  End
21037  
21038  ;------------------------------------------------------------------------------
21039  Object GLASAMBattery
21040  
21041    ; *** ART Parameters ***
21042    SelectPortrait         = T3
21043    ButtonImage            = T3
21044    Draw = W3DModelDraw ModuleTag_01
21045  
21046      OkToChangeModelColor = Yes
21047      ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY TERTIARY; WeaponLaunchBone will be shown/hidden, not just used for firing offset
21048      DefaultConditionState
21049        Model             = NBSAM
21050        Turret            = TURRET01
21051        TurretPitch       = TURRETEL
21052  WeaponHideShowBone = PRIMARY MISSILE01
21053        WeaponLaunchBone  = PRIMARY   WeaponA01
21054        WeaponFireFXBone  = PRIMARY   WeaponA01
21055      End
21056      AliasConditionState = NIGHT
21057      
21058      ConditionState      = DAMAGED
21059        Model             = NBSAM
21060      End
21061      AliasConditionState = DAMAGED NIGHT
21062      
21063      ConditionState      = REALLYDAMAGED RUBBLE
21064        Model             = NBSAM
21065      End
21066      AliasConditionState = REALLYDAMAGED RUBBLE NIGHT
21067      
21068      
21069      ConditionState      = SNOW
21070        Model             = NBSAM
21071      End
21072      AliasConditionState = SNOW NIGHT
21073      
21074      ConditionState      = DAMAGED SNOW
21075        Model             = NBSAM
21076      End
21077      AliasConditionState = SNOW NIGHT DAMAGED
21078      
21079      ConditionState      = REALLYDAMAGED RUBBLE SNOW
21080        Model             = NBSAM
21081      End
21082      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE
21083     
21084      ;**************************************************************************************************************************
21085      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
21086      ;for this draw module
21087      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
21088        Model              = NBSAM
21089        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
21090      End
21091      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
21092      
21093  
21094      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
21095        Model              = NBSAM
21096        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
21097      End
21098      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
21099      
21100      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
21101        Model              = NBSAM
21102        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
21103      End
21104      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
21105      
21106      
21107      
21108      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
21109        Model              = NBSAM
21110        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
21111      End
21112      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
21113      
21114      
21115      
21116      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
21117        Model              = NBSAM
21118        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
21119      End
21120      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
21121      
21122      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
21123        Model              = NBSAM
21124        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
21125      End
21126      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
21127      
21128      
21129      
21130      ConditionState       = AWAITING_CONSTRUCTION 
21131        Model              = NONE
21132      End
21133      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
21134      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
21135      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
21136      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
21137      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
21138      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
21139      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
21140      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
21141      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
21142      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
21143      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
21144      AliasConditionState  = SOLD DAMAGED
21145      AliasConditionState  = SOLD REALLYDAMAGED
21146      AliasConditionState  = SOLD NIGHT
21147      AliasConditionState  = SOLD NIGHT DAMAGED
21148      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
21149      AliasConditionState  = SOLD SNOW
21150      AliasConditionState  = SOLD SNOW DAMAGED
21151      AliasConditionState  = SOLD SNOW REALLYDAMAGED
21152      AliasConditionState  = SOLD NIGHT SNOW
21153      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
21154      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
21155      ;**************************************************************************************************************************
21156         
21157  
21158      
21159    End
21160  
21161    ; ------------ construction-zone fence -----------------
21162    Draw = W3DModelDraw ModuleTag_02
21163      AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled
21164      DefaultConditionState
21165        Model           = None
21166        TransitionKey   = DOWN_DEFAULT
21167      End
21168      ConditionState    = NIGHT
21169        Model           = None
21170        TransitionKey   = DOWN_DEFAULT
21171      End
21172      ConditionState    = SNOW
21173        Model           = None
21174        TransitionKey   = DOWN_DEFAULT
21175      End
21176      ConditionState    = SNOW NIGHT
21177        Model           = None
21178        TransitionKey   = DOWN_DEFAULT
21179      End
21180      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
21181        Model           = ABPatriot_A4
21182        Animation       = ABPatriot_A4.ABPatriot_A4
21183        AnimationMode   = MANUAL
21184        Flags           = START_FRAME_LAST
21185        TransitionKey   = UP_DAY
21186      End
21187      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
21188        Model           = ABPatriot_A4N
21189        Animation       = ABPatriot_A4N.ABPatriot_A4N
21190        AnimationMode   = MANUAL
21191        Flags           = START_FRAME_LAST
21192        TransitionKey   = UP_NIGHT
21193      End
21194      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
21195        Model           = ABPatriot_A4S
21196        Animation       = ABPatriot_A4S.ABPatriot_A4S
21197        AnimationMode   = MANUAL
21198        Flags           = START_FRAME_LAST
21199        TransitionKey   = UP_SNOW
21200      End
21201      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
21202        Model           = ABPatriot_A4SN
21203        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
21204        AnimationMode   = MANUAL
21205        Flags           = START_FRAME_LAST
21206        TransitionKey   = UP_SNOWNIGHT
21207      End
21208      TransitionState   = DOWN_DEFAULT UP_DAY
21209        Model           = ABPatriot_A4
21210        Animation       = ABPatriot_A4.ABPatriot_A4
21211        AnimationMode   = ONCE
21212        AnimationSpeedFactorRange = 1.0 1.0
21213        Flags           = START_FRAME_FIRST
21214      End
21215      TransitionState   = DOWN_DEFAULT UP_NIGHT
21216        Model           = ABPatriot_A4N
21217        Animation       = ABPatriot_A4N.ABPatriot_A4N
21218        AnimationMode   = ONCE
21219        AnimationSpeedFactorRange = 1.0 1.0
21220        Flags           = START_FRAME_FIRST
21221      End
21222      TransitionState   = DOWN_DEFAULT UP_SNOW
21223        Model           = ABPatriot_A4S
21224        Animation       = ABPatriot_A4S.ABPatriot_A4S
21225        AnimationMode   = ONCE
21226        AnimationSpeedFactorRange = 1.0 1.0
21227        Flags           = START_FRAME_FIRST
21228      End
21229      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
21230        Model           = ABPatriot_A4SN
21231        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
21232        AnimationMode   = ONCE
21233        AnimationSpeedFactorRange = 1.0 1.0
21234        Flags           = START_FRAME_FIRST
21235      End
21236      TransitionState   = UP_DAY DOWN_DEFAULT
21237        Model           = ABPatriot_A4
21238        Animation       = ABPatriot_A4.ABPatriot_A4
21239        AnimationMode   = ONCE_BACKWARDS
21240        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
21241        Flags           = START_FRAME_LAST
21242      End
21243      TransitionState   = UP_NIGHT DOWN_DEFAULT
21244        Model           = ABPatriot_A4N
21245        Animation       = ABPatriot_A4N.ABPatriot_A4N
21246        AnimationMode   = ONCE_BACKWARDS
21247        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
21248        Flags           = START_FRAME_LAST
21249      End
21250      TransitionState   = UP_SNOW DOWN_DEFAULT
21251        Model           = ABPatriot_A4S
21252        Animation       = ABPatriot_A4S.ABPatriot_A4S
21253        AnimationMode   = ONCE_BACKWARDS
21254        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
21255        Flags           = START_FRAME_LAST
21256      End
21257      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
21258        Model           = ABPatriot_A4SN
21259        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
21260        AnimationMode   = ONCE_BACKWARDS
21261        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
21262        Flags           = START_FRAME_LAST
21263      End
21264    End
21265  
21266    ; ------------ under-construction scaffolding -----------------
21267    Draw = W3DModelDraw ModuleTag_03
21268      AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled
21269      MinLODRequired = MEDIUM
21270      DefaultConditionState
21271        Model           = None
21272        TransitionKey   = DOWN_DEFAULT
21273      End
21274      ConditionState    = NIGHT
21275        Model           = None
21276        TransitionKey   = DOWN_DEFAULT
21277      End
21278      ConditionState    = SNOW
21279        Model           = None
21280        TransitionKey   = DOWN_DEFAULT
21281      End
21282      ConditionState    = SNOW NIGHT
21283        Model           = None
21284        TransitionKey   = DOWN_DEFAULT
21285      End
21286      ConditionState    = PARTIALLY_CONSTRUCTED
21287        Model           = ABPatriot_A6
21288        Animation       = ABPatriot_A6.ABPatriot_A6
21289        AnimationMode   = MANUAL
21290        Flags           = START_FRAME_LAST
21291        TransitionKey   = UP_DAY
21292        ParticleSysBone = Sparks01 BuildUpBlueSpark
21293        ParticleSysBone = Sparks02 BuildUpBlueSpark
21294      End
21295      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
21296        Model           = ABPatriot_A6N
21297        Animation       = ABPatriot_A6N.ABPatriot_A6N
21298        AnimationMode   = MANUAL
21299        Flags           = START_FRAME_LAST
21300        TransitionKey   = UP_NIGHT
21301        ParticleSysBone = Sparks01 BuildUpBlueSpark
21302        ParticleSysBone = Sparks02 BuildUpBlueSpark
21303      End
21304      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
21305        Model           = ABPatriot_A6S
21306        Animation       = ABPatriot_A6S.ABPatriot_A6S
21307        AnimationMode   = MANUAL
21308        Flags           = START_FRAME_LAST
21309        TransitionKey   = UP_SNOW
21310        ParticleSysBone = Sparks01 BuildUpBlueSpark
21311        ParticleSysBone = Sparks02 BuildUpBlueSpark
21312      End
21313      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
21314        Model           = ABPatriot_A6SN
21315        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
21316        AnimationMode   = MANUAL
21317        Flags           = START_FRAME_LAST
21318        TransitionKey   = UP_SNOWNIGHT
21319        ParticleSysBone = Sparks01 BuildUpBlueSpark
21320        ParticleSysBone = Sparks02 BuildUpBlueSpark
21321      End
21322      TransitionState   = DOWN_DEFAULT UP_DAY
21323        Model           = ABPatriot_A6
21324        Animation       = ABPatriot_A6.ABPatriot_A6
21325        AnimationMode   = ONCE
21326        AnimationSpeedFactorRange = 1.0 1.0
21327        Flags           = START_FRAME_FIRST
21328      End
21329      TransitionState   = DOWN_DEFAULT UP_NIGHT
21330        Model           = ABPatriot_A6N
21331        Animation       = ABPatriot_A6N.ABPatriot_A6N
21332        AnimationMode   = ONCE
21333        AnimationSpeedFactorRange = 1.0 1.0
21334        Flags           = START_FRAME_FIRST
21335      End
21336      TransitionState   = DOWN_DEFAULT UP_SNOW
21337        Model           = ABPatriot_A6S
21338        Animation       = ABPatriot_A6S.ABPatriot_A6S
21339        AnimationMode   = ONCE
21340        AnimationSpeedFactorRange = 1.0 1.0
21341        Flags           = START_FRAME_FIRST
21342      End
21343      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
21344        Model           = ABPatriot_A6SN
21345        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
21346        AnimationMode   = ONCE
21347        AnimationSpeedFactorRange = 1.0 1.0
21348        Flags           = START_FRAME_FIRST
21349      End
21350      TransitionState   = UP_DAY DOWN_DEFAULT
21351        Model           = ABPatriot_A6
21352        Animation       = ABPatriot_A6.ABPatriot_A6
21353        AnimationMode   = ONCE_BACKWARDS
21354        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
21355        Flags           = START_FRAME_LAST
21356      End
21357      TransitionState   = UP_NIGHT DOWN_DEFAULT
21358        Model           = ABPatriot_A6N
21359        Animation       = ABPatriot_A6N.ABPatriot_A6N
21360        AnimationMode   = ONCE_BACKWARDS
21361        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
21362        Flags           = START_FRAME_LAST
21363      End
21364      TransitionState   = UP_SNOW DOWN_DEFAULT
21365        Model           = ABPatriot_A6S
21366        Animation       = ABPatriot_A6S.ABPatriot_A6S
21367        AnimationMode   = ONCE_BACKWARDS
21368        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
21369        Flags           = START_FRAME_LAST
21370      End
21371      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
21372        Model           = ABPatriot_A6SN
21373        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
21374        AnimationMode   = ONCE_BACKWARDS
21375        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
21376        Flags           = START_FRAME_LAST
21377      End
21378    End
21379  
21380    PlacementViewAngle = -45
21381  
21382    ; ***DESIGN parameters ***
21383    DisplayName       = OBJECT:SAMBattery
21384    Side              = GLAStealthGeneral
21385    EditorSorting     = STRUCTURE
21386    Prerequisites
21387      Object = Slth_GLASupplyStash
21388      Object = Slth_GLAPalace
21389    End
21390    BuildCost        = 700
21391    BuildTime        = 15.0           ; in seconds
21392    EnergyProduction = -3
21393    WeaponSet
21394    Conditions          = None 
21395      Weapon              = PRIMARY     SAMMissileWeaponAir
21396    
21397    End
21398    VisionRange    = 360.0           ; Shroud clearing distance AND targeting range
21399    ShroudClearingRange = 360
21400    ArmorSet
21401      Conditions      = None
21402      Armor           = BaseDefenseArmor
21403      DamageFX        = StructureDamageFXNoShake
21404    End
21405    CommandSet        = AmericaPatriotBatteryCommandSet
21406    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
21407  
21408    ;Behavior = AIUpdateInterface ModuleTag_20
21409    ;  AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS
21410    ;  MoodAttackCheckRate        = 250
21411    ;End
21412  
21413    ; *** AUDIO Parameters ***
21414    VoiceSelect = PatriotBatterySelect
21415    SoundOnDamaged        = BuildingDamagedStateLight
21416    SoundOnReallyDamaged  = BuildingDestroy
21417  
21418    UnitSpecificSounds
21419      UnderConstruction     = UnderConstructionLoop
21420    End
21421  
21422    UnitSpecificSounds
21423    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
21424      TurretMoveStart = NoSound
21425      TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud
21426    End
21427  
21428    ; *** ENGINEERING Parameters ***
21429    RadarPriority   = STRUCTURE
21430    KindOf          = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_TECHNOLOGY  FS_BASE_DEFENSE IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY
21431    Body            = StructureBody ModuleTag_04
21432      MaxHealth     = 1000.0
21433      InitialHealth = 1000.0
21434  
21435      
21436    End
21437   
21438    Behavior = StealthDetectorUpdate ModuleTag_13
21439      DetectionRate     = 0   ; how often to rescan for stealthed things in my sight (msec)
21440      DetectionRange   =  0 ;Dustin, enable this for independant balancing!
21441      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
21442      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
21443    End
21444  
21445    Behavior = BaseRegenerateUpdate ModuleTag_05
21446      ;No data
21447    End 
21448    Behavior = AIUpdateInterface ModuleTag_06
21449      Turret
21450        TurretTurnRate        = 180   // turn rate, in degrees per sec
21451        TurretPitchRate       = 180
21452        AllowsPitch           = Yes
21453        NaturalTurretPitch    = 45   
21454        GroundUnitPitch       = 40
21455        MinPhysicalPitch      = -20
21456        ControlledWeaponSlots = PRIMARY 
21457        MinIdleScanInterval   = 250    ; in milliseconds
21458        MaxIdleScanInterval   = 250    ; in milliseconds
21459        MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
21460        MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
21461      End
21462  
21463      AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon
21464      MoodAttackCheckRate        = 250
21465    End
21466  
21467  
21468  
21469    Behavior = DestroyDie ModuleTag_08
21470      ;nothing
21471    End
21472   
21473    Behavior             = FXListDie ModuleTag_10
21474      DeathFX       = FX_StructureTinyDeath
21475    End
21476  
21477    Behavior = FlammableUpdate ModuleTag_12
21478      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
21479      AflameDamageAmount = 5       ; taking this much damage...
21480      AflameDamageDelay = 500       ; this often.
21481    End
21482  
21483    Behavior = TransitionDamageFX ModuleTag_14
21484      ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS-------------------
21485      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
21486      ;---------------------------------------------------------------------------------------
21487      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
21488      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion
21489      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave
21490    End
21491  
21492    Geometry            = CYLINDER
21493    GeometryMajorRadius = 12.0
21494    GeometryMinorRadius = 1.0
21495    GeometryHeight      = 14.0
21496    GeometryIsSmall     = No
21497    Shadow          = SHADOW_VOLUME
21498    BuildCompletion = PLACED_BY_PLAYER
21499  
21500  End
21501  


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