[ Index ] WAROFGENERALS

PHP Cross Reference of WAROFGENERALS MODS SOURCES

title

Body

[close]

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

   1  
   2  ;------------------------------------------------------------------------------
   3  Object AmericaVehicleHumvee
   4  
   5    ; *** ART Parameters ***
   6    SelectPortrait         = SAHummer_L
   7    ButtonImage            = SAHummer
   8    
   9    UpgradeCameo1 = Upgrade_AmericaBattleDrone
  10    UpgradeCameo2 = Upgrade_AmericaScoutDrone
  11    UpgradeCameo3 = Upgrade_AmericaTOWMissile
  12    UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
  13    UpgradeCameo5 = Upgrade_AmericaHellfireDrone
  14    
  15    Draw = W3DTruckDraw ModuleTag_01
  16      OkToChangeModelColor = Yes
  17  
  18      ConditionState = NONE
  19        Model = AVHUMMER
  20        Turret = Turret
  21        ShowSubObject = Turret
  22        HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01
  23        WeaponFireFXBone = PRIMARY Muzzle
  24        WeaponMuzzleFlash = PRIMARY MuzzleFX
  25      End
  26  
  27      ConditionState = REALLYDAMAGED
  28        Model = AVHUMMER_d
  29        Turret = Turret
  30        ShowSubObject = Turret
  31        HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01
  32        WeaponFireFXBone = PRIMARY Muzzle
  33        WeaponMuzzleFlash = PRIMARY MuzzleFX
  34      End
  35  
  36      ConditionState = WEAPONSET_PLAYER_UPGRADE
  37        Model = AVHUMMER
  38        Turret = TurretUp01
  39        HideSubObject = Turret MuzzleFX01
  40        ShowSubObject = TurretUp01 Housecolor03
  41        WeaponFireFXBone = PRIMARY MuzzleUp
  42        WeaponMuzzleFlash = PRIMARY MuzzleFXUp
  43        WeaponFireFXBone = SECONDARY WeaponB
  44        WeaponLaunchBone = SECONDARY WeaponB
  45        WeaponFireFXBone = TERTIARY WeaponB
  46        WeaponLaunchBone = TERTIARY WeaponB
  47      End
  48  
  49      ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE
  50        Model = AVHUMMER_d
  51        Turret = TurretUp01
  52        HideSubObject = Turret MuzzleFX01
  53        ShowSubObject = TurretUp01 Housecolor03
  54        WeaponFireFXBone = PRIMARY MuzzleUp
  55        WeaponMuzzleFlash = PRIMARY MuzzleFXUp
  56        WeaponFireFXBone = SECONDARY WeaponB
  57        WeaponLaunchBone = SECONDARY WeaponB
  58        WeaponFireFXBone = TERTIARY WeaponB
  59        WeaponLaunchBone = TERTIARY WeaponB
  60      End
  61  
  62      TrackMarks = EXTireTrack.tga
  63  
  64      Dust = RocketBuggyDust
  65      DirtSpray = RocketBuggyDirtSpray
  66      PowerslideSpray = RocketBuggyDirtPowerSlide
  67  
  68      ; These parameters are only used if the model has a separate suspension, 
  69      ; and the locomotor has HasSuspension = Yes.
  70      LeftFrontTireBone = Tire01
  71      RightFrontTireBone = Tire02
  72      LeftRearTireBone = Tire03
  73      RightRearTireBone = Tire04
  74      TireRotationMultiplier = 0.2   ; this * speed = rotation.
  75      PowerslideRotationAddition = 1.25   ; This speed is added to the rotation speed when powersliding.
  76  
  77    End
  78  
  79    ; ***DESIGN parameters ***
  80    DisplayName           = OBJECT:Humvee
  81    Side                  = America
  82    EditorSorting         = VEHICLE
  83    TransportSlotCount    = 3                 ;how many "slots" we take in a transport (0 == not transportable)
  84    WeaponSet
  85      Conditions = None 
  86      Weapon = PRIMARY HumveeGun
  87    End
  88    WeaponSet
  89      Conditions = PLAYER_UPGRADE 
  90      Weapon = PRIMARY HumveeGun
  91      Weapon = SECONDARY HumveeMissileWeapon
  92      Weapon = TERTIARY HumveeMissileWeaponAir
  93      PreferredAgainst = TERTIARY     AIRCRAFT
  94    End
  95    ArmorSet
  96      Conditions      = None
  97      Armor           = HumveeArmor
  98      DamageFX        = TruckDamageFX
  99    End
 100    BuildCost       = 700
 101    BuildTime       = 10.0          ;in seconds    
 102    VisionRange     = 150
 103    ShroudClearingRange = 320
 104    Prerequisites
 105      Object = AmericaWarFactory
 106    End
 107    ExperienceValue = 50 50 100 150   ;Experience point value at each level
 108    ExperienceRequired = 0 100 150 300  ;Experience points needed to gain each level
 109    IsTrainable = Yes             ;Can gain experience
 110    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
 111    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
 112    CommandSet      = AmericaVehicleHumveeCommandSet
 113  
 114    ; *** AUDIO Parameters ***
 115    VoiceSelect = HumveeVoiceSelect
 116    VoiceMove = HumveeVoiceMove
 117    VoiceGuard = HumveeVoiceMove
 118    VoiceAttack = HumveeVoiceAttack
 119    VoiceAttackAir = HumveeVoiceAttackTOW
 120    SoundMoveStart = HumveeMoveStart
 121    SoundMoveStartDamaged = HumveeMoveStart
 122    SoundEnter = HumveeEnter
 123    SoundExit = HumveeExit
 124  
 125    UnitSpecificSounds
 126      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
 127      ;TurretMoveStart    = NoSound
 128      VoiceCreate         = HumveeVoiceCreate
 129      TurretMoveLoop      = TurretMoveLoop
 130      SoundEject          = PilotSoundEject
 131      VoiceEject          = PilotVoiceEject
 132      VoiceCrush          = HumveeVoiceCrush
 133    ; Required for the W3DTruckDraw module
 134      TruckLandingSound = RocketBuggyLand
 135      TruckPowerslideSound = RocketBuggyPowerslide
 136      VoiceUnload = HumveeVoiceUnload
 137      VoiceEnter = HumveeVoiceMove
 138    End
 139  
 140  
 141    ; *** ENGINEERING Parameters ***
 142    RadarPriority = UNIT
 143    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT
 144  
 145    Body = ActiveBody ModuleTag_02
 146      MaxHealth       = 240.0
 147      InitialHealth   = 240.0
 148  
 149      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
 150      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
 151      SubdualDamageCap = 480
 152      SubdualDamageHealRate = 500
 153      SubdualDamageHealAmount = 50
 154    End
 155    Behavior = TransportAIUpdate ModuleTag_03
 156      Turret
 157        TurretTurnRate = 180
 158        RecenterTime = 5000   ; how long to wait during idle before recentering
 159        ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
 160      End
 161      AutoAcquireEnemiesWhenIdle = Yes
 162      MoodAttackCheckRate        = 250
 163    End
 164    Locomotor = SET_NORMAL HumveeLocomotor
 165  
 166    Behavior = PhysicsBehavior ModuleTag_04
 167      Mass = 50.0
 168    End
 169  
 170    Behavior = TransportContain  ModuleTag_05
 171      PassengersAllowedToFire = Yes
 172      Slots             = 5
 173  ;    EnterSound          = GarrisonEnter
 174  ;    ExitSound           = GarrisonExit
 175      DamagePercentToUnits = 100% ;10%
 176      AllowInsideKindOf  = INFANTRY
 177      ExitDelay = 250
 178      NumberOfExitPaths = 3 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
 179      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
 180    End
 181  
 182    Behavior = ObjectCreationUpgrade ModuleTag_06
 183      UpgradeObject = OCL_AmericanBattleDrone
 184      TriggeredBy   = Upgrade_AmericaBattleDrone
 185      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
 186    End
 187    Behavior = ObjectCreationUpgrade ModuleTag_07
 188      UpgradeObject = OCL_AmericanScoutDrone
 189      TriggeredBy   = Upgrade_AmericaScoutDrone
 190      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
 191    End
 192    Behavior = ObjectCreationUpgrade ModuleTag_14
 193      UpgradeObject = OCL_AmericanHellfireDrone
 194      TriggeredBy   = Upgrade_AmericaHellfireDrone
 195      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
 196    End
 197  
 198    Behavior = ProductionUpdate ModuleTag_08
 199      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
 200    End
 201  
 202    Behavior = WeaponSetUpgrade ModuleTag_09
 203      TriggeredBy = Upgrade_AmericaTOWMissile
 204    End
 205    Behavior = ExperienceScalarUpgrade ModuleTag_10
 206      TriggeredBy = Upgrade_AmericaAdvancedTraining
 207      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
 208    End
 209  
 210    Behavior = SlowDeathBehavior ModuleTag_11
 211      DeathTypes = ALL -CRUSHED -SPLATTED
 212      ProbabilityModifier = 25
 213      DestructionDelay = 1
 214      OCL = INITIAL  OCL_InitialHumveeDebris
 215      FX  = FINAL    FX_BattleMasterExplosionOneFinal
 216      OCL = FINAL    OCL_FinalHumveeDebris
 217    End
 218  
 219    Behavior = DestroyDie ModuleTag_12
 220      DeathTypes = NONE +CRUSHED +SPLATTED
 221    End
 222  
 223    Behavior = FXListDie ModuleTag_13
 224      DeathTypes = NONE +CRUSHED +SPLATTED
 225      DeathFX = FX_CarCrush
 226    End
 227  
 228    Behavior = CreateCrateDie ModuleTag_CratesChange
 229      CrateData = SalvageCrateData
 230      ;CrateData = EliteTankCrateData
 231      ;CrateData = HeroicTankCrateData
 232    End
 233  
 234  ; This is commented out per hotlist request 10/9 ML
 235  ;  Behavior = CreateObjectDie ModuleTag_15
 236  ;    DeathTypes = ALL -CRUSHED -SPLATTED
 237  ;    CreationList = OCL_AmericanRangerDebris01
 238  ;    ExemptStatus = HIJACKED
 239  ;  End
 240  
 241    Behavior = EjectPilotDie ModuleTag_16
 242      DeathTypes = ALL -CRUSHED -SPLATTED
 243      ExemptStatus = HIJACKED
 244      ; The following added out per hotlist request 10/9 as above ML
 245      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
 246      GroundCreationList = OCL_EjectPilotOnGround
 247      AirCreationList = OCL_EjectPilotViaParachute
 248    End
 249  
 250    Behavior = TransitionDamageFX ModuleTag_17
 251      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
 252      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
 253    End
 254  
 255    Behavior = FlammableUpdate ModuleTag_21
 256      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 257      AflameDamageAmount = 3       ; taking this much damage...
 258      AflameDamageDelay = 500       ; this often.
 259    End
 260  
 261    Geometry = BOX
 262    GeometryMajorRadius = 14.0
 263    GeometryMinorRadius = 7.0
 264    GeometryHeight = 11.5     
 265    GeometryIsSmall = Yes 
 266    Shadow = SHADOW_VOLUME
 267    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
 268  
 269  End
 270  
 271  
 272  
 273  
 274  
 275  
 276  
 277  
 278  
 279  
 280  
 281  
 282  
 283  ;----------------------------------------------------------
 284  Object AmericaVehicleTomahawk
 285  
 286    ; *** ART Parameters ***
 287    SelectPortrait         = SACTomahawk_L
 288    ButtonImage            = SACTomahawk
 289    
 290    UpgradeCameo1 = Upgrade_AmericaScoutDrone
 291    UpgradeCameo2 = Upgrade_AmericaBattleDrone
 292    UpgradeCameo3 = Upgrade_AmericaAdvancedTraining
 293    UpgradeCameo4 = Upgrade_AmericaHellfireDrone
 294    ;UpgradeCameo5 = XXX
 295    
 296    Draw = W3DTankDraw ModuleTag_01
 297      OkToChangeModelColor = Yes
 298        
 299      ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
 300  
 301      DefaultConditionState
 302        Model = AVTomahawk
 303        Turret = TURRET
 304        TurretPitch = TURRETEL
 305        WeaponLaunchBone = PRIMARY WeaponA
 306        WeaponHideShowBone = PRIMARY MISSILE
 307      End
 308  
 309      ConditionState = REALLYDAMAGED
 310        Model = AVTomahawk_D
 311      End
 312      AliasConditionState = RUBBLE
 313  
 314      TrackMarks           = EXTnkTrack.tga
 315  
 316    End
 317  
 318    ; ***DESIGN parameters ***
 319    DisplayName      = OBJECT:Tomahawk
 320    Side = America
 321    EditorSorting   = VEHICLE
 322    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
 323    BuildCost       = 1200
 324    BuildTime       = 20.0          ;in seconds    
 325    VisionRange     = 180
 326    ShroudClearingRange = 200
 327    Prerequisites
 328      Object = AmericaWarFactory
 329      Object = AmericaStrategyCenter
 330    End
 331    ExperienceValue = 50 50 100 150    ;Experience point value at each level
 332    ExperienceRequired = 0 200 400 800  ;Experience points needed to gain each level
 333    IsTrainable = Yes             ;Can gain experience
 334    WeaponSet
 335      Conditions = None 
 336      Weapon = PRIMARY TomahawkMissileWeapon
 337    End
 338    ArmorSet
 339      Conditions      = None
 340      Armor           = TruckArmor
 341      DamageFX        = TankDamageFX
 342    End
 343    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
 344    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
 345    CommandSet      = AmericaVehicleTomahawkCommandSet
 346  
 347    ; *** AUDIO Parameters ***
 348    VoiceSelect = TomahawkVoiceSelect
 349    VoiceMove = TomahawkVoiceMove
 350    VoiceGuard = TomahawkVoiceMove
 351    VoiceAttack = TomahawkVoiceAttack
 352    SoundMoveStart = TomahawkMoveStart
 353    SoundMoveStartDamaged = TomahawkMoveStart
 354    
 355    UnitSpecificSounds
 356      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
 357      VoiceCreate = TomahawkVoiceCreate
 358      TurretMoveStart = NoSound
 359      TurretMoveLoop = TurretMoveLoopLoud
 360      SoundEject = PilotSoundEject
 361      VoiceEject = PilotVoiceEject
 362      VoiceCrush = TomahawkVoiceCrush
 363      VoiceEnter = TomahawkVoiceMove
 364      VoiceBombard = TomahawkVoiceAttack
 365    End
 366  
 367    ; *** ENGINEERING Parameters ***
 368    RadarPriority = UNIT
 369    KindOf = PRELOAD SELECTABLE DONT_AUTO_CRUSH_INFANTRY CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE
 370  
 371    Body = ActiveBody ModuleTag_02
 372      MaxHealth       = 180.0
 373      InitialHealth   = 180.0
 374  
 375      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
 376      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
 377      SubdualDamageCap = 360
 378      SubdualDamageHealRate = 500
 379      SubdualDamageHealAmount = 50
 380    End
 381  
 382    Behavior = AIUpdateInterface ModuleTag_03
 383      Turret
 384        TurretTurnRate = 60   ; turn rate, in degrees per sec
 385        TurretPitchRate = 60
 386        FirePitch = 70  ; Instead of aiming pitchwise at the target, it will aim here
 387        AllowsPitch = Yes
 388        ControlledWeaponSlots = PRIMARY
 389      End
 390      AutoAcquireEnemiesWhenIdle = No NotWhileAttacking
 391    End
 392    Locomotor = SET_NORMAL TomahawkLocomotor
 393  
 394    Behavior = PhysicsBehavior ModuleTag_04
 395      Mass = 50.0
 396    End
 397    Behavior = SlowDeathBehavior ModuleTag_05
 398      DeathTypes = ALL -CRUSHED -SPLATTED
 399      DestructionDelay  = 500
 400      DestructionDelayVariance  = 100
 401      FX  = INITIAL  FX_GenericTankDeathEffect
 402      OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie
 403      FX =  FINAL FX_AmericaVehicleTomahawkDeathExplosion
 404    End
 405  
 406    Behavior = ObjectCreationUpgrade ModuleTag_06
 407      UpgradeObject = OCL_AmericanBattleDrone
 408      TriggeredBy   = Upgrade_AmericaBattleDrone
 409      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
 410    End
 411    Behavior = ObjectCreationUpgrade ModuleTag_07
 412      UpgradeObject = OCL_AmericanScoutDrone
 413      TriggeredBy   = Upgrade_AmericaScoutDrone
 414      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
 415    End
 416    Behavior = ObjectCreationUpgrade ModuleTag_15
 417      UpgradeObject = OCL_AmericanHellfireDrone
 418      TriggeredBy   = Upgrade_AmericaHellfireDrone
 419      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
 420    End
 421  
 422    Behavior = ProductionUpdate ModuleTag_08
 423      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
 424    End
 425  
 426    Behavior = ExperienceScalarUpgrade ModuleTag_09
 427      TriggeredBy = Upgrade_AmericaAdvancedTraining
 428      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
 429    End
 430  
 431    Behavior = DestroyDie ModuleTag_10
 432      DeathTypes = NONE +CRUSHED +SPLATTED
 433    End
 434  
 435    Behavior = FXListDie ModuleTag_11
 436      DeathTypes = NONE +CRUSHED +SPLATTED
 437      DeathFX = FX_CarCrush
 438    End
 439  
 440    Behavior = CreateObjectDie ModuleTag_12
 441      DeathTypes = NONE +CRUSHED +SPLATTED
 442      CreationList = OCL_CrusaderTank_CrushEffect
 443    End
 444  
 445  ;  Behavior = FXListDie
 446  ;    DeathTypes = ALL -CRUSHED -SPLATTED
 447  ;    DeathFX = FX_GenericTankDeathEffect
 448  ;  End
 449  ; Behavior = CreateObjectDie
 450  ;    DeathTypes = ALL -CRUSHED -SPLATTED
 451  ;    CreationList = OCL_GenericTankDeathEffect
 452  ;  End
 453    Behavior = EjectPilotDie ModuleTag_13
 454      DeathTypes = ALL -CRUSHED -SPLATTED
 455      ExemptStatus = HIJACKED
 456      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
 457      GroundCreationList = OCL_EjectPilotOnGround
 458      AirCreationList = OCL_EjectPilotViaParachute
 459    End
 460    
 461    Behavior = TransitionDamageFX ModuleTag_14
 462      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
 463      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
 464    End
 465    
 466    Behavior = FlammableUpdate ModuleTag_21
 467      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 468      AflameDamageAmount = 3       ; taking this much damage...
 469      AflameDamageDelay = 500       ; this often.
 470    End
 471  
 472    Geometry = BOX
 473    GeometryMajorRadius = 15.0
 474    GeometryMinorRadius = 10.0
 475    GeometryHeight = 10.0     
 476    GeometryIsSmall = Yes
 477    Shadow = SHADOW_VOLUME 
 478    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length   
 479  
 480  End
 481  
 482  
 483  
 484  
 485  
 486  
 487  
 488  
 489  
 490  
 491  
 492  
 493  
 494  
 495  ;------------------------------------------------------------------------------
 496  ; Also known as the Ambulance
 497  Object AmericaVehicleMedic
 498  
 499    ; *** ART Parameters ***
 500    SelectPortrait         = SAAmbulance_L
 501    ButtonImage            = SAAmbulance
 502    
 503    UpgradeCameo1 = Upgrade_AmericaBattleDrone
 504    UpgradeCameo2 = Upgrade_AmericaScoutDrone
 505    UpgradeCameo3 = Upgrade_AmericaHellfireDrone
 506    ;UpgradeCameo4 = NONE
 507    ;UpgradeCameo5 = NONE
 508    
 509    Draw = W3DTruckDraw ModuleTag_01
 510  
 511      ConditionState = NONE
 512        Model = AVAmbulance
 513        Turret = Turret
 514        TurretPitch = TurretEL
 515        WeaponFireFXBone = PRIMARY WeaponA
 516        WeaponLaunchBone = PRIMARY WeaponA
 517      End
 518      ConditionState       = REALLYDAMAGED
 519        Model              = AVAmbulance_D
 520        Turret = Turret
 521        TurretPitch = TurretEL
 522        WeaponFireFXBone = PRIMARY WeaponA
 523        WeaponLaunchBone = PRIMARY WeaponA
 524      End      
 525      
 526      ConditionState       = RUBBLE
 527        Model              = AVAmbulance_D
 528      End      
 529      
 530      TrackMarks = EXTireTrack.tga
 531      OkToChangeModelColor = Yes
 532  
 533      Dust = RocketBuggyDust
 534      DirtSpray = RocketBuggyDirtSpray
 535      PowerslideSpray = RocketBuggyDirtPowerSlide
 536  
 537      ; These parameters are only used if the model has a separate suspension, 
 538      ; and the locomotor has HasSuspension = Yes.
 539      LeftFrontTireBone = Tire01
 540      RightFrontTireBone = Tire02
 541      LeftRearTireBone = Tire03
 542      RightRearTireBone = Tire04
 543      TireRotationMultiplier = 0.2        ; this * speed = rotation.
 544      PowerslideRotationAddition = 2.5    ; This speed is added to the rotation speed when powersliding.
 545  
 546  
 547    End
 548  
 549    ; ***DESIGN parameters ***
 550    DisplayName      = OBJECT:Medic
 551    Side = America
 552    EditorSorting   = VEHICLE
 553    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
 554    WeaponSet 
 555      ;*** Fully automated and driven by the CleanupHazardUpdate ***
 556      Conditions        = None 
 557      Weapon            = PRIMARY AmbulanceCleanHazardWeapon 
 558      AutoChooseSources = PRIMARY NONE
 559    End
 560    ArmorSet
 561      Conditions      = None
 562      Armor           = ToxinTruckArmor 
 563      DamageFX        = TruckDamageFX
 564    End
 565    BuildCost       = 600
 566    BuildTime       = 10.0          ;in seconds    
 567    VisionRange     = 100
 568    ShroudClearingRange = 400
 569    Prerequisites
 570      Object = AmericaWarFactory
 571    End
 572    ExperienceValue    = 50 50 50 50 ;Experience point value at each level
 573    IsTrainable     = No
 574    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
 575    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
 576    CommandSet      = AmericaVehicleAmbulanceCommandSet
 577    
 578    ; *** AUDIO Parameters ***
 579    VoiceSelect = AmbulanceVoiceSelect
 580    VoiceMove = AmbulanceVoiceMove
 581    VoiceGuard = AmbulanceVoiceMove
 582    VoiceAttack = AmbulanceVoiceDetox
 583    SoundMoveStart = HumveeMoveStart
 584    SoundMoveStartDamaged = HumveeMoveStart
 585    SoundEnter = HumveeEnter
 586    SoundExit = HumveeExit
 587  
 588    UnitSpecificSounds
 589      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
 590      VoiceCreate          = AmbulanceVoiceCreate
 591      TurretMoveStart = NoSound
 592      TurretMoveLoop = TurretMoveLoop
 593      ; Required for the W3DTruckDraw module
 594      TruckLandingSound = RocketBuggyLand
 595      TruckPowerslideSound = RocketBuggyPowerslide
 596      VoiceCrush          = AmbulanceVoiceCrush
 597      VoiceEnter = AmbulanceVoiceMove
 598    End
 599  
 600  
 601    ; *** ENGINEERING Parameters ***
 602    RadarPriority = UNIT
 603    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT
 604    
 605    Body = ActiveBody ModuleTag_02
 606      MaxHealth       = 240.0
 607      InitialHealth   = 240.0
 608  
 609      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
 610      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
 611      SubdualDamageCap = 480
 612      SubdualDamageHealRate = 500
 613      SubdualDamageHealAmount = 50
 614    End
 615  
 616    Behavior = CleanupHazardUpdate ModuleTag_03
 617      WeaponSlot            = PRIMARY
 618      ScanRate              = 1000
 619      ScanRange             = 100.0 ;If this range exceeds the AmbulanceCleanHazardWeapon AttackRange, it'll move!
 620    End
 621  
 622    ;Can be ordered to clean up a larger area with the ability to move around at an extended range.
 623    Behavior = CleanupAreaPower ModuleTag_04
 624      SpecialPowerTemplate          = SpecialAbilityAmbulanceCleanupArea
 625      MaxMoveDistanceFromLocation   = 300.0 ;allows the unit to move around while cleaning up
 626      InitiateSound = AmbulanceVoiceDetox
 627    End
 628  
 629    Behavior = TransportAIUpdate ModuleTag_05
 630     AutoAcquireEnemiesWhenIdle = No  ;CleanupHazardUpdate handles this...
 631     Turret
 632        TurretTurnRate = 180
 633        TurretPitchRate = 180
 634        AllowsPitch = Yes
 635        MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot.  defaults to 0 (horizontal)
 636        TurretFireAngleSweep = PRIMARY 25
 637        ControlledWeaponSlots = PRIMARY
 638      End
 639    End
 640    Locomotor = SET_NORMAL HumveeLocomotor
 641  
 642    Behavior = TransportContain ModuleTag_06
 643      Slots               = 3
 644      HealthRegen%PerSec  = 25
 645      DamagePercentToUnits = 10%
 646      AllowInsideKindOf   = INFANTRY
 647      AllowAlliesInside   = Yes
 648      AllowNeutralInside  = No
 649      AllowEnemiesInside  = No
 650      ExitDelay = 250
 651      NumberOfExitPaths = 3 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
 652      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
 653    End
 654  
 655    Behavior = PhysicsBehavior ModuleTag_07
 656      Mass = 50.0
 657    End
 658    Behavior = SlowDeathBehavior ModuleTag_08
 659      DeathTypes = ALL -CRUSHED -SPLATTED
 660      DestructionDelay = 0
 661      FX  = FINAL FX_GenericTankDeathExplosion
 662      OCL = FINAL OCL_FinalAmbulanceDebris
 663    End
 664  
 665    Behavior = ObjectCreationUpgrade ModuleTag_09
 666      UpgradeObject = OCL_AmericanBattleDrone
 667      TriggeredBy   = Upgrade_AmericaBattleDrone
 668      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
 669    End
 670    Behavior = ObjectCreationUpgrade ModuleTag_10
 671      UpgradeObject = OCL_AmericanScoutDrone
 672      TriggeredBy   = Upgrade_AmericaScoutDrone
 673      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
 674    End
 675    Behavior = ObjectCreationUpgrade ModuleTag_19
 676      UpgradeObject = OCL_AmericanHellfireDrone
 677      TriggeredBy   = Upgrade_AmericaHellfireDrone
 678      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
 679    End
 680    Behavior = ProductionUpdate ModuleTag_11
 681      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
 682    End
 683  
 684    Behavior = DestroyDie ModuleTag_12
 685      DeathTypes = NONE +CRUSHED +SPLATTED
 686    End
 687  
 688    Behavior = FXListDie ModuleTag_13
 689      DeathTypes = NONE +CRUSHED +SPLATTED
 690      DeathFX = FX_CarCrush
 691    End
 692  
 693    Behavior = CreateObjectDie ModuleTag_14
 694      DeathTypes = NONE +CRUSHED +SPLATTED
 695      CreationList = OCL_CrusaderTank_CrushEffect
 696    End
 697  
 698    Behavior = FXListDie ModuleTag_15
 699      DeathTypes = ALL -CRUSHED -SPLATTED
 700      DeathFX = FX_GenericTankDeathEffect
 701    End
 702  
 703    Behavior = CreateCrateDie ModuleTag_16
 704      CrateData = SalvageCrateData
 705      ;CrateData = EliteTankCrateData
 706      ;CrateData = HeroicTankCrateData
 707    End
 708  
 709    Behavior = ExperienceScalarUpgrade ModuleTag_17
 710      TriggeredBy = Upgrade_AmericaAdvancedTraining
 711      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
 712    End
 713  
 714    Behavior = TransitionDamageFX ModuleTag_18
 715      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
 716      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
 717    End
 718  
 719    Behavior = FlammableUpdate ModuleTag_21
 720      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 721      AflameDamageAmount = 3       ; taking this much damage...
 722      AflameDamageDelay = 500       ; this often.
 723  
 724    End
 725  
 726    Behavior = AutoHealBehavior ModuleTag_22
 727      HealingAmount     = 4
 728      HealingDelay      = 1000 ; msec
 729      Radius            = 100.0f
 730      StartsActive      = Yes
 731      KindOf            = INFANTRY
 732    End
 733    Behavior = AutoHealBehavior ModuleTag_23
 734      HealingAmount     = 8
 735      HealingDelay      = 1000 ; msec
 736      Radius            = 100.0f
 737      StartsActive      = Yes
 738      KindOf            = VEHICLE
 739      ForbiddenKindOf   = AIRCRAFT
 740      SkipSelfForHealing = Yes
 741    End
 742  
 743    Geometry = BOX
 744    GeometryMajorRadius = 14.0
 745    GeometryMinorRadius = 7.0
 746    GeometryHeight = 12.0  ; height set to allow clear clipping of projectile streams   
 747    GeometryIsSmall = Yes   
 748    Shadow = SHADOW_VOLUME 
 749  
 750  End
 751  
 752  ;------------------------------------------------------------------------------
 753  Object AmericaVehicleBattleDrone
 754  
 755    ; *** ART Parameters ***
 756    SelectPortrait         = SABattleDrone_L
 757    ButtonImage            = SABattleDrone
 758    
 759    UpgradeCameo1 = Upgrade_AmericaDroneArmor
 760    ;UpgradeCameo2 = NONE
 761    ;UpgradeCameo3 = NONE
 762    ;UpgradeCameo4 = NONE
 763    ;UpgradeCameo5 = NONE
 764  
 765    ;MAIN CHASSIS
 766    Draw = W3DModelDraw ModuleTag_01
 767      OkToChangeModelColor = Yes
 768  
 769      DefaultConditionState
 770        Model = AVBATTLEDR
 771        Animation = AVBATTLEDR.AVBATTLEDR
 772        AnimationMode = LOOP
 773        Turret = Turret01
 774        TurretPitch = TurretEL01
 775        WeaponMuzzleFlash = PRIMARY TurretFX01
 776        WeaponFireFXBone = PRIMARY Muzzle01
 777      End
 778  
 779      ConditionState = REALLYDAMAGED
 780        Model = AVBATTLEDR_D
 781        Animation = AVBATTLEDR_D.AVBATTLEDR_D
 782        AnimationMode = LOOP
 783      End
 784    End
 785  
 786    ;EXTENDING ARM (FOR REPAIRING)
 787    Draw = W3DModelDraw ModuleTag_02
 788      OkToChangeModelColor = Yes
 789  
 790      DefaultConditionState
 791        Model = AVBATTLEDR_A
 792      End
 793  
 794      ;Unloading the arm (before starting to repair)
 795      ConditionState = UNPACKING
 796        Animation = AVBATTLEDR_A1.AVBATTLEDR_A1
 797        AnimationMode = ONCE
 798      End
 799  
 800      ;Loading the arm (after reparing complete)
 801      ConditionState = PACKING
 802        Animation = AVBATTLEDR_A1.AVBATTLEDR_A1
 803        AnimationMode = ONCE_BACKWARDS
 804        Flags = START_FRAME_LAST
 805      End
 806  
 807      ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set)
 808      ConditionState = FIRING_B
 809        Animation = AVBATTLEDR_A2.AVBATTLEDR_A2
 810        AnimationMode = ONCE
 811      End
 812  
 813  
 814      ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set)
 815      ConditionState = FIRING_C
 816        Animation = AVBATTLEDR_A2.AVBATTLEDR_A2
 817        AnimationMode = ONCE_BACKWARDS
 818        Flags = START_FRAME_LAST
 819      End
 820  
 821    End
 822  
 823  
 824    ; ***DESIGN parameters ***
 825    DisplayName         = OBJECT:BattleDrone
 826    Side                = America
 827    EditorSorting       = VEHICLE
 828    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
 829    WeaponSet
 830      Conditions        = None 
 831      Weapon            = PRIMARY BattleDroneMachineGun
 832    End
 833    ArmorSet
 834      Conditions        = None
 835      Armor             = TankArmor
 836      DamageFX          = SmallTankDamageFX
 837    End
 838  
 839    BuildCost           = 200
 840    BuildTime           = 5.0          ;in seconds    
 841    VisionRange         = 150
 842    ShroudClearingRange = 150
 843    Prerequisites
 844      Object = AmericaWarFactory
 845    End
 846    ExperienceValue     = 10 10 10 10 ;Experience point value at each level
 847    IsTrainable         = No
 848    
 849    ; *** AUDIO Parameters ***
 850    VoiceSelect         = NoSound
 851    VoiceMove           = NoSound
 852    VoiceAttack         = NoSound
 853    SoundMoveStart      = NoSound
 854    UnitSpecificSounds
 855    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
 856      TurretMoveStart   = NoSound
 857      TurretMoveLoop    = TurretMoveLoop
 858    End
 859  
 860    ; *** ENGINEERING Parameters ***
 861    RadarPriority       = UNIT
 862    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT
 863    Body = ActiveBody ModuleTag_03
 864      MaxHealth       = 100.0
 865      InitialHealth   = 100.0
 866    End
 867  
 868    Behavior = AIUpdateInterface ModuleTag_04
 869      Turret
 870        TurretTurnRate        = 360   // turn rate, in degrees per sec
 871        TurretPitchRate       = 360
 872        MinPhysicalPitch      = -75 ; If allows pitch, the lowest I can dip down to shoot.  defaults to 0 (horizontal)
 873        AllowsPitch           = Yes
 874        ControlledWeaponSlots = PRIMARY
 875      End
 876      AutoAcquireEnemiesWhenIdle = Yes
 877    End
 878    Locomotor = SET_NORMAL BattleDroneLocomotor
 879    Locomotor = SET_PANIC BattleDronePanicLocomotor   ;used for repairing master (zippy)
 880    Behavior = PhysicsBehavior ModuleTag_05
 881      Mass = 50.0
 882      KillWhenRestingOnGround = Yes
 883      AllowBouncing = No
 884    End
 885  
 886    Behavior = MaxHealthUpgrade ModuleTag_06
 887      TriggeredBy   = Upgrade_AmericaDroneArmor
 888      AddMaxHealth  = 50.0
 889      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
 890    End
 891  
 892    Behavior = SlavedUpdate ModuleTag_07
 893      GuardMaxRange = 35      ;How far away from master I'm allowed when master is idle (doesn't wander)
 894      GuardWanderRange = 35   ;How far away I'm allowed to wander from master while guarding.
 895      AttackRange = 75        ;How far away from master I'm allowed when master is attacking a target.
 896      AttackWanderRange = 10  ;How far I'm allowed to wander from target.
 897      ScoutRange = 75         ;How far away from master I'm allowed when master is moving.
 898      ScoutWanderRange = 10   ;How far I'm allowed to wander from scout point.
 899      RepairRange = 8         ;How far I can zip around while repair (only moves when he stops welding)
 900      RepairMinAltitude = 18.0   ;My minimum repair hover altitude.
 901      RepairMaxAltitude = 24.0   ;My maximum repair hover altitude.
 902      RepairRatePerSecond = 5.0 ;How many health points can I repair per second.
 903      RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing.
 904      RepairMinReadyTime = 300
 905      RepairMaxReadyTime = 750
 906      RepairMinWeldTime = 250
 907      RepairMaxWeldTime = 500
 908      RepairWeldingSys = BlueSparks
 909      RepairWeldingFXBone = Muzzle02
 910      StayOnSameLayerAsMaster = Yes
 911    End
 912  
 913    Behavior = DestroyDie ModuleTag_08
 914      DeathTypes = ALL
 915    End
 916    Behavior                 = CreateObjectDie  ModuleTag_09
 917      DeathTypes = ALL
 918      CreationList      = OCL_AmericaBattleDroneExplode
 919    End
 920    
 921    Behavior                 = TransitionDamageFX ModuleTag_10
 922      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
 923      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
 924    End
 925    
 926    Behavior                 = FXListDie ModuleTag_11
 927      DeathTypes = ALL
 928      DeathFX           = FX_AmericaBattleDroneExplode
 929    End
 930  
 931    Behavior = UpgradeDie  ModuleTag_12
 932      ;This frees the object based upgrade for the producer object.
 933      DeathTypes = ALL
 934      UpgradeToRemove     = Upgrade_AmericaBattleDrone ModuleTag_13
 935    End
 936  
 937    Behavior = FlammableUpdate ModuleTag_21
 938      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 939      AflameDamageAmount = 3       ; taking this much damage...
 940      AflameDamageDelay = 500       ; this often.
 941    End
 942  
 943    Geometry = CYLINDER
 944    GeometryMajorRadius = 5
 945    GeometryMinorRadius = 5
 946    GeometryHeight = 10.0     
 947    GeometryIsSmall = Yes 
 948    Shadow = SHADOW_VOLUME
 949    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
 950  
 951  End
 952  
 953  
 954  ;------------------------------------------------------------------------------
 955  Object AmericaVehicleScoutDrone
 956  
 957    ; *** ART Parameters ***
 958    SelectPortrait         = SAScout_L
 959    ButtonImage            = SAScout
 960    
 961    UpgradeCameo1 = Upgrade_AmericaDroneArmor
 962    ;UpgradeCameo2 = NONE
 963    ;UpgradeCameo3 = NONE
 964    ;UpgradeCameo4 = NONE
 965    ;UpgradeCameo5 = NONE
 966    
 967    Draw = W3DModelDraw ModuleTag_01
 968      OkToChangeModelColor = Yes
 969  
 970      ConditionState = NONE
 971        Model = AVScoutDr
 972        Animation = AVScoutDr.AVScoutDr
 973        AnimationMode = LOOP
 974      End
 975  
 976      ConditionState = REALLYDAMAGED
 977        Model = AVScoutDr_d
 978        Animation = AVScoutDr_d.AVScoutDr_d
 979        AnimationMode = LOOP
 980      End
 981    End
 982  
 983    ; ***DESIGN parameters ***
 984    DisplayName      = OBJECT:ScoutDrone
 985    Side = America
 986    EditorSorting   = VEHICLE
 987    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
 988    ArmorSet
 989      Conditions      = None
 990      Armor           = TankArmor
 991      DamageFX        = SmallTankDamageFX
 992    End
 993    BuildCost       = 100
 994    BuildTime       = 5.0          ;in seconds    
 995    VisionRange     = 150
 996    ShroudClearingRange = 500
 997    IsTrainable     = No  ;Can gain experience
 998    
 999    ; *** AUDIO Parameters ***
1000    VoiceSelect = NoSound
1001    VoiceMove = NoSound
1002    VoiceAttack = NoSound
1003    SoundMoveStart = NoSound
1004  
1005    UnitSpecificSounds
1006      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
1007      TurretMoveStart = NoSound
1008      TurretMoveLoop = TurretMoveLoop
1009    End
1010  
1011  
1012    ; *** ENGINEERING Parameters ***
1013    RadarPriority = UNIT
1014    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE DRONE NO_SELECT
1015    
1016    Body = ActiveBody ModuleTag_02
1017      MaxHealth       = 100.0
1018      InitialHealth   = 100.0
1019    End
1020  
1021    Behavior = AIUpdateInterface ModuleTag_03
1022      Turret
1023        TurretTurnRate = 60   // turn rate, in degrees per sec
1024        ControlledWeaponSlots = PRIMARY
1025      End
1026      AutoAcquireEnemiesWhenIdle = Yes
1027    End
1028    Locomotor = SET_NORMAL DroneLocomotor
1029    Behavior = StealthDetectorUpdate ModuleTag_04
1030      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
1031      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
1032      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
1033      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
1034    End
1035    Behavior = PhysicsBehavior ModuleTag_05
1036      Mass = 50.0
1037      KillWhenRestingOnGround = Yes
1038      AllowBouncing = No
1039    End
1040  
1041    Behavior = SlavedUpdate ModuleTag_06
1042      GuardMaxRange = 35      ;How far away from master I'm allowed when master is idle (doesn't wander)
1043      GuardWanderRange = 35   ;How far away I'm allowed to wander from master while guarding.
1044      AttackRange = 75        ;How far away from master I'm allowed when master is attacking a target.
1045      AttackWanderRange = 10  ;How far I'm allowed to wander from target.
1046      ScoutRange = 75         ;How far away from master I'm allowed when master is moving.
1047      ScoutWanderRange = 10   ;How far I'm allowed to wander from scout point.
1048      DistToTargetToGrantRangeBonus = 20 ;How close I have to be to the master's target in order to grant master a range bonus.
1049      StayOnSameLayerAsMaster = Yes
1050    End
1051  
1052    Behavior = MaxHealthUpgrade ModuleTag_07
1053      TriggeredBy   = Upgrade_AmericaDroneArmor
1054      AddMaxHealth  = 50.0
1055      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
1056    End
1057  
1058    Behavior = DestroyDie ModuleTag_08
1059      DeathTypes = ALL
1060    End
1061    Behavior                 = CreateObjectDie ModuleTag_09
1062      DeathTypes = ALL
1063      CreationList      = OCL_AmericaScoutDroneExplode
1064    End
1065    Behavior                 = FXListDie ModuleTag_10
1066      DeathTypes = ALL
1067      DeathFX           = FX_AmericaScoutDroneExplode
1068    End
1069    
1070    Behavior                 = TransitionDamageFX ModuleTag_11
1071      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
1072      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
1073    End
1074  
1075    Behavior = UpgradeDie  ModuleTag_12
1076     ;This frees the object based upgrade for the producer object.
1077     DeathTypes = ALL
1078     UpgradeToRemove      = Upgrade_AmericaScoutDrone ModuleTag_13
1079    End
1080  
1081  
1082    Behavior = FlammableUpdate ModuleTag_21
1083      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1084      AflameDamageAmount = 3       ; taking this much damage...
1085      AflameDamageDelay = 500       ; this often.
1086    End
1087  
1088    Geometry = CYLINDER
1089    GeometryMajorRadius = 5.0
1090    GeometryMinorRadius = 6.0
1091    GeometryHeight = 3.0
1092    GeometryIsSmall = Yes
1093    Shadow = SHADOW_VOLUME
1094    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1095  
1096  End
1097  
1098  ;------------------------------------------------------------------------------
1099  Object AmericaVehicleHellfireDrone
1100  
1101    ; *** ART Parameters ***
1102    SelectPortrait         = SAHellfire_L
1103    ButtonImage            = SAHellfire
1104    
1105    UpgradeCameo1 = Upgrade_AmericaDroneArmor
1106    ;UpgradeCameo2 = NONE
1107    ;UpgradeCameo3 = NONE
1108    ;UpgradeCameo4 = NONE
1109    ;UpgradeCameo5 = NONE
1110    
1111    Draw = W3DModelDraw ModuleTag_01
1112      OkToChangeModelColor = Yes
1113  
1114      DefaultConditionState
1115        Model = AVHellDrone
1116        WeaponLaunchBone = PRIMARY WeaponA
1117      End
1118  
1119      ConditionState = REALLYDAMAGED
1120        Model = AVHellDrone_d
1121      End
1122    End
1123  
1124    ; ***DESIGN parameters ***
1125    DisplayName      = OBJECT:HellfireDrone
1126    Side = America
1127    EditorSorting   = VEHICLE
1128    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1129    ArmorSet
1130      Conditions      = None
1131      Armor           = TankArmor
1132      DamageFX        = SmallTankDamageFX
1133    End
1134    BuildCost       = 500
1135    BuildTime       = 5.0          ;in seconds    
1136    VisionRange     = 100
1137    ShroudClearingRange = 500
1138    IsTrainable     = No  ;Can gain experience
1139    
1140    ; *** AUDIO Parameters ***
1141    VoiceSelect = NoSound
1142    VoiceMove = NoSound
1143    VoiceAttack = NoSound
1144    SoundMoveStart = NoSound
1145  
1146    WeaponSet
1147      Conditions = NONE 
1148      Weapon = PRIMARY HellfireMissileWeapon
1149    End
1150  
1151  
1152    ; *** ENGINEERING Parameters ***
1153    RadarPriority = UNIT
1154    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT
1155    
1156    Body = ActiveBody ModuleTag_02
1157      MaxHealth       = 100.0
1158      InitialHealth   = 100.0
1159    End
1160  
1161    Behavior = AIUpdateInterface ModuleTag_03
1162      Turret
1163        TurretTurnRate        = 360   // turn rate, in degrees per sec
1164        TurretPitchRate       = 360
1165        ControlledWeaponSlots = PRIMARY
1166      End
1167      AutoAcquireEnemiesWhenIdle = Yes
1168    End
1169    Locomotor = SET_NORMAL HellfireDroneLocomotor
1170    Behavior = PhysicsBehavior ModuleTag_05
1171      Mass = 50.0
1172      KillWhenRestingOnGround = Yes
1173      AllowBouncing = No
1174    End
1175    Behavior = SlavedUpdate ModuleTag_06
1176      GuardMaxRange = 35      ;How far away from master I'm allowed when master is idle (doesn't wander)
1177      GuardWanderRange = 35   ;How far away I'm allowed to wander from master while guarding.
1178      AttackRange = 75        ;How far away from master I'm allowed when master is attacking a target.
1179      AttackWanderRange = 10  ;How far I'm allowed to wander from target.
1180      ScoutRange = 75         ;How far away from master I'm allowed when master is moving.
1181      ScoutWanderRange = 10   ;How far I'm allowed to wander from scout point.
1182      StayOnSameLayerAsMaster = Yes
1183    End
1184  
1185    Behavior = MaxHealthUpgrade ModuleTag_07
1186      TriggeredBy   = Upgrade_AmericaDroneArmor
1187      AddMaxHealth  = 50.0
1188      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
1189    End
1190  
1191    Behavior = DestroyDie ModuleTag_08
1192      DeathTypes = ALL
1193    End
1194    Behavior                 = CreateObjectDie ModuleTag_09
1195      DeathTypes = ALL
1196      CreationList      = OCL_AmericaScoutDroneExplode
1197    End
1198    Behavior                 = FXListDie ModuleTag_10
1199      DeathTypes = ALL
1200      DeathFX           = FX_AmericaScoutDroneExplode
1201    End
1202    
1203    Behavior                 = TransitionDamageFX ModuleTag_11
1204      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
1205      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
1206    End
1207  
1208    Behavior = UpgradeDie  ModuleTag_12
1209     ;This frees the object based upgrade for the producer object.
1210     DeathTypes = ALL
1211     UpgradeToRemove      = Upgrade_AmericaHellfireDrone ModuleTag_13
1212    End
1213  
1214  
1215    Behavior = FlammableUpdate ModuleTag_21
1216      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1217      AflameDamageAmount = 3       ; taking this much damage...
1218      AflameDamageDelay = 500       ; this often.
1219    End
1220  
1221    Geometry = CYLINDER
1222    GeometryMajorRadius = 5.0
1223    GeometryMinorRadius = 6.0
1224    GeometryHeight = 3.0
1225    GeometryIsSmall = Yes
1226    Shadow = SHADOW_VOLUME
1227    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1228  
1229  End
1230  
1231  
1232  
1233  ;------------------------------------------------------------------------------
1234  Object AmericaVehicleSpyDrone
1235  
1236    ; *** ART Parameters ***
1237    SelectPortrait         = SAScout_L
1238    ButtonImage            = SAScout
1239    Draw = W3DModelDraw ModuleTag_01
1240      OkToChangeModelColor = Yes
1241  
1242      ConditionState = NONE
1243        Model = AVSpyDrone
1244        Animation = AVSpyDrone.AVSpyDrone
1245        AnimationMode = LOOP
1246      End
1247  
1248  ; Damage state waiting for pristine's approval (or may just not need one)
1249  ;    ConditionState = REALLYDAMAGED
1250  ;      Model = AVSpyDrone_d
1251  ;      Animation = AVSpyDrone_d.AVSpyDrone_d
1252  ;      AnimationMode = LOOP
1253  ;    End
1254    End
1255  
1256    ; ***DESIGN parameters ***
1257    DisplayName      = OBJECT:SpyDrone
1258    Side = America
1259    EditorSorting   = VEHICLE
1260    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1261    ArmorSet
1262      Conditions      = None
1263      Armor           = AirplaneArmor
1264      DamageFX        = SmallTankDamageFX
1265    End
1266    VisionRange     = 250
1267    ShroudClearingRange = 0; Dynamic range below
1268    IsTrainable     = No 
1269    
1270    ; *** AUDIO Parameters ***
1271    VoiceSelect = NoSound
1272    VoiceMove = NoSound
1273    VoiceAttack = NoSound
1274    SoundMoveStart = NoSound
1275  
1276    UnitSpecificSounds
1277      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
1278      TurretMoveStart = NoSound
1279      TurretMoveLoop = TurretMoveLoop
1280    End
1281  
1282  
1283    ; *** ENGINEERING Parameters ***
1284    RadarPriority = UNIT
1285    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE SELECTABLE INERT NO_SELECT
1286    
1287    Body = ActiveBody ModuleTag_02
1288      MaxHealth       = 200.0
1289      InitialHealth   = 200.0
1290    End
1291  
1292    Behavior = AIUpdateInterface ModuleTag_03
1293      AutoAcquireEnemiesWhenIdle = No
1294    End
1295  
1296    Locomotor = SET_NORMAL SpyDroneLocomtor
1297  
1298    Behavior = DynamicShroudClearingRangeUpdate ModuleTag_04
1299      FinalVision = 250.0 
1300      ChangeInterval = 50
1301      ShrinkDelay = 2000
1302      ShrinkTime = 1000
1303      GrowDelay = 0
1304      GrowTime = 1000
1305      GrowInterval = 10 ; Faster than most
1306  
1307      GridDecalTemplate
1308        Texture           = EXGrid
1309        Style             = SHADOW_ADDITIVE_DECAL
1310        OpacityMin        = 50%
1311        OpacityMax        = 100%
1312        OpacityThrobTime  = 500
1313        Color             = R:32 G:64 B:128 A:0 //dim blue, additive
1314      End
1315  
1316    End
1317  
1318    Behavior = StealthDetectorUpdate ModuleTag_05
1319      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
1320      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
1321      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
1322      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
1323    End
1324    Behavior = PhysicsBehavior ModuleTag_06
1325      Mass = 50.0
1326    End
1327  
1328    Behavior = DestroyDie ModuleTag_07
1329      DeathTypes = ALL
1330    End
1331    Behavior                 = CreateObjectDie ModuleTag_08
1332      DeathTypes = ALL
1333      CreationList      = OCL_AmericaScoutDroneExplode
1334    End
1335    Behavior = StealthUpdate ModuleTag_09
1336      StealthDelay                = 0 ; msec
1337      StealthForbiddenConditions  = NONE
1338      InnateStealth               = Yes
1339      OrderIdleEnemiesToAttackMeUponReveal  = Yes
1340    End
1341    Behavior = MaxHealthUpgrade ModuleTag_10
1342      TriggeredBy   = Upgrade_AmericaDroneArmor
1343      AddMaxHealth  = 50.0
1344      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
1345    End
1346  
1347    Behavior = FlammableUpdate ModuleTag_21
1348      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1349      AflameDamageAmount = 3       ; taking this much damage...
1350      AflameDamageDelay = 500       ; this often.
1351    End
1352  
1353    Geometry = CYLINDER
1354    GeometryMajorRadius = 5.0
1355    GeometryMinorRadius = 6.0
1356    GeometryHeight = 3.0
1357    GeometryIsSmall = Yes
1358    Shadow = SHADOW_VOLUME
1359    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1360  
1361  End
1362  
1363  ;------------------------------------------------------------------------------
1364  Object AmericaTankCrusader
1365  
1366    ; *** ART Parameters ***
1367    SelectPortrait         = SACLeopard_L
1368    ButtonImage            = SACLeopard
1369    
1370    UpgradeCameo1 = Upgrade_AmericaBattleDrone
1371    UpgradeCameo2 = Upgrade_AmericaScoutDrone
1372    UpgradeCameo3 = Upgrade_AmericaHellfireDrone
1373    UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
1374    UpgradeCameo5 = Upgrade_AmericaCompositeArmor
1375    
1376    Draw = W3DTankDraw ModuleTag_01
1377      DefaultConditionState
1378        Model               = AVLeopard
1379        Turret              = Turret
1380        WeaponFireFXBone    = PRIMARY TurretMS
1381        WeaponRecoilBone    = PRIMARY Barrel
1382        WeaponMuzzleFlash   = PRIMARY TurretFX
1383        WeaponLaunchBone = PRIMARY TurretMS
1384      End
1385      ConditionState       = REALLYDAMAGED
1386        Model              = AVLeopard_D
1387      End
1388      ConditionState       = RUBBLE
1389        Model              = AVLeopard_D
1390      End
1391  
1392      TrackMarks           = EXTnkTrack.tga
1393      TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
1394      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
1395      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
1396      OkToChangeModelColor = Yes
1397    End
1398  
1399    ; ***DESIGN parameters ***
1400    DisplayName      = OBJECT:Crusader
1401    Side                   = America
1402    EditorSorting          = VEHICLE
1403    TransportSlotCount     = 3
1404    WeaponSet
1405      Conditions           = None 
1406      Weapon               = PRIMARY CrusaderTankGun
1407      ; Uncomment this when we want the crusader to have a machine too again
1408      ;Weapon               = SECONDARY CrusaderMachineGun
1409    End
1410    ArmorSet
1411      Conditions           = None
1412      Armor                = TankArmor
1413      DamageFX             = TankDamageFX
1414    End
1415    ;ArmorSet
1416    ;  Conditions           = PLAYER_UPGRADE
1417    ;  Armor                = UpgradedTankArmor
1418    ;  DamageFX             = TankDamageFX
1419    ;End
1420    BuildCost              = 900
1421    BuildTime              = 10.0          ;in seconds    
1422    VisionRange            = 150
1423    ShroudClearingRange = 300
1424    Prerequisites
1425      Object = AmericaWarFactory
1426    End
1427    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
1428    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
1429    IsTrainable            = Yes  ;Can gain experience
1430    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
1431    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
1432    CommandSet             = AmericaTankCrusaderCommandSet
1433    
1434    ; *** AUDIO Parameters ***
1435    VoiceSelect           = CrusaderTankVoiceSelect
1436    VoiceMove             = CrusaderTankVoiceMove
1437    VoiceGuard            = CrusaderTankVoiceMove
1438    VoiceAttack           = CrusaderTankVoiceAttack
1439    SoundMoveStart        = CrusaderTankMoveStart
1440    SoundMoveStartDamaged = CrusaderTankMoveStart
1441    UnitSpecificSounds
1442      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
1443      VoiceCreate         = CrusaderTankVoiceCreate
1444      VoiceEnter             = CrusaderTankVoiceMove
1445      TurretMoveStart     = NoSound
1446      TurretMoveLoop      = TurretMoveLoop
1447      SoundEject          = PilotSoundEject
1448      VoiceEject          = PilotVoiceEject
1449      VoiceCrush          = CrusaderTankVoiceCrush
1450    End
1451  
1452    ; *** ENGINEERING Parameters ***
1453    RadarPriority          = UNIT
1454    KindOf                 = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
1455    
1456    Body                   = ActiveBody ModuleTag_02
1457      MaxHealth       = 480
1458      InitialHealth   = 480
1459  
1460      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
1461      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
1462      SubdualDamageCap = 960
1463      SubdualDamageHealRate = 500
1464      SubdualDamageHealAmount = 50
1465    End
1466  
1467    Behavior = AIUpdateInterface ModuleTag_03
1468      Turret
1469        TurretTurnRate       = 180 ;60   // turn rate, in degrees per sec
1470        ControlledWeaponSlots= PRIMARY
1471      End
1472      AutoAcquireEnemiesWhenIdle = Yes
1473    End
1474    Locomotor            = SET_NORMAL CrusaderLocomotor
1475    Behavior = PhysicsBehavior ModuleTag_04
1476      Mass                 = 50.0
1477    End
1478  
1479    Behavior = ObjectCreationUpgrade ModuleTag_05
1480      UpgradeObject = OCL_AmericanBattleDrone
1481      TriggeredBy   = Upgrade_AmericaBattleDrone
1482      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
1483    End
1484    Behavior = ObjectCreationUpgrade ModuleTag_06
1485      UpgradeObject = OCL_AmericanScoutDrone
1486      TriggeredBy   = Upgrade_AmericaScoutDrone
1487      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
1488    End
1489    Behavior = ObjectCreationUpgrade ModuleTag_20
1490      UpgradeObject = OCL_AmericanHellfireDrone
1491      TriggeredBy   = Upgrade_AmericaHellfireDrone
1492      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
1493    End
1494    Behavior = ProductionUpdate ModuleTag_07
1495      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
1496    End
1497  
1498    Behavior = ExperienceScalarUpgrade ModuleTag_08
1499      TriggeredBy   = Upgrade_AmericaAdvancedTraining
1500      AddXPScalar   = 1.0 ;Increases experience gained by an additional 100%
1501    End
1502    Behavior = MaxHealthUpgrade ModuleTag_09
1503      TriggeredBy   = Upgrade_AmericaCompositeArmor
1504      AddMaxHealth  = 100.0
1505      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
1506    End
1507  
1508    ; Turret fly off death
1509    Behavior = SlowDeathBehavior ModuleTag_10
1510      DeathTypes = ALL -CRUSHED -SPLATTED
1511      ProbabilityModifier  = 50
1512      DestructionDelay  = 500
1513      DestructionDelayVariance  = 100
1514      FX  = INITIAL  FX_GenericTankDeathEffect
1515      OCL = MIDPOINT OCL_GenericTankDeathEffect
1516      FX  = FINAL    FX_GenericTankDeathExplosion
1517      OCL = FINAL    OCL_CrusaderTurret
1518    End
1519  
1520    ; Catch fire, and explode death
1521    Behavior = SlowDeathBehavior ModuleTag_11
1522      DeathTypes = ALL -CRUSHED -SPLATTED
1523      ProbabilityModifier  = 50
1524      DestructionDelay  = 2000
1525      DestructionDelayVariance  = 300
1526      FX  = INITIAL  FX_CrusaderCatchFire
1527      OCL = FINAL    OCL_GenericTankDeathEffect  
1528      FX  = FINAL    FX_GenericTankDeathExplosion
1529    End
1530  
1531    Behavior                 = TransitionDamageFX ModuleTag_12
1532      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
1533      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
1534    End
1535  
1536    Behavior = DestroyDie ModuleTag_13
1537      DeathTypes = NONE +CRUSHED +SPLATTED
1538    End
1539  
1540    ; A crushing defeat
1541    Behavior = FXListDie ModuleTag_14
1542      DeathTypes = NONE +CRUSHED +SPLATTED
1543      DeathFX = FX_CarCrush
1544    End
1545  
1546    Behavior = CreateObjectDie ModuleTag_15
1547      DeathTypes = NONE +CRUSHED +SPLATTED
1548      CreationList = OCL_CrusaderTank_CrushEffect
1549    End
1550  
1551    Behavior                    = CreateCrateDie ModuleTag_CratesChange
1552     CrateData             = SalvageCrateData
1553     ;CrateData             = EliteTankCrateData
1554     ;CrateData             = HeroicTankCrateData
1555    End
1556  
1557    Behavior = EjectPilotDie ModuleTag_17
1558      GroundCreationList = OCL_EjectPilotOnGround
1559      AirCreationList = OCL_EjectPilotViaParachute
1560      ExemptStatus = HIJACKED
1561      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
1562    End
1563  
1564    Behavior = MaxHealthUpgrade ModuleTag_18
1565      TriggeredBy   = Upgrade_AmericaCompositeArmor
1566      AddMaxHealth  = 100.0
1567      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
1568    End
1569  
1570    Behavior = FlammableUpdate ModuleTag_21
1571      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1572      AflameDamageAmount = 3       ; taking this much damage...
1573      AflameDamageDelay = 500       ; this often.
1574    End
1575  
1576    Geometry               = BOX
1577    GeometryMajorRadius    = 15.0
1578    GeometryMinorRadius    = 10.0
1579    GeometryHeight         = 10.0     
1580    GeometryIsSmall        = Yes    
1581    Shadow = SHADOW_VOLUME
1582    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
1583  
1584  End
1585  
1586  
1587  
1588  
1589  
1590  ;------------------------------------------------------------------------------
1591  ;USA Construction Dozer or USDozer
1592  Object AmericaVehicleDozer
1593  
1594    ; *** ART Parameters ***
1595    SelectPortrait         = SACDozer_L
1596    ButtonImage            = SACDozer
1597    
1598    ;UpgradeCameo1 = NONE
1599    ;UpgradeCameo2 = NONE
1600    ;UpgradeCameo3 = NONE
1601    ;UpgradeCameo4 = NONE
1602    ;UpgradeCameo5 = NONE
1603    
1604    Draw = W3DTruckDraw ModuleTag_01
1605  
1606      OkToChangeModelColor = Yes
1607  
1608      DefaultConditionState
1609        Model             = AVCONSTDOZ_A
1610        ParticleSysBone   = EXHAUSTFX01 DozerSmokeLight
1611        WaitForStateToFinishIfPossible = TRANS_DIGGING
1612      End
1613  
1614      ConditionState = PREATTACK_A 
1615        Animation         = AVCONSTDOZ_A.AVCONSTDOZ_A
1616        AnimationMode     = ONCE
1617        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
1618        ParticleSysBone   = DIRTFX01 DozerDirtFall ;gush of dirt
1619        TransitionKey     = TRANS_DIGGING
1620      End
1621  
1622      ConditionState = MOVING
1623        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
1624        WaitForStateToFinishIfPossible = TRANS_DIGGING
1625      End
1626  
1627      ConditionState      = REALLYDAMAGED RUBBLE
1628        Model             = AVCONSTDOZ_AD
1629        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
1630        WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
1631      End
1632  
1633      ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE
1634        Model             = AVCONSTDOZ_AD
1635        Animation         = AVCONSTDOZ_AD.AVCONSTDOZ_AD
1636        AnimationMode     = ONCE
1637        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
1638        TransitionKey     = TRANS_DIGGING_DAMAGED
1639      End
1640  
1641      ConditionState      = MOVING REALLYDAMAGED RUBBLE
1642        Model             = AVCONSTDOZ_AD
1643        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
1644        WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
1645      End
1646  
1647  
1648      TrackMarks            = EXTireTrack2.tga
1649      Dust                  = RocketBuggyDust
1650      DirtSpray             = RocketBuggyDirtSpray
1651  
1652      ; These parameters are only used if the model has a separate suspension, 
1653      ; and the locomotor has HasSuspension = Yes.
1654  
1655      LeftFrontTireBone     = TIRE01
1656      RightFrontTireBone    = TIRE02
1657      LeftRearTireBone      = TIRE03
1658      RightRearTireBone     = TIRE04
1659  
1660      TireRotationMultiplier      = 0.2   ; this * speed = rotation.
1661      PowerslideRotationAddition  = 0   ; This vehicle doesn't powerslide.
1662  
1663    ParticlesAttachedToAnimatedBones = Yes 
1664  
1665  
1666    End
1667  
1668  
1669  
1670    ; ***DESIGN parameters ***
1671    DisplayName         = OBJECT:Dozer
1672    Side                = America
1673    EditorSorting       = VEHICLE
1674    TransportSlotCount  = 5 ;how many "slots" we take in a transport (0 == not transportable)
1675    BuildCost           = 1000
1676    BuildTime           = 5.0 ; in seconds
1677    VisionRange         = 200
1678    ShroudClearingRange = 200
1679  
1680    WeaponSet
1681      Conditions = None 
1682      Weapon = PRIMARY None
1683    End
1684    WeaponSet
1685      Conditions = MINE_CLEARING_DETAIL 
1686      Weapon = PRIMARY DozerMineDisarmingWeapon
1687    End
1688  
1689    ArmorSet
1690      Conditions        = None
1691      Armor             = DozerArmor ;Special Explosion-Proof Armor
1692      DamageFX          = TankDamageFX
1693    End
1694    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
1695    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
1696    CommandSet          = AmericaDozerCommandSet
1697  
1698    ; *** AUDIO Parameters ***
1699    VoiceSelect         = DozerUSAVoiceSelect
1700    VoiceMove           = DozerUSAVoiceMove
1701    VoiceGuard          = DozerUSAVoiceMove
1702    VoiceTaskComplete   = DozerUSAVoiceBuildComplete
1703    SoundMoveStart      = DozerUSAMoveStart
1704    SoundMoveStartDamaged = DozerUSAMoveStart
1705    UnitSpecificSounds
1706      VoiceCreate           = DozerUSAVoiceCreate
1707      VoiceNoBuild          = DozerUSAVoiceBuildNot
1708      VoiceCrush            = DozerUSAVoiceCrush
1709      VoiceRepair           = DozerUSAVoiceRepair
1710      VoiceDisarm           = DozerUSAVoiceClearMine
1711      TruckLandingSound     = NoSound
1712      TruckPowerslideSound  = NoSound
1713      VoiceEnter            = DozerUSAVoiceMove
1714      VoiceBuildResponse    = DozerUSAVoiceBuild
1715    End
1716  
1717    ; *** ENGINEERING Parameters ***
1718    RadarPriority       = UNIT
1719    KindOf              = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER
1720   
1721    Body                = ActiveBody ModuleTag_02
1722      MaxHealth         = 250.0
1723      InitialHealth     = 250.0
1724  
1725      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
1726      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
1727      SubdualDamageCap = 500
1728      SubdualDamageHealRate = 500
1729      SubdualDamageHealAmount = 50
1730    End
1731    Behavior = DozerAIUpdate ModuleTag_03
1732      RepairHealthPercentPerSecond = 2%    ; % of max health to repair each second
1733      BoredTime                    = 5000  ; in milliseconds
1734      BoredRange                   = 150   ; when bored, we look this far away to do something
1735      ; the only "enemies" that workers can acquire are mines, to be disarmed...
1736      AutoAcquireEnemiesWhenIdle   = Yes
1737    End
1738  
1739    Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor
1740  
1741    Behavior            = PhysicsBehavior ModuleTag_04
1742      Mass              = 75.0
1743    End
1744  
1745    Behavior = StealthDetectorUpdate ModuleTag_05
1746      DetectionRate         = 500   ; how often to rescan for stealthed things in my sight (msec)
1747      ;DetectionRange       = ??? ;Dustin, enable this for independant balancing!
1748      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
1749      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
1750      ExtraRequiredKindOf   = MINE  ; we can only detect MINES, not other stealthed things
1751    End
1752  
1753    Behavior                 = TransitionDamageFX ModuleTag_06
1754      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
1755      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
1756    End
1757  
1758    ; Catch fire, and explode death
1759    Behavior = SlowDeathBehavior ModuleTag_07
1760      DeathTypes = ALL -CRUSHED -SPLATTED
1761      ProbabilityModifier = 100
1762      DestructionDelay = 1500
1763      DestructionDelayVariance = 600
1764      FX  = INITIAL  FX_CrusaderCatchFire
1765      OCL = FINAL    OCL_AmericaDozerExplode  
1766      FX  = FINAL    FX_BattleMasterExplosionOneFinal
1767    End   
1768  
1769    Behavior = CreateCrateDie ModuleTag_CratesChange
1770      CrateData = SalvageCrateData
1771    End
1772    
1773    Behavior = FlammableUpdate ModuleTag_21
1774      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1775      AflameDamageAmount = 3       ; taking this much damage...
1776      AflameDamageDelay = 500       ; this often.
1777    End
1778  
1779  ;;;;;;;;  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_22
1780  ;;;;;;;;  End
1781  
1782    Behavior               = FXListDie ModuleTag_23
1783      DeathTypes = NONE +CRUSHED +SPLATTED
1784      DeathFX         = FX_CarCrush
1785    End
1786  
1787    Behavior = DestroyDie ModuleTag_24
1788      DeathTypes = NONE +CRUSHED +SPLATTED
1789    End
1790  
1791    Geometry            = BOX
1792    GeometryMajorRadius = 15.0
1793    GeometryMinorRadius = 10.0
1794    GeometryHeight      = 15.0     
1795    GeometryIsSmall     = Yes
1796    Shadow              = SHADOW_VOLUME
1797    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length    
1798  
1799  End
1800  
1801  
1802  
1803  
1804  ;------------------------------------------------------------------------------
1805  Object AmericaTankPaladin
1806  
1807    ; *** ART Parameters ***
1808    SelectPortrait         = SAPaladin_L
1809    ButtonImage            = SAPaladin
1810    
1811    UpgradeCameo1 = Upgrade_AmericaBattleDrone
1812    UpgradeCameo2 = Upgrade_AmericaScoutDrone
1813    UpgradeCameo3 = Upgrade_AmericaAdvancedTraining
1814    UpgradeCameo4 = Upgrade_AmericaCompositeArmor
1815    UpgradeCameo5 = Upgrade_AmericaHallfireDrone
1816  
1817    Draw = W3DTankDraw ModuleTag_01
1818      
1819      ExtraPublicBone = Laser 
1820  
1821      ConditionState        = NONE
1822        Model               = AVPaladin
1823        Turret              = Turret01
1824        WeaponFireFXBone    = PRIMARY TurretMS
1825        WeaponRecoilBone    = PRIMARY Barrel
1826        WeaponMuzzleFlash   = PRIMARY TurretFX
1827        WeaponLaunchBone = PRIMARY TurretMS
1828      End
1829      
1830      ConditionState        = REALLYDAMAGED
1831        Model               = AVPaladin_D
1832        Turret              = Turret01
1833        WeaponFireFXBone    = PRIMARY TurretMS
1834        WeaponRecoilBone    = PRIMARY Barrel
1835        WeaponMuzzleFlash   = PRIMARY TurretFX
1836        WeaponLaunchBone = PRIMARY TurretMS
1837      End
1838      
1839      ConditionState        = RUBBLE
1840        Model               = AVPaladin_D
1841        Turret              = Turret01
1842        WeaponFireFXBone    = PRIMARY TurretMS
1843        WeaponRecoilBone    = PRIMARY Barrel
1844        WeaponMuzzleFlash   = PRIMARY TurretFX
1845        WeaponLaunchBone = PRIMARY TurretMS
1846      End
1847      
1848      TrackMarks           = EXTnkTrack.tga
1849      TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
1850      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
1851      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
1852      OkToChangeModelColor = Yes
1853    End
1854  
1855    ; ***DESIGN parameters ***
1856    DisplayName      = OBJECT:Paladin
1857    Side = America
1858    EditorSorting   = VEHICLE
1859    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
1860    WeaponSet
1861      Conditions = None 
1862      Weapon = PRIMARY PaladinTankGun
1863    End
1864    ArmorSet
1865      Conditions      = None
1866      Armor           = TankArmor
1867      DamageFX        = TankDamageFX
1868    End
1869    ;ArmorSet
1870    ;  Conditions      = PLAYER_UPGRADE
1871    ;  Armor           = UpgradedTankArmor
1872    ;  DamageFX        = TankDamageFX
1873    ;End
1874    BuildCost       = 1100
1875    BuildTime       = 12.0          ;in seconds    
1876    VisionRange     = 150
1877    ShroudClearingRange = 300
1878    Prerequisites
1879      Object = AmericaWarFactory
1880      Science = SCIENCE_PaladinTank
1881    End
1882  
1883    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
1884    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
1885  
1886    IsTrainable     = Yes  ;Can gain experience
1887    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
1888    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
1889    CommandSet      = AmericaTankPaladinCommandSet
1890      
1891    ; *** AUDIO Parameters ***
1892    VoiceSelect = PaladinTankVoiceSelect
1893    VoiceMove = PaladinTankVoiceMove
1894    VoiceGuard = PaladinTankVoiceMove
1895    VoiceAttack = PaladinTankVoiceAttack
1896    SoundMoveStart = PaladinTankMoveStart
1897    SoundMoveStartDamaged = PaladinTankMoveStart
1898  
1899    UnitSpecificSounds
1900      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
1901      VoiceCreate     = PaladinTankVoiceCreate
1902      TurretMoveLoop = TurretMoveLoop
1903      SoundEject = PilotSoundEject
1904      VoiceEject = PilotVoiceEject
1905      VoiceCrush = PaladinTankVoiceCrush
1906      VoiceEnter = PaladinTankVoiceMove
1907    End
1908  
1909    ; *** ENGINEERING Parameters ***
1910    RadarPriority = UNIT
1911    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
1912    
1913    Body = ActiveBody ModuleTag_02
1914      MaxHealth       = 500.0
1915      InitialHealth   = 500.0
1916  
1917      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
1918      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
1919      SubdualDamageCap = 1000
1920      SubdualDamageHealRate = 500
1921      SubdualDamageHealAmount = 50
1922    End
1923  
1924    Behavior = AIUpdateInterface ModuleTag_03
1925      Turret
1926        TurretTurnRate = 180 ;60   // turn rate, in degrees per sec
1927        ControlledWeaponSlots = PRIMARY
1928      End
1929      ;AltTurret
1930      ;  TurretTurnRate = 9000;
1931      ;  ControlledWeaponSlots = SECONDARY
1932      ;End
1933      AutoAcquireEnemiesWhenIdle = Yes
1934    End
1935    Locomotor = SET_NORMAL CrusaderLocomotor
1936    Behavior = PhysicsBehavior ModuleTag_04
1937      Mass = 50.0
1938    End
1939    
1940    ; Turret fly off death
1941    Behavior = SlowDeathBehavior ModuleTag_05
1942      DeathTypes = ALL -CRUSHED -SPLATTED
1943      ProbabilityModifier = 50
1944  ;    ModifierBonusPerOverkillPercent = 30%  ; negative means less likely to pick this in the face of much damage, positive means more likely
1945      DestructionDelay = 500
1946      DestructionDelayVariance = 100
1947      FX  = INITIAL  FX_GenericTankDeathEffect
1948      FX  = FINAL    FX_GenericTankDeathExplosion
1949      OCL = FINAL    OCL_PaladinTankDeathEffect
1950    End
1951    
1952    ; Catch fire, and explode death
1953    Behavior = SlowDeathBehavior ModuleTag_06
1954      DeathTypes = ALL -CRUSHED -SPLATTED
1955      ProbabilityModifier = 50
1956      DestructionDelay = 2000
1957      DestructionDelayVariance = 300
1958      FX  = INITIAL  FX_CrusaderCatchFire
1959      OCL = FINAL    OCL_PaladinTankDeathEffect
1960      FX  = FINAL    FX_GenericTankDeathExplosion 
1961    End
1962  
1963    Behavior = PointDefenseLaserUpdate ModuleTag_07
1964      WeaponTemplate        = PaladinPointDefenseLaser
1965      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
1966      SecondaryTargetTypes  = INFANTRY
1967      ScanRate              = 500
1968      ScanRange             = 120.0
1969      PredictTargetVelocityFactor = 3.0
1970    End
1971  
1972    Behavior = ObjectCreationUpgrade ModuleTag_08
1973      UpgradeObject = OCL_AmericanBattleDrone
1974      TriggeredBy   = Upgrade_AmericaBattleDrone
1975      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
1976    End
1977    Behavior = ObjectCreationUpgrade ModuleTag_09
1978      UpgradeObject = OCL_AmericanScoutDrone
1979      TriggeredBy   = Upgrade_AmericaScoutDrone
1980      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
1981    End 
1982    Behavior = ObjectCreationUpgrade ModuleTag_19
1983      UpgradeObject = OCL_AmericanHellfireDrone
1984      TriggeredBy   = Upgrade_AmericaHellfireDrone
1985      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
1986    End Upgrade_AmericaHallfireDrone
1987  
1988    Behavior = ProductionUpdate ModuleTag_10
1989      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
1990    End
1991  
1992    Behavior = ExperienceScalarUpgrade ModuleTag_11
1993      TriggeredBy = Upgrade_AmericaAdvancedTraining
1994      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
1995    End
1996  
1997    Behavior = TransitionDamageFX ModuleTag_12
1998      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
1999      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
2000    End
2001  
2002    Behavior = FXListDie ModuleTag_13
2003      DeathTypes = NONE +CRUSHED +SPLATTED
2004      DeathFX = FX_CarCrush
2005    End
2006    Behavior = CreateObjectDie ModuleTag_14
2007      DeathTypes = NONE +CRUSHED +SPLATTED
2008      CreationList = OCL_CrusaderTank_CrushEffect
2009    End
2010    Behavior = DestroyDie ModuleTag_15
2011      DeathTypes = NONE +CRUSHED +SPLATTED
2012    End
2013    Behavior = CreateCrateDie ModuleTag_16
2014      CrateData = SalvageCrateData
2015      ;CrateData = EliteTankCrateData
2016      ;CrateData = HeroicTankCrateData
2017    End
2018    Behavior = EjectPilotDie ModuleTag_17
2019      DeathTypes = ALL -CRUSHED -SPLATTED
2020      ExemptStatus = HIJACKED
2021      GroundCreationList = OCL_EjectPilotOnGround
2022      AirCreationList = OCL_EjectPilotViaParachute
2023      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
2024    End
2025  
2026    Behavior = MaxHealthUpgrade ModuleTag_18
2027      TriggeredBy   = Upgrade_AmericaCompositeArmor
2028      AddMaxHealth  = 100.0
2029      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
2030    End
2031  
2032    Behavior = FlammableUpdate ModuleTag_21
2033      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2034      AflameDamageAmount = 3       ; taking this much damage...
2035      AflameDamageDelay = 500       ; this often.
2036    End
2037  
2038    Geometry = BOX
2039    GeometryMajorRadius = 15.0
2040    GeometryMinorRadius = 10.0
2041    GeometryHeight = 10.0     
2042    GeometryIsSmall = Yes    
2043    Shadow = SHADOW_VOLUME
2044    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
2045  
2046  End
2047  
2048  ;------------------------------------------------------------------------------
2049  ;Sentry Drone
2050  Object AmericaVehicleSentryDrone
2051  
2052    ; *** ART Parameters ***
2053    SelectPortrait         = SAsentry_L
2054    ButtonImage            = SAsentry
2055    
2056    UpgradeCameo1 = Upgrade_AmericaSentryDroneGun
2057    ;UpgradeCameo2 = NONE
2058    ;UpgradeCameo3 = NONE
2059    ;UpgradeCameo4 = NONE
2060    ;UpgradeCameo5 = NONE
2061  
2062    Draw = W3DTankDraw ModuleTag_01
2063      
2064      InitialRecoilSpeed   = 10
2065      MaxRecoilDistance    = 1.5
2066      RecoilSettleSpeed    = 3
2067  
2068      OkToChangeModelColor = Yes
2069  
2070      DefaultConditionState
2071        Model                           = AVSENTRY
2072        Animation                       = AVSENTRY.AVSENTRY
2073        AnimationMode                   = LOOP
2074        Turret                          = TURRET01
2075        HideSubObject                   = TURRETUP09  ;Hide controlled turret
2076        WeaponFireFXBone  = PRIMARY   TurretFX
2077        WeaponMuzzleFlash = PRIMARY   TurretFX
2078        WeaponRecoilBone  = PRIMARY   TurretUp
2079      End
2080      ConditionState                    = REALLYDAMAGED
2081        Turret                          = TURRET01
2082        Model                           = AVSENTRY_D
2083        Animation                       = AVSENTRY_D.AVSENTRY_D
2084        AnimationMode                   = LOOP
2085        HideSubObject                   = TURRETUP09      ;Hide controlled turret
2086      End
2087      ConditionState                    = RUBBLE
2088        Model                           = AVSENTRY_D1
2089        HideSubObject                   = TURRETUP09      ;Hide controlled turret
2090      End
2091      AliasConditionState = RUBBLE WEAPONSET_PLAYER_UPGRADE 
2092      
2093      ConditionState = WEAPONSET_PLAYER_UPGRADE
2094        Model                           = AVSENTRY
2095        Animation                       = AVSENTRY.AVSENTRY
2096        AnimationMode                   = LOOP
2097        ShowSubObject                   = TURRETUP09
2098      End
2099  
2100      ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
2101        Model                           = AVSENTRY_D
2102        Animation                       = AVSENTRY_D.AVSENTRY_D
2103        AnimationMode                   = LOOP
2104        ShowSubObject                   = TURRETUP09
2105      End
2106  
2107      TrackMarks           = EXTnkTrack.tga
2108      TreadDebrisLeft      = SentryDroneTrackDebrisDirtLeft
2109      TreadDebrisRight     = SentryDroneTrackDebrisDirtRight
2110      TreadAnimationRate   = 4.0  ; amount of tread texture to move per second
2111    End
2112  
2113    ; ***DESIGN parameters ***
2114    DisplayName        = OBJECT:SentryDrone
2115    Side               = America
2116    EditorSorting      = VEHICLE
2117    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
2118    WeaponSet
2119      Conditions = None 
2120      Weapon = PRIMARY None
2121    End
2122    WeaponSet
2123      Conditions = PLAYER_UPGRADE
2124      Weapon = PRIMARY SentryDroneGun
2125    End
2126    ArmorSet
2127      Conditions      = None
2128      Armor           = SentryDroneArmor
2129      DamageFX        = TruckDamageFX
2130    End
2131    BuildCost       = 800
2132    BuildTime       = 10.0          ;in seconds    
2133    VisionRange     = 200
2134    ShroudClearingRange = 350
2135    Prerequisites
2136      Object = AmericaWarFactory
2137    End
2138  
2139    ExperienceValue = 50 50 100 150   ;Experience point value at each level
2140    ExperienceRequired = 0 100 150 300  ;Experience points needed to gain each level
2141    IsTrainable = No             ;Can gain experience
2142    CrusherLevel           = 0  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
2143    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
2144    CommandSet    = AmericaVehicleSentryDroneCommandSet
2145  
2146    ; *** AUDIO Parameters ***
2147    VoiceSelect           = SentryDroneVoiceSelect
2148    VoiceMove             = SentryDroneVoiceMove
2149    VoiceGuard            = SentryDroneVoiceMove
2150    VoiceAttack           = SentryDroneVoiceMove
2151    SoundMoveStart        = SentryDroneMoveStart
2152    SoundMoveStartDamaged = NoSound
2153    UnitSpecificSounds
2154      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
2155      VoiceCreate         = NoSound
2156      TurretMoveStart     = NoSound
2157      TurretMoveLoop      = NoSound
2158      VoiceEnter          = NoSound
2159      Deploy              = NoSound
2160      Undeploy            = NoSound
2161    End
2162    Behavior = WeaponSetUpgrade ModuleTag_03
2163      TriggeredBy = Upgrade_AmericaSentryDroneGun
2164    End
2165  
2166  
2167    ; *** ENGINEERING Parameters ***
2168    RadarPriority = UNIT
2169    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTACK_NEEDS_LINE_OF_SIGHT DRONE
2170    
2171    Body = ActiveBody ModuleTag_02
2172      MaxHealth       = 300.0
2173      InitialHealth   = 300.0
2174  
2175      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
2176      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
2177      SubdualDamageCap = 480
2178      SubdualDamageHealRate = 500
2179      SubdualDamageHealAmount = 50
2180    End
2181    Behavior = DeployStyleAIUpdate ModuleTag_04
2182      Turret
2183        TurretTurnRate        = 180
2184        TurretPitchRate       = 180
2185        FirePitch             = 0            ; Instead of aiming pitchwise at the target, it will aim here
2186        AllowsPitch           = No
2187        RecenterTime          = 1000         ; how long to wait during idle before recentering
2188        ControlledWeaponSlots = PRIMARY
2189        NaturalTurretAngle    = 0
2190        InitiallyDisabled     = No
2191        MinIdleScanInterval   = 250    ; in milliseconds
2192        MaxIdleScanInterval   = 250    ; in milliseconds
2193        MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
2194        MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
2195      End
2196      AutoAcquireEnemiesWhenIdle = Yes Stealthed ; Means "Yes when idle, even if I am stealthed"
2197      PackTime = 1000
2198      UnpackTime = 1000
2199      TurretsFunctionOnlyWhenDeployed = Yes
2200      TurretsMustCenterBeforePacking = Yes
2201    End
2202  
2203    Locomotor = SET_NORMAL SentryLocomotor
2204    Behavior = PhysicsBehavior ModuleTag_05
2205      Mass = 50.0
2206    End
2207    Behavior = StealthUpdate ModuleTag_06
2208      StealthDelay                = 2000 ; msec
2209      StealthForbiddenConditions  = FIRING_PRIMARY MOVING
2210      HintDetectableConditions    = IS_FIRING_WEAPON 
2211      FriendlyOpacityMin          = 50.0%
2212      FriendlyOpacityMax          = 100.0%
2213      InnateStealth               = Yes
2214      OrderIdleEnemiesToAttackMeUponReveal  = Yes
2215    End
2216  
2217    Behavior = SlowDeathBehavior ModuleTag_07
2218      DeathTypes = ALL -CRUSHED -SPLATTED
2219      DestructionDelay  = 500
2220      DestructionDelayVariance  = 100
2221      FX  = INITIAL  FX_GenericTankDeathEffect
2222      OCL = MIDPOINT OCL_AmericaVehicleSentryDroneDie
2223      FX =  FINAL FX_AmericaVehicleTomahawkDeathExplosion
2224    End
2225  
2226    Behavior = DestroyDie ModuleTag_08
2227      DeathTypes = NONE +CRUSHED +SPLATTED
2228    End
2229  
2230    Behavior = FXListDie ModuleTag_09
2231      DeathTypes = NONE +CRUSHED +SPLATTED
2232      DeathFX = FX_CarCrush
2233    End
2234  
2235    Behavior = CreateCrateDie ModuleTag_CratesChange
2236      CrateData = SalvageCrateData
2237      ;CrateData = EliteTankCrateData
2238      ;CrateData = HeroicTankCrateData
2239    End
2240  
2241    Behavior = TransitionDamageFX ModuleTag_10
2242      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
2243      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
2244    End
2245  
2246    Behavior = FlammableUpdate ModuleTag_11
2247      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2248      AflameDamageAmount = 3       ; taking this much damage...
2249      AflameDamageDelay = 500       ; this often.
2250    End
2251    Behavior = StealthDetectorUpdate ModuleTag_12
2252      DetectionRate            = 900   ; how often to rescan for stealthed things in my sight (msec)
2253      DetectionRange           = 225 ;Dustin, enable this for independant balancing!
2254    End
2255    Geometry = BOX
2256    GeometryMajorRadius = 9.0
2257    GeometryMinorRadius = 7.0
2258    GeometryHeight = 11.5     
2259    GeometryIsSmall = Yes 
2260    Shadow = SHADOW_VOLUME
2261    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
2262  
2263  
2264  End
2265  
2266  ;------------------------------------------------------------------------------
2267  Object AmericaTankAvengerLaserTurret ; Seperate turret object so it can attack independantly
2268  
2269    ; *** ART Parameters ***
2270    SelectPortrait         = SNPropSpeaker_L
2271    ButtonImage            = SNPropSpeaker
2272    
2273    UpgradeCameo1 = Upgrade_Nationalism
2274    UpgradeCameo2 = Upgrade_ChinaUraniumShells
2275    UpgradeCameo3 = Upgrade_ChinaNuclearTanks
2276    ;UpgradeCameo4 = NONE
2277    UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower
2278    
2279    Draw                    = W3DDependencyModelDraw ModuleTag_01
2280      OkToChangeModelColor  = Yes
2281      ExtraPublicBone = TurretFX01
2282      ExtraPublicBone = TurretFX02
2283      ExtraPublicBone = TURRET01
2284      ExtraPublicBone = TURRETEL
2285      ExtraPublicBone = TURRETEL01
2286  
2287      AttachToBoneInContainer = FIREPOINT01
2288  
2289      DefaultConditionState 
2290        Model         = AVAVNGER_G
2291        Turret              = TURRET01
2292        TurretPitch         = TURRETEL01
2293      End
2294  
2295      ConditionState = REALLYDAMAGED
2296        Model         = AVAVNGER_GD
2297        Turret              = TURRET01
2298        TurretPitch         = TURRETEL01
2299      End
2300    End
2301  
2302    PlacementViewAngle = -45
2303  
2304    ; ***DESIGN parameters ***
2305    Side             = America
2306    EditorSorting    = SYSTEM
2307    TransportSlotCount = 1
2308    
2309    WeaponSet
2310      Conditions = None 
2311      Weapon = PRIMARY AvengerAirLaserOne
2312      Weapon = SECONDARY AvengerAirLaserTwo
2313    End
2314  
2315    ArmorSet
2316      Conditions     = None
2317      Armor          = InvulnerableAllArmor ; We can't be hurt on the field.  We share damage from the Avenger with his damage module
2318    End
2319    VisionRange     = 200
2320  
2321    ; *** AUDIO Parameters ***
2322    UnitSpecificSounds
2323     TurretMoveStart = NoSound
2324      TurretMoveLoop  = NoSound ;TurretMoveLoop
2325    End
2326  
2327    ; *** ENGINEERING Parameters ***
2328    KindOf            = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CLICK_THROUGH IGNORED_IN_GUI
2329      Body            = StructureBody ModuleTag_02
2330      MaxHealth       = 100.0
2331      InitialHealth   = 100.0
2332    End
2333  
2334    Behavior = AIUpdateInterface ModuleTag_03
2335      Turret
2336        ControlledWeaponSlots = PRIMARY SECONDARY
2337        TurretTurnRate      = 180   // turn rate, in degrees per sec
2338        TurretPitchRate     = 180
2339        AllowsPitch         = Yes
2340        NaturalTurretPitch  = 45
2341      End
2342      AutoAcquireEnemiesWhenIdle = Yes 
2343      MoodAttackCheckRate = 500 ; default is 2000
2344    End
2345  
2346    Behavior             = DestroyDie ModuleTag_05
2347      ;<No Data>
2348    End
2349  
2350    Geometry            = BOX
2351    GeometryMajorRadius = 6.0
2352    GeometryMinorRadius = 6.0
2353    GeometryHeight      = 10.0
2354    GeometryIsSmall     = No      
2355    Shadow              = SHADOW_VOLUME
2356    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
2357  
2358  End
2359  
2360  ;------------------------------------------------------------------------------
2361  Object AmericaTankAvenger
2362  
2363    ; *** ART Parameters ***
2364    SelectPortrait         = SAAvnger_L
2365    ButtonImage            = SAAvnger
2366    
2367    UpgradeCameo1 = Upgrade_AmericaBattleDrone
2368    UpgradeCameo2 = Upgrade_AmericaScoutDrone
2369    UpgradeCameo3 = Upgrade_AmericaHellfireDrone
2370    UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
2371    UpgradeCameo5 = Upgrade_AmericaCompositeArmor
2372  
2373    Draw = W3DOverlordTruckDraw ModuleTag_01
2374      OkToChangeModelColor  = Yes
2375      ExtraPublicBone = TurretFX03
2376      ExtraPublicBone = LazerSpot01
2377      ExtraPublicBone = LazerSpot02
2378      DefaultConditionState
2379        Model               = AVAVNGER
2380      End
2381      
2382      ConditionState        = REALLYDAMAGED
2383        Model               = AVAVNGER_D
2384      End
2385      
2386      ConditionState        = RUBBLE
2387        Model               = AVAVNGER_D1
2388      End
2389      
2390      Dust = RocketBuggyDust
2391      DirtSpray = RocketBuggyDirtSpray
2392      PowerslideSpray = RocketBuggyDirtPowerSlide
2393  
2394      ; These parameters are only used if the model has a separate suspension, 
2395      ; and the locomotor has HasSuspension = Yes.
2396      LeftFrontTireBone = Tire01
2397      RightFrontTireBone = Tire02
2398      LeftRearTireBone = Tire03
2399      RightRearTireBone = Tire04
2400      TireRotationMultiplier = 0.2   ; this * speed = rotation.
2401      PowerslideRotationAddition = 0.0   ; This speed is added to the rotation speed when powersliding.
2402    End
2403  
2404    ; ***DESIGN parameters ***
2405    DisplayName      = OBJECT:Avenger
2406    Side = America
2407    EditorSorting   = VEHICLE
2408    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
2409    WeaponSet
2410      Conditions = None 
2411      Weapon = PRIMARY AvengerTargetDesignator
2412    End
2413    ArmorSet
2414      Conditions      = None
2415      Armor           = AntiAirVehicle
2416      DamageFX        = TankDamageFX
2417    End
2418    BuildCost       = 2000
2419    BuildTime       = 10.0          ;in seconds    
2420    VisionRange     = 150
2421    ShroudClearingRange = 300
2422    Prerequisites
2423      Object = AmericaWarFactory
2424      Object = AmericaStrategyCenter
2425    End
2426  
2427    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
2428    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
2429  
2430    IsTrainable     = Yes
2431    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
2432    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
2433    CommandSet      = AmericaTankAvengerCommandSet
2434      
2435    ; *** AUDIO Parameters ***
2436    VoiceSelect = AvengerVoiceSelect
2437    VoiceMove = AvengerVoiceMove
2438    VoiceGuard = AvengerVoiceMove
2439    VoiceAttack = AvengerVoicePaint
2440    VoiceAttackAir = AvengerVoiceAttack
2441    SoundMoveStart = HumveeMoveStart
2442    SoundMoveStartDamaged = HumveeMoveStart
2443  
2444    UnitSpecificSounds
2445      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
2446      VoiceCreate     = AvengerVoiceCreate
2447      TurretMoveLoop = NoSound
2448      SoundEject = PilotSoundEject
2449      VoiceEject = PilotVoiceEject
2450      VoiceCrush = NoSound
2451      VoiceEnter = AvengerVoiceMove
2452    End
2453  
2454    ; *** ENGINEERING Parameters ***
2455    RadarPriority = UNIT
2456    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE
2457    
2458    Body = ActiveBody ModuleTag_02
2459      MaxHealth       = 300.0
2460      InitialHealth   = 300.0
2461  
2462      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
2463      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
2464      SubdualDamageCap = 1000
2465      SubdualDamageHealRate = 500
2466      SubdualDamageHealAmount = 50
2467    End
2468  
2469    Behavior = AIUpdateInterface ModuleTag_03
2470      AutoAcquireEnemiesWhenIdle = Yes
2471    End
2472    Locomotor = SET_NORMAL AvengerLocomotor
2473    Behavior = PhysicsBehavior ModuleTag_04
2474      Mass = 50.0
2475    End
2476    
2477    ; Turret fly off death
2478    Behavior = SlowDeathBehavior ModuleTag_05
2479      DeathTypes = ALL -CRUSHED -SPLATTED
2480      ProbabilityModifier = 50
2481  ;    ModifierBonusPerOverkillPercent = 30%  ; negative means less likely to pick this in the face of much damage, positive means more likely
2482      DestructionDelay = 500
2483      DestructionDelayVariance = 100
2484      FX  = INITIAL  FX_GenericTankDeathEffect
2485      FX  = FINAL    FX_GenericTankDeathExplosion
2486      OCL = FINAL    OCL_AvengerTankDeathEffect
2487    End
2488    
2489    ; Catch fire, and explode death
2490    Behavior = SlowDeathBehavior ModuleTag_06
2491      DeathTypes = ALL -CRUSHED -SPLATTED
2492      ProbabilityModifier = 50
2493      DestructionDelay = 2000
2494      DestructionDelayVariance = 300
2495      FX  = INITIAL  FX_CrusaderCatchFire
2496      FX  = FINAL    FX_GenericTankDeathExplosion 
2497      OCL = FINAL    OCL_AvengerTankDeathEffect
2498    End
2499  
2500    Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One
2501      WeaponTemplate        = AvengerPointDefenseLaserOne
2502      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
2503      ScanRate              = 0
2504      ScanRange             = 200.0
2505      PredictTargetVelocityFactor = 1.0
2506    End
2507  
2508  ;  Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two
2509  ;    WeaponTemplate        = AvengerPointDefenseLaserTwo
2510  ;    PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
2511  ;    ScanRate              = 100
2512  ;    ScanRange             = 200.0
2513  ;    PredictTargetVelocityFactor = 1.0
2514  ;  End
2515  
2516    Behavior = OverlordContain ModuleTag_OverlordContain
2517      Slots                 = 1
2518      DamagePercentToUnits  = 100%
2519      AllowInsideKindOf     = PORTABLE_STRUCTURE
2520      PassengersAllowedToFire = Yes
2521      PayloadTemplateName        = AmericaTankAvengerLaserTurret
2522      ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills
2523    End
2524  
2525    Behavior = ObjectCreationUpgrade ModuleTag_08
2526      UpgradeObject = OCL_AmericanBattleDrone
2527      TriggeredBy   = Upgrade_AmericaBattleDrone
2528      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
2529    End
2530    Behavior = ObjectCreationUpgrade ModuleTag_09
2531      UpgradeObject = OCL_AmericanScoutDrone
2532      TriggeredBy   = Upgrade_AmericaScoutDrone
2533      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
2534    End 
2535    Behavior = ObjectCreationUpgrade ModuleTag_19
2536      UpgradeObject = OCL_AmericanHellfireDrone
2537      TriggeredBy   = Upgrade_AmericaHellfireDrone
2538      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
2539    End
2540  
2541    Behavior = ProductionUpdate ModuleTag_10
2542      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
2543    End
2544  
2545    Behavior = ExperienceScalarUpgrade ModuleTag_11
2546      TriggeredBy = Upgrade_AmericaAdvancedTraining
2547      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
2548    End
2549  
2550    Behavior = TransitionDamageFX ModuleTag_12
2551      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
2552      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
2553    End
2554  
2555    Behavior = FXListDie ModuleTag_13
2556      DeathTypes = NONE +CRUSHED +SPLATTED
2557      DeathFX = FX_CarCrush
2558    End
2559    Behavior = CreateObjectDie ModuleTag_14
2560      DeathTypes = NONE +CRUSHED +SPLATTED
2561      CreationList = OCL_CrusaderTank_CrushEffect
2562    End
2563    Behavior = DestroyDie ModuleTag_15
2564      DeathTypes = NONE +CRUSHED +SPLATTED
2565    End
2566    Behavior = CreateCrateDie ModuleTag_16
2567      CrateData = SalvageCrateData
2568      ;CrateData = EliteTankCrateData
2569      ;CrateData = HeroicTankCrateData
2570    End
2571    Behavior = EjectPilotDie ModuleTag_17
2572      DeathTypes = ALL -CRUSHED -SPLATTED
2573      ExemptStatus = HIJACKED
2574      GroundCreationList = OCL_EjectPilotOnGround
2575      AirCreationList = OCL_EjectPilotViaParachute
2576      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
2577    End
2578  
2579    Behavior = FlammableUpdate ModuleTag_22
2580      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2581      AflameDamageAmount = 3       ; taking this much damage...
2582      AflameDamageDelay = 500       ; this often.
2583    End
2584  
2585    Geometry = BOX
2586    GeometryMajorRadius = 15.0
2587    GeometryMinorRadius = 10.0
2588    GeometryHeight = 10.0     
2589    GeometryIsSmall = Yes    
2590    Shadow = SHADOW_VOLUME
2591    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
2592  
2593  End
2594  
2595  
2596  
2597  
2598  
2599  
2600  
2601  
2602  
2603  
2604  
2605  
2606  
2607  
2608  ;------------------------------------------------------------------------------
2609  Object AmericaTankMicrowave
2610  
2611    ; *** ART Parameters ***
2612    SelectPortrait         = SAThunderBolt_L
2613    ButtonImage            = SAThunderBolt
2614    
2615    UpgradeCameo1 = Upgrade_AmericaBattleDrone
2616    UpgradeCameo2 = Upgrade_AmericaScoutDrone
2617    UpgradeCameo3 = Upgrade_AmericaHellfireDrone
2618    UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
2619    UpgradeCameo5 = Upgrade_AmericaCompositeArmor
2620    
2621    Draw = W3DTankDraw ModuleTag_01
2622  
2623      ExtraPublicBone = WEAPON02 
2624      OkToChangeModelColor = Yes
2625  
2626      ConditionState  = NONE
2627        Model         = AVTHUNDRBLT
2628        ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare 
2629        ParticleSysBone = NONE MicrowaveRotisserie
2630      End
2631      ConditionState  = USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C
2632        Model         = AVTHUNDRBLT
2633      End
2634      ConditionState  = REALLYDAMAGED RUBBLE
2635        Model         = AVTHUNDRBLT_D
2636        ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare 
2637        ParticleSysBone = NONE MicrowaveRotisserie
2638      End
2639      ConditionState  = REALLYDAMAGED RUBBLE USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C
2640        Model         = AVTHUNDRBLT_D
2641      End
2642      
2643      TrackMarks              = EXTnkTrack.tga
2644      TreadAnimationRate      = 4.0  ; amount of tread texture to move per second
2645    End
2646  
2647    ; ***DESIGN parameters ***
2648    DisplayName      = OBJECT:Microwave
2649    Side                   = America
2650    EditorSorting          = VEHICLE
2651    TransportSlotCount     = 3
2652    ArmorSet
2653      Conditions           = None
2654      Armor                = TankArmor
2655      DamageFX             = TankDamageFX
2656    End
2657  
2658    WeaponSet
2659      Conditions          = None 
2660    ; Weapon              = PRIMARY   MicrowaveTankVehicleDisabler
2661      Weapon              = PRIMARY MicrowaveTankBuildingDisabler  ;SECONDARY MicrowaveTankBuildingDisabler
2662      Weapon              = SECONDARY MicrowaveTankBuildingClearer ;TERTIARY  MicrowaveTankBuildingClearer
2663    End
2664  
2665    BuildCost              = 800
2666    BuildTime              = 10.0          ;in seconds    
2667    VisionRange            = 200
2668    ShroudClearingRange = 300
2669    Prerequisites
2670      Object = AmericaWarFactory
2671      Object = AmericaStrategyCenter
2672    End
2673    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
2674    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
2675    IsTrainable            = Yes  ;Can gain experience
2676    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
2677    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
2678    CommandSet             = AmericaTankMicrowaveCommandSet
2679    
2680    ; *** AUDIO Parameters ***
2681    VoiceSelect           = MicrowaveTankVoiceSelect
2682    VoiceMove             = MicrowaveTankVoiceMove
2683    VoiceGuard            = MicrowaveTankVoiceMove
2684    VoiceAttack           = MicrowaveTankVoiceAttack
2685    SoundMoveStart        = MicrowaveTankMoveStart
2686    SoundMoveStartDamaged = MicrowaveTankMoveStart
2687    UnitSpecificSounds
2688      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
2689      VoiceCreate         = MicrowaveTankVoiceCreate
2690      VoiceEnter             = MicrowaveTankVoiceMove
2691      SoundEject          = PilotSoundEject
2692      VoiceEject          = PilotVoiceEject
2693      VoiceCrush          = MicrowaveTankVoiceMove
2694    End
2695  
2696    ; *** ENGINEERING Parameters ***
2697    RadarPriority          = UNIT
2698    KindOf                 = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE
2699    
2700    Body                   = ActiveBody ModuleTag_02
2701      MaxHealth       = 480
2702      InitialHealth   = 480
2703  
2704      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
2705      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
2706      SubdualDamageCap = 960
2707      SubdualDamageHealRate = 500
2708      SubdualDamageHealAmount = 50
2709    End
2710  
2711    Behavior = AIUpdateInterface ModuleTag_03
2712      AutoAcquireEnemiesWhenIdle = Yes
2713    End
2714    Locomotor            = SET_NORMAL CrusaderLocomotor
2715    Behavior = PhysicsBehavior ModuleTag_04
2716      Mass                 = 50.0
2717    End
2718  
2719    ; Turret fly off death
2720    Behavior = SlowDeathBehavior ModuleTag_10
2721      DeathTypes = ALL -CRUSHED -SPLATTED
2722      ProbabilityModifier  = 50
2723      DestructionDelay  = 500
2724      DestructionDelayVariance  = 100
2725      FX  = INITIAL  FX_GenericTankDeathEffect
2726      OCL = MIDPOINT OCL_MicrowaveTankDeath
2727      FX  = FINAL    FX_GenericTankDeathExplosion
2728    End
2729  
2730    Behavior                 = TransitionDamageFX ModuleTag_12
2731      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
2732      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
2733    End
2734  
2735    Behavior = DestroyDie ModuleTag_13
2736      DeathTypes = NONE +CRUSHED +SPLATTED
2737    End
2738  
2739    ; A crushing defeat
2740    Behavior = FXListDie ModuleTag_14
2741      DeathTypes = NONE +CRUSHED +SPLATTED
2742      DeathFX = FX_CarCrush
2743    End
2744  
2745    Behavior = CreateObjectDie ModuleTag_15
2746      DeathTypes = NONE +CRUSHED +SPLATTED
2747      CreationList = OCL_MicrowaveTankDeath_CrushEffect
2748    End
2749  
2750    Behavior                    = CreateCrateDie ModuleTag_CratesChange
2751     CrateData             = SalvageCrateData
2752     ;CrateData             = EliteTankCrateData
2753     ;CrateData             = HeroicTankCrateData
2754    End
2755  
2756    Behavior = EjectPilotDie ModuleTag_17
2757      GroundCreationList = OCL_EjectPilotOnGround
2758      AirCreationList = OCL_EjectPilotViaParachute
2759      ExemptStatus = HIJACKED
2760      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
2761    End
2762  
2763    Behavior = MaxHealthUpgrade ModuleTag_18
2764      TriggeredBy   = Upgrade_AmericaCompositeArmor
2765      AddMaxHealth  = 100.0
2766      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
2767    End
2768    Behavior = ExperienceScalarUpgrade ModuleTag_Upgrade01
2769      TriggeredBy = Upgrade_AmericaAdvancedTraining
2770      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
2771    End
2772    Behavior = ObjectCreationUpgrade ModuleTag_Upgrade02
2773      UpgradeObject = OCL_AmericanBattleDrone
2774      TriggeredBy   = Upgrade_AmericaBattleDrone
2775      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
2776    End
2777    Behavior = ObjectCreationUpgrade ModuleTag_Upgrade03
2778      UpgradeObject = OCL_AmericanScoutDrone
2779      TriggeredBy   = Upgrade_AmericaScoutDrone
2780      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
2781    End
2782    Behavior = ObjectCreationUpgrade ModuleTag_Upgrade04
2783      UpgradeObject = OCL_AmericanHellfireDrone
2784      TriggeredBy   = Upgrade_AmericaHellfireDrone
2785      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
2786    End
2787    Behavior = ProductionUpdate ModuleTag_Prod01
2788      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
2789    End
2790  
2791    Behavior = FlammableUpdate ModuleTag_21
2792      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2793      AflameDamageAmount = 3       ; taking this much damage...
2794      AflameDamageDelay = 500       ; this often.
2795    End
2796  
2797    Behavior = FireWeaponUpdate ModuleTag_22
2798      Weapon = MicrowaveTankEmitterWeapon
2799      ExclusiveWeaponDelay = 1000 ; If we fire a real weapon, we turn this module off for this long
2800    End
2801  
2802    Behavior = CommandButtonHuntUpdate  ModuleTag_24 ; allows use of command button hunt script with this unit. 
2803    End
2804  
2805    Geometry               = BOX
2806    GeometryMajorRadius    = 15.0
2807    GeometryMinorRadius    = 10.0
2808    GeometryHeight         = 10.0     
2809    GeometryIsSmall        = Yes    
2810    Shadow = SHADOW_VOLUME
2811    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
2812  
2813  End
2814  


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