[ Index ] | WAROFGENERALS |
PHP Cross Reference of WAROFGENERALS MODS SOURCES |
[Summary view] [Print] [Text view]
1 ; FILE: FactionUnit.ini /////////////////////////////////////////////////////// 2 ; This file contains only objects that are units tied to specific factions. 3 ; You will find tanks, infantry, transports ... all our "units" here. Also 4 ; in this file are related objects such as debris from the units or 5 ; tank shells to fire and deal damage to the enemy. 6 ;////////////////////////////////////////////////////////////////////////////// 7 8 ;------------------------------------------------------------------------------ 9 Object AmericaParachute 10 11 ; *** ART Parameters *** 12 Draw = W3DModelDraw ModuleTag_01 13 OkToChangeModelColor = Yes 14 DefaultConditionState 15 Model = PMparacht_SKNc 16 Animation = PMparacht_SKL.PMparacht_FAL 17 AnimationMode = LOOP 18 End 19 ConditionState = PARACHUTING 20 Model = PMparacht_SKNc 21 Animation = PMparacht_SKL.PMparacht_OPN 22 AnimationMode = ONCE 23 End 24 ConditionState = RUBBLE 25 Model = PMparacht_SKNc 26 Animation = PMparacht_SKL.PMparacht_DRP 27 AnimationMode = ONCE 28 End 29 ; this is a weird state to resolve an ambiguity: sometimes 30 ; we can have a "rubble" parachute momentarily, that doesn't 31 ; know that it has finished parachuting yet... 32 ConditionState = RUBBLE PARACHUTING 33 Model = PMparacht_SKNc 34 Animation = PMparacht_SKL.PMparacht_DRP 35 AnimationMode = ONCE 36 End 37 End 38 39 ; ***DESIGN parameters *** 40 Side = America 41 EditorSorting = SYSTEM 42 TransportSlotCount = 0 43 VisionRange = 300.0 44 ShroudClearingRange = 300 45 IsTrainable = No ;Can gain experience 46 ; in theory, it would be nice to allow chutes to be attackable; however, bugs in the code 47 ; can cause the rider to be left in a bad state (eg, no-collision bit set) if the chute dies 48 ; prematurely. so disable this for now, and give it a ton of health to prevent splash damage 49 ; from killing it. (srj) 50 KindOf = PRELOAD PARACHUTE UNATTACKABLE 51 52 ; *** AUDIO Parameters *** 53 54 ; *** ENGINEERING Parameters *** 55 Behavior = AIUpdateInterface ModuleTag_02 56 ; nothing 57 End 58 Locomotor = SET_NORMAL ParachuteLocomotor 59 Locomotor = SET_FREEFALL FreeFallLocomotor 60 61 Body = ActiveBody ModuleTag_03 62 MaxHealth = 100000.0 63 InitialHealth = 100000.0 64 End 65 66 Behavior = PhysicsBehavior ModuleTag_04 67 Mass = 5.0 68 End 69 70 Behavior = ParachuteContain ModuleTag_05 71 PitchRateMax = 60 ; deg/sec 72 RollRateMax = 60 ; deg/sec 73 LowAltitudeDamping = 0.2 ; how much to damp swaying when we get "close" to the ground 74 ParachuteOpenDist = 25.0 ; how far we have to fall 'till we open our 'chute 75 AllowInsideKindOf = INFANTRY PARACHUTABLE 76 ParachuteOpenSound = ParachuteOpen 77 End 78 79 Behavior = SlowDeathBehavior ModuleTag_06 80 SinkDelay = 1000 81 SinkRate = 1 ; in Dist/Sec 82 DestructionDelay = 4000 83 End 84 85 RadarPriority = NOT_ON_RADAR 86 Geometry = CYLINDER 87 GeometryMajorRadius = 15.0 88 GeometryHeight = 10.0 89 GeometryIsSmall = Yes 90 Shadow = SHADOW_VOLUME 91 92 End 93 94 ;------------------------------------------------------------------------------ 95 Object AmericaCrateParachute 96 97 ; *** ART Parameters *** 98 Draw = W3DModelDraw ModuleTag_01 99 OkToChangeModelColor = Yes 100 DefaultConditionState 101 Model = PMparacht_SKNc 102 Animation = PMparacht_SKL.PMparacht_FAL 103 AnimationMode = LOOP 104 End 105 ConditionState = PARACHUTING 106 Model = PMparacht_SKNc 107 Animation = PMparacht_SKL.PMparacht_OPN 108 AnimationMode = ONCE 109 End 110 ConditionState = RUBBLE 111 Model = PMparacht_SKNc 112 Animation = PMparacht_SKL.PMparacht_DRP 113 AnimationMode = ONCE 114 End 115 ; this is a weird state to resolve an ambiguity: sometimes 116 ; we can have a "rubble" parachute momentarily, that doesn't 117 ; know that it has finished parachuting yet... 118 ConditionState = RUBBLE PARACHUTING 119 Model = PMparacht_SKNc 120 Animation = PMparacht_SKL.PMparacht_DRP 121 AnimationMode = ONCE 122 End 123 End 124 125 ; ***DESIGN parameters *** 126 Side = America 127 EditorSorting = SYSTEM 128 TransportSlotCount = 0 129 VisionRange = 300.0 130 ShroudClearingRange = 300 131 IsTrainable = No ;Can gain experience 132 ; in theory, it would be nice to allow chutes to be attackable; however, bugs in the code 133 ; can cause the rider to be left in a bad state (eg, no-collision bit set) if the chute dies 134 ; prematurely. so disable this for now, and give it a ton of health to prevent splash damage 135 ; from killing it. (srj) 136 KindOf = PRELOAD PARACHUTE UNATTACKABLE 137 138 ; *** AUDIO Parameters *** 139 140 ; *** ENGINEERING Parameters *** 141 Behavior = AIUpdateInterface ModuleTag_02 142 ; nothing 143 End 144 Locomotor = SET_NORMAL CrateParachuteLocomotor 145 Locomotor = SET_FREEFALL CrateFreeFallLocomotor 146 147 Body = ActiveBody ModuleTag_03 148 MaxHealth = 100000.0 149 InitialHealth = 100000.0 150 End 151 152 Behavior = PhysicsBehavior ModuleTag_04 153 Mass = 5.0 154 End 155 156 Behavior = ParachuteContain ModuleTag_05 157 PitchRateMax = 60 ; deg/sec 158 RollRateMax = 60 ; deg/sec 159 LowAltitudeDamping = 0.2 ; how much to damp swaying when we get "close" to the ground 160 ParachuteOpenDist = 12.5 ; how far we have to fall 'till we open our 'chute 161 AllowInsideKindOf = PARACHUTABLE 162 ParachuteOpenSound = ParachuteOpen 163 End 164 165 Behavior = SlowDeathBehavior ModuleTag_06 166 SinkDelay = 1000 167 SinkRate = 1 ; in Dist/Sec 168 DestructionDelay = 4000 169 End 170 171 RadarPriority = NOT_ON_RADAR 172 Geometry = CYLINDER 173 GeometryMajorRadius = 15.0 174 GeometryHeight = 10.0 175 GeometryIsSmall = Yes 176 Shadow = SHADOW_VOLUME 177 178 End 179 180 ;------------------------------------------------------------------------------ 181 Object AmericaInfantryColonelBurton 182 183 ; *** ART Parameters *** 184 SelectPortrait = SABurton_L 185 ButtonImage = SABurton 186 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 187 188 189 Draw = W3DModelDraw ModuleTag_01 190 OkToChangeModelColor = Yes 191 192 ; idle 193 DefaultConditionState 194 Model = AIHERO_SKN 195 IdleAnimation = AIHERO_SKL.AIHERO_STA 0 25 196 IdleAnimation = AIHERO_SKL.AIHERO_IDA 197 IdleAnimation = AIHERO_SKL.AIHERO_IDB 198 AnimationMode = ONCE 199 TransitionKey = TRANS_Stand 200 WeaponFireFXBone = PRIMARY Muzzle 201 WeaponMuzzleFlash = PRIMARY MuzzleFX 202 WeaponMuzzleFlash = SECONDARY NONE 203 HideSubObject = MUZZLEFX01 204 End 205 206 207 ; injured idle 208 ConditionState = REALLYDAMAGED 209 IdleAnimation = AIHERO_SKL.AIHERO_ISTA 0 30 210 IdleAnimation = AIHERO_SKL.AIHERO_IIDA 211 IdleAnimation = AIHERO_SKL.AIHERO_IIDB 212 AnimationMode = ONCE 213 TransitionKey = TRANS_StandInjured 214 End 215 216 217 TransitionState = TRANS_Stand TRANS_StandInjured 218 Animation = AIHERO_SKL.AIHERO_ISTAHIT 219 AnimationMode = ONCE 220 End 221 222 ; moving 223 ConditionState = MOVING 224 Animation = AIHERO_SKL.AIHERO_RNA 26 225 AnimationMode = LOOP 226 Flags = RANDOMSTART 227 TransitionKey = TRANS_Walking 228 ParticleSysBone = None InfantryDustTrails 229 HideSubObject = MUZZLEFX01 230 End 231 AliasConditionState = MOVING FIRING_A 232 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 233 AliasConditionState = MOVING RELOADING_A 234 AliasConditionState = MOVING FIRING_B 235 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B 236 AliasConditionState = MOVING RELOADING_B 237 238 ; injured moving 239 ConditionState = MOVING REALLYDAMAGED 240 Animation = AIHERO_SKL.AIHERO_IRNA 26 241 AnimationMode = LOOP 242 Flags = RANDOMSTART 243 TransitionKey = TRANS_WalkingInjured 244 ParticleSysBone = None InfantryDustTrails 245 HideSubObject = MUZZLEFX01 246 End 247 AliasConditionState = MOVING FIRING_A REALLYDAMAGED 248 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 249 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 250 AliasConditionState = MOVING FIRING_B REALLYDAMAGED 251 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 252 AliasConditionState = MOVING RELOADING_B REALLYDAMAGED 253 254 ; Firing animation 255 ConditionState = FIRING_A 256 Animation = AIHERO_SKL.AIHERO_ATA 257 AnimationMode = ONCE 258 AnimationSpeedFactorRange = 1.5 1.5 259 TransitionKey = TRANS_FiringA 260 End 261 262 ConditionState = BETWEEN_FIRING_SHOTS_A 263 Animation = AIHERO_SKL.AIHERO_ATA 264 AnimationMode = MANUAL 265 Flags = START_FRAME_LAST 266 WaitForStateToFinishIfPossible = TRANS_FiringA 267 End 268 AliasConditionState = RELOADING_A 269 270 ; Injured Firing animation 271 ConditionState = FIRING_A REALLYDAMAGED 272 Animation = AIHERO_SKL.AIHERO_IATA 273 AnimationMode = ONCE 274 AnimationSpeedFactorRange = 1.5 1.5 275 TransitionKey = TRANS_FiringAInjured 276 End 277 278 ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 279 Animation = AIHERO_SKL.AIHERO_IATA 280 AnimationMode = MANUAL 281 Flags = START_FRAME_LAST 282 WaitForStateToFinishIfPossible = TRANS_FiringAInjured 283 End 284 AliasConditionState = RELOADING_A REALLYDAMAGED 285 286 TransitionState = TRANS_FiringA TRANS_FiringAInjured 287 Animation = AIHERO_SKL.AIHERO_IATAHIT 288 AnimationMode = ONCE 289 End 290 291 ; Placing charge animation 292 ConditionState = UNPACKING 293 Animation = AIHERO_SKL.AIHERO_ATB1 294 AnimationMode = ONCE 295 End 296 AliasConditionState = MOVING UNPACKING 297 298 ; Injured Placing charge animation 299 ConditionState = UNPACKING REALLYDAMAGED 300 Animation = AIHERO_SKL.AIHERO_IATB1 301 AnimationMode = ONCE 302 End 303 AliasConditionState = MOVING UNPACKING REALLYDAMAGED 304 305 ; Stab animations 306 ConditionState = PREATTACK_B 307 Animation = AIHERO_SKL.AIHERO_ATC 308 AnimationMode = ONCE 309 TransitionKey = TRANS_Stabbing 310 HideSubObject = MUZZLEFX01 311 End 312 AliasConditionState = PREATTACK_B MOVING 313 AliasConditionState = PREATTACK_B FIRING_B 314 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 315 316 ConditionState = FIRING_B 317 Animation = AIHERO_SKL.AIHERO_ATC 318 AnimationMode = MANUAL 319 Flags = START_FRAME_LAST 320 TransitionKey = TRANS_Stabbing 321 HideSubObject = MUZZLEFX01 322 End 323 AliasConditionState = BETWEEN_FIRING_SHOTS_B 324 AliasConditionState = RELOADING_B 325 326 TransitionState = TRANS_Stabbing TRANS_Stand 327 Animation = AIHERO_SKL.AIHERO_ATC2 328 AnimationMode = ONCE 329 End 330 331 ; Injured Stab animations 332 ConditionState = PREATTACK_B REALLYDAMAGED 333 Animation = AIHERO_SKL.AIHERO_IATC1 334 AnimationMode = ONCE 335 TransitionKey = TRANS_StabbingInjured 336 HideSubObject = MUZZLEFX01 337 End 338 AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED 339 AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED 340 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 341 342 ConditionState = FIRING_B REALLYDAMAGED 343 Animation = AIHERO_SKL.AIHERO_IATC2 344 AnimationMode = MANUAL 345 Flags = START_FRAME_LAST 346 TransitionKey = TRANS_StabbingInjured 347 HideSubObject = MUZZLEFX01 348 End 349 AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 350 AliasConditionState = RELOADING_B REALLYDAMAGED 351 352 TransitionState = TRANS_StabbingInjured TRANS_StandInjured 353 Animation = AIHERO_SKL.AIHERO_IATC2 354 AnimationMode = ONCE 355 End 356 357 ; cheering 358 ConditionState = SPECIAL_CHEERING 359 Animation = AIHERO_SKL.AIHERO_CHA 360 AnimationMode = ONCE 361 End 362 363 ; injured cheering 364 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 365 Animation = AIHERO_SKL.AIHERO_ICHA 366 AnimationMode = ONCE 367 End 368 369 ; climbing 370 ConditionState = CLIMBING 371 Animation = AIHERO_SKL.AIHERO_CLMID 372 AnimationMode = LOOP 373 TransitionKey = TRANS_Climbing 374 End 375 AliasConditionState = RAPPELLING 376 AliasConditionState = CLIMBING REALLYDAMAGED 377 AliasConditionState = RAPPELLING REALLYDAMAGED 378 379 ConditionState = CLIMBING MOVING 380 Animation = AIHERO_SKL.AIHERO_CLMUP 381 AnimationMode = LOOP 382 TransitionKey = TRANS_Climbing 383 End 384 AliasConditionState = CLIMBING MOVING REALLYDAMAGED 385 386 ConditionState = RAPPELLING MOVING 387 Animation = AIHERO_SKL.AIHERO_CLMUP 388 AnimationMode = LOOP_BACKWARDS 389 TransitionKey = TRANS_Climbing 390 End 391 AliasConditionState = RAPPELLING MOVING REALLYDAMAGED 392 393 ; these transitions don't really work well with our code. leave 'em out. 394 ; TransitionState = TRANS_Climbing TRANS_Stand 395 ; Animation = AIHERO_SKL.AIHERO_CLMST 396 ; AnimationMode = ONCE 397 ; End 398 ; 399 ; TransitionState = TRANS_Stand TRANS_Climbing 400 ; Animation = AIHERO_SKL.AIHERO_CLMST 401 ; AnimationMode = ONCE_BACKWARDS 402 ; End 403 404 ; dying anims 405 ConditionState = DYING 406 Animation = AIHERO_SKL.AIHERO_DTA 407 Animation = AIHERO_SKL.AIHERO_DTB 408 Animation = AIHero_SKL.AIHero_IDTA 409 Animation = AIHero_SKL.AIHero_IDTB 410 AnimationMode = ONCE 411 TransitionKey = TRANS_Dying 412 End 413 AliasConditionState = RAPPELLING DYING 414 AliasConditionState = CLIMBING DYING 415 416 TransitionState = TRANS_Dying TRANS_Flailing 417 Animation = AIHERO_SKL.AIHERO_ADTG21 418 AnimationMode = ONCE 419 End 420 421 ConditionState = DYING EXPLODED_FLAILING 422 Animation = AIHERO_SKL.AIHERO_ADTG22 423 AnimationMode = LOOP 424 TransitionKey = TRANS_Flailing 425 End 426 427 ConditionState = DYING EXPLODED_BOUNCING 428 Animation = AIHERO_SKL.AIHERO_ADTG23 429 AnimationMode = ONCE 430 TransitionKey = None 431 End 432 433 ; misc anims 434 ConditionState = FREEFALL 435 Animation = AIHERO_SKL.AIHERO_PFL 436 AnimationMode = LOOP 437 TransitionKey = TRANS_Falling 438 End 439 AliasConditionState = FREEFALL REALLYDAMAGED 440 AliasConditionState = FREEFALL DYING 441 442 ConditionState = PARACHUTING 443 Animation = AIHERO_SKL.AIHERO_PHG 444 AnimationMode = LOOP 445 TransitionKey = TRANS_Chute 446 End 447 AliasConditionState = PARACHUTING REALLYDAMAGED 448 AliasConditionState = PARACHUTING DYING 449 450 TransitionState = TRANS_Falling TRANS_Chute 451 Animation = AIHERO_SKL.AIHERO_POP 452 AnimationMode = ONCE 453 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 454 End 455 456 TransitionState = TRANS_Chute TRANS_Stand 457 Animation = AIHERO_SKL.AIHERO_PTD 458 AnimationMode = ONCE 459 End 460 461 TransitionState = TRANS_Chute TRANS_StandInjured 462 Animation = AIHERO_SKL.AIHERO_PTD 463 AnimationMode = ONCE 464 End 465 466 ; note: there are no surrender states because Col. Burton does not surrender. 467 ; Death before dishonor! 468 469 End 470 471 ; ***DESIGN parameters *** 472 DisplayName = OBJECT:ColonelBurton 473 Side = America 474 EditorSorting = INFANTRY 475 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 476 WeaponSet 477 Conditions = None 478 Weapon = PRIMARY ColonelBurtonSniperRifleWeapon 479 Weapon = SECONDARY ColonelBurtonKnifeWeapon 480 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 481 AutoChooseSources = SECONDARY NONE 482 End 483 ArmorSet 484 Conditions = None 485 Armor = HumanArmor 486 DamageFX = InfantryDamageFX 487 End 488 VisionRange = 150 489 ShroudClearingRange = 500 490 Prerequisites 491 Object = AmericaBarracks 492 Object = AmericaStrategyCenter 493 End 494 BuildCost = 1500 495 BuildTime = 20.0 ;in seconds 496 497 ExperienceValue = 50 100 100 150 ; Experience point value at each level 498 ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level 499 IsTrainable = Yes ; Can gain experience 500 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 501 CommandSet = AmericaInfantryColonelBurtonCommandSet 502 503 MaxSimultaneousOfType = 1 504 505 ; *** AUDIO Parameters *** 506 VoiceSelect = ColonelBurtonVoiceSelect 507 VoiceMove = ColonelBurtonVoiceMove 508 VoiceAttack = ColonelBurtonVoiceAttack 509 VoiceFear = ColonelBurtonVoiceFear 510 VoiceGuard = ColonelBurtonVoiceMove 511 SoundDie = ColonelBurtonVoiceDie 512 SoundDieFire = DieByFireUSA 513 SoundDieToxin = DieByToxinUSA 514 SoundStealthOn = StealthOn 515 SoundStealthOff = StealthOff 516 ;SoundAmbient = ColonelBurtonSoundAmbient 517 518 UnitSpecificSounds 519 VoiceMelee = ColonelBurtonVoiceAttackKnife 520 VoiceCreate = ColonelBurtonVoiceCreate 521 VoiceGarrison = ColonelBurtonVoiceGarrison 522 VoiceEnter = ColonelBurtonVoiceMove 523 VoiceEnterHostile = ColonelBurtonVoiceMove 524 VoiceGetHealed = ColonelBurtonVoiceMove 525 End 526 527 ; *** ENGINEERING Parameters *** 528 RadarPriority = UNIT 529 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE HERO 530 531 Body = ActiveBody ModuleTag_02 532 MaxHealth = 200.0 533 InitialHealth = 200.0 534 End 535 536 Behavior = AIUpdateInterface ModuleTag_03 537 AutoAcquireEnemiesWhenIdle = Yes 538 End 539 540 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 541 End 542 543 Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 544 ScanRate = 1000 ; once a second. 545 ScanRange = 300 ; 546 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 547 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 548 End 549 550 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor 551 552 Behavior = PhysicsBehavior ModuleTag_06 553 Mass = 5.0 554 End 555 556 Behavior = StealthUpdate ModuleTag_07 557 StealthDelay = 2000 ; msec 558 StealthForbiddenConditions = FIRING_PRIMARY 559 HintDetectableConditions = IS_FIRING_WEAPON 560 FriendlyOpacityMin = 50.0% 561 FriendlyOpacityMax = 100.0% 562 InnateStealth = Yes 563 OrderIdleEnemiesToAttackMeUponReveal = Yes 564 End 565 566 Behavior = SpecialAbility ModuleTag_08 567 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges 568 UpdateModuleStartsAttack = Yes 569 InitiateSound = ColonelBurtonVoicePlantRemoteCharge 570 End 571 Behavior = SpecialAbilityUpdate ModuleTag_09 572 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges 573 StartAbilityRange = 0.0 574 PreparationTime = 0 575 SpecialObject = RemoteC4Charge 576 MaxSpecialObjects = 8 577 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). 578 AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. 579 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 580 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 581 UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge 582 PackTime = 0 583 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. 584 FlipOwnerAfterUnpacking = Yes 585 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 586 UnpackSound = ColonelBurtonPlantCharge 587 LoseStealthOnTrigger = Yes 588 PreTriggerUnstealthTime = 5000 ; in milliseconds 589 End 590 591 Behavior = SpecialAbility ModuleTag_10 592 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges 593 UpdateModuleStartsAttack = Yes 594 InitiateSound = ColonelBurtonVoicePlantTimedCharge 595 End 596 Behavior = SpecialAbilityUpdate ModuleTag_11 597 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges 598 StartAbilityRange = 0.0 599 PreparationTime = 0 600 SpecialObject = TimedC4Charge 601 MaxSpecialObjects = 10 602 SpecialObjectsPersistWhenOwnerDies = Yes 603 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 604 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 605 UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge 606 FlipOwnerAfterUnpacking = Yes 607 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 608 UnpackSound = ColonelBurtonPlantCharge 609 LoseStealthOnTrigger = Yes 610 PreTriggerUnstealthTime = 5000 ; in milliseconds 611 612 End 613 614 Behavior = ExperienceScalarUpgrade ModuleTag_12 615 TriggeredBy = Upgrade_AmericaAdvancedTraining 616 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 617 End 618 619 ;Hero units can't be squished! 620 ;Behavior = SquishCollide ModuleTag_13 621 ; ;nothing 622 ;End 623 624 625 ; --- begin Death modules --- 626 Behavior = SlowDeathBehavior ModuleTag_Death01 627 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 628 SinkDelay = 3000 629 SinkRate = 0.5 ; in Dist/Sec 630 DestructionDelay = 8000 631 FX = INITIAL FX_GIDie 632 End 633 Behavior = SlowDeathBehavior ModuleTag_Death02 634 DeathTypes = NONE +CRUSHED +SPLATTED 635 SinkDelay = 3000 636 SinkRate = 0.5 ; in Dist/Sec 637 DestructionDelay = 8000 638 FX = INITIAL FX_GIDieCrushed 639 End 640 Behavior = SlowDeathBehavior ModuleTag_Death03 641 DeathTypes = NONE +EXPLODED 642 SinkDelay = 3000 643 SinkRate = 0.5 ; in Dist/Sec 644 DestructionDelay = 8000 645 FX = INITIAL FX_GIDie 646 FlingForce = 8 647 FlingForceVariance = 3 648 FlingPitch = 60 649 FlingPitchVariance = 10 650 End 651 Behavior = SlowDeathBehavior ModuleTag_Death04 652 DeathTypes = NONE +BURNED 653 DestructionDelay = 0 654 FX = INITIAL FX_GIDie 655 OCL = INITIAL OCL_FlamingInfantry 656 End 657 Behavior = SlowDeathBehavior ModuleTag_Death05 658 DeathTypes = NONE +POISONED 659 DestructionDelay = 0 660 FX = INITIAL FX_GIDie 661 OCL = INITIAL OCL_ToxicInfantry 662 End 663 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 664 DeathTypes = NONE +POISONED_BETA 665 DestructionDelay = 0 666 FX = INITIAL FX_GIDie 667 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 668 End 669 ; --- end Death modules --- 670 671 Behavior = PoisonedBehavior ModuleTag_18 672 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 673 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 674 End 675 676 Geometry = CYLINDER 677 GeometryMajorRadius = 10.0 678 GeometryMinorRadius = 10.0 679 GeometryHeight = 12.0 680 GeometryIsSmall = Yes 681 Shadow = SHADOW_DECAL 682 ShadowSizeX = 14 683 ShadowSizeY = 14 684 ShadowTexture = ShadowI 685 BuildCompletion = APPEARS_AT_RALLY_POINT 686 687 End 688 689 ;------------------------------------------------------------------------------ 690 Object AmericaVehicleHumvee 691 692 ; *** ART Parameters *** 693 SelectPortrait = SAHummer_L 694 ButtonImage = SAHummer 695 696 UpgradeCameo1 = Upgrade_AmericaBattleDrone 697 UpgradeCameo2 = Upgrade_AmericaScoutDrone 698 UpgradeCameo3 = Upgrade_AmericaTOWMissile 699 UpgradeCameo4 = Upgrade_AmericaAdvancedTraining 700 ;UpgradeCameo5 = XXX 701 702 Draw = W3DTruckDraw ModuleTag_01 703 OkToChangeModelColor = Yes 704 705 ConditionState = NONE 706 Model = AVHUMMER 707 Turret = Turret 708 ShowSubObject = Turret 709 HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 710 WeaponFireFXBone = PRIMARY Muzzle 711 WeaponMuzzleFlash = PRIMARY MuzzleFX 712 End 713 714 ConditionState = REALLYDAMAGED 715 Model = AVHUMMER_d 716 Turret = Turret 717 ShowSubObject = Turret 718 HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 719 WeaponFireFXBone = PRIMARY Muzzle 720 WeaponMuzzleFlash = PRIMARY MuzzleFX 721 End 722 723 ConditionState = WEAPONSET_PLAYER_UPGRADE 724 Model = AVHUMMER 725 Turret = TurretUp01 726 HideSubObject = Turret MuzzleFX01 727 ShowSubObject = TurretUp01 Housecolor03 728 WeaponFireFXBone = PRIMARY MuzzleUp 729 WeaponMuzzleFlash = PRIMARY MuzzleFXUp 730 WeaponFireFXBone = SECONDARY WeaponB 731 WeaponLaunchBone = SECONDARY WeaponB 732 WeaponFireFXBone = TERTIARY WeaponB 733 WeaponLaunchBone = TERTIARY WeaponB 734 End 735 736 ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE 737 Model = AVHUMMER_d 738 Turret = TurretUp01 739 HideSubObject = Turret MuzzleFX01 740 ShowSubObject = TurretUp01 Housecolor03 741 WeaponFireFXBone = PRIMARY MuzzleUp 742 WeaponMuzzleFlash = PRIMARY MuzzleFXUp 743 WeaponFireFXBone = SECONDARY WeaponB 744 WeaponLaunchBone = SECONDARY WeaponB 745 WeaponFireFXBone = TERTIARY WeaponB 746 WeaponLaunchBone = TERTIARY WeaponB 747 End 748 749 TrackMarks = EXTireTrack.tga 750 751 Dust = RocketBuggyDust 752 DirtSpray = RocketBuggyDirtSpray 753 PowerslideSpray = RocketBuggyDirtPowerSlide 754 755 ; These parameters are only used if the model has a separate suspension, 756 ; and the locomotor has HasSuspension = Yes. 757 LeftFrontTireBone = Tire01 758 RightFrontTireBone = Tire02 759 LeftRearTireBone = Tire03 760 RightRearTireBone = Tire04 761 TireRotationMultiplier = 0.2 ; this * speed = rotation. 762 PowerslideRotationAddition = 1.25 ; This speed is added to the rotation speed when powersliding. 763 764 End 765 766 ; ***DESIGN parameters *** 767 DisplayName = OBJECT:Humvee 768 Side = America 769 EditorSorting = VEHICLE 770 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 771 WeaponSet 772 Conditions = None 773 Weapon = PRIMARY HumveeGun 774 End 775 WeaponSet 776 Conditions = PLAYER_UPGRADE 777 Weapon = PRIMARY HumveeGun 778 Weapon = SECONDARY HumveeMissileWeapon 779 Weapon = TERTIARY HumveeMissileWeaponAir 780 PreferredAgainst = TERTIARY AIRCRAFT 781 End 782 ArmorSet 783 Conditions = None 784 Armor = HumveeArmor 785 DamageFX = TruckDamageFX 786 End 787 BuildCost = 700 788 BuildTime = 10.0 ;in seconds 789 VisionRange = 150 790 ShroudClearingRange = 320 791 Prerequisites 792 Object = AmericaWarFactory 793 End 794 ExperienceValue = 50 50 100 150 ;Experience point value at each level 795 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 796 IsTrainable = Yes ;Can gain experience 797 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 798 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 799 CommandSet = AmericaVehicleHumveeCommandSet 800 801 ; *** AUDIO Parameters *** 802 VoiceSelect = HumveeVoiceSelect 803 VoiceMove = HumveeVoiceMove 804 VoiceGuard = HumveeVoiceMove 805 VoiceAttack = HumveeVoiceAttack 806 VoiceAttackAir = HumveeVoiceAttackTOW 807 SoundMoveStart = HumveeMoveStart 808 SoundMoveStartDamaged = HumveeMoveStart 809 SoundEnter = HumveeEnter 810 SoundExit = HumveeExit 811 812 UnitSpecificSounds 813 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 814 ;TurretMoveStart = NoSound 815 VoiceCreate = HumveeVoiceCreate 816 TurretMoveLoop = TurretMoveLoop 817 SoundEject = PilotSoundEject 818 VoiceEject = PilotVoiceEject 819 VoiceCrush = HumveeVoiceCrush 820 ; Required for the W3DTruckDraw module 821 TruckLandingSound = RocketBuggyLand 822 TruckPowerslideSound = RocketBuggyPowerslide 823 VoiceUnload = HumveeVoiceUnload 824 VoiceEnter = HumveeVoiceMove 825 End 826 827 Behavior = AIUpdateInterface ModuleTag_20 828 AutoAcquireEnemiesWhenIdle = Yes 829 MoodAttackCheckRate = 250 830 End 831 832 ; *** ENGINEERING Parameters *** 833 RadarPriority = UNIT 834 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT 835 836 Body = ActiveBody ModuleTag_02 837 MaxHealth = 240.0 838 InitialHealth = 240.0 839 End 840 Behavior = TransportAIUpdate ModuleTag_03 841 Turret 842 TurretTurnRate = 180 843 RecenterTime = 5000 ; how long to wait during idle before recentering 844 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY 845 End 846 AutoAcquireEnemiesWhenIdle = Yes 847 End 848 Locomotor = SET_NORMAL HumveeLocomotor 849 850 Behavior = PhysicsBehavior ModuleTag_04 851 Mass = 50.0 852 End 853 854 Behavior = TransportContain ModuleTag_05 855 PassengersAllowedToFire = Yes 856 Slots = 5 857 ;EnterSound = GarrisonEnter 858 ;ExitSound = GarrisonExit 859 DamagePercentToUnits = 100% ;10% 860 AllowInsideKindOf = INFANTRY 861 AllowAlliesInside = Yes 862 AllowNeutralInside = No 863 AllowEnemiesInside = No 864 ExitDelay = 250 865 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn 866 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 867 End 868 869 Behavior = ObjectCreationUpgrade ModuleTag_06 870 UpgradeObject = OCL_AmericanBattleDrone 871 TriggeredBy = Upgrade_AmericaBattleDrone 872 ConflictsWith = Upgrade_AmericaScoutDrone 873 End 874 Behavior = ObjectCreationUpgrade ModuleTag_07 875 UpgradeObject = OCL_AmericanScoutDrone 876 TriggeredBy = Upgrade_AmericaScoutDrone 877 ConflictsWith = Upgrade_AmericaBattleDrone 878 End 879 Behavior = ProductionUpdate ModuleTag_08 880 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 881 End 882 883 Behavior = WeaponSetUpgrade ModuleTag_09 884 TriggeredBy = Upgrade_AmericaTOWMissile 885 End 886 Behavior = ExperienceScalarUpgrade ModuleTag_10 887 TriggeredBy = Upgrade_AmericaAdvancedTraining 888 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 889 End 890 891 Behavior = SlowDeathBehavior ModuleTag_11 892 DeathTypes = ALL -CRUSHED -SPLATTED 893 ProbabilityModifier = 25 894 DestructionDelay = 1 895 OCL = INITIAL OCL_InitialHumveeDebris 896 FX = FINAL FX_BattleMasterExplosionOneFinal 897 OCL = FINAL OCL_FinalHumveeDebris 898 End 899 900 Behavior = SlowDeathBehavior ModuleTag_14 901 DeathTypes = ALL -CRUSHED -SPLATTED 902 ProbabilityModifier = 25 903 DestructionDelay = 500 904 FX = INITIAL FX_OverlordSmoke 905 OCL = INITIAL OCL_InitialHumveeDebris 906 FX = FINAL FX_HumveeExplosionOneFinal 907 OCL = FINAL OCL_FinalHumveeDebris 908 End 909 910 Behavior = DestroyDie ModuleTag_12 911 DeathTypes = NONE +CRUSHED +SPLATTED 912 End 913 914 Behavior = FXListDie ModuleTag_13 915 DeathTypes = NONE +CRUSHED +SPLATTED 916 DeathFX = FX_CarCrush 917 End 918 919 Behavior = CreateCrateDie ModuleTag_CratesChange 920 CrateData = SalvageCrateData 921 ;CrateData = EliteTankCrateData 922 ;CrateData = HeroicTankCrateData 923 End 924 925 ; This is commented out per hotlist request 10/9 ML 926 ; Behavior = CreateObjectDie ModuleTag_15 927 ; DeathTypes = ALL -CRUSHED -SPLATTED 928 ; CreationList = OCL_AmericanRangerDebris01 929 ; ExemptStatus = HIJACKED 930 ; End 931 932 Behavior = EjectPilotDie ModuleTag_16 933 DeathTypes = ALL -CRUSHED -SPLATTED 934 ExemptStatus = HIJACKED 935 ; The following added out per hotlist request 10/9 as above ML 936 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 937 GroundCreationList = OCL_EjectPilotOnGround 938 AirCreationList = OCL_EjectPilotViaParachute 939 End 940 941 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 942 DetectionRate = 500 943 DetectionRange = 75 944 CanDetectWhileGarrisoned = No 945 CanDetectWhileContained = No 946 ExtraRequiredKindOf = BOAT 947 End 948 949 Behavior = TransitionDamageFX ModuleTag_17 950 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 951 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_HumveeDamageTransition ;FX_BattleMasterDamageTransition 952 End 953 954 Behavior = FlammableUpdate ModuleTag_21 955 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 956 AflameDamageAmount = 3 ; taking this much damage... 957 AflameDamageDelay = 500 ; this often. 958 End 959 960 Geometry = BOX 961 GeometryMajorRadius = 14.0 962 GeometryMinorRadius = 7.0 963 GeometryHeight = 11.5 964 GeometryIsSmall = Yes 965 Shadow = SHADOW_VOLUME 966 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 967 968 End 969 970 ;------------------------------------------------------------------------------ 971 Object HumveeMissile 972 973 ; *** ART Parameters *** 974 Draw = W3DModelDraw ModuleTag_01 975 OkToChangeModelColor = Yes 976 DefaultConditionState 977 Model = UVRockBug_m 978 End 979 End 980 981 ; ***DESIGN parameters *** 982 983 EditorSorting = SYSTEM 984 VisionRange = 0.0 985 ArmorSet 986 Conditions = None 987 Armor = ProjectileArmor 988 DamageFX = None 989 End 990 991 ; *** ENGINEERING Parameters *** 992 KindOf = PROJECTILE SMALL_MISSILE 993 Body = ActiveBody ModuleTag_02 994 MaxHealth = 100.0 995 InitialHealth = 100.0 996 End 997 998 ; ---- begin Projectile death behaviors 999 Behavior = InstantDeathBehavior DeathModuleTag_01 1000 DeathTypes = NONE +DETONATED 1001 ; we detonated normally. 1002 ; no FX, just quiet destroy ourselves 1003 End 1004 Behavior = InstantDeathBehavior DeathModuleTag_02 1005 DeathTypes = NONE +LASERED 1006 ; shot down by laser. 1007 FX = FX_GenericMissileDisintegrate 1008 OCL = OCL_GenericMissileDisintegrate 1009 End 1010 Behavior = InstantDeathBehavior DeathModuleTag_03 1011 DeathTypes = ALL -LASERED -DETONATED 1012 ; shot down by nonlaser. 1013 FX = FX_GenericMissileDeath 1014 End 1015 ; ---- end Projectile death behaviors 1016 1017 Behavior = PhysicsBehavior ModuleTag_06 1018 Mass = 1 1019 End 1020 Behavior = MissileAIUpdate ModuleTag_07 1021 TryToFollowTarget = No 1022 FuelLifetime = 1000 1023 InitialVelocity = 150 ; in dist/sec 1024 IgnitionDelay = 0 1025 DistanceToTravelBeforeTurning = 3 1026 IgnitionFX = FX_HumveeMissileIgnition 1027 End 1028 Locomotor = SET_NORMAL RocketBuggyMissileLocomotor 1029 1030 Geometry = Sphere 1031 GeometryIsSmall = Yes 1032 GeometryMajorRadius = 2.0 1033 1034 End 1035 1036 ;------------------------------------------------------------------------------ 1037 Object AmericaVehicleHumveeDeadHull 1038 1039 ; *** ART Parameters *** 1040 Draw = W3DModelDraw ModuleTag_01 1041 OkToChangeModelColor = Yes 1042 1043 DefaultConditionState 1044 Model = AVHUMMER_D1 1045 End 1046 End 1047 1048 ; ***DESIGN parameters *** 1049 Side = America 1050 EditorSorting = SYSTEM 1051 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 1052 1053 ; *** AUDIO Parameters *** 1054 ; *** ENGINEERING Parameters *** 1055 RadarPriority = UNIT 1056 KindOf = CAN_CAST_REFLECTIONS IMMOBILE NO_COLLIDE HULK 1057 1058 Body = ActiveBody ModuleTag_02 1059 MaxHealth = 1.0 1060 InitialHealth = 1.0 1061 End 1062 1063 1064 Behavior = PhysicsBehavior ModuleTag_03 1065 Mass = 50 1066 AllowBouncing = Yes 1067 End 1068 1069 Behavior = LifetimeUpdate ModuleTag_04 1070 MinLifetime = 0 ; min lifetime in msec 1071 MaxLifetime = 0 ; max lifetime in msec 1072 End 1073 1074 Behavior = SlowDeathBehavior ModuleTag_05 1075 SinkDelay = 14000 1076 SinkRate = 2 ; in Dist/Sec 1077 DestructionDelay = 20000 1078 End 1079 1080 Behavior = TransitionDamageFX ModuleTag_06 1081 RubbleParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 1082 End 1083 1084 Geometry = BOX 1085 GeometryMajorRadius = 9.0 1086 GeometryMinorRadius = 6.0 1087 GeometryHeight = 7.5 1088 GeometryIsSmall = Yes 1089 1090 End 1091 1092 ;---------------------------------------------------------- 1093 Object AmericaVehicleTomahawk 1094 1095 ; *** ART Parameters *** 1096 SelectPortrait = SACTomahawk_L 1097 ButtonImage = SACTomahawk 1098 1099 UpgradeCameo1 = Upgrade_AmericaScoutDrone 1100 UpgradeCameo2 = Upgrade_AmericaBattleDrone 1101 UpgradeCameo3 = Upgrade_AmericaAdvancedTraining 1102 UpgradeCameo4 = Upgrade_AmericaTomahawkRemoteControl 1103 ;UpgradeCameo5 = XXX 1104 1105 Draw = W3DTankDraw ModuleTag_01 1106 OkToChangeModelColor = Yes 1107 1108 ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset 1109 1110 DefaultConditionState 1111 Model = AVTomahawk 1112 Turret = TURRET 1113 TurretPitch = TURRETEL 1114 WeaponLaunchBone = PRIMARY WeaponA 1115 WeaponHideShowBone = PRIMARY MISSILE 1116 End 1117 1118 ConditionState = REALLYDAMAGED 1119 Model = AVTomahawk_D 1120 End 1121 AliasConditionState = RUBBLE 1122 1123 TrackMarks = EXTnkTrack.tga 1124 1125 End 1126 1127 ; ***DESIGN parameters *** 1128 DisplayName = OBJECT:Tomahawk 1129 Side = America 1130 EditorSorting = VEHICLE 1131 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 1132 BuildCost = 1200 1133 BuildTime = 20.0 ;in seconds 1134 VisionRange = 180 1135 ShroudClearingRange = 200 1136 Prerequisites 1137 Object = AmericaWarFactory 1138 Object = AmericaStrategyCenter 1139 End 1140 ExperienceValue = 50 50 100 150 ;Experience point value at each level 1141 ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level 1142 IsTrainable = Yes ;Can gain experience 1143 WeaponSet 1144 Conditions = None 1145 Weapon = PRIMARY TomahawkMissileWeapon 1146 End 1147 ArmorSet 1148 Conditions = None 1149 Armor = TruckArmor 1150 DamageFX = TankDamageFX 1151 End 1152 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 1153 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1154 CommandSet = AmericaVehicleTomahawkCommandSet 1155 1156 ; *** AUDIO Parameters *** 1157 VoiceSelect = TomahawkVoiceSelect 1158 VoiceMove = TomahawkVoiceMove 1159 VoiceGuard = TomahawkVoiceMove 1160 VoiceAttack = TomahawkVoiceAttack 1161 SoundMoveStart = TomahawkMoveStart 1162 SoundMoveStartDamaged = TomahawkMoveStart 1163 VoiceFear = TomahawkVoiceCrush 1164 1165 UnitSpecificSounds 1166 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 1167 VoiceCreate = TomahawkVoiceCreate 1168 TurretMoveStart = NoSound 1169 TurretMoveLoop = TurretMoveLoopLoud 1170 SoundEject = PilotSoundEject 1171 VoiceEject = PilotVoiceEject 1172 VoiceCrush = TomahawkVoiceCrush 1173 VoiceEnter = TomahawkVoiceMove 1174 VoiceBombard = TomahawkVoiceAttack 1175 End 1176 1177 ; *** ENGINEERING Parameters *** 1178 RadarPriority = UNIT 1179 KindOf = PRELOAD SELECTABLE DONT_AUTO_CRUSH_INFANTRY CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 1180 1181 Body = ActiveBody ModuleTag_02 1182 MaxHealth = 180.0 1183 InitialHealth = 180.0 1184 End 1185 1186 Behavior = AIUpdateInterface ModuleTag_03 1187 Turret 1188 TurretTurnRate = 60 ; turn rate, in degrees per sec 1189 TurretPitchRate = 60 1190 FirePitch = 70 ; Instead of aiming pitchwise at the target, it will aim here 1191 AllowsPitch = Yes 1192 ControlledWeaponSlots = PRIMARY 1193 End 1194 AutoAcquireEnemiesWhenIdle = No NotWhileAttacking 1195 End 1196 Locomotor = SET_NORMAL TomahawkLocomotor 1197 1198 Behavior = PhysicsBehavior ModuleTag_04 1199 Mass = 50.0 1200 End 1201 Behavior = SlowDeathBehavior ModuleTag_05 1202 DeathTypes = ALL -CRUSHED -SPLATTED 1203 DestructionDelay = 500 1204 DestructionDelayVariance = 100 1205 FX = INITIAL FX_GenericTankDeathEffect 1206 OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie 1207 FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion 1208 End 1209 1210 Behavior = ObjectCreationUpgrade ModuleTag_06 1211 UpgradeObject = OCL_AmericanBattleDrone 1212 TriggeredBy = Upgrade_AmericaBattleDrone 1213 ConflictsWith = Upgrade_AmericaScoutDrone 1214 End 1215 Behavior = ObjectCreationUpgrade ModuleTag_07 1216 UpgradeObject = OCL_AmericanScoutDrone 1217 TriggeredBy = Upgrade_AmericaScoutDrone 1218 ConflictsWith = Upgrade_AmericaBattleDrone 1219 End 1220 Behavior = ProductionUpdate ModuleTag_08 1221 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 1222 End 1223 1224 Behavior = ExperienceScalarUpgrade ModuleTag_09 1225 TriggeredBy = Upgrade_AmericaAdvancedTraining 1226 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 1227 End 1228 1229 Behavior = DestroyDie ModuleTag_10 1230 DeathTypes = NONE +CRUSHED +SPLATTED 1231 End 1232 1233 Behavior = FXListDie ModuleTag_11 1234 DeathTypes = NONE +CRUSHED +SPLATTED 1235 DeathFX = FX_CarCrush 1236 End 1237 1238 Behavior = CreateObjectDie ModuleTag_12 1239 DeathTypes = NONE +CRUSHED +SPLATTED 1240 CreationList = OCL_CrusaderTank_CrushEffect 1241 End 1242 1243 ; Behavior = FXListDie 1244 ; DeathTypes = ALL -CRUSHED -SPLATTED 1245 ; DeathFX = FX_GenericTankDeathEffect 1246 ; End 1247 ; Behavior = CreateObjectDie 1248 ; DeathTypes = ALL -CRUSHED -SPLATTED 1249 ; CreationList = OCL_GenericTankDeathEffect 1250 ; End 1251 Behavior = EjectPilotDie ModuleTag_13 1252 DeathTypes = ALL -CRUSHED -SPLATTED 1253 ExemptStatus = HIJACKED 1254 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 1255 GroundCreationList = OCL_EjectPilotOnGround 1256 AirCreationList = OCL_EjectPilotViaParachute 1257 End 1258 1259 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 1260 DetectionRate = 500 1261 DetectionRange = 75 1262 CanDetectWhileGarrisoned = No 1263 CanDetectWhileContained = No 1264 ExtraRequiredKindOf = BOAT 1265 End 1266 1267 Behavior = TransitionDamageFX ModuleTag_14 1268 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 1269 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 1270 End 1271 1272 Behavior = FlammableUpdate ModuleTag_21 1273 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 1274 AflameDamageAmount = 3 ; taking this much damage... 1275 AflameDamageDelay = 500 ; this often. 1276 End 1277 1278 Geometry = BOX 1279 GeometryMajorRadius = 15.0 1280 GeometryMinorRadius = 10.0 1281 GeometryHeight = 10.0 1282 GeometryIsSmall = Yes 1283 Shadow = SHADOW_VOLUME 1284 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 1285 1286 End 1287 1288 ;---------------------------------------------------------- 1289 Object AmericaVehicleTomahawkHulk 1290 ; *** ART Parameters *** 1291 Draw = W3DModelDraw ModuleTag_01 1292 ConditionState = NONE 1293 Model = AVTomahawk_D1 1294 End 1295 End 1296 1297 ; ***DESIGN parameters *** 1298 EditorSorting = DEBRIS 1299 1300 ; *** ENGINEERING Parameters *** 1301 KindOf = NO_COLLIDE HULK 1302 1303 Behavior = PhysicsBehavior ModuleTag_03 1304 Mass = 10.0 1305 AllowBouncing = Yes 1306 KillWhenRestingOnGround = Yes 1307 End 1308 Behavior = LifetimeUpdate ModuleTag_04 1309 MinLifetime = 1500 ; min lifetime in msec 1310 MaxLifetime = 1600 ; max lifetime in msec 1311 End 1312 1313 Behavior = SlowDeathBehavior ModuleTag_05 1314 SinkDelay = 1500 1315 SinkRate = 2 ; in Dist/Sec 1316 DestructionDelay = 8000 1317 End 1318 End 1319 1320 ;---------------------------------------------------------- 1321 Object ChinaVehicleNukeCannonHulk 1322 ; *** ART Parameters *** 1323 Draw = W3DModelDraw ModuleTag_01 1324 ConditionState = NONE 1325 Model = NVNukeCn_D1 1326 End 1327 End 1328 1329 ; ***DESIGN parameters *** 1330 EditorSorting = DEBRIS 1331 1332 ; *** ENGINEERING Parameters *** 1333 KindOf = NO_COLLIDE HULK 1334 1335 Behavior = PhysicsBehavior ModuleTag_03 1336 Mass = 10.0 1337 AllowBouncing = Yes 1338 KillWhenRestingOnGround = Yes 1339 End 1340 Behavior = LifetimeUpdate ModuleTag_04 1341 MinLifetime = 1500 ; min lifetime in msec 1342 MaxLifetime = 1600 ; max lifetime in msec 1343 End 1344 1345 Behavior = SlowDeathBehavior ModuleTag_05 1346 SinkDelay = 1500 1347 SinkRate = 2 ; in Dist/Sec 1348 DestructionDelay = 8000 1349 End 1350 End 1351 1352 ;------------------------------------------------------------------------------ 1353 Object AmericaJetRaptor 1354 1355 ; *** ART Parameters *** 1356 SelectPortrait = SACRaptor_L 1357 ButtonImage = SACRaptor 1358 1359 UpgradeCameo1 = Upgrade_AmericaLaserMissiles 1360 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 1361 ;UpgradeCameo3 = NONE 1362 ;UpgradeCameo4 = NONE 1363 ;UpgradeCameo5 = NONE 1364 1365 Draw = W3DModelDraw ModuleTag_01 1366 1367 DefaultConditionState 1368 Model = AVRaptor 1369 HideSubObject = BurnerFX01 BurnerFX02 1370 WeaponLaunchBone = PRIMARY WeaponA 1371 End 1372 1373 ConditionState = JETEXHAUST 1374 ; exhaust 1375 ParticleSysBone = Wingtip01 JetContrail 1376 ParticleSysBone = Wingtip02 JetContrail 1377 End 1378 1379 ConditionState = JETEXHAUST JETAFTERBURNER 1380 ; exhaust 1381 ParticleSysBone = Wingtip01 JetContrail 1382 ParticleSysBone = Wingtip02 JetContrail 1383 ; afterburner 1384 ShowSubObject = BurnerFX01 BurnerFX02 1385 ParticleSysBone = Engine01 JetLenzflare 1386 ParticleSysBone = Engine02 JetLenzflare 1387 End 1388 1389 ConditionState = REALLYDAMAGED 1390 Model = AVRaptor_D 1391 ; damage 1392 ParticleSysBone = Smoke01 JetSmoke 1393 ParticleSysBone = Engine01 JetEngineDamagedSmoke 1394 End 1395 1396 ConditionState = REALLYDAMAGED JETEXHAUST 1397 Model = AVRaptor_D 1398 ; damage 1399 ParticleSysBone = Smoke01 JetSmoke 1400 ParticleSysBone = Engine01 JetEngineDamagedSmoke 1401 ; exhaust 1402 ParticleSysBone = Wingtip01 JetContrail 1403 ParticleSysBone = Wingtip02 JetContrail 1404 End 1405 1406 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 1407 Model = AVRaptor_D 1408 ; damage 1409 ParticleSysBone = Smoke01 JetSmoke 1410 ParticleSysBone = Engine01 JetEngineDamagedSmoke 1411 ; afterburner 1412 ShowSubObject = BurnerFX01 BurnerFX02 1413 ParticleSysBone = Engine01 JetLenzflare 1414 ParticleSysBone = Engine02 JetLenzflare 1415 ; exhaust 1416 ParticleSysBone = Wingtip01 JetContrail 1417 ParticleSysBone = Wingtip02 JetContrail 1418 End 1419 1420 ConditionState = RUBBLE 1421 Model = AVRaptor_D1B 1422 HideSubObject = None 1423 ShowSubObject = None 1424 End 1425 1426 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 1427 Model = AVRaptor_D1B 1428 ;HideSubObject is needed cause there're inherited from default condition state 1429 HideSubObject = None 1430 ShowSubObject = None 1431 ParticleSysBone = Engine01 JetExhaust 1432 ParticleSysBone = Engine02 JetExhaust 1433 ; exhaust 1434 ParticleSysBone = Wingtip01 JetContrail 1435 ParticleSysBone = Wingtip02 JetContrail 1436 End 1437 1438 OkToChangeModelColor = Yes 1439 1440 End 1441 1442 ; ***DESIGN parameters *** 1443 DisplayName = OBJECT:Raptor 1444 EditorSorting = VEHICLE 1445 Side = America 1446 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 1447 VisionRange = 180.0 1448 ShroudClearingRange = 400 1449 Prerequisites 1450 Object = AmericaAirfield 1451 End 1452 1453 WeaponSet 1454 Conditions = None 1455 Weapon = PRIMARY RaptorJetMissileWeapon 1456 End 1457 WeaponSet 1458 Conditions = PLAYER_UPGRADE 1459 Weapon = PRIMARY RaptorJetLaserGuidedMissileWeapon 1460 End 1461 ArmorSet 1462 Conditions = None 1463 Armor = AirplaneArmor 1464 DamageFX = None 1465 End 1466 1467 BuildCost = 1400 1468 BuildTime = 20 1469 ExperienceValue = 50 50 100 150 ;Experience point value at each level 1470 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 1471 IsTrainable = Yes ;Can gain experience 1472 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 1473 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1474 CommandSet = AmericaJetRaptorCommandSet 1475 1476 ; *** AUDIO Parameters *** 1477 VoiceSelect = RaptorVoiceSelect 1478 VoiceMove = RaptorVoiceMove 1479 VoiceAttack = RaptorVoiceAttack 1480 VoiceAttackAir = RaptorVoiceAttackAir 1481 VoiceGuard = RaptorVoiceAirPatrol 1482 SoundDie = RaptorVoiceFalling 1483 SoundAmbient = RaptorAmbientLoop 1484 SoundAmbientRubble = NoSound 1485 ; For now, it is better to have some sound than no sound cause there is a bug in 1486 ; what triggers the sound move loop sound, and the multiplayer test is only days away 1487 ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield 1488 ; SoundAmbient = NoSound 1489 UnitSpecificSounds 1490 VoiceCreate = RaptorVoiceCreate 1491 SoundEject = PilotSoundEject 1492 VoiceEject = PilotVoiceEject 1493 Afterburner = RaptorAfterburner 1494 VoiceLowFuel = RaptorVoiceLowFuel 1495 VoiceGarrison = RaptorVoiceMove 1496 End 1497 1498 ; *** ENGINEERING Parameters *** 1499 RadarPriority = UNIT 1500 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 1501 Body = ActiveBody ModuleTag_02 1502 MaxHealth = 160.0 1503 InitialHealth = 160.0 1504 End 1505 1506 Behavior = WeaponSetUpgrade ModuleTag_03 1507 TriggeredBy = Upgrade_AmericaLaserMissiles 1508 End 1509 Behavior = ExperienceScalarUpgrade ModuleTag_04 1510 TriggeredBy = Upgrade_AmericaAdvancedTraining 1511 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 1512 End 1513 1514 Behavior = JetSlowDeathBehavior ModuleTag_05 1515 FXOnGroundDeath = FX_JetOnGroundDeath 1516 OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp 1517 DestructionDelay = 99999999; destruction will happen when we 1518 RollRate = 0.2 1519 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 1520 PitchRate = 0.0 1521 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 1522 FXInitialDeath = FX_JetDeathInitial 1523 OCLInitialDeath = OCL_RaptorDeathInitial 1524 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 1525 FXSecondary = FX_JetDeathSecondary 1526 OCLSecondary = OCL_RaptorDeathSecondary 1527 FXHitGround = FX_JetDeathHitGround 1528 OCLHitGround = OCL_RaptorDeathHitGround 1529 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 1530 FXFinalBlowUp = FX_JetDeathFinalBlowUp 1531 OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp 1532 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 1533 End 1534 Behavior = EjectPilotDie ModuleTag_06 1535 ExemptStatus = HIJACKED 1536 GroundCreationList = OCL_EjectPilotOnGround 1537 AirCreationList = OCL_EjectPilotViaParachute 1538 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 1539 End 1540 1541 Behavior = PhysicsBehavior ModuleTag_07 1542 Mass = 500.0 1543 End 1544 1545 Behavior = TransitionDamageFX ModuleTag_08 1546 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 1547 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 1548 End 1549 1550 Behavior = JetAIUpdate ModuleTag_09 1551 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 1552 ; note that it's expressed as a percent of max health, not an absolute 1553 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 1554 TakeoffPause = 500 1555 MinHeight = 5 1556 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors 1557 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 1558 End 1559 Locomotor = SET_NORMAL RaptorJetLocomotor 1560 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 1561 1562 Behavior = FlammableUpdate ModuleTag_21 1563 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 1564 AflameDamageAmount = 3 ; taking this much damage... 1565 AflameDamageDelay = 500 ; this often. 1566 End 1567 1568 1569 Geometry = Box 1570 GeometryIsSmall = Yes 1571 GeometryMajorRadius = 14.0 1572 GeometryMinorRadius = 7.0 1573 GeometryHeight = 5.0 1574 Shadow = SHADOW_VOLUME 1575 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. 1576 1577 End 1578 1579 ;------------------------------------------------------------------------------ 1580 ;This is the raptor as it's crashing 1581 ;------------------------------------------------------------------------------ 1582 Object AmericaJetRaptorHulk 1583 ; *** ART Parameters *** 1584 Draw = W3DModelDraw ModuleTag_01 1585 DefaultConditionState 1586 Model = AVRaptor_D1 1587 End 1588 End 1589 1590 ; ***DESIGN parameters *** 1591 EditorSorting = DEBRIS 1592 1593 ; *** ENGINEERING Parameters *** 1594 KindOf = NO_COLLIDE HULK 1595 1596 Behavior = PhysicsBehavior ModuleTag_03 1597 Mass = 2.0 1598 AllowBouncing = No 1599 KillWhenRestingOnGround = Yes 1600 End 1601 1602 Behavior = LifetimeUpdate ModuleTag_04 1603 MinLifetime = 1500 ; min lifetime in msec 1604 MaxLifetime = 1600 ; max lifetime in msec 1605 End 1606 1607 Behavior = SlowDeathBehavior ModuleTag_05 1608 SinkDelay = 1500 1609 SinkRate = 2 ; in Dist/Sec 1610 DestructionDelay = 8000 1611 End 1612 1613 End 1614 1615 ;------------------------------------------------------------------------------ 1616 ;This is the A10 as it's crashing 1617 ;------------------------------------------------------------------------------ 1618 Object AmericaJetA10Hulk 1619 ; *** ART Parameters *** 1620 Draw = W3DModelDraw ModuleTag_01 1621 DefaultConditionState 1622 Model = AVWarthog_D1 1623 End 1624 End 1625 1626 ; ***DESIGN parameters *** 1627 EditorSorting = DEBRIS 1628 1629 ; *** ENGINEERING Parameters *** 1630 KindOf = NO_COLLIDE HULK 1631 1632 Behavior = PhysicsBehavior ModuleTag_03 1633 Mass = 2.0 1634 AllowBouncing = No 1635 KillWhenRestingOnGround = Yes 1636 End 1637 1638 Behavior = LifetimeUpdate ModuleTag_04 1639 MinLifetime = 1500 ; min lifetime in msec 1640 MaxLifetime = 1600 ; max lifetime in msec 1641 End 1642 1643 1644 1645 Behavior = SlowDeathBehavior ModuleTag_05 1646 SinkDelay = 1500 1647 SinkRate = 2 ; in Dist/Sec 1648 DestructionDelay = 8000 1649 End 1650 1651 End 1652 1653 ;------------------------------------------------------------------------------ 1654 ;This is the stealth as it's crashing 1655 ;------------------------------------------------------------------------------ 1656 Object AmericaJetStealthHulk 1657 1658 ; *** ART Parameters *** 1659 Draw = W3DModelDraw ModuleTag_01 1660 DefaultConditionState 1661 Model = AVStealth_D1 1662 End 1663 End 1664 1665 ; ***DESIGN parameters *** 1666 EditorSorting = DEBRIS 1667 1668 ; *** ENGINEERING Parameters *** 1669 KindOf = NO_COLLIDE HULK 1670 1671 Behavior = PhysicsBehavior ModuleTag_03 1672 Mass = 2.0 1673 AllowBouncing = No 1674 KillWhenRestingOnGround = Yes 1675 End 1676 1677 Behavior = LifetimeUpdate ModuleTag_04 1678 MinLifetime = 1500 ; min lifetime in msec 1679 MaxLifetime = 1600 ; max lifetime in msec 1680 End 1681 1682 Behavior = SlowDeathBehavior ModuleTag_05 1683 SinkDelay = 1500 1684 SinkRate = 2 ; in Dist/Sec 1685 DestructionDelay = 8000 1686 End 1687 1688 End 1689 1690 ;------------------------------------------------------------------------------ 1691 ;This is the stealth as it's crashing 1692 ;------------------------------------------------------------------------------ 1693 Object AmericaJetAuroraHulk 1694 1695 ; *** ART Parameters *** 1696 Draw = W3DModelDraw ModuleTag_01 1697 DefaultConditionState 1698 Model = AVAurora_D1 1699 End 1700 End 1701 1702 ; ***DESIGN parameters *** 1703 EditorSorting = DEBRIS 1704 1705 ; *** ENGINEERING Parameters *** 1706 KindOf = NO_COLLIDE HULK 1707 1708 Behavior = PhysicsBehavior ModuleTag_03 1709 Mass = 2.0 1710 AllowBouncing = No 1711 KillWhenRestingOnGround = Yes 1712 End 1713 1714 Behavior = LifetimeUpdate ModuleTag_04 1715 MinLifetime = 1500 ; min lifetime in msec 1716 MaxLifetime = 1600 ; max lifetime in msec 1717 End 1718 1719 Behavior = SlowDeathBehavior ModuleTag_05 1720 SinkDelay = 1500 1721 SinkRate = 2 ; in Dist/Sec 1722 DestructionDelay = 8000 1723 End 1724 1725 End 1726 1727 ;------------------------------------------------------------------------------ 1728 Object A10ThunderboltMissile 1729 1730 ; *** ART Parameters *** 1731 Draw = W3DModelDraw ModuleTag_01 1732 OkToChangeModelColor = Yes 1733 DefaultConditionState 1734 Model = AVWarthog_M 1735 ParticleSysBone = NONE MissileExhaust 1736 End 1737 End 1738 1739 ; ***DESIGN parameters *** 1740 DisplayName = OBJECT:Missile 1741 Side = America 1742 EditorSorting = SYSTEM 1743 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 1744 VisionRange = 0.0 1745 ArmorSet 1746 Conditions = None 1747 Armor = ProjectileArmor 1748 DamageFX = None 1749 End 1750 1751 ; *** AUDIO Parameters *** 1752 1753 ; *** ENGINEERING Parameters *** 1754 KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE 1755 Body = ActiveBody ModuleTag_02 1756 MaxHealth = 100.0 1757 InitialHealth = 100.0 1758 End 1759 1760 ; ---- begin Projectile death behaviors 1761 Behavior = InstantDeathBehavior DeathModuleTag_01 1762 DeathTypes = NONE +DETONATED 1763 ; we detonated normally. 1764 ; no FX, just quiet destroy ourselves 1765 End 1766 Behavior = InstantDeathBehavior DeathModuleTag_02 1767 DeathTypes = NONE +LASERED 1768 ; shot down by laser. 1769 FX = FX_GenericMissileDisintegrate 1770 OCL = OCL_GenericMissileDisintegrate 1771 End 1772 Behavior = InstantDeathBehavior DeathModuleTag_03 1773 DeathTypes = ALL -LASERED -DETONATED 1774 ; shot down by nonlaser. 1775 FX = FX_GenericMissileDeath 1776 End 1777 ; ---- end Projectile death behaviors 1778 1779 ; The weapon is in OCL.ini. This makes it do double damage secretly. 1780 ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 1781 ; DeathWeapon = A10ThunderboltMissileWeapon 1782 ; StartsActive = Yes 1783 ; End 1784 1785 Behavior = PhysicsBehavior ModuleTag_08 1786 Mass = 1 1787 End 1788 Behavior = MissileAIUpdate ModuleTag_09 1789 TryToFollowTarget = Yes 1790 FuelLifetime = 10000 1791 InitialVelocity = 30 ; in dist/sec 1792 IgnitionDelay = 0 1793 IgnitionFX = FX_A10ThunderboltMissileIgnition 1794 End 1795 ; It's a missile, it needs to hit so it can +DETONATED 1796 ; Behavior = HeightDieUpdate ModuleTag_10 1797 ; TargetHeight = 1.0 1798 ; TargetHeightIncludesStructures = No 1799 ; End 1800 Locomotor = SET_NORMAL A10ThunderboltMissileLocomotor 1801 1802 Geometry = Sphere 1803 GeometryIsSmall = Yes 1804 GeometryMajorRadius = 1.0 1805 1806 Behavior = SpecialPowerCompletionDie ModuleTag_11 1807 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike 1808 End 1809 1810 ; Geometry = Sphere 1811 ; GeometryIsSmall = Yes 1812 ;GeometryMajorRadius = 12.0 1813 1814 End 1815 1816 ;------------------------------------------------------------------------------ 1817 Object RaptorJetMissile 1818 1819 ; *** ART Parameters *** 1820 Draw = W3DModelDraw ModuleTag_01 1821 OkToChangeModelColor = Yes 1822 DefaultConditionState 1823 Model = AVRaptor_M 1824 End 1825 End 1826 1827 ; ***DESIGN parameters *** 1828 DisplayName = OBJECT:Missile 1829 EditorSorting = SYSTEM 1830 VisionRange = 0.0 1831 1832 ; *** ENGINEERING Parameters *** 1833 KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE 1834 Body = ActiveBody ModuleTag_02 1835 MaxHealth = 100.0 1836 InitialHealth = 100.0 1837 End 1838 1839 ; ---- begin Projectile death behaviors 1840 Behavior = InstantDeathBehavior DeathModuleTag_01 1841 DeathTypes = NONE +DETONATED 1842 ; we detonated normally. 1843 ; no FX, just quiet destroy ourselves 1844 End 1845 Behavior = InstantDeathBehavior DeathModuleTag_02 1846 DeathTypes = NONE +LASERED 1847 ; shot down by laser. 1848 FX = FX_GenericMissileDisintegrate 1849 OCL = OCL_GenericMissileDisintegrate 1850 End 1851 Behavior = InstantDeathBehavior DeathModuleTag_03 1852 DeathTypes = ALL -LASERED -DETONATED 1853 ; shot down by nonlaser. 1854 FX = FX_GenericMissileDeath 1855 End 1856 ; ---- end Projectile death behaviors 1857 1858 Behavior = PhysicsBehavior ModuleTag_07 1859 Mass = 1 1860 End 1861 Behavior = MissileAIUpdate ModuleTag_08 1862 TryToFollowTarget = Yes 1863 FuelLifetime = 10000 1864 InitialVelocity = 75 ; in dist/sec 1865 IgnitionDelay = 30 1866 IgnitionFX = FX_JetMissileIgnition 1867 End 1868 Locomotor = SET_NORMAL RaptorJetMissileLocomotor 1869 1870 Geometry = Sphere 1871 GeometryIsSmall = Yes 1872 GeometryMajorRadius = 1.0 1873 1874 End 1875 1876 ;------------------------------------------------------------------------------ 1877 Object StealthJetMissile 1878 1879 ; *** ART Parameters *** 1880 Draw = W3DModelDraw ModuleTag_01 1881 OkToChangeModelColor = Yes 1882 DefaultConditionState 1883 Model = AVStealth_M 1884 End 1885 End 1886 1887 ; ***DESIGN parameters *** 1888 DisplayName = OBJECT:Missile 1889 EditorSorting = SYSTEM 1890 VisionRange = 0.0 1891 1892 ; *** ENGINEERING Parameters *** 1893 KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE 1894 Body = ActiveBody ModuleTag_02 1895 MaxHealth = 100.0 1896 InitialHealth = 100.0 1897 End 1898 1899 ; ---- begin Projectile death behaviors 1900 Behavior = InstantDeathBehavior DeathModuleTag_01 1901 DeathTypes = NONE +DETONATED 1902 ; we detonated normally. 1903 ; no FX, just quiet destroy ourselves 1904 End 1905 Behavior = InstantDeathBehavior DeathModuleTag_02 1906 DeathTypes = NONE +LASERED 1907 ; shot down by laser. 1908 FX = FX_GenericMissileDisintegrate 1909 OCL = OCL_GenericMissileDisintegrate 1910 End 1911 Behavior = InstantDeathBehavior DeathModuleTag_03 1912 DeathTypes = ALL -LASERED -DETONATED 1913 ; shot down by nonlaser. 1914 FX = FX_GenericMissileDeath 1915 End 1916 ; ---- end Projectile death behaviors 1917 1918 Behavior = PhysicsBehavior ModuleTag_07 1919 Mass = 1 1920 End 1921 Behavior = MissileAIUpdate ModuleTag_08 1922 TryToFollowTarget = Yes 1923 FuelLifetime = 10000 1924 InitialVelocity = 75 ; in dist/sec 1925 IgnitionDelay = 30 1926 IgnitionFX = FX_JetMissileIgnition 1927 End 1928 Locomotor = SET_NORMAL StealthJetMissileLocomotor 1929 1930 Geometry = Sphere 1931 GeometryIsSmall = Yes 1932 GeometryMajorRadius = 1.0 1933 1934 End 1935 1936 ;------------------------------------------------------------------------------ 1937 Object AmericaJetB52 1938 1939 ; *** ART Parameters *** 1940 Draw = W3DModelDraw ModuleTag_01 1941 DefaultConditionState 1942 Model = AVBomber 1943 ParticleSysBone = Engine01 JetBlackTrailThin 1944 ParticleSysBone = Engine02 JetBlackTrailThin 1945 ParticleSysBone = Engine03 JetBlackTrailThin 1946 ParticleSysBone = Engine04 JetBlackTrailThin 1947 ParticleSysBone = WingTip01 JetContrailThin 1948 ParticleSysBone = WingTip02 JetContrailThin 1949 End 1950 ConditionState = DAMAGED 1951 Model = AVBomber_D 1952 ParticleSysBone = Smoke01 JetFireLarge 1953 ParticleSysBone = Smoke02 JetFireLarge 1954 ParticleSysBone = Engine01 JetBlackTrailThin 1955 ParticleSysBone = Engine02 JetBlackTrailThin 1956 ParticleSysBone = Engine03 JetBlackTrailThin 1957 ParticleSysBone = Engine04 JetBlackTrailThin 1958 ParticleSysBone = Smoke01 JetSmokeLarge 1959 ParticleSysBone = Smoke02 JetSmokeLarge 1960 End 1961 ConditionState = REALLYDAMAGED 1962 Model = AVBomber_D 1963 ParticleSysBone = Smoke01 JetFireLarge 1964 ParticleSysBone = Smoke02 JetFireLarge 1965 ParticleSysBone = Engine01 JetBlackTrailThin 1966 ParticleSysBone = Engine02 JetBlackTrailThin 1967 ParticleSysBone = Engine03 JetBlackTrailThin 1968 ParticleSysBone = Engine04 JetBlackTrailThin 1969 ParticleSysBone = Smoke01 JetSmokeLarge 1970 ParticleSysBone = Smoke02 JetSmokeLarge 1971 End 1972 ConditionState = RUBBLE 1973 Model = AVBomber_D1 1974 ParticleSysBone = Smoke01 JetFireLarge 1975 ParticleSysBone = Smoke02 JetFireLarge 1976 ParticleSysBone = Smoke01 JetSmokeLarge 1977 ParticleSysBone = Smoke02 JetSmokeLarge 1978 End 1979 OkToChangeModelColor = Yes 1980 End 1981 1982 Draw = W3DModelDraw ModuleTag_02 1983 DefaultConditionState 1984 Model = AVBomber_A2U 1985 Animation = AVBomber_A2K.AVBomber_A2 1986 AnimationMode = MANUAL 1987 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 1988 End 1989 ConditionState = DOOR_1_OPENING 1990 Animation = AVBomber_A2K.AVBomber_A2 1991 AnimationMode = ONCE 1992 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 1993 End 1994 ConditionState = DOOR_1_CLOSING 1995 Animation = AVBomber_A2K.AVBomber_A2 1996 AnimationMode = ONCE_BACKWARDS 1997 Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES 1998 End 1999 2000 ConditionState = REALLYDAMAGED 2001 Model = AVBomber_A2DU 2002 Animation = AVBomber_A2K.AVBomber_A2 2003 AnimationMode = MANUAL 2004 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 2005 End 2006 ConditionState = DOOR_1_OPENING REALLYDAMAGED 2007 Model = AVBomber_A2DU 2008 Animation = AVBomber_A2K.AVBomber_A2 2009 AnimationMode = ONCE 2010 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 2011 End 2012 ConditionState = DOOR_1_CLOSING REALLYDAMAGED 2013 Model = AVBomber_A2DU 2014 Animation = AVBomber_A2K.AVBomber_A2 2015 AnimationMode = ONCE_BACKWARDS 2016 Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES 2017 End 2018 End 2019 2020 ; ***DESIGN parameters *** 2021 DisplayName = OBJECT:B52 2022 EditorSorting = VEHICLE 2023 Side = America 2024 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 2025 VisionRange = 150.0 ;0.0 2026 2027 WeaponSet 2028 Conditions = None 2029 Weapon = PRIMARY TomahawkMissileWeaponB52 2030 End 2031 ArmorSet 2032 Conditions = None 2033 Armor = AirplaneArmor 2034 DamageFX = TankDamageFX 2035 End 2036 CommandSet = Command_ScriptedTransportDrops 2037 2038 ; *** AUDIO Parameters *** 2039 SoundAmbient = B52AmbientLoop 2040 SoundAmbientRubble = NoSound 2041 2042 ; *** ENGINEERING Parameters *** 2043 RadarPriority = UNIT 2044 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI 2045 Body = ActiveBody ModuleTag_03 2046 MaxHealth = 1000.0 2047 InitialHealth = 1000.0 2048 End 2049 2050 ExperienceValue = 50 50 50 50 ; Experience point value at each level 2051 2052 ;SCRIPTED SUPPORT: These special powers are triggered directly 2053 ;from the transport without creating a transport. This is done 2054 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 2055 ;which also prevents creating the payload transport. 2056 Behavior = OCLSpecialPower ModuleTag_04 2057 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ 2058 OCL = SUPERWEAPON_DaisyCutter 2059 CreateLocation = USE_OWNER_OBJECT 2060 End 2061 Behavior = OCLSpecialPower ModuleTag_05 2062 SpecialPowerTemplate = SuperweaponParadropAmerica 2063 UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 2064 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 2065 OCL = SUPERWEAPON_Paradrop1 2066 CreateLocation = USE_OWNER_OBJECT 2067 End 2068 Behavior = OCLSpecialPower ModuleTag_06 2069 SpecialPowerTemplate = SuperweaponCarpetBomb 2070 OCL = SUPERWEAPON_CarpetBomb 2071 UpgradeOCL = SCIENCE_B52TomahawkStrike SUPERWEAPON_B52TomahawkStrike 2072 CreateLocation = USE_OWNER_OBJECT 2073 End 2074 2075 Behavior = PhysicsBehavior ModuleTag_07 2076 Mass = 500.0 2077 End 2078 2079 Behavior = DeliverPayloadAIUpdate ModuleTag_08 2080 DoorDelay = 500 2081 MaxAttempts = 4 2082 DropOffset = X:0 Y:0 Z:-10 2083 DropDelay = 300 ; time in between each item dropped (if more than one) 2084 PutInContainer = AmericaParachute 2085 DeliveryDistance = 150 2086 End 2087 Locomotor = SET_NORMAL B52Locomotor 2088 2089 Behavior = TransportContain ModuleTag_09 2090 Slots = 100 ; hey, it's a BIG transport 2091 ScatterNearbyOnExit = No 2092 OrientLikeContainerOnExit = Yes 2093 KeepContainerVelocityOnExit = Yes 2094 ExitPitchRate = 30 2095 ExitBone = WeaponA01 2096 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE 2097 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 2098 NumberOfExitPaths = 0 2099 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' 2100 End 2101 2102 Behavior = JetSlowDeathBehavior ModuleTag_10 2103 DestructionDelay = 2000 2104 RollRate = 0.0 2105 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 2106 PitchRate = 0 2107 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 2108 FXInitialDeath = FX_JetBigDeathInitial 2109 OCLInitialDeath = OCL_AmericaJetCargoDeathStart 2110 DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time 2111 OCLSecondary = OCL_AmericaJetCargoHulkDeath 2112 FXSecondary = FX_BigPlaneDeath 2113 ; FXFinalBlowUp = FX_JetDeathFinalBlowUp 2114 ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp 2115 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 2116 End 2117 2118 Behavior = TransitionDamageFX ModuleTag_11 2119 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 2120 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 2121 End 2122 2123 Geometry = Box 2124 GeometryIsSmall = No 2125 GeometryMajorRadius = 60.0 2126 GeometryMinorRadius = 10.0 2127 GeometryHeight = 10.0 2128 Shadow = SHADOW_VOLUME 2129 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 2130 2131 End 2132 2133 ;------------------------------------------------------------------------------ 2134 Object CarpetBomb 2135 2136 ; *** ART Parameters *** 2137 Draw = W3DModelDraw ModuleTag_01 2138 DefaultConditionState 2139 Model = EXCarptBmb 2140 End 2141 End 2142 2143 ; ***DESIGN parameters *** 2144 DisplayName = OBJECT:CarpetBomb 2145 Side = America 2146 EditorSorting = SYSTEM 2147 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 2148 VisionRange = 300.0 2149 ArmorSet 2150 Conditions = None 2151 Armor = ProjectileArmor 2152 DamageFX = None 2153 End 2154 2155 ; *** AUDIO Parameters *** 2156 SoundFallingFromPlane = DaisyCutterWeapon 2157 2158 ; *** ENGINEERING Parameters *** 2159 KindOf = PROJECTILE 2160 Body = ActiveBody ModuleTag_02 2161 MaxHealth = 100.0 2162 InitialHealth = 100.0 2163 End 2164 2165 Behavior = AIUpdateInterface ModuleTag_03 2166 End 2167 Locomotor = SET_NORMAL None 2168 2169 Behavior = PhysicsBehavior ModuleTag_04 2170 2171 Mass = 75.0 2172 AerodynamicFriction = 1 ; this is now friction-per-sec 2173 ForwardFriction = 33 ; this is now friction-per-sec 2174 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 2175 End 2176 2177 Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 2178 DeathWeapon = CarpetBombWeapon 2179 StartsActive = Yes 2180 End 2181 2182 Behavior = HeightDieUpdate ModuleTag_06 2183 TargetHeight = 1.0 2184 TargetHeightIncludesStructures = No 2185 End 2186 2187 Behavior = SpecialPowerCompletionDie ModuleTag_07 2188 SpecialPowerTemplate = SuperweaponCarpetBomb 2189 End 2190 2191 Behavior = FXListDie ModuleTag_08 2192 DeathFX = FX_CarpetBomb 2193 End 2194 Behavior = DestroyDie ModuleTag_09 2195 ;nothing 2196 End 2197 2198 End 2199 2200 ;------------------------------------------------------------------------------ 2201 Object AuroraBomb 2202 2203 ; *** ART Parameters *** 2204 Draw = W3DModelDraw ModuleTag_01 2205 DefaultConditionState 2206 Model = EXCarptBmb 2207 End 2208 End 2209 2210 ; ***DESIGN parameters *** 2211 Side = America 2212 EditorSorting = SYSTEM 2213 ArmorSet 2214 Conditions = None 2215 Armor = ProjectileArmor 2216 DamageFX = None 2217 End 2218 VisionRange = 0.0 2219 2220 ; *** AUDIO Parameters *** 2221 2222 ; *** ENGINEERING Parameters *** 2223 KindOf = PROJECTILE 2224 Body = ActiveBody ModuleTag_02 2225 MaxHealth = 100.0 2226 InitialHealth = 100.0 2227 End 2228 2229 Behavior = PhysicsBehavior ModuleTag_03 2230 Mass = 75.0 2231 AerodynamicFriction = 2 ; this is now friction-per-sec 2232 ForwardFriction = 2 ; this is now friction-per-sec 2233 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 2234 End 2235 2236 ; it may seem odd to have a "bomb" with a Locomotor, especially a Thrust locomotor, 2237 ; but there's a good reason: the Aurora moves so freakin' fast that it's really 2238 ; hard to (1) find a reliable drop location, and (2) actually get it close enough to 2239 ; that location. So we cheat: just get fairly close, then let the "bomb" do a little (subtle) 2240 ; navigation on the way down. This works pretty well and actually looks much better 2241 ; than you might think. (srj) 2242 Behavior = MissileAIUpdate ModuleTag_04 2243 TryToFollowTarget = No 2244 FuelLifetime = 0 2245 IgnitionDelay = 0 2246 InitialVelocity = 0 ; in dist/sec 2247 DistanceToTravelBeforeTurning = 0 2248 DistanceToTargetBeforeDiving = 0 2249 End 2250 Locomotor = SET_NORMAL AuroraBombLocomotor ; yes, that's right. 2251 2252 Geometry = Sphere 2253 GeometryIsSmall = Yes 2254 GeometryMajorRadius = 2.0 2255 2256 End 2257 2258 ;------------------------------------------------------------------------------ 2259 ; this is the "standard" mine used for building upgrades 2260 Object ChinaStandardMine 2261 2262 ; *** ART Parameters *** 2263 Draw = W3DModelDraw ModuleTag_01 2264 OkToChangeModelColor = Yes 2265 ; NOTE: ParticleSysBone doesn't work correctly with DefaultConditionState! 2266 ; fix someday! (srj) 2267 ConditionState = NONE 2268 Model = EXAMineGroup 2269 ParticleSysBone = Mine01 MineFX 2270 ParticleSysBone = Mine02 MineFX 2271 ParticleSysBone = Mine03 MineFX 2272 ParticleSysBone = Mine04 MineFX 2273 ParticleSysBone = Mine05 MineFX 2274 ParticleSysBone = Mine06 MineFX 2275 ParticleSysBone = Mine07 MineFX 2276 ParticleSysBone = Mine08 MineFX 2277 End 2278 ConditionState = RUBBLE 2279 Model = None 2280 End 2281 End 2282 2283 ; ***DESIGN parameters *** 2284 DisplayName = OBJECT:StructureMine 2285 EditorSorting = MISC_MAN_MADE 2286 KindOf = STICK_TO_TERRAIN_SLOPE IMMOBILE MINE NO_HEAL_ICON 2287 ArmorSet 2288 Conditions = None 2289 Armor = MineArmor 2290 DamageFX = None 2291 End 2292 2293 ; *** ENGINEERING Parameters *** 2294 Body = ActiveBody ModuleTag_02 2295 MaxHealth = 100.0 2296 InitialHealth = 100.0 2297 End 2298 2299 Behavior = StealthUpdate ModuleTag_03 2300 StealthDelay = 0 ; msec 2301 StealthForbiddenConditions = NONE 2302 FriendlyOpacityMin = 0.0% 2303 FriendlyOpacityMax = 0.0% 2304 InnateStealth = Yes 2305 OrderIdleEnemiesToAttackMeUponReveal = No 2306 End 2307 2308 ; this is a misleading name, since it's really single-Mine Behavior... 2309 Behavior = MinefieldBehavior ModuleTag_04 2310 DetonationWeapon = StructureMineWeapon ; what happens when we detonate 2311 DetonatedBy = ENEMIES NEUTRAL 2312 ; we no longer want the "scoot" behavior. it looks funky with current art. (srj) 2313 ;ScootFromStartingPointTime = 500 2314 RepeatDetonateMoveThresh = 5.0 2315 NumVirtualMines = 8 2316 Regenerates = Yes ; Standard mines DO regenerate. 2317 StopsRegenAfterCreatorDies = Yes 2318 DegenPercentPerSecondAfterCreatorDies = 3.33% ; take about 30 seconds to die. 2319 End 2320 2321 ; Standard mines DO heal. 2322 Behavior = AutoHealBehavior ModuleTag_05 2323 StartsActive = Yes 2324 HealingAmount = 2 2325 HealingDelay = 5000 ; msec 2326 StartHealingDelay = 15000 ; wait this long after we are damaged to start healing 2327 End 2328 2329 Geometry = CYLINDER 2330 GeometryMajorRadius = 30.0 2331 GeometryHeight = 1.0 2332 GeometryIsSmall = No 2333 2334 End 2335 2336 ;------------------------------------------------------------------------------ 2337 Object ChinaClusterMine 2338 2339 ; *** ART Parameters *** 2340 Draw = W3DModelDraw ModuleTag_01 2341 OkToChangeModelColor = Yes 2342 ; NOTE: ParticleSysBone doesn't work correctly with DefaultConditionState! 2343 ; fix someday! (srj) 2344 ConditionState = NONE 2345 Model = EXAMineGroup 2346 ParticleSysBone = Mine01 MineFX 2347 ParticleSysBone = Mine02 MineFX 2348 ParticleSysBone = Mine03 MineFX 2349 ParticleSysBone = Mine04 MineFX 2350 ParticleSysBone = Mine05 MineFX 2351 ParticleSysBone = Mine06 MineFX 2352 ParticleSysBone = Mine07 MineFX 2353 ParticleSysBone = Mine08 MineFX 2354 End 2355 ConditionState = RUBBLE 2356 Model = None 2357 End 2358 End 2359 2360 ; ***DESIGN parameters *** 2361 DisplayName = OBJECT:ClusterMine 2362 EditorSorting = MISC_MAN_MADE 2363 KindOf = STICK_TO_TERRAIN_SLOPE IMMOBILE MINE NO_HEAL_ICON 2364 ArmorSet 2365 Conditions = None 2366 Armor = MineArmor 2367 DamageFX = None 2368 End 2369 2370 ; *** ENGINEERING Parameters *** 2371 Body = ActiveBody ModuleTag_02 2372 MaxHealth = 100.0 2373 InitialHealth = 100.0 2374 End 2375 2376 Behavior = StealthUpdate ModuleTag_03 2377 StealthDelay = 0 ; msec 2378 StealthForbiddenConditions = NONE 2379 FriendlyOpacityMin = 0.0% 2380 FriendlyOpacityMax = 0.0% 2381 InnateStealth = Yes 2382 OrderIdleEnemiesToAttackMeUponReveal = No 2383 End 2384 2385 ; this is a misleading name, since it's really single-Mine Behavior... 2386 Behavior = MinefieldBehavior ModuleTag_04 2387 DetonationWeapon = ClusterMineWeapon ; what happens when we detonate 2388 DetonatedBy = ENEMIES NEUTRAL 2389 ScootFromStartingPointTime = 1000 2390 RepeatDetonateMoveThresh = 5.0 2391 NumVirtualMines = 8 2392 Regenerates = No ; Cluster mines do not regenerate. 2393 End 2394 2395 ; Cluster mines do not heal. 2396 ; Behavior = AutoHealBehavior ModuleTag_05 2397 ; StartsActive = Yes 2398 ; HealingAmount = 2 2399 ; HealingDelay = 1000 ; msec 2400 ; StartHealingDelay = 15000 ; wait this long after we are damaged to start healing 2401 ; End 2402 2403 Geometry = CYLINDER 2404 GeometryMajorRadius = 30.0 2405 GeometryHeight = 1.0 2406 GeometryIsSmall = No 2407 2408 End 2409 2410 ;------------------------------------------------------------------------------ 2411 Object ClusterMinesBomb 2412 2413 ; *** ART Parameters *** 2414 Draw = W3DModelDraw ModuleTag_01 2415 OkToChangeModelColor = Yes 2416 DefaultConditionState 2417 Model = EXAMine_A 2418 End 2419 End 2420 2421 ; ***DESIGN parameters *** 2422 DisplayName = OBJECT:ClusterMinesBomb 2423 Side = China 2424 EditorSorting = SYSTEM 2425 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 2426 VisionRange = 0 2427 ArmorSet 2428 Conditions = None 2429 Armor = ProjectileArmor 2430 DamageFX = None 2431 End 2432 2433 ; *** AUDIO Parameters *** 2434 2435 ; *** ENGINEERING Parameters *** 2436 KindOf = PROJECTILE 2437 Body = ActiveBody ModuleTag_02 2438 MaxHealth = 100.0 2439 InitialHealth = 100.0 2440 End 2441 2442 ; alas, this DOES need ai... 2443 Behavior = AIUpdateInterface ModuleTag_03 2444 End 2445 2446 Locomotor = SET_NORMAL None 2447 2448 Behavior = PhysicsBehavior ModuleTag_04 2449 Mass = 75.0 2450 AerodynamicFriction = 1 ; this is now friction-per-sec 2451 ForwardFriction = 33 ; this is now friction-per-sec 2452 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 2453 End 2454 2455 Behavior = GenerateMinefieldBehavior ModuleTag_05 2456 MineName = ChinaClusterMine 2457 DistanceAroundObject = 80 2458 GenerateOnlyOnDeath = Yes 2459 SmartBorder = Yes 2460 SmartBorderSkipInterior = No 2461 AlwaysCircular = Yes 2462 GenerationFX = WeaponFX_ClusterMineImpact 2463 End 2464 2465 2466 Behavior = HeightDieUpdate ModuleTag_06 2467 TargetHeight = 60.0 2468 TargetHeightIncludesStructures = No 2469 End 2470 2471 Behavior = DestroyDie ModuleTag_07 2472 ;nothing 2473 End 2474 2475 Geometry = SPHERE ;Collision geometry 2476 GeometryMajorRadius = 1.0 ;Collision major radius 2477 GeometryMinorRadius = 1.0 ;Collision minor radius 2478 GeometryHeight = 1.0 ;Height for geometry 2479 GeometryIsSmall = Yes ;Is small geometry 2480 2481 End 2482 2483 2484 ;------------------------------------------------------------------------------ 2485 Object EMPPulseBomb 2486 2487 ; *** ART Parameters *** 2488 Draw = W3DModelDraw ModuleTag_01 2489 OkToChangeModelColor = Yes 2490 DefaultConditionState 2491 Model = EXAMine_A 2492 End 2493 End 2494 2495 ; ***DESIGN parameters *** 2496 DisplayName = OBJECT:EMPPulseBomb 2497 Side = China 2498 EditorSorting = SYSTEM 2499 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 2500 VisionRange = 0 2501 ArmorSet 2502 Conditions = None 2503 Armor = ProjectileArmor 2504 DamageFX = None 2505 End 2506 2507 ; *** AUDIO Parameters *** 2508 2509 ; *** ENGINEERING Parameters *** 2510 KindOf = PROJECTILE 2511 Body = ActiveBody ModuleTag_02 2512 MaxHealth = 100.0 2513 InitialHealth = 100.0 2514 End 2515 2516 ; alas, this DOES need ai... 2517 Behavior = AIUpdateInterface ModuleTag_03 2518 End 2519 2520 Locomotor = SET_NORMAL None 2521 2522 Behavior = PhysicsBehavior ModuleTag_04 2523 Mass = 75.0 2524 AerodynamicFriction = 1 ; this is now friction-per-sec 2525 ForwardFriction = 33 ; this is now friction-per-sec 2526 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 2527 End 2528 2529 2530 Behavior = HeightDieUpdate ModuleTag_05 2531 TargetHeight = 15.0 2532 TargetHeightIncludesStructures = No 2533 End 2534 2535 Behavior = CreateObjectDie ModuleTag_06 2536 CreationList = OCL_EMPPulseEffectSpheroids 2537 End 2538 2539 Behavior = FXListDie ModuleTag_07 2540 DeathFX = WeaponFX_EMPPulseImpact 2541 OrientToObject = No 2542 End 2543 2544 Behavior = DestroyDie ModuleTag_08 2545 ;nothing 2546 End 2547 2548 Geometry = SPHERE ;Collision geometry 2549 GeometryMajorRadius = 1.0 ;Collision major radius 2550 GeometryMinorRadius = 1.0 ;Collision minor radius 2551 GeometryHeight = 1.0 ;Height for geometry 2552 GeometryIsSmall = Yes ;Is small geometry 2553 2554 End 2555 2556 2557 2558 ;------------------------------------------------------------------------------ 2559 Object BlackMarketNuke 2560 2561 ; *** ART Parameters *** 2562 Draw = W3DModelDraw ModuleTag_01 2563 OkToChangeModelColor = Yes 2564 DefaultConditionState 2565 Model = AVBomber_B 2566 End 2567 End 2568 2569 ; ***DESIGN parameters *** 2570 DisplayName = OBJECT:BlackMarketNuke 2571 Side = GLA 2572 EditorSorting = SYSTEM 2573 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 2574 ArmorSet 2575 Conditions = None 2576 Armor = ProjectileArmor 2577 DamageFX = None 2578 End 2579 2580 ; *** AUDIO Parameters *** 2581 2582 ; *** ENGINEERING Parameters *** 2583 KindOf = PROJECTILE 2584 Body = ActiveBody ModuleTag_02 2585 MaxHealth = 100.0 2586 InitialHealth = 100.0 2587 End 2588 2589 Behavior = AIUpdateInterface ModuleTag_03 2590 End 2591 2592 Locomotor = SET_NORMAL None 2593 2594 Behavior = PhysicsBehavior ModuleTag_04 2595 Mass = 75.0 2596 AerodynamicFriction = 1 ; this is now friction-per-sec 2597 ForwardFriction = 33 ; this is now friction-per-sec 2598 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 2599 End 2600 2601 Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 2602 DeathWeapon = BlackMarketNukeWeapon 2603 StartsActive = Yes 2604 End 2605 2606 Behavior = HeightDieUpdate ModuleTag_06 2607 TargetHeight = 1.0 2608 TargetHeightIncludesStructures = No 2609 End 2610 2611 Behavior = SpecialPowerCompletionDie ModuleTag_07 2612 SpecialPowerTemplate = SuperweaponBlackMarketNuke 2613 End 2614 2615 Behavior = DestroyDie ModuleTag_08 2616 ;nothing 2617 End 2618 2619 Behavior = FXListDie ModuleTag_09 2620 DeathFX = FX_NukeGLA 2621 OrientToObject = No 2622 End 2623 2624 Geometry = Sphere 2625 GeometryIsSmall = Yes 2626 GeometryMajorRadius = 12.0 2627 2628 End 2629 2630 ;------------------------------------------------------------------------------ 2631 Object AnthraxBomb 2632 2633 ; *** ART Parameters *** 2634 Draw = W3DModelDraw ModuleTag_01 2635 OkToChangeModelColor = Yes 2636 DefaultConditionState 2637 Model = AVBomber_B 2638 End 2639 End 2640 2641 ; ***DESIGN parameters *** 2642 DisplayName = OBJECT:AnthraxBomb 2643 Side = GLA 2644 EditorSorting = SYSTEM 2645 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 2646 VisionRange = 300.0 2647 ShroudClearingRange = 0 2648 ArmorSet 2649 Conditions = None 2650 Armor = ProjectileArmor 2651 DamageFX = None 2652 End 2653 2654 ; *** AUDIO Parameters *** 2655 SoundFallingFromPlane = DaisyCutterWeapon 2656 2657 ; *** ENGINEERING Parameters *** 2658 KindOf = PROJECTILE 2659 Body = ActiveBody ModuleTag_02 2660 MaxHealth = 100.0 2661 InitialHealth = 100.0 2662 End 2663 2664 Behavior = AIUpdateInterface ModuleTag_03 2665 End 2666 Locomotor = SET_NORMAL None 2667 2668 Behavior = PhysicsBehavior ModuleTag_04 2669 Mass = 75.0 2670 AerodynamicFriction = 1 ; this is now friction-per-sec 2671 ForwardFriction = 33 ; this is now friction-per-sec 2672 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 2673 End 2674 2675 Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 2676 DeathWeapon = AnthraxBombWeapon 2677 StartsActive = Yes 2678 End 2679 2680 Behavior = HeightDieUpdate ModuleTag_06 2681 TargetHeight = 40.0 2682 TargetHeightIncludesStructures = No 2683 End 2684 2685 Behavior = SpecialPowerCompletionDie ModuleTag_07 2686 SpecialPowerTemplate = SuperweaponAnthraxBomb 2687 End 2688 Behavior = DestroyDie ModuleTag_08 2689 ;nothing 2690 End 2691 2692 Behavior = FXListDie ModuleTag_09 2693 DeathFX = FX_AnthraxBomb 2694 End 2695 2696 ; Geometry = Sphere 2697 ; GeometryIsSmall = Yes 2698 ;GeometryMajorRadius = 12.0 2699 2700 End 2701 2702 ;------------------------------------------------------------------------------ 2703 Object DaisyCutterBomb 2704 2705 ; *** ART Parameters *** 2706 Draw = W3DModelDraw ModuleTag_01 2707 OkToChangeModelColor = Yes 2708 DefaultConditionState 2709 Model = AVBomber_B 2710 End 2711 End 2712 2713 ; ***DESIGN parameters *** 2714 DisplayName = OBJECT:DaisyCutterBomb 2715 EditorSorting = SYSTEM 2716 TransportSlotCount = 10 ;how many "slots" we take in a transport (0 == not transportable) 2717 VisionRange = 300.0 2718 ShroudClearingRange = 0 2719 ArmorSet 2720 Conditions = None 2721 Armor = ProjectileArmor 2722 DamageFX = None 2723 End 2724 2725 ; *** AUDIO Parameters *** 2726 SoundFallingFromPlane = DaisyCutterWeapon 2727 2728 ; *** ENGINEERING Parameters *** 2729 KindOf = PROJECTILE 2730 Body = ActiveBody ModuleTag_02 2731 MaxHealth = 100.0 2732 InitialHealth = 100.0 2733 End 2734 2735 Behavior = CreateObjectDie ModuleTag_03 2736 CreationList = OCL_DaisyCutterExplode 2737 End 2738 Behavior = FXListDie ModuleTag_04 2739 DeathFX = FX_DaisyCutterExplode 2740 End 2741 Behavior = DestroyDie ModuleTag_05 2742 ;nothing 2743 End 2744 2745 Behavior = AIUpdateInterface ModuleTag_06 2746 End 2747 Locomotor = SET_NORMAL None 2748 Behavior = PhysicsBehavior ModuleTag_07 2749 Mass = 75.0 2750 AerodynamicFriction = 1 ; this is now friction-per-sec 2751 ForwardFriction = 33 ; this is now friction-per-sec 2752 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 2753 End 2754 Behavior = HeightDieUpdate ModuleTag_08 2755 TargetHeight = 50.0 2756 TargetHeightIncludesStructures = Yes 2757 End 2758 2759 Behavior = SpecialPowerCompletionDie ModuleTag_09 2760 SpecialPowerTemplate = SuperweaponDaisyCutter 2761 End 2762 2763 Geometry = Sphere 2764 GeometryIsSmall = Yes 2765 GeometryMajorRadius = 12.0 2766 2767 End 2768 2769 ;------------------------------------------------------------------------------ 2770 Object DaisyCutterGas 2771 2772 ; *** ART Parameters *** 2773 ; Draw = W3DModelDraw 2774 ;; ConditionState = NONE 2775 ; Model = PMDumpst04 2776 ; End 2777 ; End 2778 2779 ; *** DESIGN Parameters *** 2780 2781 ; *** ENGINEERING Parameters *** 2782 KindOf = IMMOBILE 2783 Body = ActiveBody ModuleTag_01 2784 MaxHealth = 1.0 2785 InitialHealth = 1.0 2786 End 2787 2788 Behavior = PhysicsBehavior ModuleTag_02 2789 Mass = 150.0 2790 AerodynamicFriction = 7 ; this is now friction-per-sec 2791 ForwardFriction = 200 ; this is now friction-per-sec 2792 End 2793 Behavior = HeightDieUpdate ModuleTag_03 2794 TargetHeight = 40.0 2795 TargetHeightIncludesStructures = Yes 2796 DestroyAttachedParticlesAtHeight = 41.0 ; Hack, todo remove this 2797 End 2798 Behavior = SlowDeathBehavior ModuleTag_04 2799 DestructionDelay = 1000 2800 DestructionDelayVariance = 100 2801 FX = INITIAL FX_DaisyCutterIgnite 2802 FX = FINAL FX_DaisyCutterFinalExplosion 2803 Weapon = MIDPOINT DaisyCutterFlameWeapon ; Just a spot of flame to light trees on fire 2804 Weapon = FINAL DaisyCutterDetonationWeapon 2805 End 2806 2807 End 2808 2809 ;------------------------------------------------------------------------------ 2810 Object NeutronMissile 2811 2812 ; *** ART Parameters *** 2813 Draw = W3DModelDraw ModuleTag_01 2814 OkToChangeModelColor = Yes 2815 ConditionState = NONE 2816 Model = NBNRocket 2817 End 2818 ConditionState = DAMAGED REALLYDAMAGED RUBBLE 2819 Model = NONE 2820 End 2821 2822 End 2823 2824 ; ***DESIGN parameters *** 2825 DisplayName = OBJECT:NeutronMissile 2826 KindOf = UNATTACKABLE 2827 EditorSorting = SYSTEM 2828 VisionRange = 300.0 2829 ShroudClearingRange = 0 2830 TransportSlotCount = 10 2831 ArmorSet 2832 Conditions = None 2833 Armor = ProjectileArmor 2834 DamageFX = None 2835 End 2836 2837 ; *** AUDIO Parameters *** 2838 ; SoundFallingFromPlane = DaisyCutterWeapon 2839 2840 ; *** ENGINEERING Parameters *** 2841 Body = ActiveBody ModuleTag_02 2842 MaxHealth = 99999999.0 2843 InitialHealth = 99999999.0 2844 End 2845 2846 Behavior = NeutronMissileUpdate ModuleTag_03 2847 DistanceToTravelBeforeTurning = 300 ; goes straight up a long ways first 2848 MaxTurnRate = 7200 ; huge, since it turns off-camera 2849 ForwardDamping = 0.1 2850 RelativeSpeed = 2.0 2851 LaunchFX = FX_NeutronMissileLaunch 2852 IgnitionFX = FX_NeutronMissileIgnition 2853 TargetFromDirectlyAbove = 500 ; aim for an intermed spot directly above the target, so we come straight down onto it 2854 SpecialAccelFactor = 1 2855 SpecialSpeedTime = 1500 2856 SpecialSpeedHeight = 160 2857 SpecialJitterDistance = 0.4 2858 DeliveryDecalRadius = 210 2859 DeliveryDecal 2860 Texture = SCCNuclearMissile_China 2861 Style = SHADOW_ALPHA_DECAL 2862 OpacityMin = 25% 2863 OpacityMax = 50% 2864 OpacityThrobTime = 500 2865 Color = R:255 G:0 B:0 A:255 2866 OnlyVisibleToOwningPlayer = Yes 2867 End 2868 End 2869 2870 Behavior = HeightDieUpdate ModuleTag_04 2871 TargetHeight = 100.0 2872 TargetHeightIncludesStructures = No 2873 OnlyWhenMovingDown = Yes 2874 SnapToGroundOnDeath = Yes 2875 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 2876 End 2877 2878 Behavior = SpecialPowerCompletionDie ModuleTag_05 2879 SpecialPowerTemplate = SuperweaponNeutronMissile 2880 End 2881 2882 Behavior = NeutronMissileSlowDeathBehavior ModuleTag_07 2883 DestructionDelay = 3501 2884 ScorchMarkSize = 320 2885 FXList = FX_Nuke 2886 2887 Blast1Enabled = Yes 2888 Blast1Delay = 580 ;in milliseconds 2889 Blast1ScorchDelay = 100 ;in milliseconds 2890 Blast1InnerRadius = 60.0 ;objects inside this get the full damage 2891 Blast1OuterRadius = 60.0 ;objects inside this get some of the full damage 2892 Blast1MaxDamage = 0.0 ;damage within inner radius of blast 2893 Blast1MinDamage = 0.0 ;always do at least this much damage to objects 2894 Blast1ToppleSpeed = 0.5 ;higher #'s topple faster 2895 Blast1PushForce = 10.0 ;higher #'s push more 2896 2897 Blast2Enabled = Yes 2898 Blast2Delay = 660 ;in milliseconds 2899 Blast2ScorchDelay = 180 ;in milliseconds 2900 Blast2InnerRadius = 90.0 ;objects inside this get the full damage 2901 Blast2OuterRadius = 90.0 ;objects inside this get some of the full damage 2902 Blast2MaxDamage = 0.0 ;damage within inner radius of blast 2903 Blast2MinDamage = 0.0 ;always do at least this much damage to objects 2904 Blast2ToppleSpeed = 0.45 ;higher #'s topple faster 2905 Blast2PushForce = 8.0 ;higher #'s push more 2906 2907 Blast3Enabled = Yes 2908 Blast3Delay = 720 ;in milliseconds 2909 Blast3ScorchDelay = 260 ;in milliseconds 2910 Blast3InnerRadius = 120.0 ;objects inside this get the full damage 2911 Blast3OuterRadius = 120.0 ;objects inside this get some of the full damage 2912 Blast3MaxDamage = 0.0 ;damage within inner radius of blast 2913 Blast3MinDamage = 0.0 ;always do at least this much damage to objects 2914 Blast3ToppleSpeed = 0.42 ;higher #'s topple faster 2915 Blast3PushForce = 6.0 ;higher #'s push more 2916 2917 Blast4Enabled = Yes 2918 Blast4Delay = 850 ;in milliseconds 2919 Blast4ScorchDelay = 340 ;in milliseconds 2920 Blast4InnerRadius = 150.0 ;objects inside this get the full damage 2921 Blast4OuterRadius = 150.0 ;objects inside this get some of the full damage 2922 Blast4MaxDamage = 0.0 ;damage within inner radius of blast 2923 Blast4MinDamage = 0.0 ;always do at least this much damage to objects 2924 Blast4ToppleSpeed = 0.40 ;higher #'s topple faster 2925 Blast4PushForce = 6.0 ;higher #'s push more 2926 2927 Blast5Enabled = Yes 2928 Blast5Delay = 1000 ;in milliseconds 2929 Blast5ScorchDelay = 420 ;in milliseconds 2930 Blast5InnerRadius = 180.0 ;objects inside this get the full damage 2931 Blast5OuterRadius = 180.0 ;objects inside this get some of the full damage 2932 Blast5MaxDamage = 0.0 ;damage within inner radius of blast 2933 Blast5MinDamage = 0.0 ;always do at least this much damage to objects 2934 Blast5ToppleSpeed = 0.38 ;higher #'s topple faster 2935 Blast5PushForce = 6.0 ;higher #'s push more 2936 2937 Blast6Enabled = Yes 2938 Blast6Delay = 1180 ;in milliseconds 2939 Blast6ScorchDelay = 500 ;in milliseconds 2940 Blast6InnerRadius = 60.0 ;objects inside this get the full damage 2941 Blast6OuterRadius = 210.0 ;objects inside this get some of the full damage 2942 Blast6MaxDamage = 3500.0 ;damage within inner radius of blast 2943 Blast6MinDamage = 300.0 ;always do at least this much damage to objects 2944 Blast6ToppleSpeed = 0.35 ;higher #'s topple faster 2945 Blast6PushForce = 4.0 ;higher #'s push more 2946 2947 Blast7Enabled = Yes 2948 Blast7Delay = 999999 ;in milliseconds, don't do the damage wave 2949 Blast7ScorchDelay = 620 ;in milliseconds 2950 Blast7OuterRadius = 210.0 ;objects inside this get some of the full damage 2951 2952 Blast8Enabled = Yes 2953 Blast8Delay = 999999 ;in milliseconds, don't do the damage wave 2954 Blast8ScorchDelay = 700 ;in milliseconds 2955 Blast8OuterRadius = 210.0 ;objects inside this get some of the full damage 2956 2957 Blast9Enabled = Yes 2958 Blast9Delay = 999999 ;in milliseconds, don't do the damage wave 2959 Blast9ScorchDelay = 800 ;in milliseconds 2960 Blast9OuterRadius = 210.0 ;objects inside this get some of the full damage 2961 2962 OCL = MIDPOINT OCL_NukeRadiationField 2963 2964 End 2965 2966 Geometry = CYLINDER 2967 GeometryIsSmall = Yes 2968 GeometryMajorRadius = 7.0 2969 GeometryHeight = 60.0 2970 2971 End 2972 2973 ;------------------------------------------------------------------------------ 2974 Object CargoTruckNuke 2975 2976 ; ***DESIGN parameters *** 2977 DisplayName = OBJECT:NeutronMissile 2978 EditorSorting = SYSTEM 2979 VisionRange = 300.0 2980 ShroudClearingRange = 0 2981 ArmorSet 2982 Conditions = None 2983 Armor = ProjectileArmor 2984 DamageFX = None 2985 End 2986 2987 ; *** AUDIO Parameters *** 2988 ; SoundFallingFromPlane = DaisyCutterWeapon 2989 2990 ; *** ENGINEERING Parameters *** 2991 Body = ActiveBody ModuleTag_01 2992 MaxHealth = 99999999.0 2993 InitialHealth = 99999999.0 2994 End 2995 2996 2997 ;The lifetime delays the explosion with enough time to play an audio cue. 2998 ;NOTE: The lifetime update is set in the ObjectCreationList that creates 2999 ; this object!!! 3000 Behavior = LifetimeUpdate ModuleTag_02 3001 MinLifetime = 3000 ; min lifetime in msec 3002 MaxLifetime = 3000 ; max lifetime in msec 3003 End 3004 3005 Behavior = NeutronMissileSlowDeathBehavior ModuleTag_03 3006 DestructionDelay = 3501 3007 ScorchMarkSize = 320 3008 FXList = FX_Nuke 3009 3010 Blast1Enabled = Yes 3011 Blast1Delay = 580 ;in milliseconds 3012 Blast1ScorchDelay = 100 ;in milliseconds 3013 Blast1InnerRadius = 60.0 ;objects inside this get the full damage 3014 Blast1OuterRadius = 60.0 ;objects inside this get some of the full damage 3015 Blast1MaxDamage = 0.0 ;damage within inner radius of blast 3016 Blast1MinDamage = 0.0 ;always do at least this much damage to objects 3017 Blast1ToppleSpeed = 0.5 ;higher #'s topple faster 3018 Blast1PushForce = 10.0 ;higher #'s push more 3019 3020 Blast2Enabled = Yes 3021 Blast2Delay = 660 ;in milliseconds 3022 Blast2ScorchDelay = 180 ;in milliseconds 3023 Blast2InnerRadius = 90.0 ;objects inside this get the full damage 3024 Blast2OuterRadius = 90.0 ;objects inside this get some of the full damage 3025 Blast2MaxDamage = 0.0 ;damage within inner radius of blast 3026 Blast2MinDamage = 0.0 ;always do at least this much damage to objects 3027 Blast2ToppleSpeed = 0.45 ;higher #'s topple faster 3028 Blast2PushForce = 8.0 ;higher #'s push more 3029 3030 Blast3Enabled = Yes 3031 Blast3Delay = 720 ;in milliseconds 3032 Blast3ScorchDelay = 260 ;in milliseconds 3033 Blast3InnerRadius = 120.0 ;objects inside this get the full damage 3034 Blast3OuterRadius = 120.0 ;objects inside this get some of the full damage 3035 Blast3MaxDamage = 0.0 ;damage within inner radius of blast 3036 Blast3MinDamage = 0.0 ;always do at least this much damage to objects 3037 Blast3ToppleSpeed = 0.42 ;higher #'s topple faster 3038 Blast3PushForce = 6.0 ;higher #'s push more 3039 3040 Blast4Enabled = Yes 3041 Blast4Delay = 850 ;in milliseconds 3042 Blast4ScorchDelay = 340 ;in milliseconds 3043 Blast4InnerRadius = 150.0 ;objects inside this get the full damage 3044 Blast4OuterRadius = 150.0 ;objects inside this get some of the full damage 3045 Blast4MaxDamage = 0.0 ;damage within inner radius of blast 3046 Blast4MinDamage = 0.0 ;always do at least this much damage to objects 3047 Blast4ToppleSpeed = 0.40 ;higher #'s topple faster 3048 Blast4PushForce = 6.0 ;higher #'s push more 3049 3050 Blast5Enabled = Yes 3051 Blast5Delay = 1000 ;in milliseconds 3052 Blast5ScorchDelay = 420 ;in milliseconds 3053 Blast5InnerRadius = 180.0 ;objects inside this get the full damage 3054 Blast5OuterRadius = 180.0 ;objects inside this get some of the full damage 3055 Blast5MaxDamage = 0.0 ;damage within inner radius of blast 3056 Blast5MinDamage = 0.0 ;always do at least this much damage to objects 3057 Blast5ToppleSpeed = 0.38 ;higher #'s topple faster 3058 Blast5PushForce = 6.0 ;higher #'s push more 3059 3060 Blast6Enabled = Yes 3061 Blast6Delay = 1180 ;in milliseconds 3062 Blast6ScorchDelay = 500 ;in milliseconds 3063 Blast6InnerRadius = 60.0 ;objects inside this get the full damage 3064 Blast6OuterRadius = 210.0 ;objects inside this get some of the full damage 3065 Blast6MaxDamage = 3500.0 ;damage within inner radius of blast 3066 Blast6MinDamage = 200.0 ;always do at least this much damage to objects 3067 Blast6ToppleSpeed = 0.35 ;higher #'s topple faster 3068 Blast6PushForce = 4.0 ;higher #'s push more 3069 3070 Blast7Enabled = Yes 3071 Blast7Delay = 999999 ;in milliseconds, don't do the damage wave 3072 Blast7ScorchDelay = 620 ;in milliseconds 3073 Blast7OuterRadius = 210.0 ;objects inside this get some of the full damage 3074 3075 Blast8Enabled = Yes 3076 Blast8Delay = 999999 ;in milliseconds, don't do the damage wave 3077 Blast8ScorchDelay = 700 ;in milliseconds 3078 Blast8OuterRadius = 210.0 ;objects inside this get some of the full damage 3079 3080 Blast9Enabled = Yes 3081 Blast9Delay = 999999 ;in milliseconds, don't do the damage wave 3082 Blast9ScorchDelay = 800 ;in milliseconds 3083 Blast9OuterRadius = 210.0 ;objects inside this get some of the full damage 3084 3085 End 3086 3087 Geometry = Cylinder 3088 GeometryIsSmall = Yes 3089 GeometryMajorRadius = 7.0 3090 GeometryHeight = 60.0 3091 End 3092 3093 ;------------------------------------------------------------------------------ 3094 Object ScudStormMissile 3095 3096 ; *** ART Parameters *** 3097 Draw = W3DModelDraw ModuleTag_01 3098 OkToChangeModelColor = Yes 3099 DefaultConditionState 3100 Model = UBScudStrm_M 3101 End 3102 ConditionState = DAMAGED REALLYDAMAGED RUBBLE 3103 Model = NONE 3104 End 3105 3106 End 3107 3108 ; ***DESIGN parameters *** 3109 KindOf = PROJECTILE ;BALLISTIC_MISSILE 3110 EditorSorting = SYSTEM 3111 VisionRange = 300.0 3112 ShroudClearingRange = 0 3113 TransportSlotCount = 10 3114 ArmorSet 3115 Conditions = None 3116 Armor = ProjectileArmor 3117 DamageFX = None 3118 End 3119 3120 ; *** AUDIO Parameters *** 3121 ; SoundFallingFromPlane = DaisyCutterWeapon 3122 3123 ; *** ENGINEERING Parameters *** 3124 Body = ActiveBody ModuleTag_02 3125 MaxHealth = 10000.0 3126 InitialHealth = 10000.0 3127 End 3128 3129 Behavior = PhysicsBehavior ModuleTag_03 3130 Mass = 500.0 3131 End 3132 3133 Behavior = MissileAIUpdate ModuleTag_04 3134 TryToFollowTarget = No 3135 FuelLifetime = 0 ; zero is infinite 3136 InitialVelocity = 0 ; in dist/sec 3137 IgnitionFX = FX_ScudStormIgnition 3138 DistanceToTravelBeforeTurning = 500 3139 DistanceToTargetBeforeDiving = 200 ; When I hit this close to target, I ignore PreferredHeight. 3140 End 3141 Locomotor = SET_NORMAL SCUDStormMissileLocomotor 3142 3143 Behavior = HeightDieUpdate ModuleTag_05 3144 TargetHeight = 15.0 3145 TargetHeightIncludesStructures = No 3146 OnlyWhenMovingDown = Yes 3147 SnapToGroundOnDeath = Yes 3148 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 3149 End 3150 3151 Behavior = DestroyDie ModuleTag_06 3152 ;nothing 3153 End 3154 3155 Behavior = SpecialPowerCompletionDie ModuleTag_07 3156 SpecialPowerTemplate = SuperweaponScudStorm 3157 End 3158 3159 Behavior = FireWeaponWhenDeadBehavior ModuleTag_08 3160 DeathWeapon = ScudStormDamageWeapon 3161 StartsActive = Yes 3162 ConflictsWith = Upgrade_GLAAnthraxBeta 3163 End 3164 3165 Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 3166 DeathWeapon = ScudStormDamageWeaponUpgraded 3167 StartsActive = No ; turned on by upgrade 3168 TriggeredBy = Upgrade_GLAAnthraxBeta 3169 End 3170 3171 3172 Geometry = Cylinder 3173 GeometryIsSmall = Yes 3174 GeometryMajorRadius = 7.0 3175 GeometryHeight = 30.0 3176 3177 End 3178 3179 ;------------------------------------------------------------------------------ 3180 Object AmericaJetAurora 3181 3182 ; *** ART Parameters *** 3183 SelectPortrait = SAAurora_L 3184 ButtonImage = SAAurora 3185 3186 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 3187 ;UpgradeCameo2 = NONE 3188 ;UpgradeCameo3 = NONE 3189 ;UpgradeCameo4 = NONE 3190 ;UpgradeCameo5 = NONE 3191 3192 Draw = W3DModelDraw ModuleTag_01 3193 3194 DefaultConditionState 3195 Model = AVAurora 3196 HideSubObject = BurnerFX03 BurnerFX04 3197 WeaponLaunchBone = PRIMARY WeaponA 3198 End 3199 3200 ConditionState = JETEXHAUST 3201 ; exhaust 3202 ParticleSysBone = Wingtip01 JetContrail 3203 ParticleSysBone = Wingtip02 JetContrail 3204 End 3205 3206 ConditionState = JETEXHAUST JETAFTERBURNER 3207 ; exhaust 3208 ParticleSysBone = Wingtip01 JetContrail 3209 ParticleSysBone = Wingtip02 JetContrail 3210 ; afterburner 3211 ShowSubObject = BurnerFX03 BurnerFX04 3212 ParticleSysBone = Engine01 JetLenzflare 3213 ParticleSysBone = Engine02 JetLenzflare 3214 End 3215 3216 ConditionState = REALLYDAMAGED 3217 Model = AVAurora_D 3218 ; damage 3219 ParticleSysBone = Smoke01 JetSmoke 3220 ParticleSysBone = Engine01 JetEngineDamagedSmoke 3221 End 3222 3223 ConditionState = REALLYDAMAGED JETEXHAUST 3224 Model = AVAurora_D 3225 ; damage 3226 ParticleSysBone = Smoke01 JetSmoke 3227 ParticleSysBone = Engine01 JetEngineDamagedSmoke 3228 ; exhaust 3229 ParticleSysBone = Wingtip01 JetContrail 3230 ParticleSysBone = Wingtip02 JetContrail 3231 End 3232 3233 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 3234 Model = AVAurora_D 3235 ; damage 3236 ParticleSysBone = Smoke01 JetSmoke 3237 ParticleSysBone = Engine01 JetEngineDamagedSmoke 3238 ; afterburner 3239 ShowSubObject = BurnerFX03 BurnerFX04 3240 ParticleSysBone = Engine01 JetLenzflare 3241 ParticleSysBone = Engine02 JetLenzflare 3242 ; exhaust 3243 ParticleSysBone = Wingtip01 JetContrail 3244 ParticleSysBone = Wingtip02 JetContrail 3245 End 3246 3247 ConditionState = RUBBLE 3248 Model = AVAurora_D1 3249 HideSubObject = None 3250 ShowSubObject = None 3251 End 3252 3253 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 3254 Model = AVAurora_D1 3255 ;HideSubObject is needed cause there're inherited from default condition state 3256 HideSubObject = None 3257 ShowSubObject = None 3258 ParticleSysBone = Engine01 JetExhaust 3259 ParticleSysBone = Engine02 JetExhaust 3260 ; exhaust 3261 ParticleSysBone = Wingtip01 JetContrail 3262 ParticleSysBone = Wingtip02 JetContrail 3263 End 3264 3265 OkToChangeModelColor = Yes 3266 End 3267 3268 ; ***DESIGN parameters *** 3269 DisplayName = OBJECT:Aurora 3270 EditorSorting = VEHICLE 3271 Side = America 3272 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 3273 VisionRange = 180.0 3274 ShroudClearingRange = 600 3275 Prerequisites 3276 Object = AmericaAirfield 3277 Object = AmericaStrategyCenter 3278 End 3279 BuildCost = 2500 3280 BuildTime = 30.0 ;in seconds 3281 WeaponSet 3282 Conditions = None 3283 Weapon = PRIMARY AuroraBombWeapon 3284 End 3285 ArmorSet 3286 Conditions = None 3287 Armor = AirplaneArmor 3288 DamageFX = None 3289 End 3290 3291 ExperienceValue = 200 200 400 400 ;Experience point value at each level 3292 ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level 3293 IsTrainable = Yes ;Can gain experience 3294 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 3295 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 3296 CommandSet = AmericaJetAuroraCommandSet 3297 3298 ; *** AUDIO Parameters *** 3299 VoiceSelect = AuroraBomberVoiceSelect 3300 VoiceMove = AuroraBomberVoiceMove 3301 VoiceGuard = AuroraBomberVoiceMove 3302 VoiceAttack = AuroraBomberVoiceAttack 3303 SoundAmbient = AuroraBomberAmbientLoop 3304 SoundAmbientRubble = NoSound 3305 SoundDie = AuroraBomberVoiceFalling 3306 UnitSpecificSounds 3307 VoiceCreate = AuroraBomberVoiceCreate 3308 SoundEject = PilotSoundEject 3309 VoiceEject = PilotVoiceEject 3310 Afterburner = AuroraSonicBoom 3311 VoiceLowFuel = AuroraBomberVoiceLowFuel 3312 VoiceGarrison = AuroraBomberVoiceMove 3313 End 3314 3315 ; *** ENGINEERING Parameters *** 3316 RadarPriority = UNIT 3317 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 3318 Body = ActiveBody ModuleTag_02 3319 MaxHealth = 80.0 3320 InitialHealth = 80.0 3321 End 3322 3323 Behavior = JetSlowDeathBehavior ModuleTag_03 3324 FXOnGroundDeath = FX_JetOnGroundDeath 3325 OCLOnGroundDeath = OCL_AuroraDeathFinalBlowUp 3326 DestructionDelay = 99999999; destruction will happen when we 3327 RollRate = 0.2 3328 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 3329 PitchRate = 0.0 3330 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 3331 FXInitialDeath = FX_JetDeathInitial 3332 ;OCLInitialDeath = None 3333 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 3334 FXSecondary = FX_JetDeathSecondary 3335 ;OCLSecondary = None 3336 FXHitGround = FX_JetDeathHitGround 3337 ;OCLHitGround = None 3338 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 3339 FXFinalBlowUp = FX_JetDeathFinalBlowUp 3340 OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp 3341 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 3342 End 3343 Behavior = EjectPilotDie ModuleTag_04 3344 GroundCreationList = OCL_EjectPilotOnGround 3345 AirCreationList = OCL_EjectPilotViaParachute 3346 ExemptStatus = HIJACKED 3347 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 3348 End 3349 3350 Behavior = PhysicsBehavior ModuleTag_05 3351 Mass = 500.0 3352 End 3353 3354 Behavior = ExperienceScalarUpgrade ModuleTag_06 3355 TriggeredBy = Upgrade_AmericaAdvancedTraining 3356 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 3357 End 3358 3359 Behavior = JetAIUpdate ModuleTag_07 3360 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 3361 ; note that it's expressed as a percent of max health, not an absolute 3362 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 3363 TakeoffPause = 500 3364 MinHeight = 5 3365 SneakyOffsetWhenAttacking = -20.0 ; this is how far behind us people aim when we are in attack mode 3366 AttackLocomotorType = SET_SUPERSONIC 3367 AttackLocomotorPersistTime = 100 ; we start slowing down almost immediately 3368 AttackersMissPersistTime = 2000 ; but remain untargetable fer a bit longer 3369 ReturnForAmmoLocomotorType = SET_SLUGGISH 3370 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 3371 End 3372 Locomotor = SET_NORMAL AuroraJetLocomotor 3373 Locomotor = SET_SUPERSONIC AuroraJetSupersonicLocomotor 3374 Locomotor = SET_SLUGGISH AuroraJetSluggishLocomotor 3375 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 3376 3377 Behavior = FlammableUpdate ModuleTag_21 3378 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 3379 AflameDamageAmount = 3 ; taking this much damage... 3380 AflameDamageDelay = 500 ; this often. 3381 End 3382 3383 Behavior = TransitionDamageFX ModuleTag_22 3384 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 3385 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 3386 End 3387 3388 3389 Geometry = Box 3390 GeometryIsSmall = Yes 3391 GeometryMajorRadius = 14.0 3392 GeometryMinorRadius = 7.0 3393 GeometryHeight = 5.0 3394 Shadow = SHADOW_VOLUME 3395 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 3396 3397 End 3398 3399 ;------------------------------------------------------------------------------ 3400 Object AmericaJetStealthFighter 3401 3402 ; *** ART Parameters *** 3403 SelectPortrait = SAStealth_L 3404 ButtonImage = SAStealth 3405 3406 UpgradeCameo1 = Upgrade_AmericaLaserMissiles 3407 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 3408 ;UpgradeCameo3 = NONE 3409 ;UpgradeCameo4 = NONE 3410 ;UpgradeCameo5 = NONE 3411 3412 Draw = W3DModelDraw ModuleTag_01 3413 3414 DefaultConditionState 3415 Model = AVStealth 3416 HideSubObject = BurnerFX03 BurnerFX04 3417 WeaponLaunchBone = PRIMARY WeaponA 3418 End 3419 3420 ConditionState = JETEXHAUST 3421 ParticleSysBone = Wingtip01 JetContrail 3422 ParticleSysBone = Wingtip02 JetContrail 3423 End 3424 3425 ConditionState = JETEXHAUST JETAFTERBURNER 3426 ; exhaust 3427 ParticleSysBone = Wingtip01 JetContrail 3428 ParticleSysBone = Wingtip02 JetContrail 3429 ; afterburners 3430 ShowSubObject = BurnerFX03 BurnerFX04 3431 ParticleSysBone = Engine01 JetLenzflare 3432 ParticleSysBone = Engine02 JetLenzflare 3433 End 3434 3435 ConditionState = REALLYDAMAGED 3436 Model = AVStealth_D 3437 ; damage 3438 ParticleSysBone = Smoke01 JetSmoke 3439 ParticleSysBone = Engine01 JetEngineDamagedSmoke 3440 End 3441 3442 ConditionState = REALLYDAMAGED JETEXHAUST 3443 Model = AVStealth_D 3444 ; damage 3445 ParticleSysBone = Smoke01 JetSmoke 3446 ParticleSysBone = Engine01 JetEngineDamagedSmoke 3447 ; exhaust 3448 ParticleSysBone = Wingtip01 JetContrail 3449 ParticleSysBone = Wingtip02 JetContrail 3450 End 3451 3452 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 3453 Model = AVStealth_D 3454 ; damage 3455 ParticleSysBone = Smoke01 JetSmoke 3456 ParticleSysBone = Engine01 JetEngineDamagedSmoke 3457 ; exhaust 3458 ParticleSysBone = Wingtip01 JetContrail 3459 ParticleSysBone = Wingtip02 JetContrail 3460 ; afterburners 3461 ShowSubObject = BurnerFX03 BurnerFX04 3462 ParticleSysBone = Engine01 JetLenzflare 3463 ParticleSysBone = Engine02 JetLenzflare 3464 End 3465 3466 ConditionState = RUBBLE 3467 Model = AVStealth_D1 3468 HideSubObject = None 3469 ShowSubObject = None 3470 End 3471 3472 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 3473 Model = AVStealth_D1 3474 ;HideSubObject is needed cause there're inherited from default condition state 3475 HideSubObject = None 3476 ShowSubObject = None 3477 ParticleSysBone = Engine01 JetExhaust 3478 ParticleSysBone = Engine02 JetExhaust 3479 ParticleSysBone = Wingtip01 JetContrail 3480 ParticleSysBone = Wingtip02 JetContrail 3481 End 3482 3483 OkToChangeModelColor = Yes 3484 3485 End 3486 3487 ; ***DESIGN parameters *** 3488 DisplayName = OBJECT:StealthFighter 3489 EditorSorting = VEHICLE 3490 Side = America 3491 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 3492 VisionRange = 180.0 3493 ShroudClearingRange = 300.0 3494 Prerequisites 3495 Object = AmericaAirfield 3496 Science = SCIENCE_StealthFighter 3497 End 3498 WeaponSet 3499 Conditions = None 3500 Weapon = PRIMARY StealthJetMissileWeapon 3501 End 3502 WeaponSet 3503 Conditions = PLAYER_UPGRADE 3504 Weapon = PRIMARY StealthJetLaserGuidedMissileWeapon 3505 End 3506 ArmorSet 3507 Conditions = None 3508 Armor = AirplaneArmor 3509 DamageFX = None 3510 End 3511 3512 BuildCost = 1600 3513 BuildTime = 25.0 ;in seconds 3514 ExperienceValue = 100 100 200 300 ;Experience point value at each level 3515 ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level 3516 IsTrainable = Yes ;Can gain experience 3517 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 3518 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 3519 CommandSet = AmericaJetStealthFighterCommandSet 3520 3521 ; *** AUDIO Parameters *** 3522 VoiceSelect = StealthFighterVoiceSelect 3523 VoiceMove = StealthFighterVoiceMove 3524 VoiceAttack = StealthFighterVoiceAttack 3525 VoiceAttackAir = StealthFighterVoiceAttackAir 3526 VoiceGuard = StealthFighterVoiceAirPatrol 3527 SoundAmbient = StealthFighterAmbientLoop 3528 SoundAmbientRubble = NoSound 3529 SoundDie = StealthFighterVoiceFalling 3530 SoundStealthOn = StealthOn 3531 SoundStealthOff = StealthOff 3532 UnitSpecificSounds 3533 VoiceCreate = StealthFighterVoiceCreate 3534 SoundEject = PilotSoundEject 3535 VoiceEject = PilotVoiceEject 3536 Afterburner = RaptorAfterburner 3537 VoiceLowFuel = AuroraBomberVoiceLowFuel 3538 VoiceGarrison = StealthFighterVoiceMove 3539 End 3540 3541 ; *** ENGINEERING Parameters *** 3542 RadarPriority = LOCAL_UNIT_ONLY 3543 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 3544 Body = ActiveBody ModuleTag_02 3545 MaxHealth = 140.0 ;was 120.0 3546 InitialHealth = 140.0 3547 End 3548 3549 Behavior = JetSlowDeathBehavior ModuleTag_03 3550 FXOnGroundDeath = FX_JetOnGroundDeath 3551 OCLOnGroundDeath = OCL_StealthDeathFinalBlowUp 3552 DestructionDelay = 99999999; destruction will happen when we 3553 RollRate = 0.2 3554 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 3555 PitchRate = 0.0 3556 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 3557 FXInitialDeath = FX_JetDeathInitial 3558 ;OCLInitialDeath = None 3559 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 3560 FXSecondary = FX_JetDeathSecondary 3561 ;OCLSecondary = None 3562 FXHitGround = FX_JetDeathHitGround 3563 ;OCLHitGround = None 3564 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 3565 FXFinalBlowUp = FX_JetDeathFinalBlowUp 3566 OCLFinalBlowUp = OCL_StealthDeathFinalBlowUp 3567 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 3568 End 3569 Behavior = EjectPilotDie ModuleTag_04 3570 GroundCreationList = OCL_EjectPilotOnGround 3571 AirCreationList = OCL_EjectPilotViaParachute 3572 ExemptStatus = HIJACKED 3573 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 3574 End 3575 3576 Behavior = PhysicsBehavior ModuleTag_05 3577 Mass = 500.0 3578 End 3579 3580 Behavior = JetAIUpdate ModuleTag_06 3581 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 3582 ; note that it's expressed as a percent of max health, not an absolute 3583 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 3584 TakeoffPause = 500 3585 MinHeight = 5 3586 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 3587 End 3588 3589 Behavior = WeaponSetUpgrade ModuleTag_07 3590 TriggeredBy = Upgrade_AmericaLaserMissiles 3591 End 3592 3593 Behavior = ExperienceScalarUpgrade ModuleTag_08 3594 TriggeredBy = Upgrade_AmericaAdvancedTraining 3595 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 3596 End 3597 3598 Behavior = StealthUpdate ModuleTag_09 3599 StealthDelay = 1500 ; msec 3600 StealthForbiddenConditions = FIRING_PRIMARY 3601 ; not currently used... but maybe someday? (srj) 3602 ;RevealDistanceFromTarget = 0.0f 3603 FriendlyOpacityMin = 50.0% 3604 FriendlyOpacityMax = 100.0% 3605 InnateStealth = Yes 3606 OrderIdleEnemiesToAttackMeUponReveal = Yes 3607 End 3608 3609 Locomotor = SET_NORMAL StealthJetLocomotor 3610 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 3611 3612 Behavior = FlammableUpdate ModuleTag_21 3613 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 3614 AflameDamageAmount = 3 ; taking this much damage... 3615 AflameDamageDelay = 500 ; this often. 3616 End 3617 3618 Behavior = TransitionDamageFX ModuleTag_22 3619 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 3620 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 3621 End 3622 3623 3624 Geometry = Cylinder 3625 GeometryIsSmall = Yes 3626 GeometryMajorRadius = 7.0 3627 GeometryMinorRadius = 7.0 3628 GeometryHeight = 7.0 3629 Shadow = SHADOW_VOLUME 3630 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 3631 3632 End 3633 3634 ;------------------------------------------------------------------------------ 3635 Object AmericaVehicleComanche 3636 3637 ; *** ART Parameters *** 3638 SelectPortrait = SACCommanche_L 3639 ButtonImage = SACCommanche 3640 3641 UpgradeCameo1 = Upgrade_ComancheRocketPods 3642 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 3643 ;UpgradeCameo3 = NONE 3644 ;UpgradeCameo4 = NONE 3645 ;UpgradeCameo5 = NONE 3646 3647 Draw = W3DModelDraw ModuleTag_01 3648 3649 DefaultConditionState 3650 Model = AVComanche 3651 HideSubObject = MissileUpgrade 3652 Animation = AVComanche.AVComanche 3653 AnimationMode = LOOP 3654 WeaponMuzzleFlash = PRIMARY TurretFX 3655 WeaponFireFXBone = PRIMARY Muzzle 3656 WeaponFireFXBone = SECONDARY Muzzle 3657 WeaponLaunchBone = SECONDARY Muzzle 3658 End 3659 3660 ConditionState = REALLYDAMAGED 3661 Model = AVComanche_d 3662 Animation = AVComanche_d.AVComanche_d 3663 AnimationMode = LOOP 3664 End 3665 3666 ConditionState = WEAPONSET_PLAYER_UPGRADE 3667 ShowSubObject = MissileUpgrade 3668 Animation = AVComanche.AVComanche 3669 AnimationMode = LOOP 3670 WeaponFireFXBone = TERTIARY WeaponB 3671 WeaponLaunchBone = TERTIARY WeaponB 3672 End 3673 3674 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 3675 Model = AVComanche_d 3676 ShowSubObject = MissileUpgrade 3677 Animation = AVComanche_d.AVComanche_d 3678 AnimationMode = LOOP 3679 WeaponFireFXBone = TERTIARY WeaponB 3680 WeaponLaunchBone = TERTIARY WeaponB 3681 End 3682 3683 ConditionState = RUBBLE 3684 Model = AVComanche_d 3685 Animation = AVComanche_d.AVComanche_d 3686 AnimationMode = LOOP 3687 End 3688 3689 ConditionState = RUBBLE SPECIAL_DAMAGED 3690 Model = AVComanche_d 3691 HideSubObject = AVComanche_Prop 3692 End 3693 3694 OkToChangeModelColor = Yes 3695 End 3696 3697 ; ***DESIGN parameters *** 3698 DisplayName = OBJECT:Comanche 3699 EditorSorting = VEHICLE 3700 Side = America 3701 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 3702 VisionRange = 180.0 3703 ShroudClearingRange = 600 3704 Prerequisites 3705 Object = AmericaAirfield 3706 End 3707 3708 WeaponSet 3709 Conditions = None 3710 ; ----- 3711 Weapon = PRIMARY Comanche20mmCannonWeapon 3712 PreferredAgainst = PRIMARY INFANTRY 3713 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 3714 ; ----- 3715 Weapon = SECONDARY ComancheAntiTankMissileWeapon 3716 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 3717 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 3718 ; ----- 3719 Weapon = TERTIARY NONE 3720 End 3721 WeaponSet 3722 Conditions = PLAYER_UPGRADE 3723 ; ----- 3724 Weapon = PRIMARY Comanche20mmCannonWeapon 3725 PreferredAgainst = PRIMARY INFANTRY 3726 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 3727 ; ----- 3728 Weapon = SECONDARY ComancheAntiTankMissileWeapon 3729 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 3730 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 3731 ; ----- 3732 Weapon = TERTIARY ComancheRocketPodWeapon 3733 AutoChooseSources = TERTIARY NONE 3734 End 3735 ArmorSet 3736 Conditions = None 3737 Armor = ComancheArmor 3738 DamageFX = None 3739 End 3740 BuildCost = 1500 3741 BuildTime = 20 ; in seconds 3742 ExperienceValue = 50 50 100 200 ; Experience point value at each level 3743 ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level 3744 IsTrainable = Yes ; Can gain experience 3745 CommandSet = AmericaVehicleComancheCommandSet 3746 3747 ; *** AUDIO Parameters *** 3748 VoiceSelect = ComancheVoiceSelect 3749 VoiceMove = ComancheVoiceMove 3750 VoiceGuard = ComancheVoiceMove 3751 VoiceAttack = ComancheVoiceAttack 3752 SoundAmbient = ComancheAmbientLoop 3753 SoundAmbientRubble = NoSound 3754 SoundDie = ComancheVoiceFalling 3755 UnitSpecificSounds 3756 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 3757 VoiceCreate = ComancheVoiceCreate 3758 SoundEject = PilotSoundEject 3759 VoiceEject = PilotVoiceEject 3760 Afterburner = RaptorAfterburner 3761 VoiceGarrison = ComancheVoiceMove 3762 TurretMoveStart = NoSound 3763 TurretMoveLoop = NoSound 3764 VoiceFireRocketPods = ComancheVoiceAttackRocket 3765 End 3766 3767 3768 ; *** ENGINEERING Parameters *** 3769 RadarPriority = UNIT 3770 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD 3771 3772 Behavior = WeaponSetUpgrade ModuleTag_02 3773 TriggeredBy = Upgrade_ComancheRocketPods 3774 End 3775 Behavior = ExperienceScalarUpgrade ModuleTag_03 3776 TriggeredBy = Upgrade_AmericaAdvancedTraining 3777 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 3778 End 3779 3780 Body = ActiveBody ModuleTag_04 3781 MaxHealth = 220.0 3782 InitialHealth = 220.0 3783 End 3784 3785 Behavior = FXListDie ModuleTag_05 3786 DeathFX = FX_HelicopterStartDeath 3787 End 3788 3789 Behavior = JetAIUpdate ModuleTag_06 3790 MinHeight = 5 3791 NeedsRunway = No 3792 KeepsParkingSpaceWhenAirborne = No 3793 AutoAcquireEnemiesWhenIdle = Yes 3794 ; note that comanches do not return to base when idle 3795 3796 ; this is a bit of a trick... normally, units cannot move-and-fire at 3797 ; the same time. we need the comanche to be able to. so we give it 3798 ; a "turret" (invisible) and put the two main weapons on it, but with 3799 ; no turn rate. voila! 3800 Turret 3801 TurretTurnRate = 0 ; this "turret" does not turn 3802 TurretPitchRate = 0 ; nor does it pitch 3803 ControlledWeaponSlots = PRIMARY SECONDARY 3804 End 3805 3806 End 3807 Locomotor = SET_NORMAL ComancheLocomotor 3808 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 3809 3810 Behavior = PhysicsBehavior ModuleTag_07 3811 Mass = 50.0 3812 End 3813 Behavior = HelicopterSlowDeathBehavior ModuleTag_08 3814 DestructionDelay = 99999999 ; the destruction delay 3815 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 3816 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 3817 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 3818 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 3819 SoundDeathLoop = ComancheDamagedLoop 3820 MinSelfSpin = 100 ; in degrees per second 3821 MaxSelfSpin = 300 ; in degrees per second 3822 SelfSpinUpdateDelay = 100 ; in milliseconds 3823 SelfSpinUpdateAmount = 10 ; in degrees 3824 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 3825 MinBladeFlyOffDelay = 1500 ; in milliseconds 3826 MaxBladeFlyOffDelay = 1500 ; in milliseconds 3827 AttachParticle = SootySmokeTrail 3828 AttachParticleBone = Propeller02 3829 BladeObjectName = ComancheBlades 3830 BladeBoneName = Propeller01 3831 ; Most things that eject pilots do so immediately upon death, 3832 ; via use of EjectPilotDie, but Helicopters are a special case... 3833 ; they need to do so after their blades are ejected. 3834 OCLEjectPilot = OCL_EjectPilotViaParachute 3835 FXBlade = FX_HelicopterBladeExplosion 3836 OCLBlade = OCL_HelicopterBladeExplosion 3837 FXHitGround = FX_HelicopterHitGround 3838 OCLHitGround = OCL_HelicopterHitGround 3839 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 3840 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 3841 DelayFromGroundToFinalDeath = 1500 3842 FinalRubbleObject = ComancheRubbleHull 3843 End 3844 3845 Behavior = TransitionDamageFX ModuleTag_09 3846 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 3847 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 3848 End 3849 3850 Behavior = FlammableUpdate ModuleTag_21 3851 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 3852 AflameDamageAmount = 3 ; taking this much damage... 3853 AflameDamageDelay = 500 ; this often. 3854 End 3855 3856 Geometry = BOX 3857 GeometryMajorRadius = 20.0 3858 GeometryMinorRadius = 3.0 3859 GeometryHeight = 25.0 3860 GeometryIsSmall = No 3861 Shadow = SHADOW_VOLUME 3862 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 3863 3864 End 3865 3866 ;------------------------------------------------------------------------------ 3867 Object ComancheBlades 3868 3869 ; *** ART Parameters *** 3870 Draw = W3DModelDraw ModuleTag_01 3871 DefaultConditionState 3872 Model = AVComanche_D2 3873 Animation = AVComanche_D2.AVComanche_D2 3874 AnimationMode = LOOP 3875 End 3876 End 3877 3878 ; ***DESIGN parameters *** 3879 DisplayName = OBJECT:Comanche 3880 Side = America 3881 3882 ; *** ENGINEERING Parameters *** 3883 KindOf = PRELOAD IMMOBILE 3884 3885 Behavior = PhysicsBehavior ModuleTag_02 3886 AllowBouncing = Yes 3887 End 3888 Behavior = LifetimeUpdate ModuleTag_03 3889 MinLifetime = 1000 ; min lifetime in msec 3890 MaxLifetime = 1000 ; max lifetime in msec 3891 End 3892 3893 End 3894 3895 ;------------------------------------------------------------------------------ 3896 Object ComancheRubbleHull 3897 3898 ; *** ART Parameters *** 3899 Draw = W3DModelDraw ModuleTag_01 3900 DefaultConditionState 3901 Model = AVComanche_D1 3902 End 3903 End 3904 3905 ; ***DESIGN parameters *** 3906 DisplayName = OBJECT:ComancheHull 3907 Side = America 3908 3909 ; *** ENGINEERING Parameters *** 3910 KindOf = IMMOBILE NO_COLLIDE HULK 3911 3912 Behavior = PhysicsBehavior ModuleTag_02 3913 Mass = 25.0 3914 AllowBouncing = Yes 3915 End 3916 3917 Behavior = LifetimeUpdate ModuleTag_03 3918 MinLifetime = 3000 ; min lifetime in msec 3919 MaxLifetime = 3000 ; max lifetime in msec 3920 End 3921 3922 Behavior = SlowDeathBehavior ModuleTag_05 3923 SinkDelay = 3000 3924 SinkRate = 4 ; in Dist/Sec 3925 DestructionDelay = 10000 3926 End 3927 3928 3929 End 3930 3931 ;------------------------------------------------------------------------------ 3932 Object CINE_ComancheRubbleHull 3933 3934 ; *** ART Parameters *** 3935 Draw = W3DModelDraw ModuleTag_01 3936 DefaultConditionState 3937 Model = AVComanche_D1 3938 End 3939 End 3940 3941 ; ***DESIGN parameters *** 3942 DisplayName = OBJECT:ComancheHull 3943 Side = America 3944 3945 ; *** ENGINEERING Parameters *** 3946 KindOf = IMMOBILE 3947 3948 Behavior = PhysicsBehavior ModuleTag_02 3949 Mass = 25.0 3950 AllowBouncing = Yes 3951 End 3952 3953 End 3954 3955 3956 ;------------------------------------------------------------------------------ 3957 Object ChinookRubbleHull 3958 3959 ; *** ART Parameters *** 3960 Draw = W3DModelDraw ModuleTag_01 3961 DefaultConditionState 3962 Model = AVChinook_D1 3963 End 3964 End 3965 3966 ; ***DESIGN parameters *** 3967 DisplayName = OBJECT:ComancheHull 3968 Side = America 3969 3970 ; *** ENGINEERING Parameters *** 3971 KindOf = IMMOBILE NO_COLLIDE HULK 3972 3973 Behavior = PhysicsBehavior ModuleTag_02 3974 Mass = 25.0 3975 AllowBouncing = Yes 3976 End 3977 Behavior = LifetimeUpdate ModuleTag_03 3978 MinLifetime = 100000 ; min lifetime in msec 3979 MaxLifetime = 100000 ; max lifetime in msec 3980 End 3981 3982 End 3983 3984 ;------------------------------------------------------------------------------ 3985 Object AmericaVehicleApache 3986 3987 ; *** ART Parameters *** 3988 SelectPortrait = SACApache_L 3989 ButtonImage = SACApache 3990 3991 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 3992 3993 Draw = W3DModelDraw ModuleTag_01 3994 3995 DefaultConditionState 3996 Model = AVApache 3997 Animation = AVApache.AVApache 3998 AnimationMode = LOOP 3999 WeaponMuzzleFlash = PRIMARY TurretFX 4000 WeaponFireFXBone = PRIMARY Muzzle 4001 WeaponFireFXBone = SECONDARY WeaponB 4002 WeaponLaunchBone = SECONDARY WeaponB 4003 WeaponFireFXBone = TERTIARY WeaponB 4004 WeaponLaunchBone = TERTIARY WeaponB 4005 End 4006 4007 ConditionState = REALLYDAMAGED 4008 Model = AVApache_d 4009 Animation = AVApache_d.AVApache_d 4010 AnimationMode = LOOP 4011 End 4012 4013 ConditionState = RUBBLE 4014 Model = AVApache_d 4015 Animation = AVApache_d.AVApache_d 4016 AnimationMode = LOOP 4017 End 4018 4019 ConditionState = RUBBLE SPECIAL_DAMAGED 4020 Model = AVApache_d 4021 HideSubObject = AVApache_Prop 4022 End 4023 4024 OkToChangeModelColor = Yes 4025 End 4026 4027 ; ***DESIGN parameters *** 4028 DisplayName = OBJECT:Apache 4029 EditorSorting = VEHICLE 4030 Side = America 4031 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 4032 VisionRange = 180.0 4033 ShroudClearingRange = 600 4034 Prerequisites 4035 Object = AmericaAirfield 4036 Object = AmericaStrategyCenter 4037 End 4038 4039 WeaponSet 4040 Conditions = None 4041 ; ----- 4042 Weapon = PRIMARY Comanche20mmCannonWeapon 4043 PreferredAgainst = PRIMARY INFANTRY 4044 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 4045 ; ----- 4046 Weapon = SECONDARY ComancheAntiTankMissileWeapon 4047 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 4048 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 4049 ; ----- 4050 Weapon = TERTIARY ComancheRocketPodWeapon 4051 AutoChooseSources = TERTIARY NONE 4052 End 4053 4054 ArmorSet 4055 Conditions = None 4056 Armor = ComancheArmor 4057 DamageFX = None 4058 End 4059 BuildCost = 2500 4060 BuildTime = 30 ; in seconds 4061 ExperienceValue = 65 65 150 300 ; Experience point value at each level 4062 ExperienceRequired = 0 125 250 500 ; Experience points needed to gain each level 4063 IsTrainable = Yes ; Can gain experience 4064 CommandSet = AmericaVehicleComancheCommandSet 4065 4066 ; *** AUDIO Parameters *** 4067 VoiceSelect = ComancheVoiceSelect 4068 VoiceMove = ComancheVoiceMove 4069 VoiceGuard = ComancheVoiceMove 4070 VoiceAttack = ComancheVoiceAttack 4071 SoundAmbient = ComancheAmbientLoop 4072 SoundAmbientRubble = NoSound 4073 SoundDie = ComancheVoiceFalling 4074 UnitSpecificSounds 4075 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 4076 VoiceCreate = ComancheVoiceCreate 4077 SoundEject = PilotSoundEject 4078 VoiceEject = PilotVoiceEject 4079 Afterburner = RaptorAfterburner 4080 VoiceGarrison = ComancheVoiceMove 4081 TurretMoveStart = NoSound 4082 TurretMoveLoop = NoSound 4083 VoiceFireRocketPods = ComancheVoiceAttackRocket 4084 End 4085 4086 4087 ; *** ENGINEERING Parameters *** 4088 RadarPriority = UNIT 4089 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD 4090 4091 Behavior = ExperienceScalarUpgrade ModuleTag_03 4092 TriggeredBy = Upgrade_AmericaAdvancedTraining 4093 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 4094 End 4095 4096 Body = ActiveBody ModuleTag_04 4097 MaxHealth = 280.0 4098 InitialHealth = 280.0 4099 End 4100 4101 Behavior = FXListDie ModuleTag_05 4102 DeathFX = FX_HelicopterStartDeath 4103 End 4104 4105 Behavior = JetAIUpdate ModuleTag_06 4106 MinHeight = 5 4107 NeedsRunway = No 4108 KeepsParkingSpaceWhenAirborne = No 4109 AutoAcquireEnemiesWhenIdle = Yes 4110 Turret 4111 TurretTurnRate = 0 ; this "turret" does not turn 4112 TurretPitchRate = 0 ; nor does it pitch 4113 ControlledWeaponSlots = PRIMARY SECONDARY 4114 End 4115 4116 End 4117 Locomotor = SET_NORMAL ComancheLocomotor 4118 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 4119 4120 Behavior = PhysicsBehavior ModuleTag_07 4121 Mass = 50.0 4122 End 4123 Behavior = HelicopterSlowDeathBehavior ModuleTag_08 4124 DestructionDelay = 99999999 ; the destruction delay 4125 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 4126 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 4127 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 4128 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 4129 SoundDeathLoop = ComancheDamagedLoop 4130 MinSelfSpin = 100 ; in degrees per second 4131 MaxSelfSpin = 300 ; in degrees per second 4132 SelfSpinUpdateDelay = 100 ; in milliseconds 4133 SelfSpinUpdateAmount = 10 ; in degrees 4134 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 4135 MinBladeFlyOffDelay = 1500 ; in milliseconds 4136 MaxBladeFlyOffDelay = 1500 ; in milliseconds 4137 AttachParticle = SootySmokeTrail 4138 AttachParticleBone = Propeller02 4139 BladeObjectName = ComancheBlades 4140 BladeBoneName = Propeller01 4141 ; Most things that eject pilots do so immediately upon death, 4142 ; via use of EjectPilotDie, but Helicopters are a special case... 4143 ; they need to do so after their blades are ejected. 4144 OCLEjectPilot = OCL_EjectPilotViaParachute 4145 FXBlade = FX_HelicopterBladeExplosion 4146 OCLBlade = OCL_HelicopterBladeExplosion 4147 FXHitGround = FX_HelicopterHitGround 4148 OCLHitGround = OCL_HelicopterHitGround 4149 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 4150 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 4151 DelayFromGroundToFinalDeath = 1500 4152 FinalRubbleObject = ComancheRubbleHull 4153 End 4154 4155 Behavior = TransitionDamageFX ModuleTag_09 4156 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 4157 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 4158 End 4159 4160 Behavior = FlammableUpdate ModuleTag_21 4161 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 4162 AflameDamageAmount = 3 ; taking this much damage... 4163 AflameDamageDelay = 500 ; this often. 4164 End 4165 4166 Geometry = BOX 4167 GeometryMajorRadius = 20.0 4168 GeometryMinorRadius = 3.0 4169 GeometryHeight = 25.0 4170 GeometryIsSmall = No 4171 Shadow = SHADOW_VOLUME 4172 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 4173 4174 End 4175 4176 ;------------------------------------------------------------------------------ 4177 Object ChinaJetMIG 4178 4179 ; *** ART Parameters *** 4180 SelectPortrait = SNMig_L 4181 ButtonImage = SNMig 4182 4183 UpgradeCameo1 = Upgrade_ChinaAircraftArmor 4184 UpgradeCameo2 = Upgrade_ChinaBlackNapalm 4185 ;UpgradeCameo3 = NONE 4186 ;UpgradeCameo4 = NONE 4187 ;UpgradeCameo5 = NONE 4188 4189 Draw = W3DModelDraw ModuleTag_01 4190 4191 OkToChangeModelColor = Yes 4192 4193 DefaultConditionState 4194 Model = NVMIG 4195 HideSubObject = BurnerFX01 BurnerFX02 4196 WeaponLaunchBone = PRIMARY WeaponA 4197 End 4198 4199 ConditionState = JETEXHAUST 4200 ParticleSysBone = Wingtip01 JetContrail 4201 ParticleSysBone = Wingtip02 JetContrail 4202 End 4203 4204 ConditionState = JETEXHAUST JETAFTERBURNER 4205 ShowSubObject = BurnerFX01 BurnerFX02 4206 ParticleSysBone = Exhaust01 JetExhaust 4207 ParticleSysBone = Exhaust02 JetExhaust 4208 ParticleSysBone = Wingtip01 JetContrail 4209 ParticleSysBone = Wingtip02 JetContrail 4210 End 4211 4212 ConditionState = REALLYDAMAGED 4213 Model = NVMIG_D 4214 ParticleSysBone = Wingtip01 JetContrail 4215 ParticleSysBone = Wingtip02 JetContrail 4216 End 4217 4218 ConditionState = RUBBLE 4219 Model = NVMIG_D 4220 End 4221 4222 ConditionState = REALLYDAMAGED JETEXHAUST 4223 Model = NVMIG_D 4224 ParticleSysBone = Wingtip01 JetContrail 4225 ParticleSysBone = Wingtip02 JetContrail 4226 End 4227 4228 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 4229 Model = NVMIG_D 4230 ShowSubObject = BurnerFX01 BurnerFX02 4231 ParticleSysBone = Engine01 JetExhaust 4232 ParticleSysBone = Engine02 JetExhaust 4233 ParticleSysBone = Wingtip01 JetContrail 4234 ParticleSysBone = Wingtip02 JetContrail 4235 End 4236 4237 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 4238 ; @todo srj -- model missing 4239 ;Model = NVMIG_D1B 4240 Model = NVMIG_D 4241 ;HideSubObject is needed cause there're inherited from default condition state 4242 HideSubObject = None 4243 ShowSubObject = None 4244 ParticleSysBone = Engine01 JetExhaust 4245 ParticleSysBone = Engine02 JetExhaust 4246 ParticleSysBone = Wingtip01 JetContrail 4247 ParticleSysBone = Wingtip02 JetContrail 4248 End 4249 4250 End 4251 4252 ; ***DESIGN parameters *** 4253 DisplayName = OBJECT:MIG 4254 EditorSorting = VEHICLE 4255 Side = China 4256 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 4257 VisionRange = 200.0 4258 ShroudClearingRange = 300.0 4259 4260 Prerequisites 4261 Object = ChinaAirfield 4262 End 4263 4264 WeaponSet 4265 Conditions = None 4266 Weapon = PRIMARY NapalmMissileWeapon 4267 AutoChooseSources = PRIMARY NONE 4268 End 4269 WeaponSet 4270 Conditions = PLAYER_UPGRADE 4271 Weapon = PRIMARY BlackNapalmMissileWeapon 4272 AutoChooseSources = PRIMARY NONE 4273 End 4274 4275 ArmorSet 4276 Conditions = None 4277 Armor = AirplaneArmor 4278 DamageFX = None 4279 End 4280 4281 BuildCost = 1200 4282 BuildTime = 13 ;10 4283 ExperienceValue = 50 50 100 150 ;Experience point value at each level 4284 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 4285 IsTrainable = Yes ;Can gain experience 4286 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 4287 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 4288 CommandSet = ChinaJetMIGCommandSet 4289 4290 ; *** AUDIO Parameters *** 4291 VoiceSelect = MigVoiceSelect 4292 VoiceMove = MigVoiceMove 4293 VoiceAttack = MigVoiceAttack 4294 VoiceAttackAir = MigVoiceAttackAir 4295 VoiceGuard = MigVoiceAirPatrol 4296 SoundAmbient = MigAmbientLoop 4297 SoundDie = MigVoiceFalling 4298 UnitSpecificSounds 4299 VoiceCreate = MigVoiceCreate 4300 Afterburner = RaptorAfterburner 4301 VoiceGarrison = MigVoiceMove 4302 End 4303 4304 ; *** ENGINEERING Parameters *** 4305 RadarPriority = UNIT 4306 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 4307 Body = ActiveBody ModuleTag_02 4308 MaxHealth = 160.0 4309 InitialHealth = 160.0 4310 End 4311 4312 Behavior = JetSlowDeathBehavior ModuleTag_03 4313 FXOnGroundDeath = FX_JetOnGroundDeath 4314 OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp 4315 DestructionDelay = 99999999 ; destruction will happen when we 4316 RollRate = 0.2 4317 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 4318 PitchRate = 0.0 4319 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 4320 FXInitialDeath = FX_JetDeathInitial 4321 OCLInitialDeath = OCL_MIGDeathInitial 4322 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 4323 FXSecondary = FX_JetDeathSecondary 4324 OCLSecondary = OCL_MIGDeathSecondary 4325 FXHitGround = FX_JetDeathHitGround 4326 OCLHitGround = OCL_MIGDeathHitGround 4327 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 4328 FXFinalBlowUp = FX_JetDeathFinalBlowUp 4329 OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp 4330 End 4331 4332 Behavior = WeaponSetUpgrade ModuleTag_04 4333 TriggeredBy = Upgrade_ChinaBlackNapalm 4334 End 4335 4336 Behavior = PhysicsBehavior ModuleTag_05 4337 Mass = 500.0 4338 End 4339 4340 Behavior = JetAIUpdate ModuleTag_06 4341 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 4342 ; note that it's expressed as a percent of max health, not an absolute 4343 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 4344 TakeoffPause = 500 4345 MinHeight = 5 4346 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 4347 End 4348 4349 Locomotor = SET_NORMAL MIGLocomotor 4350 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 4351 4352 4353 Behavior = FlammableUpdate ModuleTag_08 4354 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 4355 AflameDamageAmount = 3 ; taking this much damage... 4356 AflameDamageDelay = 500 ; this often. 4357 End 4358 4359 Behavior = TransitionDamageFX ModuleTag_09 4360 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 4361 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 4362 End 4363 4364 Behavior = MaxHealthUpgrade ModuleTag_10 4365 TriggeredBy = Upgrade_ChinaAircraftArmor 4366 AddMaxHealth = 40.0 4367 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 4368 End 4369 4370 4371 4372 Geometry = Box 4373 GeometryIsSmall = Yes 4374 GeometryMajorRadius = 14.0 4375 GeometryMinorRadius = 7.0 4376 GeometryHeight = 5.0 4377 Shadow = SHADOW_VOLUME 4378 4379 Shadow = SHADOW_VOLUME 4380 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 4381 4382 End 4383 4384 4385 ;------------------------------------------------------------------------------ 4386 ;This is the MIG as it's crashing 4387 ;------------------------------------------------------------------------------ 4388 Object ChinaJetMIGHulk 4389 ; *** ART Parameters *** 4390 Draw = W3DModelDraw ModuleTag_01 4391 DefaultConditionState 4392 Model = NVMIG_D1 4393 End 4394 End 4395 4396 ; ***DESIGN parameters *** 4397 EditorSorting = DEBRIS 4398 4399 ; *** ENGINEERING Parameters *** 4400 KindOf = NO_COLLIDE HULK 4401 4402 Behavior = PhysicsBehavior ModuleTag_03 4403 Mass = 2.0 4404 AllowBouncing = No 4405 KillWhenRestingOnGround = Yes 4406 End 4407 4408 Behavior = LifetimeUpdate ModuleTag_04 4409 MinLifetime = 1500 ; min lifetime in msec 4410 MaxLifetime = 1600 ; max lifetime in msec 4411 End 4412 4413 Behavior = SlowDeathBehavior ModuleTag_05 4414 SinkDelay = 1500 4415 SinkRate = 2 ; in Dist/Sec 4416 DestructionDelay = 8000 4417 End 4418 4419 End 4420 4421 4422 ;------------------------------------------------------------------------------ 4423 Object NapalmMissile 4424 4425 ; *** ART Parameters *** 4426 Draw = W3DModelDraw ModuleTag_01 4427 OkToChangeModelColor = Yes 4428 DefaultConditionState 4429 Model = AVRaptor_M 4430 End 4431 End 4432 4433 ; ***DESIGN parameters *** 4434 DisplayName = OBJECT:Missile 4435 EditorSorting = SYSTEM 4436 VisionRange = 0.0 ; Projectiles can't see, but superweapons *may need to* 4437 TransportSlotCount = 1 ; since Napalm Strike carries us as payload, not weapon 4438 ArmorSet 4439 Conditions = None 4440 Armor = ProjectileArmor 4441 DamageFX = None 4442 End 4443 4444 ; *** ENGINEERING Parameters *** 4445 KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE 4446 Body = ActiveBody ModuleTag_02 4447 MaxHealth = 100.0 4448 InitialHealth = 100.0 4449 End 4450 4451 ; ---- begin Projectile death behaviors 4452 Behavior = InstantDeathBehavior DeathModuleTag_01 4453 DeathTypes = NONE +DETONATED 4454 ; we detonated normally. 4455 ; no FX, just quiet destroy ourselves 4456 End 4457 Behavior = InstantDeathBehavior DeathModuleTag_02 4458 DeathTypes = NONE +LASERED 4459 ; shot down by laser. 4460 FX = FX_GenericMissileDisintegrate 4461 OCL = OCL_GenericMissileDisintegrate 4462 End 4463 Behavior = InstantDeathBehavior DeathModuleTag_03 4464 DeathTypes = ALL -LASERED -DETONATED 4465 ; shot down by nonlaser. 4466 FX = FX_GenericMissileDeath 4467 End 4468 ; ---- end Projectile death behaviors 4469 4470 Behavior = PhysicsBehavior ModuleTag_06 4471 Mass = 1 4472 End 4473 Behavior = MissileAIUpdate ModuleTag_07 4474 TryToFollowTarget = Yes 4475 FuelLifetime = 10000 4476 InitialVelocity = 75 ; in dist/sec 4477 IgnitionDelay = 30 4478 IgnitionFX = FX_NapalmMissileIgnition 4479 End 4480 Locomotor = SET_NORMAL NapalmMissileLocomotor 4481 4482 Geometry = Sphere 4483 GeometryIsSmall = Yes 4484 GeometryMajorRadius = 1.0 4485 4486 End 4487 4488 ;------------------------------------------------------------------------------ 4489 Object ChinaJetMIGNapalmStriker 4490 4491 ; *** ART Parameters *** 4492 Draw = W3DModelDraw ModuleTag_01 4493 4494 DefaultConditionState 4495 Model = NVMig 4496 WeaponLaunchBone = PRIMARY WeaponA 4497 ;ParticleSysBone = Engine01 JetExhaust 4498 ParticleSysBone = Wingtip01 JetContrail 4499 ParticleSysBone = Wingtip02 JetContrail 4500 HideSubObject = BurnerFX01 BurnerFX02 4501 End 4502 4503 ConditionState = REALLYDAMAGED 4504 Model = NVMig_d 4505 ;ParticleSysBone = Engine01 JetExhaust 4506 ParticleSysBone = Wingtip01 JetContrail 4507 ParticleSysBone = Wingtip02 JetContrail 4508 End 4509 4510 AliasConditionState = RUBBLE 4511 4512 OkToChangeModelColor = Yes 4513 4514 End 4515 4516 ; ***DESIGN parameters *** 4517 DisplayName = OBJECT:MIG 4518 EditorSorting = SYSTEM 4519 Side = China 4520 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 4521 VisionRange = 300.0 4522 ShroudClearingRange = 300 4523 Prerequisites 4524 Object = ChinaAirfield 4525 End 4526 WeaponSet 4527 Conditions = None 4528 Weapon = PRIMARY NapalmStrikeWeapon 4529 End 4530 ;WeaponSet 4531 ; Conditions = PLAYER_UPGRADE 4532 ; Weapon = PRIMARY BlackNapalmMissileWeapon 4533 ;End 4534 ArmorSet 4535 Conditions = None 4536 Armor = AirplaneArmor 4537 DamageFX = None 4538 End 4539 CommandSet = ChinaJetMIGCommandSet 4540 4541 ; *** AUDIO Parameters *** 4542 SoundAmbient = F15MoveLoop 4543 SoundAmbientRubble = NoSound 4544 4545 ; *** ENGINEERING Parameters *** 4546 RadarPriority = UNIT 4547 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE AIRCRAFT IGNORED_IN_GUI 4548 4549 Body = ActiveBody ModuleTag_02 4550 MaxHealth = 200.0 4551 InitialHealth = 200.0 4552 End 4553 4554 Behavior = SpecialPowerCompletionDie ModuleTag_03 4555 SpecialPowerTemplate = SuperweaponNapalmStrike 4556 End 4557 4558 Behavior = JetSlowDeathBehavior ModuleTag_04 4559 DestructionDelay = 99999999; destruction will happen when we 4560 RollRate = 0.2 4561 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 4562 PitchRate = 0.0 4563 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 4564 FXInitialDeath = FX_JetDeathInitial 4565 OCLInitialDeath = OCL_MIGDeathInitial 4566 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 4567 FXSecondary = FX_JetDeathSecondary 4568 OCLSecondary = OCL_MIGDeathSecondary 4569 FXHitGround = FX_JetDeathHitGround 4570 OCLHitGround = OCL_MIGDeathHitGround 4571 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 4572 FXFinalBlowUp = FX_JetDeathFinalBlowUp 4573 OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp 4574 End 4575 4576 Behavior = DeliverPayloadAIUpdate ModuleTag_06 4577 DoorDelay = 0 4578 End 4579 Locomotor = SET_NORMAL MIGLocomotor 4580 4581 ;Behavior = WeaponSetUpgrade ModuleTag_07 4582 ; TriggeredBy = Upgrade_ChinaBlackNapalm 4583 ;End 4584 4585 Behavior = TransportContain ModuleTag_08 4586 Slots = 100 ; hey, it's a BIG transport 4587 ScatterNearbyOnExit = No 4588 OrientLikeContainerOnExit = Yes 4589 KeepContainerVelocityOnExit = Yes 4590 ExitPitchRate = 30 4591 ExitBone = WeaponA 4592 AllowInsideKindOf = PROJECTILE 4593 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 4594 NumberOfExitPaths = 0 4595 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' 4596 End 4597 4598 Behavior = PhysicsBehavior ModuleTag_09 4599 Mass = 50.0 4600 End 4601 4602 Behavior = FlammableUpdate ModuleTag_21 4603 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 4604 AflameDamageAmount = 3 ; taking this much damage... 4605 AflameDamageDelay = 500 ; this often. 4606 End 4607 4608 4609 Geometry = Cylinder 4610 GeometryIsSmall = Yes 4611 GeometryMajorRadius = 7.0 4612 GeometryMinorRadius = 7.0 4613 GeometryHeight = 7.0 4614 4615 Shadow = SHADOW_VOLUME 4616 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 4617 4618 End 4619 4620 ;------------------------------------------------------------------------------ 4621 Object ChinaJetMIG_CinematicVersion 4622 4623 ; *** ART Parameters *** 4624 SelectPortrait = SNMig_L 4625 ButtonImage = SNMig 4626 4627 UpgradeCameo1 = Upgrade_ChinaAircraftArmor 4628 UpgradeCameo2 = Upgrade_ChinaBlackNapalm 4629 ;UpgradeCameo3 = NONE 4630 ;UpgradeCameo4 = NONE 4631 ;UpgradeCameo5 = NONE 4632 4633 Draw = W3DModelDraw ModuleTag_01 4634 4635 OkToChangeModelColor = Yes 4636 4637 DefaultConditionState 4638 Model = NVMIG 4639 HideSubObject = BurnerFX01 BurnerFX02 4640 WeaponLaunchBone = PRIMARY WeaponA 4641 End 4642 4643 ConditionState = JETEXHAUST 4644 ParticleSysBone = Wingtip01 JetContrail 4645 ParticleSysBone = Wingtip02 JetContrail 4646 End 4647 4648 ConditionState = JETEXHAUST JETAFTERBURNER 4649 ShowSubObject = BurnerFX01 BurnerFX02 4650 ParticleSysBone = Exhaust01 JetExhaust 4651 ParticleSysBone = Exhaust02 JetExhaust 4652 ParticleSysBone = Wingtip01 JetContrail 4653 ParticleSysBone = Wingtip02 JetContrail 4654 End 4655 4656 ConditionState = REALLYDAMAGED 4657 Model = NVMIG_D 4658 ParticleSysBone = Wingtip01 JetContrail 4659 ParticleSysBone = Wingtip02 JetContrail 4660 End 4661 4662 ConditionState = RUBBLE 4663 Model = NVMIG_D 4664 End 4665 4666 ConditionState = REALLYDAMAGED JETEXHAUST 4667 Model = NVMIG_D 4668 ParticleSysBone = Wingtip01 JetContrail 4669 ParticleSysBone = Wingtip02 JetContrail 4670 End 4671 4672 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 4673 Model = NVMIG_D 4674 ShowSubObject = BurnerFX01 BurnerFX02 4675 ParticleSysBone = Engine01 JetExhaust 4676 ParticleSysBone = Engine02 JetExhaust 4677 ParticleSysBone = Wingtip01 JetContrail 4678 ParticleSysBone = Wingtip02 JetContrail 4679 End 4680 4681 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 4682 ; @todo srj -- model missing 4683 ;Model = NVMIG_D1B 4684 Model = NVMIG_D 4685 ;HideSubObject is needed cause there're inherited from default condition state 4686 HideSubObject = None 4687 ShowSubObject = None 4688 ParticleSysBone = Engine01 JetExhaust 4689 ParticleSysBone = Engine02 JetExhaust 4690 ParticleSysBone = Wingtip01 JetContrail 4691 ParticleSysBone = Wingtip02 JetContrail 4692 End 4693 4694 End 4695 4696 ; ***DESIGN parameters *** 4697 DisplayName = OBJECT:MIG 4698 EditorSorting = VEHICLE 4699 Side = China 4700 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 4701 VisionRange = 300.0 4702 ShroudClearingRange = 300.0 4703 4704 Prerequisites 4705 Object = ChinaAirfield 4706 End 4707 4708 WeaponSet 4709 Conditions = None 4710 Weapon = PRIMARY NapalmMissileWeapon 4711 AutoChooseSources = PRIMARY NONE 4712 End 4713 WeaponSet 4714 Conditions = PLAYER_UPGRADE 4715 Weapon = PRIMARY BlackNapalmMissileWeapon 4716 AutoChooseSources = PRIMARY NONE 4717 End 4718 4719 ArmorSet 4720 Conditions = None 4721 Armor = AirplaneArmor 4722 DamageFX = None 4723 End 4724 4725 BuildCost = 1200 4726 BuildTime = 15 4727 ExperienceValue = 50 50 100 150 ;Experience point value at each level 4728 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 4729 IsTrainable = Yes ;Can gain experience 4730 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 4731 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 4732 CommandSet = ChinaJetMIGCommandSet 4733 4734 ; *** AUDIO Parameters *** 4735 VoiceSelect = MigVoiceSelect 4736 VoiceMove = MigVoiceMove 4737 VoiceAttack = MigVoiceAttack 4738 VoiceAttackAir = MigVoiceAttackAir 4739 VoiceGuard = MigVoiceAirPatrol 4740 SoundMoveLoop = MigAmbientLoop ; don't want sound while sitting at airfield 4741 SoundAmbient = NoSound 4742 SoundAmbientRubble = NoSound 4743 SoundDie = MigVoiceFalling 4744 UnitSpecificSounds 4745 VoiceCreate = MigVoiceCreate 4746 Afterburner = RaptorAfterburner 4747 VoiceGarrison = MigVoiceMove 4748 End 4749 4750 ; *** ENGINEERING Parameters *** 4751 RadarPriority = UNIT 4752 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 4753 Body = ActiveBody ModuleTag_02 4754 MaxHealth = 160.0 4755 InitialHealth = 160.0 4756 End 4757 4758 Behavior = JetSlowDeathBehavior ModuleTag_03 4759 FXOnGroundDeath = FX_JetOnGroundDeath 4760 OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp_CinematicVersion 4761 DestructionDelay = 99999999 ; destruction will happen when we 4762 RollRate = 0.2 4763 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 4764 PitchRate = 0.0 4765 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 4766 FXInitialDeath = FX_JetDeathInitial 4767 OCLInitialDeath = OCL_MIGDeathInitial 4768 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 4769 FXSecondary = FX_JetDeathSecondary 4770 OCLSecondary = OCL_MIGDeathSecondary 4771 FXHitGround = FX_JetDeathHitGround 4772 OCLHitGround = OCL_MIGDeathHitGround 4773 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 4774 FXFinalBlowUp = FX_JetDeathFinalBlowUp_CinematicVersion 4775 OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp_CinematicVersion 4776 End 4777 4778 Behavior = WeaponSetUpgrade ModuleTag_04 4779 TriggeredBy = Upgrade_ChinaBlackNapalm 4780 End 4781 4782 Behavior = PhysicsBehavior ModuleTag_05 4783 Mass = 500.0 4784 End 4785 4786 Behavior = JetAIUpdate ModuleTag_06 4787 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 4788 ; note that it's expressed as a percent of max health, not an absolute 4789 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 4790 TakeoffPause = 500 4791 MinHeight = 5 4792 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 4793 End 4794 4795 Locomotor = SET_NORMAL MIGLocomotor 4796 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 4797 4798 4799 Behavior = FlammableUpdate ModuleTag_08 4800 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 4801 AflameDamageAmount = 3 ; taking this much damage... 4802 AflameDamageDelay = 500 ; this often. 4803 End 4804 4805 Behavior = TransitionDamageFX ModuleTag_09 4806 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 4807 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 4808 End 4809 4810 Behavior = MaxHealthUpgrade ModuleTag_10 4811 TriggeredBy = Upgrade_ChinaAircraftArmor 4812 AddMaxHealth = 40.0 4813 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 4814 End 4815 4816 4817 4818 Geometry = Box 4819 GeometryIsSmall = Yes 4820 GeometryMajorRadius = 14.0 4821 GeometryMinorRadius = 7.0 4822 GeometryHeight = 5.0 4823 Shadow = SHADOW_VOLUME 4824 4825 Shadow = SHADOW_VOLUME 4826 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 4827 4828 End 4829 4830 ;------------------------------------------------------------------------------ 4831 Object AmericaInfantryRanger 4832 4833 ; *** ART Parameters *** 4834 SelectPortrait = SARanger_L 4835 ButtonImage = SARanger 4836 4837 UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade 4838 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 4839 UpgradeCameo3 = Upgrade_InfantryCaptureBuilding 4840 ;UpgradeCameo4 = NONE 4841 ;UpgradeCameo5 = NONE 4842 4843 Draw = W3DModelDraw ModuleTag_01 4844 4845 OkToChangeModelColor = Yes 4846 4847 ; this says "we don't use these condition states at all, so completely 4848 ; ignore them for purposes of matchmaking"... this is useful to help 4849 ; reduce the number of AliasConditionState clauses you must add in 4850 ; order to avoid ambiguity in some cases. 4851 IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A 4852 4853 ; --- Idle 4854 DefaultConditionState 4855 Model = AIRngr_SKN 4856 IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35 4857 IdleAnimation = AIRngr_SKL.AIRngr_IDA 4858 IdleAnimation = AIRngr_SKL.AIRngr_IDB 4859 AnimationMode = ONCE 4860 WeaponFireFXBone = PRIMARY Muzzle 4861 WeaponMuzzleFlash = PRIMARY MuzzleFX 4862 WeaponFireFXBone = SECONDARY Muzzle 4863 WeaponLaunchBone = SECONDARY Muzzle 4864 TransitionKey = TRANS_Stand 4865 4866 End 4867 4868 ConditionState = REALLYDAMAGED 4869 IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35 4870 IdleAnimation = AIRngr_SKL.AIRngr_IDC 4871 IdleAnimation = AIRngr_SKL.AIRngr_IDD 4872 AnimationMode = ONCE 4873 TransitionKey = TRANS_StandInjured 4874 End 4875 4876 TransitionState = TRANS_Stand TRANS_StandInjured 4877 Animation = AIRngr_SKL.AIRngr_SA2SB 4878 AnimationMode = ONCE 4879 End 4880 4881 ; --- attacking (Machine Gun) 4882 ConditionState = USING_WEAPON_A 4883 Animation = AIRngr_SKL.AIRngr_ATA 4884 AnimationMode = LOOP 4885 TransitionKey = TRANS_FiringA 4886 End 4887 4888 ConditionState = USING_WEAPON_A REALLYDAMAGED 4889 Animation = AIRngr_SKL.AIRngr_ATA2 4890 AnimationMode = LOOP 4891 TransitionKey = TRANS_FiringAInjured 4892 End 4893 4894 TransitionState = TRANS_FiringA TRANS_FiringAInjured 4895 Animation = AIRngr_SKL.AIRngr_A2WAA 4896 AnimationMode = ONCE 4897 End 4898 4899 TransitionState = TRANS_Stand TRANS_FiringA 4900 Animation = AIRngr_SKL.AIRngr_ATAST 4901 AnimationMode = ONCE 4902 AnimationSpeedFactorRange = 4 4 4903 End 4904 4905 TransitionState = TRANS_FiringA TRANS_Stand 4906 Animation = AIRngr_SKL.AIRngr_ATAED 4907 AnimationMode = ONCE 4908 AnimationSpeedFactorRange = 4 4 4909 End 4910 4911 TransitionState = TRANS_StandInjured TRANS_FiringAInjured 4912 Animation = AIRngr_SKL.AIRngr_S2WAA 4913 AnimationMode = ONCE 4914 AnimationSpeedFactorRange = 4 4 4915 End 4916 4917 TransitionState = TRANS_FiringAInjured TRANS_StandInjured 4918 Animation = AIRngr_SKL.AIRngr_WAA2S 4919 AnimationMode = ONCE 4920 AnimationSpeedFactorRange = 4 4 4921 End 4922 4923 TransitionState = TRANS_Stand TRANS_Move 4924 Animation = AIRngr_SKL.AIRngr_STA2RNA 4925 AnimationMode = ONCE 4926 End 4927 4928 ; --- attacking (Grenade Launcher) 4929 ConditionState = PREATTACK_B 4930 Animation = AIRngr_SKL.AIRngr_ATBA 4931 AnimationMode = ONCE 4932 TransitionKey = TRANS_FiringB 4933 End 4934 AliasConditionState = PREATTACK_B MOVING 4935 AliasConditionState = PREATTACK_B FIRING_B 4936 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 4937 4938 ConditionState = FIRING_B 4939 Animation = AIRngr_SKL.AIRngr_ATBB 4940 AnimationMode = ONCE 4941 TransitionKey = TRANS_FiringB 4942 End 4943 4944 ConditionState = BETWEEN_FIRING_SHOTS_B 4945 Animation = AIRngr_SKL.AIRngr_ATBB 4946 AnimationMode = MANUAL 4947 Flags = START_FRAME_LAST 4948 TransitionKey = TRANS_FiringB 4949 WaitForStateToFinishIfPossible = TRANS_FiringB 4950 End 4951 AliasConditionState = RELOADING_B 4952 4953 TransitionState = TRANS_Stand TRANS_FiringB 4954 Animation = AIRngr_SKL.AIRngr_ATBST1 4955 AnimationMode = ONCE 4956 End 4957 4958 TransitionState = TRANS_FiringB TRANS_Stand 4959 Animation = AIRngr_SKL.AIRngr_ATBST2 4960 AnimationMode = ONCE 4961 End 4962 4963 ConditionState = PREATTACK_B REALLYDAMAGED 4964 Animation = AIRngr_SKL.AIRngr_ATB2A 4965 AnimationMode = ONCE 4966 TransitionKey = TRANS_FiringBInjured 4967 End 4968 AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED 4969 AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED 4970 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 4971 4972 ConditionState = FIRING_B REALLYDAMAGED 4973 Animation = AIRngr_SKL.AIRngr_ATB2B 4974 AnimationMode = ONCE 4975 TransitionKey = TRANS_FiringBInjured 4976 End 4977 4978 ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 4979 Animation = AIRngr_SKL.AIRngr_ATB2B 4980 AnimationMode = MANUAL 4981 Flags = START_FRAME_LAST 4982 TransitionKey = TRANS_FiringBInjured 4983 WaitForStateToFinishIfPossible = TRANS_FiringBInjured 4984 End 4985 AliasConditionState = RELOADING_B REALLYDAMAGED 4986 4987 TransitionState = TRANS_StandInjured TRANS_FiringBInjured 4988 Animation = AIRngr_SKL.AIRngr_ATB2ST1 4989 AnimationMode = ONCE 4990 End 4991 4992 TransitionState = TRANS_FiringBInjured TRANS_StandInjured 4993 Animation = AIRngr_SKL.AIRngr_ATB2ST2 4994 AnimationMode = ONCE 4995 End 4996 4997 ; -- cross-attack transitions 4998 4999 TransitionState = TRANS_FiringA TRANS_FiringB 5000 Animation = AIRngr_SKL.AIRngr_ATA2AB 5001 AnimationMode = ONCE 5002 AnimationSpeedFactorRange = 4 4 5003 End 5004 5005 TransitionState = TRANS_FiringB TRANS_FiringA 5006 Animation = AIRngr_SKL.AIRngr_ATA2AB 5007 AnimationMode = ONCE_BACKWARDS 5008 AnimationSpeedFactorRange = 4 4 5009 End 5010 5011 5012 ; --- moving 5013 ConditionState = MOVING 5014 Animation = AIRngr_SKL.AIRngr_RNA 30 5015 AnimationMode = LOOP 5016 Flags = RANDOMSTART 5017 TransitionKey = TRANS_Move 5018 ParticleSysBone = None InfantryDustTrails 5019 End 5020 AliasConditionState = MOVING ATTACKING 5021 5022 ConditionState = MOVING REALLYDAMAGED 5023 Animation = AIRngr_SKL.AIRngr_RNB 30 5024 AnimationMode = LOOP 5025 Flags = RANDOMSTART 5026 TransitionKey = TRANS_Move 5027 End 5028 AliasConditionState = MOVING REALLYDAMAGED ATTACKING 5029 5030 ; --- dying anims 5031 ConditionState = DYING 5032 Animation = AIRngr_SKL.AIRngr_DTA 5033 Animation = AIRngr_SKL.AIRngr_DTB 5034 AnimationMode = ONCE 5035 TransitionKey = None 5036 End 5037 5038 TransitionState = TRANS_Dying TRANS_Flailing 5039 Animation = AIRngr_SKL.AIRngr_ADTF1 5040 AnimationMode = ONCE 5041 End 5042 5043 ConditionState = DYING EXPLODED_FLAILING 5044 Animation = AIRngr_SKL.AIRngr_ADTF2 5045 AnimationMode = LOOP 5046 TransitionKey = TRANS_Flailing 5047 End 5048 5049 ConditionState = DYING EXPLODED_BOUNCING 5050 Animation = AIRngr_SKL.AIRngr_ADTF3 5051 AnimationMode = ONCE 5052 TransitionKey = None 5053 End 5054 AliasConditionState = DYING SPLATTED 5055 5056 ; --- cheering 5057 ConditionState = SPECIAL_CHEERING 5058 Animation = AIRngr_SKL.AIRngr_CHA 5059 AnimationMode = LOOP 5060 End 5061 5062 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 5063 Animation = AIRngr_SKL.AIRngr_CHB 5064 AnimationMode = LOOP 5065 End 5066 5067 ; ----- PARACHUTING ANIMATIONS 5068 ConditionState = FREEFALL 5069 Animation = AIRngr_SKL.AIRngr_PFL 5070 AnimationMode = LOOP 5071 TransitionKey = TRANS_Falling 5072 End 5073 AliasConditionState = FREEFALL REALLYDAMAGED 5074 AliasConditionState = FREEFALL DYING 5075 ConditionState = PARACHUTING 5076 Animation = AIRngr_SKL.AIRngr_PHG 5077 AnimationMode = LOOP 5078 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 5079 TransitionKey = TRANS_Chute 5080 End 5081 AliasConditionState = PARACHUTING REALLYDAMAGED 5082 AliasConditionState = PARACHUTING DYING 5083 TransitionState = TRANS_Falling TRANS_Chute 5084 Animation = AIRngr_SKL.AIRngr_POP 5085 AnimationMode = ONCE 5086 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 5087 End 5088 TransitionState = TRANS_Chute TRANS_Stand 5089 Animation = AIRngr_SKL.AIRngr_PTD 5090 AnimationMode = ONCE 5091 End 5092 TransitionState = TRANS_Chute TRANS_StandInjured 5093 Animation = AIRngr_SKL.AIRngr_PTD 5094 AnimationMode = ONCE 5095 End 5096 5097 ; ----- SURRENDER ANIMATIONS 5098 ; surrender is cut. sorry. (srj) 5099 ; ConditionState = SURRENDER 5100 ; Animation = AIRngr_SKL.AIRngr_SST 5101 ; AnimationMode = ONCE 5102 ; TransitionKey = TRANS_SurrenderKneeling 5103 ; End 5104 ; AliasConditionState = SURRENDER REALLYDAMAGED 5105 ; ConditionState = SURRENDER MOVING 5106 ; Animation = AIRngr_SKL.AIRngr_SWKB 5107 ; AnimationMode = ONCE 5108 ; TransitionKey = TRANS_SurrenderMoving 5109 ; End 5110 ; AliasConditionState = SURRENDER MOVING REALLYDAMAGED 5111 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 5112 ; Animation = AIRngr_SKL.AIRngr_SUR 5113 ; AnimationMode = ONCE 5114 ; End 5115 5116 ; ------- Bldg-capture 5117 5118 ConditionState = UNPACKING 5119 Model = AIRngr_F_SKN 5120 Animation = AIRngr_F_SKL.AIRngr_F_FDP1 5121 AnimationMode = ONCE 5122 End 5123 AliasConditionState = UNPACKING REALLYDAMAGED 5124 5125 5126 ConditionState = RAISING_FLAG 5127 Model = AIRngr_F_SKN 5128 Animation = AIRngr_F_SKL.AIRngr_F_FDP2 5129 AnimationMode = ONCE 5130 TransitionKey = TRANS_Raising 5131 End 5132 AliasConditionState = RAISING_FLAG REALLYDAMAGED 5133 5134 ConditionState = PACKING 5135 Model = AIRngr_F_SKN 5136 Animation = AIRngr_F_SKL.AIRngr_F_FDP1 5137 AnimationMode = ONCE_BACKWARDS 5138 Flags = START_FRAME_LAST 5139 TransitionKey = TRANS_Packing 5140 End 5141 AliasConditionState = PACKING REALLYDAMAGED 5142 5143 TransitionState = TRANS_Raising TRANS_Packing 5144 Model = AIRngr_F_SKN 5145 Animation = AIRngr_F_SKL.AIRngr_F_FDP2 5146 AnimationMode = ONCE_BACKWARDS 5147 Flags = START_FRAME_LAST 5148 End 5149 5150 ; --- RAPPELLING ANIMATIONS 5151 ConditionState = RAPPELLING 5152 Animation = AIRngr_SKL.AIRngr_RPL1 ;30 5153 AnimationMode = LOOP 5154 Flags = RANDOMSTART 5155 TransitionKey = TRANS_Rappelling 5156 End 5157 AliasConditionState = MOVING RAPPELLING 5158 5159 TransitionState = TRANS_Rappelling TRANS_Stand 5160 Animation = AIRngr_SKL.AIRngr_RPL2 5161 AnimationMode = ONCE 5162 End 5163 5164 TransitionState = TRANS_Rappelling TRANS_StandInjured 5165 Animation = AIRngr_SKL.AIRngr_RPL2 5166 AnimationMode = ONCE 5167 End 5168 5169 End 5170 5171 ; ***DESIGN parameters *** 5172 DisplayName = OBJECT:Ranger 5173 Side = America 5174 EditorSorting = INFANTRY 5175 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 5176 5177 WeaponSet 5178 Conditions = None 5179 Weapon = PRIMARY RangerAdvancedCombatRifle 5180 End 5181 WeaponSet 5182 Conditions = PLAYER_UPGRADE 5183 Weapon = PRIMARY RangerAdvancedCombatRifle 5184 Weapon = SECONDARY RangerFlashBangGrenadeWeapon 5185 AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 5186 AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI 5187 End 5188 ArmorSet 5189 Conditions = None 5190 Armor = HumanArmor 5191 DamageFX = InfantryDamageFX 5192 End 5193 5194 VisionRange = 100 5195 ShroudClearingRange = 400 5196 Prerequisites 5197 Object = AmericaBarracks 5198 End 5199 BuildCost = 225 5200 BuildTime = 5.0 ;in seconds 5201 5202 ExperienceValue = 20 20 40 60 ;Experience point value at each level 5203 ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level 5204 IsTrainable = Yes ;Can gain experience 5205 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 5206 CommandSet = AmericaInfantryRangerCommandSet 5207 5208 ; *** AUDIO Parameters *** 5209 VoiceSelect = RangerVoiceSelect 5210 VoiceMove = RangerVoiceMove 5211 VoiceGuard = RangerVoiceMove 5212 VoiceAttack = RangerVoiceAttack 5213 SoundDie = RangerVoiceDie 5214 VoiceFear = RangerVoiceFear 5215 ; surrender is cut. sorry. (srj) 5216 ; VoiceSurrender = RangerVoiceSurrender 5217 VoiceTaskComplete = RangerVoiceCaptureComplete 5218 5219 UnitSpecificSounds 5220 VoiceEnter = RangerVoiceMove 5221 VoiceEnterHostile = RangerVoiceMove 5222 VoiceGarrison = RangerVoiceGarrison 5223 VoiceCreate = RangerVoiceCreate 5224 VoiceSubdue = RangerVoiceSubdue 5225 VoiceClearBuilding = RangerVoiceClearBuilding 5226 VoiceGetHealed = RangerVoiceMove 5227 VoicePrimaryWeaponMode = RangerVoiceModeGun 5228 VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang 5229 End 5230 5231 UnitSpecificFX 5232 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 5233 CombatDropKillFX = FX_RangerCombatDropKill 5234 End 5235 5236 ; *** ENGINEERING Parameters *** 5237 RadarPriority = UNIT 5238 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE 5239 5240 Behavior = CommandButtonHuntUpdate ModuleTag_02 5241 End 5242 5243 Body = ActiveBody ModuleTag_03 5244 MaxHealth = 180.0 5245 InitialHealth = 180.0 5246 End 5247 5248 Behavior = ExperienceScalarUpgrade ModuleTag_04 5249 TriggeredBy = Upgrade_AmericaAdvancedTraining 5250 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 5251 End 5252 5253 Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 5254 ScanRate = 1000 ; once a second. 5255 ScanRange = 300 ; 5256 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 5257 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 5258 End 5259 5260 Behavior = AIUpdateInterface ModuleTag_06 5261 AutoAcquireEnemiesWhenIdle = Yes 5262 End 5263 Locomotor = SET_NORMAL BasicHumanLocomotor 5264 5265 Behavior = PhysicsBehavior ModuleTag_07 5266 Mass = 5.0 5267 End 5268 5269 Behavior = ProductionUpdate ModuleTag_08 5270 ; nothing 5271 End 5272 5273 Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit. 5274 End 5275 5276 Behavior = WeaponSetUpgrade ModuleTag_10 5277 TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade 5278 End 5279 5280 5281 ; --- begin Death modules --- 5282 Behavior = SlowDeathBehavior ModuleTag_Death01 5283 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 5284 SinkDelay = 3000 5285 SinkRate = 0.5 ; in Dist/Sec 5286 DestructionDelay = 8000 5287 FX = INITIAL FX_GIDie 5288 End 5289 Behavior = SlowDeathBehavior ModuleTag_Death02 5290 DeathTypes = NONE +CRUSHED +SPLATTED 5291 SinkDelay = 3000 5292 SinkRate = 0.5 ; in Dist/Sec 5293 DestructionDelay = 8000 5294 FX = INITIAL FX_GIDieCrushed 5295 End 5296 Behavior = SlowDeathBehavior ModuleTag_Death03 5297 DeathTypes = NONE +EXPLODED 5298 SinkDelay = 3000 5299 SinkRate = 0.5 ; in Dist/Sec 5300 DestructionDelay = 8000 5301 FX = INITIAL FX_GIDie 5302 FlingForce = 8 5303 FlingForceVariance = 3 5304 FlingPitch = 60 5305 FlingPitchVariance = 10 5306 End 5307 Behavior = SlowDeathBehavior ModuleTag_Death04 5308 DeathTypes = NONE +BURNED 5309 DestructionDelay = 0 5310 FX = INITIAL FX_GIDie 5311 OCL = INITIAL OCL_FlamingInfantry 5312 End 5313 Behavior = SlowDeathBehavior ModuleTag_Death05 5314 DeathTypes = NONE +POISONED 5315 DestructionDelay = 0 5316 FX = INITIAL FX_GIDie 5317 OCL = INITIAL OCL_ToxicInfantry 5318 End 5319 5320 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 5321 DeathTypes = NONE +POISONED_BETA 5322 DestructionDelay = 0 5323 FX = INITIAL FX_GIDie 5324 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 5325 End 5326 ; --- end Death modules --- 5327 5328 Behavior = SquishCollide ModuleTag_12 5329 ;nothing 5330 End 5331 5332 Behavior = PoisonedBehavior ModuleTag_17 5333 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 5334 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 5335 End 5336 5337 Behavior = SpecialAbility ModuleTag_18 5338 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 5339 UpdateModuleStartsAttack = Yes 5340 StartsPaused = Yes ; Unpaused by upgrade module 5341 InitiateSound = RangerVoiceCapture 5342 End 5343 Behavior = SpecialAbilityUpdate ModuleTag_19 5344 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 5345 StartAbilityRange = 5.0 5346 UnpackTime = 3000 ; (changing this will scale anim speed) 5347 PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) 5348 PackTime = 2000 ; (changing this will scale anim speed) 5349 DoCaptureFX = Yes 5350 AwardXPForTriggering = 15 5351 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 5352 End 5353 5354 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20 5355 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 5356 TriggeredBy = Upgrade_InfantryCaptureBuilding 5357 End 5358 5359 5360 Geometry = CYLINDER 5361 GeometryMajorRadius = 7.0 5362 GeometryMinorRadius = 7.0 5363 GeometryHeight = 13.0 5364 5365 GeometryIsSmall = Yes 5366 Shadow = SHADOW_DECAL 5367 ShadowSizeX = 14; 5368 ShadowSizeY = 14; 5369 ShadowTexture = ShadowI; 5370 BuildCompletion = APPEARS_AT_RALLY_POINT 5371 5372 End 5373 5374 ;------------------------------------------------------------------------------ 5375 Object AmericaInfantryMissileDefender 5376 5377 ; *** ART Parameters *** 5378 SelectPortrait = SAMissleDefender_L 5379 ButtonImage = SAMissleDefender 5380 5381 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 5382 ;UpgradeCameo2 = NONE 5383 ;UpgradeCameo3 = NONE 5384 ;UpgradeCameo4 = NONE 5385 ;UpgradeCameo5 = NONE 5386 5387 Draw = W3DModelDraw ModuleTag_01 5388 OkToChangeModelColor = Yes 5389 5390 ;***NOTE*** 5391 ;A little history -- the MissileDefender now uses the assets of the TankHunter. 5392 ;The TH uses assets of the GLA tunnel defender, and the TD uses assets of the NEW 5393 ;MD. It was a design/art/code decision because the new missile defender animations 5394 ;don't suit that of a mobile/offensive unit with packing and unpacking. 5395 5396 DefaultConditionState 5397 Model = NITHNT_SKN 5398 IdleAnimation = NITHNT_SKL.NITHNT_STA 0 30 5399 IdleAnimation = NITHNT_SKL.NITHNT_IDA 5400 IdleAnimation = NITHNT_SKL.NITHNT_IDB 5401 AnimationMode = ONCE 5402 AnimationSpeedFactorRange = 0.8 1.2 5403 TransitionKey = TRANS_Stand 5404 WeaponMuzzleFlash = PRIMARY MuzzleFX 5405 WeaponFireFXBone = PRIMARY Muzzle 5406 WeaponLaunchBone = PRIMARY Muzzle 5407 WeaponLaunchBone = SECONDARY Muzzle 5408 5409 End 5410 AliasConditionState = REALLYDAMAGED 5411 5412 ConditionState = FIRING_A 5413 Animation = NITHNT_SKL.NITHNT_ATA 5414 AnimationMode = ONCE 5415 TransitionKey = TRANS_START_FIRING 5416 End 5417 AliasConditionState = FIRING_A REALLYDAMAGED 5418 5419 ConditionState = BETWEEN_FIRING_SHOTS_A 5420 Animation = NITHNT_SKL.NITHNT_STA 5421 AnimationMode = ONCE 5422 ; this is basically a trick: this guy has a nontrivial animation for firing, 5423 ; and a long recycle time between shots. we want him to finish his fire animation 5424 ; (unless he's ordered to do something else), so this is just a handy trick that 5425 ; says, "if the previous state had this transition key, allow it to finish before 5426 ; switching to us, if possible". 5427 WaitForStateToFinishIfPossible = TRANS_START_FIRING 5428 End 5429 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 5430 5431 ConditionState = MOVING 5432 Animation = NITHNT_SKL.NITHNT_RNA 20 5433 AnimationMode = LOOP 5434 Flags = RANDOMSTART 5435 TransitionKey = None 5436 ParticleSysBone = None InfantryDustTrails 5437 End 5438 AliasConditionState = MOVING REALLYDAMAGED 5439 5440 ConditionState = RELOADING_A 5441 Animation = NITHNT_SKL.NITHNT_ATA 10 5442 AnimationMode = ONCE 5443 ;WeaponLaunchBone = PRIMARY WeaponA 5444 End 5445 AliasConditionState = MOVING RELOADING_A 5446 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 5447 5448 ConditionState = DYING 5449 Animation = NITHNT_SKL.NITHNT_DTA 5450 Animation = NITHNT_SKL.NITHNT_DTB 5451 AnimationSpeedFactorRange = 0.9 1.25 5452 AnimationMode = ONCE 5453 TransitionKey = TRANS_Dying 5454 End 5455 5456 TransitionState = TRANS_Dying TRANS_Flailing 5457 Animation = NITHNT_SKL.NITHNT_ADTA1 5458 AnimationMode = ONCE 5459 End 5460 5461 ConditionState = DYING EXPLODED_FLAILING 5462 Animation = NITHNT_SKL.NITHNT_ADTA2 5463 AnimationMode = LOOP 5464 TransitionKey = TRANS_Flailing 5465 End 5466 5467 ConditionState = DYING EXPLODED_BOUNCING 5468 Animation = NITHNT_SKL.NITHNT_ADTA3 5469 AnimationMode = ONCE 5470 TransitionKey = None 5471 End 5472 5473 ;PARACHUTING ANIMATIONS 5474 ConditionState = FREEFALL 5475 Animation = NITHNT_SKL.NITHNT_PFL 5476 AnimationMode = LOOP 5477 TransitionKey = TRANS_Falling 5478 End 5479 AliasConditionState = FREEFALL REALLYDAMAGED 5480 AliasConditionState = FREEFALL DYING 5481 5482 ConditionState = PARACHUTING 5483 Animation = NITHNT_SKL.NITHNT_PHG 5484 AnimationMode = LOOP 5485 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 5486 TransitionKey = TRANS_Chute 5487 End 5488 AliasConditionState = PARACHUTING REALLYDAMAGED 5489 AliasConditionState = PARACHUTING DYING 5490 5491 TransitionState = TRANS_Falling TRANS_Chute 5492 Animation = NITHNT_SKL.NITHNT_POP 5493 AnimationMode = ONCE 5494 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 5495 End 5496 5497 TransitionState = TRANS_Chute TRANS_Stand 5498 Animation = NITHNT_SKL.NITHNT_PTD 5499 AnimationMode = ONCE 5500 End 5501 5502 ;SURRENDER ANIMATIONS 5503 ; surrender is cut. sorry. (srj) 5504 ; ConditionState = SURRENDER 5505 ; Animation = NITHNT_SKL.NITHNT_SST 5506 ; AnimationMode = ONCE 5507 ; TransitionKey = TRANS_SurrenderKneeling 5508 ; End 5509 ; AliasConditionState = SURRENDER REALLYDAMAGED 5510 ; ;ConditionState = SURRENDER MOVING 5511 ; ; Animation = NITHNT_SKL.NITHNT_SWKB 5512 ; ; AnimationMode = ONCE 5513 ; ; TransitionKey = TRANS_SurrenderMoving 5514 ; ;End 5515 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 5516 ; Animation = NITHNT_SKL.NITHNT_SUR 5517 ; AnimationMode = ONCE 5518 ; End 5519 5520 End 5521 5522 ; ***DESIGN parameters *** 5523 DisplayName = OBJECT:MissileTeam 5524 Side = America 5525 EditorSorting = INFANTRY 5526 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 5527 5528 WeaponSet 5529 Conditions = None 5530 Weapon = PRIMARY MissileDefenderMissileWeapon 5531 Weapon = SECONDARY MissileDefenderLaserGuidedMissileWeapon ;Controlled by special ability 5532 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 5533 AutoChooseSources = SECONDARY NONE 5534 End 5535 ArmorSet 5536 Conditions = None 5537 Armor = HumanArmor 5538 DamageFX = InfantryDamageFX 5539 End 5540 5541 VisionRange = 150 5542 ShroudClearingRange = 300 5543 Prerequisites 5544 Object = AmericaBarracks 5545 5546 End 5547 BuildCost = 300 5548 BuildTime = 5.0 ;in seconds 5549 5550 ExperienceValue = 20 20 40 60 ;Experience point value at each level 5551 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 5552 IsTrainable = Yes ;Can gain experience 5553 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 5554 CommandSet = AmericaInfantryMissileDefenderCommandSet 5555 5556 ; *** AUDIO Parameters *** 5557 VoiceSelect = MissileDefenderVoiceSelect 5558 VoiceMove = MissileDefenderVoiceMove 5559 VoiceGuard = MissileDefenderVoiceMove 5560 VoiceAttack = MissileDefenderVoiceAttack 5561 VoiceAttackAir = MissileDefenderVoiceAttack 5562 SoundDie = MissileDefenderVoiceDie 5563 SoundDieFire = DieByFireUSA 5564 SoundDieToxin = DieByToxinUSA 5565 ; surrender is cut. sorry. (srj) 5566 ; VoiceSurrender = MissileDefenderVoiceSurrender 5567 VoiceFear = MissileDefenderVoiceFear 5568 5569 UnitSpecificSounds 5570 VoiceGarrison = MissileDefenderVoiceGarrison 5571 VoiceCreate = MissileDefenderVoiceCreate 5572 VoiceEnter = MissileDefenderVoiceMove 5573 VoiceGetHealed = MissileDefenderVoiceMove 5574 End 5575 5576 ; *** ENGINEERING Parameters *** 5577 RadarPriority = UNIT 5578 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE 5579 5580 Body = ActiveBody ModuleTag_02 5581 MaxHealth = 100.0 5582 InitialHealth = 100.0 5583 End 5584 5585 Behavior = ExperienceScalarUpgrade ModuleTag_03 5586 TriggeredBy = Upgrade_AmericaAdvancedTraining 5587 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 5588 End 5589 5590 Behavior = AIUpdateInterface ModuleTag_04 5591 AutoAcquireEnemiesWhenIdle = Yes 5592 End 5593 5594 Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 5595 ScanRate = 1000 ; once a second. 5596 ScanRange = 300 ; 5597 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 5598 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 5599 End 5600 5601 Locomotor = SET_NORMAL MissileDefenderLocomotor 5602 5603 Behavior = PhysicsBehavior ModuleTag_06 5604 Mass = 5.0 5605 End 5606 5607 Behavior = SpecialAbility ModuleTag_08 5608 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles 5609 UpdateModuleStartsAttack = Yes 5610 InitiateSound = MissileDefenderVoiceAttackLaser 5611 End 5612 Behavior = SpecialAbilityUpdate ModuleTag_09 5613 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles 5614 StartAbilityRange = 200.0 5615 AbilityAbortRange = 250.0 ;If the target moves outside this range, abort. 5616 PreparationTime = 1000 5617 PersistentPrepTime = 500 5618 SpecialObject = LaserBeam 5619 SpecialObjectAttachToBone = Muzzle01 5620 End 5621 5622 Behavior = SquishCollide ModuleTag_10 5623 ;nothing 5624 End 5625 5626 5627 ; --- begin Death modules --- 5628 Behavior = SlowDeathBehavior ModuleTag_Death01 5629 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 5630 SinkDelay = 3000 5631 SinkRate = 0.5 ; in Dist/Sec 5632 DestructionDelay = 8000 5633 FX = INITIAL FX_GIDie 5634 End 5635 Behavior = SlowDeathBehavior ModuleTag_Death02 5636 DeathTypes = NONE +CRUSHED +SPLATTED 5637 SinkDelay = 3000 5638 SinkRate = 0.5 ; in Dist/Sec 5639 DestructionDelay = 8000 5640 FX = INITIAL FX_GIDieCrushed 5641 End 5642 Behavior = SlowDeathBehavior ModuleTag_Death03 5643 DeathTypes = NONE +EXPLODED 5644 SinkDelay = 3000 5645 SinkRate = 0.5 ; in Dist/Sec 5646 DestructionDelay = 8000 5647 FX = INITIAL FX_GIDie 5648 FlingForce = 8 5649 FlingForceVariance = 3 5650 FlingPitch = 60 5651 FlingPitchVariance = 10 5652 End 5653 Behavior = SlowDeathBehavior ModuleTag_Death04 5654 DeathTypes = NONE +BURNED 5655 DestructionDelay = 0 5656 FX = INITIAL FX_GIDie 5657 OCL = INITIAL OCL_FlamingInfantry 5658 End 5659 Behavior = SlowDeathBehavior ModuleTag_Death05 5660 DeathTypes = NONE +POISONED 5661 DestructionDelay = 0 5662 FX = INITIAL FX_GIDie 5663 OCL = INITIAL OCL_ToxicInfantry 5664 End 5665 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 5666 DeathTypes = NONE +POISONED_BETA 5667 DestructionDelay = 0 5668 FX = INITIAL FX_GIDie 5669 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 5670 End 5671 ; --- end Death modules --- 5672 5673 Behavior = PoisonedBehavior ModuleTag_13 5674 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 5675 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 5676 End 5677 5678 Geometry = CYLINDER 5679 GeometryMajorRadius = 7.0 5680 GeometryMinorRadius = 7.0 5681 GeometryHeight = 12.0 5682 GeometryIsSmall = Yes 5683 Shadow = SHADOW_DECAL 5684 ShadowSizeX = 14; 5685 ShadowSizeY = 14; 5686 ShadowTexture = ShadowI; 5687 BuildCompletion = APPEARS_AT_RALLY_POINT 5688 5689 End 5690 5691 ;------------------------------------------------------------------------------ 5692 ; @todo -- this entire unit is "first pass only" and needs lots of specialization 5693 Object AmericaInfantryPilot 5694 5695 ; *** ART Parameters *** 5696 SelectPortrait = SAPilot_L 5697 ButtonImage = SAPilot 5698 5699 ;UpgradeCameo1 = NONE 5700 ;UpgradeCameo2 = NONE 5701 ;UpgradeCameo3 = NONE 5702 ;UpgradeCameo4 = NONE 5703 ;UpgradeCameo5 = NONE 5704 5705 Draw = W3DModelDraw ModuleTag_01 5706 OkToChangeModelColor = Yes 5707 5708 DefaultConditionState 5709 Model = AIRPlt_SKN 5710 IdleAnimation = AIRPlt_SKL.AIRPlt_STA 0 20 5711 IdleAnimation = AIRPlt_SKL.AIRPlt_IDA 5712 IdleAnimation = AIRPlt_SKL.AIRPlt_IDB 5713 AnimationMode = ONCE 5714 TransitionKey = TRANS_Stand 5715 End 5716 5717 ConditionState = FREEFALL 5718 Animation = AIRPlt_SKL.AIRPLT_PFL 5719 AnimationMode = ONCE 5720 TransitionKey = TRANS_Falling 5721 End 5722 AliasConditionState = FREEFALL DYING 5723 5724 ConditionState = PARACHUTING 5725 Animation = AIRPlt_SKL.AIRPlt_PHG 5726 AnimationMode = LOOP 5727 TransitionKey = TRANS_Chute 5728 WaitForStateToFinishIfPossible = TRANS_Falling 5729 End 5730 AliasConditionState = PARACHUTING DYING 5731 5732 ConditionState = MOVING 5733 Animation = AIRPlt_SKL.AIRPlt_RNA 5734 AnimationMode = LOOP 5735 TransitionKey = TRANS_Stand 5736 ParticleSysBone = None InfantryDustTrails 5737 End 5738 5739 5740 ConditionState = DYING 5741 Animation = AIRPlt_SKL.AIRPlt_DTA 5742 Animation = AIRPlt_SKL.AIRPlt_DTB 5743 AnimationMode = ONCE 5744 TransitionKey = TRANS_Dying 5745 End 5746 5747 TransitionState = TRANS_Dying TRANS_Flailing 5748 Animation = AIRPlt_SKL.AIRPlt_ADTE1 5749 AnimationMode = ONCE 5750 End 5751 5752 ConditionState = DYING EXPLODED_FLAILING 5753 Animation = AIRPlt_SKL.AIRPlt_ADTE2 5754 AnimationMode = LOOP 5755 TransitionKey = TRANS_Flailing 5756 End 5757 5758 ConditionState = DYING EXPLODED_BOUNCING 5759 Animation = AIRPlt_SKL.AIRPlt_ADTE3 5760 AnimationMode = ONCE 5761 TransitionKey = None 5762 End 5763 5764 ConditionState = SPECIAL_CHEERING 5765 Animation = AIRPLT_SKL.AIRPLT_CHA 5766 AnimationMode = LOOP 5767 End 5768 5769 ; surrender is cut. sorry. (srj) 5770 ; ConditionState = SURRENDER 5771 ; Animation = AIRPLT_SKL.AIRPLT_SST 5772 ; AnimationMode = ONCE 5773 ; TransitionKey = TRANS_SurrenderKneeling 5774 ; End 5775 ; ;@TODO -- MISSING ANIMATION FILE 5776 ; ;ConditionState = SURRENDER MOVING 5777 ; ; Animation = AIRPLT_SKL.AIRPLT_SWKB 5778 ; ; AnimationMode = ONCE 5779 ; ; TransitionKey = TRANS_SurrenderMoving 5780 ; ;End 5781 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 5782 ; Animation = AIRPLT_SKL.AIRPLT_SUR 5783 ; AnimationMode = ONCE 5784 ; End 5785 ; TransitionState = TRANS_SurrenderKneeling TRANS_Stand 5786 ; Animation = AIRPLT_SKL.AIRPLT_SURX 5787 ; AnimationMode = ONCE 5788 ; End 5789 5790 ;@TODO -- MISSING ANIMATION FILE 5791 ;TransitionState = TRANS_Falling TRANS_Chute 5792 ; Animation = AIRPLT_SKL.AIRPLT_POP 5793 ; AnimationMode = ONCE 5794 ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 5795 ;End 5796 5797 TransitionState = TRANS_Chute TRANS_Stand 5798 Animation = AIRPlt_SKL.AIRPlt_PTD 5799 AnimationMode = ONCE 5800 End 5801 5802 End 5803 5804 ; ***DESIGN parameters *** 5805 DisplayName = OBJECT:Pilot 5806 Side = America 5807 EditorSorting = INFANTRY 5808 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 5809 ExperienceValue = 10 10 10 10 ;Experience point value at each level 5810 ExperienceRequired = 0 1 2 3 ;Experience points needed to gain each level 5811 IsTrainable = Yes ;Can gain experience 5812 CommandSet = AmericaInfantryPilotCommandSet 5813 5814 ArmorSet 5815 Conditions = None 5816 Armor = HumanArmor 5817 DamageFX = InfantryDamageFX 5818 End 5819 5820 VisionRange = 150 5821 ShroudClearingRange = 300 5822 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 5823 5824 ; *** AUDIO Parameters *** 5825 VoiceSelect = PilotVoiceSelect 5826 VoiceMove = PilotVoiceMove 5827 VoiceAttack = PilotVoiceMove 5828 SoundDie = PilotVoiceDie 5829 SoundDieFire = DieByFireUSA 5830 SoundDieToxin = DieByToxinUSA 5831 VoiceGarrison = PilotVoiceGarrison 5832 ; surrender is cut. sorry. (srj) 5833 ; VoiceSurrender = PilotVoiceSurrender 5834 VoiceFear = PilotVoiceFear 5835 UnitSpecificSounds 5836 VoiceEnter = PilotVoiceEnter 5837 VoiceEnterHostile = PilotVoiceEnter 5838 VoiceGetHealed = PilotVoiceMove 5839 End 5840 5841 ; *** ENGINEERING Parameters *** 5842 RadarPriority = UNIT 5843 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE IGNORES_SELECT_ALL 5844 5845 Behavior = VeterancyGainCreate ModuleTag_02 5846 ; omit the "ScienceRequired" so that this upgrade always occurs. 5847 ; Pilots should never (repeat, never) be less than VETERAN status. 5848 StartingLevel = VETERAN 5849 End 5850 5851 Behavior = VeterancyCrateCollide ModuleTag_03 5852 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with 5853 ForbiddenKindOf = DOZER ; but not to TRANSPORTs or DOZERs! 5854 EffectRange = 0 ; 0=="affect only the thing you collide with" 5855 AddsOwnerVeterancy = Yes ; we add our own veterancy to the target (rather than just +1 level) 5856 IsPilot = Yes ; set the pilot flag because it's different than the veterancy crate and has extra checking 5857 End 5858 5859 Body = ActiveBody ModuleTag_04 5860 MaxHealth = 100.0 5861 InitialHealth = 100.0 5862 End 5863 5864 Behavior = AIUpdateInterface ModuleTag_05 5865 AutoAcquireEnemiesWhenIdle = Yes 5866 End 5867 5868 Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba 5869 ScanRate = 1000 ; once a second. 5870 ScanRange = 300 ; 5871 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 5872 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 5873 End 5874 5875 Behavior = PilotFindVehicleUpdate ModuleTag_07 ; This update will have the unit go to a vehicle. jba 5876 ScanRate = 1000 ; once a second. 5877 ScanRange = 300 ; 5878 MinHealth = 0.5 ; don't enter a vehicle less than 50% healthy. 5879 End 5880 5881 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor 5882 Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25 5883 5884 Behavior = PhysicsBehavior ModuleTag_08 5885 Mass = 5.0 5886 End 5887 5888 Behavior = LocomotorSetUpgrade ModuleTag_10 5889 TriggeredBy = Upgrade_Veterancy_HEROIC 5890 End 5891 5892 Behavior = SquishCollide ModuleTag_11 5893 ;nothing 5894 End 5895 5896 5897 ; --- begin Death modules --- 5898 Behavior = SlowDeathBehavior ModuleTag_Death01 5899 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 5900 SinkDelay = 3000 5901 SinkRate = 0.5 ; in Dist/Sec 5902 DestructionDelay = 8000 5903 FX = INITIAL FX_GIDie 5904 End 5905 Behavior = SlowDeathBehavior ModuleTag_Death02 5906 DeathTypes = NONE +CRUSHED +SPLATTED 5907 SinkDelay = 3000 5908 SinkRate = 0.5 ; in Dist/Sec 5909 DestructionDelay = 8000 5910 FX = INITIAL FX_GIDieCrushed 5911 End 5912 Behavior = SlowDeathBehavior ModuleTag_Death03 5913 DeathTypes = NONE +EXPLODED 5914 SinkDelay = 3000 5915 SinkRate = 0.5 ; in Dist/Sec 5916 DestructionDelay = 8000 5917 FX = INITIAL FX_GIDie 5918 FlingForce = 8 5919 FlingForceVariance = 3 5920 FlingPitch = 60 5921 FlingPitchVariance = 10 5922 End 5923 Behavior = SlowDeathBehavior ModuleTag_Death04 5924 DeathTypes = NONE +BURNED 5925 DestructionDelay = 0 5926 FX = INITIAL FX_GIDie 5927 OCL = INITIAL OCL_FlamingInfantry 5928 End 5929 Behavior = SlowDeathBehavior ModuleTag_Death05 5930 DeathTypes = NONE +POISONED 5931 DestructionDelay = 0 5932 FX = INITIAL FX_GIDie 5933 OCL = INITIAL OCL_ToxicInfantry 5934 End 5935 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 5936 DeathTypes = NONE +POISONED_BETA 5937 DestructionDelay = 0 5938 FX = INITIAL FX_GIDie 5939 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 5940 End 5941 ; --- end Death modules --- 5942 5943 Behavior = PoisonedBehavior ModuleTag_14 5944 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 5945 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 5946 End 5947 5948 Geometry = CYLINDER 5949 GeometryMajorRadius = 10.0 5950 GeometryMinorRadius = 10.0 5951 GeometryHeight = 12.0 5952 GeometryIsSmall = Yes 5953 Shadow = SHADOW_DECAL 5954 ShadowSizeX = 14; 5955 ShadowSizeY = 14; 5956 ShadowTexture = ShadowI; 5957 BuildCompletion = APPEARS_AT_RALLY_POINT 5958 5959 End 5960 5961 ;------------------------------------------------------------------------------ 5962 Object AmericaInfantryPathfinder 5963 5964 ; *** ART Parameters *** 5965 SelectPortrait = SAPathfinder1_L 5966 ButtonImage = SAPathfinder1 5967 5968 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 5969 ;UpgradeCameo2 = NONE 5970 ;UpgradeCameo3 = NONE 5971 ;UpgradeCameo4 = NONE 5972 ;UpgradeCameo5 = NONE 5973 5974 Draw = W3DModelDraw ModuleTag_01 5975 5976 OkToChangeModelColor = Yes 5977 5978 DefaultConditionState 5979 Model = AIPFDR_SKN 5980 IdleAnimation = AIPFDR_SKL.AIPFDR_STA 5981 IdleAnimation = AIPFDR_SKL.AIPFDR_IDA 5982 AnimationMode = ONCE 5983 WeaponFireFXBone = PRIMARY Muzzle 5984 WeaponMuzzleFlash = PRIMARY MuzzleFX 5985 TransitionKey = TRANS_Standing 5986 End 5987 AliasConditionState = REALLYDAMAGED 5988 5989 ConditionState = MOVING 5990 Animation = AIPFDR_SKL.AIPFDR_RNA 25 5991 AnimationMode = LOOP 5992 Flags = RANDOMSTART 5993 TransitionKey = TRANS_Standing 5994 ParticleSysBone = None InfantryDustTrails 5995 End 5996 AliasConditionState = MOVING REALLYDAMAGED 5997 5998 ConditionState = FIRING_A 5999 Animation = AIPFDR_SKL.AIPFDR_ATB ; recoil in standing position 6000 AnimationMode = ONCE 6001 TransitionKey = TRANS_FiringA 6002 End 6003 AliasConditionState = FIRING_A MOVING 6004 AliasConditionState = FIRING_A MOVING REALLYDAMAGED 6005 AliasConditionState = FIRING_A REALLYDAMAGED 6006 6007 ConditionState = BETWEEN_FIRING_SHOTS_A 6008 Animation = AIPFDR_SKL.AIPFDR_ATBST ; motionless in standing position 6009 AnimationMode = ONCE 6010 WaitForStateToFinishIfPossible = TRANS_FiringA 6011 End 6012 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 6013 AliasConditionState = RELOADING_A 6014 AliasConditionState = RELOADING_A REALLYDAMAGED 6015 6016 ConditionState = DYING 6017 Animation = AIPFDR_SKL.AIPFDR_DTA 6018 AnimationMode = ONCE 6019 TransitionKey = TRANS_Dying 6020 End 6021 6022 TransitionState = TRANS_Dying TRANS_Flailing 6023 Animation = AIPFDR_SKL.AIPFDR_ADTA1 6024 AnimationMode = ONCE 6025 End 6026 6027 ConditionState = DYING EXPLODED_FLAILING 6028 Animation = AIPFDR_SKL.AIPFDR_ADTA2 6029 AnimationMode = LOOP 6030 TransitionKey = TRANS_Flailing 6031 End 6032 6033 ConditionState = DYING EXPLODED_BOUNCING 6034 Animation = AIPFDR_SKL.AIPFDR_ADTA3 6035 AnimationMode = ONCE 6036 TransitionKey = None 6037 End 6038 6039 ConditionState = FREEFALL 6040 Animation = AIPFDR_SKL.AIPFDR_PFL 6041 AnimationMode = LOOP 6042 TransitionKey = TRANS_Falling 6043 End 6044 AliasConditionState = FREEFALL DYING 6045 6046 ConditionState = PARACHUTING 6047 Animation = AIPFDR_SKL.AIPFDR_PHG 6048 AnimationMode = LOOP 6049 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME 6050 ;our bone positions should come from the last frame, rather than the first 6051 TransitionKey = TRANS_Chute 6052 End 6053 AliasConditionState = PARACHUTING DYING 6054 6055 6056 TransitionState = TRANS_Falling TRANS_Chute 6057 Animation = AIPFDR_SKL.AIPFDR_POP 6058 AnimationMode = ONCE 6059 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME 6060 ;our bone positions should come from the last frame, rather than the first 6061 End 6062 6063 TransitionState = TRANS_Chute TRANS_Standing 6064 Animation = AIPFDR_SKL.AIPFDR_PTD 6065 AnimationMode = ONCE 6066 End 6067 End 6068 6069 6070 ; ***DESIGN parameters *** 6071 DisplayName = OBJECT:Pathfinder 6072 Side = America 6073 EditorSorting = INFANTRY 6074 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 6075 6076 WeaponSet 6077 Conditions = None 6078 Weapon = PRIMARY USAPathfinderSniperRifle 6079 End 6080 ArmorSet 6081 Conditions = None 6082 Armor = HumanArmor 6083 DamageFX = InfantryDamageFX 6084 End 6085 6086 VisionRange = 200 6087 ShroudClearingRange = 400 6088 Prerequisites 6089 Object = AmericaBarracks 6090 Science = SCIENCE_Pathfinder 6091 End 6092 BuildCost = 600 6093 BuildTime = 10.0 ;in seconds 6094 6095 ExperienceValue = 40 40 60 80 ;Experience point value at each level 6096 ExperienceRequired = 0 50 100 200 ;Experience points needed to gain each level 6097 IsTrainable = Yes ;Can gain experience 6098 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 6099 CommandSet = AmericaInfantryPathfinderCommandSet 6100 6101 ; *** AUDIO Parameters *** 6102 VoiceSelect = PathfinderVoiceSelect 6103 VoiceMove = PathfinderVoiceMove 6104 VoiceGuard = PathfinderVoiceMove 6105 VoiceAttack = PathfinderVoiceAttack 6106 SoundDie = PathfinderVoiceDie 6107 SoundDieFire = DieByFireUSA 6108 SoundDieToxin = DieByToxinUSA 6109 VoiceFear = PathfinderVoiceFear 6110 ; surrender is cut. sorry. (srj) 6111 ; VoiceSurrender = PathfinderVoiceSurrender 6112 SoundStealthOn = StealthOn 6113 SoundStealthOff = StealthOff 6114 VoiceFear = PathfinderVoiceFear 6115 6116 UnitSpecificSounds 6117 VoiceCreate = PathfinderVoiceCreate 6118 VoiceGarrison = PathfinderVoiceGarrison 6119 VoiceEnter = PathfinderVoiceMove 6120 VoiceEnterHostile = PathfinderVoiceMove 6121 VoiceGetHealed = PathfinderVoiceMove 6122 End 6123 6124 ; *** ENGINEERING Parameters *** 6125 RadarPriority = UNIT 6126 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE 6127 6128 Body = ActiveBody ModuleTag_02 6129 MaxHealth = 120.0 6130 InitialHealth = 120.0 6131 End 6132 6133 Behavior = AIUpdateInterface ModuleTag_03 6134 AutoAcquireEnemiesWhenIdle = Yes Stealthed 6135 MoodAttackCheckRate = 250 6136 End 6137 6138 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 6139 ScanRate = 1000 ; once a second. 6140 ScanRange = 300 ; 6141 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 6142 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 6143 End 6144 6145 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor 6146 6147 Behavior = ExperienceScalarUpgrade ModuleTag_05 6148 TriggeredBy = Upgrade_AmericaAdvancedTraining 6149 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 6150 End 6151 6152 Behavior = PhysicsBehavior ModuleTag_06 6153 Mass = 5.0 6154 End 6155 Behavior = StealthDetectorUpdate ModuleTag_08 6156 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 6157 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 6158 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 6159 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 6160 End 6161 Behavior = StealthUpdate ModuleTag_09 6162 StealthDelay = 0 ; msec 6163 StealthForbiddenConditions = MOVING ; stays stealthy while attacking 6164 FriendlyOpacityMin = 30.0% 6165 FriendlyOpacityMax = 80.0% 6166 PulseFrequency = 500 ; msec 6167 MoveThresholdSpeed = 3 6168 InnateStealth = Yes 6169 OrderIdleEnemiesToAttackMeUponReveal = Yes 6170 End 6171 6172 Behavior = SquishCollide ModuleTag_10 6173 ;nothing 6174 End 6175 6176 6177 ; --- begin Death modules --- 6178 Behavior = SlowDeathBehavior ModuleTag_Death01 6179 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 6180 SinkDelay = 3000 6181 SinkRate = 0.5 ; in Dist/Sec 6182 DestructionDelay = 8000 6183 FX = INITIAL FX_GIDie 6184 End 6185 Behavior = SlowDeathBehavior ModuleTag_Death02 6186 DeathTypes = NONE +CRUSHED +SPLATTED 6187 SinkDelay = 3000 6188 SinkRate = 0.5 ; in Dist/Sec 6189 DestructionDelay = 8000 6190 FX = INITIAL FX_GIDieCrushed 6191 End 6192 Behavior = SlowDeathBehavior ModuleTag_Death03 6193 DeathTypes = NONE +EXPLODED 6194 SinkDelay = 3000 6195 SinkRate = 0.5 ; in Dist/Sec 6196 DestructionDelay = 8000 6197 FX = INITIAL FX_GIDie 6198 FlingForce = 8 6199 FlingForceVariance = 3 6200 FlingPitch = 60 6201 FlingPitchVariance = 10 6202 End 6203 Behavior = SlowDeathBehavior ModuleTag_Death04 6204 DeathTypes = NONE +BURNED 6205 DestructionDelay = 0 6206 FX = INITIAL FX_GIDie 6207 OCL = INITIAL OCL_FlamingInfantry 6208 End 6209 Behavior = SlowDeathBehavior ModuleTag_Death05 6210 DeathTypes = NONE +POISONED 6211 DestructionDelay = 0 6212 FX = INITIAL FX_GIDie 6213 OCL = INITIAL OCL_ToxicInfantry 6214 End 6215 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 6216 DeathTypes = NONE +POISONED_BETA 6217 DestructionDelay = 0 6218 FX = INITIAL FX_GIDie 6219 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 6220 End 6221 ; --- end Death modules --- 6222 6223 Behavior = PoisonedBehavior ModuleTag_13 6224 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 6225 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 6226 End 6227 6228 Geometry = CYLINDER 6229 GeometryMajorRadius = 10.0 6230 GeometryMinorRadius = 10.0 6231 GeometryHeight = 12.0 6232 GeometryIsSmall = Yes 6233 Shadow = SHADOW_DECAL 6234 ShadowSizeX = 14; 6235 ShadowSizeY = 14; 6236 ShadowTexture = ShadowI; 6237 BuildCompletion = APPEARS_AT_RALLY_POINT 6238 6239 End 6240 6241 ;------------------------------------------------------------------------------ 6242 Object GLAInfantryRebel 6243 6244 ; *** ART Parameters *** 6245 SelectPortrait = SURebel_L 6246 ButtonImage = SURebel 6247 6248 UpgradeCameo1 = Upgrade_GLAAPBullets 6249 UpgradeCameo2 = Upgrade_GLACamouflage 6250 UpgradeCameo3 = Upgrade_InfantryCaptureBuilding 6251 ;UpgradeCameo4 = NONE 6252 ;UpgradeCameo5 = NONE 6253 6254 Draw = W3DModelDraw ModuleTag_01 6255 6256 OkToChangeModelColor = Yes 6257 6258 ; this says "we don't use these condition states at all, so completely 6259 ; ignore them for purposes of matchmaking"... this is useful to help 6260 ; reduce the number of AliasConditionState clauses you must add in 6261 ; order to avoid ambiguity in some cases. 6262 IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A 6263 6264 ; ---- standing 6265 DefaultConditionState 6266 Model = UIRGrd_SKN 6267 IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35 6268 IdleAnimation = UIRGrd_SKL.UIRGrd_IDA 6269 IdleAnimation = UIRGrd_SKL.UIRGrd_IDB 6270 AnimationMode = ONCE 6271 WeaponFireFXBone = PRIMARY Muzzle 6272 WeaponMuzzleFlash = PRIMARY MuzzleFX 6273 TransitionKey = TRANS_Standing 6274 End 6275 6276 ConditionState = REALLYDAMAGED 6277 IdleAnimation = UIRGrd_SKL.UIRGrd_STB 0 35 6278 IdleAnimation = UIRGrd_SKL.UIRGrd_IDC 6279 IdleAnimation = UIRGrd_SKL.UIRGrd_IDD 6280 AnimationMode = ONCE 6281 TransitionKey = TRANS_StandingHurt 6282 End 6283 6284 ; ---- moving 6285 ConditionState = MOVING 6286 Animation = UIRGrd_SKL.UIRGrd_RNA 15 6287 AnimationMode = LOOP 6288 TransitionKey = TRANS_Walking 6289 ParticleSysBone = None InfantryDustTrails 6290 End 6291 AliasConditionState = MOVING ATTACKING 6292 6293 ConditionState = MOVING REALLYDAMAGED 6294 Animation = UIRGrd_SKL.UIRGrd_RNB 25 6295 AnimationMode = LOOP 6296 TransitionKey = TRANS_WalkingHurt 6297 ParticleSysBone = None InfantryDustTrails 6298 End 6299 AliasConditionState = MOVING ATTACKING REALLYDAMAGED 6300 6301 ; ---- dying 6302 ConditionState = DYING 6303 Animation = UIRGrd_SKL.UIRGrd_DTA 6304 Animation = UIRGrd_SKL.UIRGrd_DTB 6305 AnimationMode = ONCE 6306 TransitionKey = TRANS_Dying 6307 End 6308 6309 TransitionState = TRANS_Dying TRANS_Flailing 6310 Animation = UIRGrd_SKL.UIRGrd_ADTE1 6311 AnimationMode = ONCE 6312 End 6313 6314 ConditionState = DYING EXPLODED_FLAILING 6315 Animation = UIRGrd_SKL.UIRGrd_ADTE2 6316 AnimationMode = LOOP 6317 TransitionKey = TRANS_Flailing 6318 End 6319 6320 ConditionState = DYING EXPLODED_BOUNCING 6321 Animation = UIRGrd_SKL.UIRGrd_ADTE3 6322 AnimationMode = ONCE 6323 TransitionKey = None 6324 End 6325 6326 ConditionState = SPECIAL_CHEERING 6327 Animation = UIRGrd_SKL.UIRGrd_IDB 6328 End 6329 6330 ; ---- firing 6331 ConditionState = USING_WEAPON_A 6332 Animation = UIRGrd_SKL.UIRGrd_ATA 6333 AnimationMode = LOOP 6334 TransitionKey = TRANS_Firing 6335 End 6336 6337 ConditionState = USING_WEAPON_A REALLYDAMAGED 6338 Animation = UIRGrd_SKL.UIRGrd_ATA2 6339 AnimationMode = LOOP 6340 TransitionKey = TRANS_FiringHurt 6341 End 6342 6343 TransitionState = TRANS_Standing TRANS_Firing 6344 Animation = UIRGrd_SKL.UIRGrd_ATAST 6345 AnimationMode = ONCE 6346 End 6347 6348 TransitionState = TRANS_Firing TRANS_Standing 6349 Animation = UIRGrd_SKL.UIRGrd_ATAED 6350 AnimationMode = ONCE 6351 End 6352 6353 TransitionState = TRANS_StandingHurt TRANS_FiringHurt 6354 Animation = UIRGrd_SKL.UIRGrd_ATA2ED 6355 AnimationMode = ONCE_BACKWARDS 6356 End 6357 6358 TransitionState = TRANS_FiringHurt TRANS_StandingHurt 6359 Animation = UIRGrd_SKL.UIRGrd_ATA2ED 6360 AnimationMode = ONCE 6361 End 6362 6363 TransitionState = TRANS_Standing TRANS_StandingHurt 6364 Animation = UIRGrd_SKL.UIRGrd_ATA2ED 6365 AnimationMode = ONCE 6366 End 6367 6368 6369 6370 ; ------- Bldg-capture 6371 6372 ConditionState = UNPACKING 6373 Model = UIRGrd_F_SKN 6374 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 6375 AnimationMode = ONCE 6376 End 6377 AliasConditionState = UNPACKING REALLYDAMAGED 6378 6379 ConditionState = RAISING_FLAG 6380 Model = UIRGrd_F_SKN 6381 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 6382 AnimationMode = ONCE 6383 TransitionKey = TRANS_Raising 6384 End 6385 AliasConditionState = RAISING_FLAG REALLYDAMAGED 6386 6387 ConditionState = PACKING 6388 Model = UIRGrd_F_SKN 6389 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 6390 AnimationMode = ONCE_BACKWARDS 6391 Flags = START_FRAME_LAST 6392 TransitionKey = TRANS_Packing 6393 End 6394 AliasConditionState = PACKING REALLYDAMAGED 6395 6396 TransitionState = TRANS_Raising TRANS_Packing 6397 Model = UIRGrd_F_SKN 6398 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 6399 AnimationMode = ONCE_BACKWARDS 6400 Flags = START_FRAME_LAST 6401 End 6402 6403 ; ------- Surrender 6404 6405 ;ConditionState = SURRENDER 6406 ; Animation = UIRGrd_SKL.UIRGrd_SST 6407 ; AnimationMode = ONCE 6408 ; TransitionKey = TRANS_Surrendered 6409 ;End 6410 ;ConditionState = SURRENDER MOVING 6411 ; Animation = UIRGrd_SKL.UIRGrd_RNA 6412 ; AnimationMode = ONCE 6413 ; TransitionKey = TRANS_Surrendered 6414 ;End 6415 ;TransitionState = TRANS_Standing TRANS_Surrendered 6416 ; Animation = UIRGrd_SKL.UIRGrd_SUR 6417 ; AnimationMode = ONCE 6418 ;End 6419 ;ConditionState = SURRENDER REALLYDAMAGED 6420 ; Animation = UIRGrd_SKL.UIRGrd_SSTB 6421 ; AnimationMode = ONCE 6422 ; TransitionKey = TRANS_SurrenderedHurt 6423 ;End 6424 ;ConditionState = SURRENDER MOVING REALLYDAMAGED 6425 ; Animation = UIRGrd_SKL.UIRGrd_RNB 6426 ; AnimationMode = ONCE 6427 ; TransitionKey = TRANS_SurrenderedHurt 6428 ;End 6429 ;TransitionState = TRANS_StandingHurt TRANS_SurrenderedHurt 6430 ; Animation = UIRGrd_SKL.UIRGrd_SURB 6431 ; AnimationMode = ONCE 6432 ;End 6433 6434 End 6435 6436 ; ***DESIGN parameters *** 6437 DisplayName = OBJECT:Rebel 6438 Side = GLA 6439 EditorSorting = INFANTRY 6440 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 6441 6442 WeaponSet 6443 Conditions = None 6444 Weapon = PRIMARY GLARebelMachineGun 6445 End 6446 WeaponSet 6447 Conditions = PLAYER_UPGRADE 6448 Weapon = PRIMARY GLARebelMachineGun 6449 Weapon = SECONDARY GLARebelTranqDartsWeapon 6450 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 6451 AutoChooseSources = SECONDARY NONE 6452 End 6453 6454 ArmorSet 6455 Conditions = None 6456 Armor = HumanArmor 6457 DamageFX = InfantryDamageFX 6458 End 6459 VisionRange = 150 6460 ShroudClearingRange = 300 6461 Prerequisites 6462 Object = GLABarracks 6463 End 6464 BuildCost = 150 6465 BuildTime = 5.0 ;in seconds 6466 6467 ExperienceValue = 15 15 30 40 ;Experience point value at each level 6468 ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level 6469 IsTrainable = Yes ;Can gain experience 6470 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 6471 CommandSet = GLAInfantryRebelCommandSet 6472 6473 ; *** AUDIO Parameters *** 6474 VoiceSelect = RebelVoiceSelect 6475 VoiceMove = RebelVoiceMove 6476 VoiceGuard = RebelVoiceMove 6477 VoiceAttack = RebelVoiceAttack 6478 SoundDie = RebelVoiceDie 6479 SoundDieFire = DieByFireGLA 6480 SoundDieToxin = DieByToxinGLA 6481 SoundStealthOn = StealthOn 6482 SoundStealthOff = StealthOff 6483 ; surrender is cut. sorry. (srj) 6484 ; VoiceSurrender = RebelVoiceSurrender 6485 VoiceFear = RebelVoiceFear 6486 VoiceTaskComplete = RebelVoiceCaptureComplete 6487 UnitSpecificSounds 6488 VoiceCreate = RebelVoiceCreate 6489 VoiceSubdue = RebelVoiceSubdue 6490 VoiceGarrison = RebelVoiceGarrison 6491 VoiceEnter = RebelVoiceMove 6492 VoiceEnterHostile = RebelVoiceMove 6493 VoiceGetHealed = RebelVoiceMove 6494 End 6495 6496 ; *** ENGINEERING Parameters *** 6497 RadarPriority = UNIT 6498 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 6499 6500 Body = ActiveBody ModuleTag_02 6501 MaxHealth = 120.0 6502 InitialHealth = 120.0 6503 End 6504 6505 Behavior = AIUpdateInterface ModuleTag_03 6506 AutoAcquireEnemiesWhenIdle = Yes 6507 End 6508 6509 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 6510 End 6511 6512 Locomotor = SET_NORMAL BasicHumanLocomotor 6513 6514 Behavior = PhysicsBehavior ModuleTag_05 6515 Mass = 5.0 6516 End 6517 Behavior = StealthUpdate ModuleTag_07 6518 StealthDelay = 2500 ; msec 6519 StealthForbiddenConditions = ATTACKING USING_ABILITY 6520 MoveThresholdSpeed = 3 6521 InnateStealth = No ;Requires upgrade first 6522 OrderIdleEnemiesToAttackMeUponReveal = Yes 6523 End 6524 6525 Behavior = WeaponSetUpgrade ModuleTag_08 6526 TriggeredBy = Upgrade_GLATranqDarts 6527 End 6528 Behavior = WeaponBonusUpgrade ModuleTag_09 6529 TriggeredBy = Upgrade_GLAAPBullets 6530 End 6531 Behavior = StealthUpgrade ModuleTag_10 6532 TriggeredBy = Upgrade_GLACamouflage 6533 End 6534 6535 6536 Behavior = SquishCollide ModuleTag_11 6537 ;nothing 6538 End 6539 6540 6541 ; --- begin Death modules --- 6542 Behavior = SlowDeathBehavior ModuleTag_Death01 6543 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 6544 SinkDelay = 3000 6545 SinkRate = 0.5 ; in Dist/Sec 6546 DestructionDelay = 8000 6547 FX = INITIAL FX_GIDie 6548 End 6549 Behavior = SlowDeathBehavior ModuleTag_Death02 6550 DeathTypes = NONE +CRUSHED +SPLATTED 6551 SinkDelay = 3000 6552 SinkRate = 0.5 ; in Dist/Sec 6553 DestructionDelay = 8000 6554 FX = INITIAL FX_GIDieCrushed 6555 End 6556 Behavior = SlowDeathBehavior ModuleTag_Death03 6557 DeathTypes = NONE +EXPLODED 6558 SinkDelay = 3000 6559 SinkRate = 0.5 ; in Dist/Sec 6560 DestructionDelay = 8000 6561 FX = INITIAL FX_GIDie 6562 FlingForce = 8 6563 FlingForceVariance = 3 6564 FlingPitch = 60 6565 FlingPitchVariance = 10 6566 End 6567 Behavior = SlowDeathBehavior ModuleTag_Death04 6568 DeathTypes = NONE +BURNED 6569 DestructionDelay = 0 6570 FX = INITIAL FX_GIDie 6571 OCL = INITIAL OCL_FlamingInfantry 6572 End 6573 Behavior = SlowDeathBehavior ModuleTag_Death05 6574 DeathTypes = NONE +POISONED 6575 DestructionDelay = 0 6576 FX = INITIAL FX_GIDie 6577 OCL = INITIAL OCL_ToxicInfantry 6578 End 6579 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 6580 DeathTypes = NONE +POISONED_BETA 6581 DestructionDelay = 0 6582 FX = INITIAL FX_GIDie 6583 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 6584 End 6585 ; --- end Death modules --- 6586 6587 Behavior = PoisonedBehavior ModuleTag_16 6588 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 6589 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 6590 End 6591 6592 Behavior = SpecialAbility ModuleTag_17 6593 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 6594 UpdateModuleStartsAttack = Yes 6595 StartsPaused = Yes 6596 InitiateSound = RebelVoiceCapture 6597 End 6598 Behavior = SpecialAbilityUpdate ModuleTag_18 6599 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 6600 StartAbilityRange = 5.0 6601 UnpackTime = 3000 ; (changing this will scale anim speed) 6602 PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) 6603 PackTime = 2000 ; (changing this will scale anim speed) 6604 DoCaptureFX = Yes 6605 AwardXPForTriggering = 12 6606 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 6607 End 6608 6609 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19 6610 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 6611 TriggeredBy = Upgrade_InfantryCaptureBuilding 6612 End 6613 6614 6615 Geometry = CYLINDER 6616 GeometryMajorRadius = 10.0 6617 GeometryMinorRadius = 10.0 6618 GeometryHeight = 12.0 6619 GeometryIsSmall = Yes 6620 Shadow = SHADOW_DECAL 6621 ShadowSizeX = 14; 6622 ShadowSizeY = 14; 6623 ShadowTexture = ShadowI; 6624 BuildCompletion = APPEARS_AT_RALLY_POINT 6625 6626 End 6627 6628 ;---------------------------------------------------------------------------- 6629 Object GLAInfantryJarmenKell 6630 6631 ; *** ART Parameters *** 6632 SelectPortrait = SUJermanKell1_L ;NOTE: Asset spelling mistake 6633 ButtonImage = SUJermanKell1 6634 6635 UpgradeCameo1 = Upgrade_GLAAPBullets 6636 ;UpgradeCameo2 = NONE 6637 ;UpgradeCameo3 = NONE 6638 ;UpgradeCameo4 = NONE 6639 ;UpgradeCameo5 = NONE 6640 6641 Draw = W3DModelDraw ModuleTag_01 6642 OkToChangeModelColor = Yes 6643 6644 ; --- idle 6645 DefaultConditionState 6646 Model = UIHERO_SKN 6647 IdleAnimation = UIHERO_SKL.UIHERO_STA 0 21 6648 IdleAnimation = UIHERO_SKL.UIHERO_IDA 6649 IdleAnimation = UIHERO_SKL.UIHERO_IDB 6650 AnimationMode = ONCE 6651 WeaponFireFXBone = PRIMARY Muzzle 6652 WeaponMuzzleFlash = PRIMARY MuzzleFX 6653 TransitionKey = TRANS_Stand 6654 End 6655 6656 ConditionState = REALLYDAMAGED 6657 IdleAnimation = UIHERO_SKL.UIHERO_ISTA 0 30 6658 IdleAnimation = UIHERO_SKL.UIHERO_IIDA 6659 IdleAnimation = UIHERO_SKL.UIHERO_IIDB 6660 AnimationMode = ONCE 6661 TransitionKey = TRANS_StandInjured 6662 End 6663 6664 TransitionState = TRANS_Stand TRANS_StandInjured 6665 Animation = UIHERO_SKL.UIHERO_ISTAHIT 6666 AnimationMode = ONCE 6667 End 6668 6669 ; --- attack 6670 6671 ConditionState = FIRING_A 6672 Animation = UIHERO_SKL.UIHERO_ATA 6673 AnimationMode = ONCE 6674 TransitionKey = TRANS_FiringA 6675 AnimationSpeedFactorRange = 1.5 1.5 6676 End 6677 6678 ConditionState = BETWEEN_FIRING_SHOTS_A 6679 Animation = UIHERO_SKL.UIHERO_STA 6680 AnimationMode = ONCE 6681 WaitForStateToFinishIfPossible = TRANS_FiringA 6682 End 6683 AliasConditionState = RELOADING_A 6684 6685 ConditionState = FIRING_A REALLYDAMAGED 6686 Animation = UIHERO_SKL.UIHERO_IATA2 6687 AnimationMode = ONCE 6688 TransitionKey = TRANS_FiringAInjured 6689 AnimationSpeedFactorRange = 1.5 1.5 6690 End 6691 6692 ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 6693 Animation = UIHERO_SKL.UIHERO_IATA2 6694 AnimationMode = MANUAL 6695 Flags = START_FRAME_LAST 6696 WaitForStateToFinishIfPossible = TRANS_FiringAInjured 6697 End 6698 AliasConditionState = RELOADING_A REALLYDAMAGED 6699 6700 TransitionState = TRANS_FiringA TRANS_FiringAInjured 6701 Animation = UIHERO_SKL.UIHERO_IATAHIT 6702 AnimationMode = ONCE 6703 End 6704 6705 ; --- moving 6706 ConditionState = MOVING 6707 Animation = UIHERO_SKL.UIHERO_RNA2 30 6708 AnimationMode = LOOP 6709 Flags = RANDOMSTART 6710 TransitionKey = None 6711 ParticleSysBone = None InfantryDustTrails 6712 End 6713 AliasConditionState = MOVING FIRING_A 6714 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 6715 AliasConditionState = MOVING RELOADING_A 6716 6717 ConditionState = MOVING REALLYDAMAGED 6718 Animation = UIHERO_SKL.UIHERO_IRNA 30 6719 AnimationMode = LOOP 6720 Flags = RANDOMSTART 6721 TransitionKey = None 6722 ParticleSysBone = None InfantryDustTrails 6723 End 6724 AliasConditionState = MOVING FIRING_A REALLYDAMAGED 6725 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 6726 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 6727 6728 ; --- cheering 6729 ConditionState = SPECIAL_CHEERING 6730 Animation = UIHERO_SKL.UIHERO_CHA 6731 AnimationMode = LOOP 6732 End 6733 6734 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 6735 Animation = UIHERO_SKL.UIHERO_ICHA 6736 AnimationMode = LOOP 6737 End 6738 6739 ; --- dying 6740 ConditionState = DYING 6741 Animation = UIHERO_SKL.UIHERO_DTA 6742 Animation = UIHERO_SKL.UIHERO_DTB 6743 Animation = UIHERO_SKL.UIHERO_IDTA 6744 Animation = UIHERO_SKL.UIHERO_IDTB 6745 AnimationMode = ONCE 6746 TransitionKey = TRANS_Dying 6747 End 6748 6749 TransitionState = TRANS_Dying TRANS_Flailing 6750 Animation = UIHERO_SKL.UIHERO_ADTG21 6751 AnimationMode = ONCE 6752 End 6753 6754 ConditionState = DYING EXPLODED_FLAILING 6755 Animation = UIHERO_SKL.UIHERO_ADTG22 6756 AnimationMode = LOOP 6757 TransitionKey = TRANS_Flailing 6758 End 6759 6760 ConditionState = DYING EXPLODED_BOUNCING 6761 Animation = UIHERO_SKL.UIHERO_ADTG23 6762 AnimationMode = ONCE 6763 TransitionKey = None 6764 End 6765 6766 ; --- falling 6767 ConditionState = FREEFALL 6768 Animation = UIHERO_SKL.UIHERO_PFL 6769 AnimationMode = LOOP 6770 TransitionKey = TRANS_Falling 6771 End 6772 AliasConditionState = FREEFALL REALLYDAMAGED 6773 AliasConditionState = FREEFALL DYING 6774 6775 ConditionState = PARACHUTING 6776 Animation = UIHERO_SKL.UIHERO_PHG 6777 AnimationMode = LOOP 6778 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 6779 TransitionKey = TRANS_Chute 6780 End 6781 AliasConditionState = PARACHUTING REALLYDAMAGED 6782 AliasConditionState = PARACHUTING DYING 6783 6784 TransitionState = TRANS_Falling TRANS_Chute 6785 Animation = UIHERO_SKL.UIHERO_POP 6786 AnimationMode = ONCE 6787 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 6788 End 6789 6790 TransitionState = TRANS_Chute TRANS_Stand 6791 Animation = UIHERO_SKL.UIHERO_PTD 6792 AnimationMode = ONCE 6793 End 6794 6795 TransitionState = TRANS_Chute TRANS_StandInjured 6796 Animation = UIHERO_SKL.UIHERO_PTD 6797 AnimationMode = ONCE 6798 End 6799 6800 ; --- surrender 6801 ; surrender is cut. sorry. (srj) 6802 ; ConditionState = SURRENDER 6803 ; Animation = UIHERO_SKL.UIHERO_SST 6804 ; AnimationMode = ONCE 6805 ; TransitionKey = TRANS_Surrender 6806 ; End 6807 ; TransitionState = TRANS_Stand TRANS_Surrender 6808 ; Animation = UIHERO_SKL.UIHERO_SUR 6809 ; AnimationMode = ONCE 6810 ; End 6811 ; ConditionState = SURRENDER REALLYDAMAGED 6812 ; Animation = UIHERO_SKL.UIHERO_ISST 6813 ; AnimationMode = ONCE 6814 ; TransitionKey = TRANS_SurrenderInjured 6815 ; End 6816 ; TransitionState = TRANS_StandInjured TRANS_SurrenderInjured 6817 ; Animation = UIHERO_SKL.UIHERO_ISUR 6818 ; AnimationMode = ONCE 6819 ; End 6820 6821 End 6822 6823 ; ***DESIGN parameters *** 6824 DisplayName = OBJECT:JarmenKell 6825 Side = GLA 6826 EditorSorting = INFANTRY 6827 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 6828 MaxSimultaneousOfType = 1 6829 6830 WeaponSet 6831 Conditions = None 6832 Weapon = PRIMARY GLAJarmenKellRifle 6833 Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle 6834 AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT 6835 PreferredAgainst = SECONDARY VEHICLE 6836 ;AutoChooseSources = SECONDARY NONE 6837 ;ShareWeaponReloadTime = Yes 6838 End 6839 ; WeaponSet 6840 ; Conditions = SNIPEVEHICLE 6841 ; Weapon = PRIMARY GLAJarmenKellVehiclePilotSniperRifle 6842 ; End 6843 6844 ArmorSet 6845 Conditions = None 6846 Armor = HumanArmor 6847 DamageFX = InfantryDamageFX 6848 End 6849 VisionRange = 200 6850 ShroudClearingRange = 300 6851 Prerequisites 6852 Object = GLABarracks 6853 Object = GLAPalace 6854 End 6855 BuildCost = 1500 6856 BuildTime = 20.0 ;in seconds 6857 6858 ExperienceValue = 50 50 100 150 ;Experience point value at each level 6859 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 6860 IsTrainable = Yes ;Can gain experience 6861 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 6862 CommandSet = GLAInfantryJarmenKellCommandSet 6863 6864 ; *** AUDIO Parameters *** 6865 VoiceSelect = JarmenKellVoiceSelect 6866 VoiceMove = JarmenKellVoiceMove 6867 VoiceGuard = JarmenKellVoiceMove 6868 VoiceAttack = JarmenKellVoiceAttack 6869 VoiceFear = JarmenKellVoiceFear 6870 SoundDie = JarmenKellVoiceDie 6871 SoundDieFire = DieByFireGLA 6872 SoundDieToxin = DieByToxinGLA 6873 SoundStealthOn = StealthOn 6874 SoundStealthOff = StealthOff 6875 ;SoundAmbient = JarmenKellSoundAmbient 6876 6877 UnitSpecificSounds 6878 VoiceCreate = JarmenKellVoiceCreate 6879 VoiceSnipePilot = JarmenKellVoiceSnipe 6880 VoiceGarrison = JarmenKellVoiceGarrison 6881 VoiceEnter = JarmenKellVoiceMove 6882 VoiceEnterHostile = JarmenKellVoiceMove 6883 VoiceGetHealed = JarmenKellVoiceMove 6884 End 6885 6886 6887 ; *** ENGINEERING Parameters *** 6888 RadarPriority = UNIT 6889 ; note: per Dustin's comment, Hero units do not surrender 6890 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE HERO 6891 6892 Body = ActiveBody ModuleTag_02 6893 MaxHealth = 200.0 6894 InitialHealth = 200.0 6895 End 6896 6897 Behavior = AIUpdateInterface ModuleTag_03 6898 AutoAcquireEnemiesWhenIdle = Yes ;Stealthed 6899 ;MoodAttackCheckRate = 250 6900 End 6901 Locomotor = SET_NORMAL JarmenKellLocomotor 6902 6903 Behavior = PhysicsBehavior ModuleTag_04 6904 Mass = 5.0 6905 End 6906 Behavior = StealthUpdate ModuleTag_06 6907 StealthDelay = 2000 ; msec 6908 StealthForbiddenConditions = ATTACKING 6909 InnateStealth = Yes 6910 OrderIdleEnemiesToAttackMeUponReveal = Yes 6911 End 6912 6913 Behavior = CommandButtonHuntUpdate ModuleTag_07 ; allows use of command button hunt script with this unit. 6914 End 6915 6916 Behavior = WeaponBonusUpgrade ModuleTag_08 6917 TriggeredBy = Upgrade_GLAAPBullets 6918 End 6919 6920 ;Hero units can't be squished! 6921 ;Behavior = SquishCollide ModuleTag_09 6922 ; ;nothing 6923 ;End 6924 6925 6926 ; --- begin Death modules --- 6927 Behavior = SlowDeathBehavior ModuleTag_Death01 6928 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 6929 SinkDelay = 3000 6930 SinkRate = 0.5 ; in Dist/Sec 6931 DestructionDelay = 8000 6932 FX = INITIAL FX_GIDie 6933 End 6934 Behavior = SlowDeathBehavior ModuleTag_Death02 6935 DeathTypes = NONE +CRUSHED +SPLATTED 6936 SinkDelay = 3000 6937 SinkRate = 0.5 ; in Dist/Sec 6938 DestructionDelay = 8000 6939 FX = INITIAL FX_GIDieCrushed 6940 End 6941 Behavior = SlowDeathBehavior ModuleTag_Death03 6942 DeathTypes = NONE +EXPLODED 6943 SinkDelay = 3000 6944 SinkRate = 0.5 ; in Dist/Sec 6945 DestructionDelay = 8000 6946 FX = INITIAL FX_GIDie 6947 FlingForce = 8 6948 FlingForceVariance = 3 6949 FlingPitch = 60 6950 FlingPitchVariance = 10 6951 End 6952 Behavior = SlowDeathBehavior ModuleTag_Death04 6953 DeathTypes = NONE +BURNED 6954 DestructionDelay = 0 6955 FX = INITIAL FX_GIDie 6956 OCL = INITIAL OCL_FlamingInfantry 6957 End 6958 Behavior = SlowDeathBehavior ModuleTag_Death05 6959 DeathTypes = NONE +POISONED 6960 DestructionDelay = 0 6961 FX = INITIAL FX_GIDie 6962 OCL = INITIAL OCL_ToxicInfantry 6963 End 6964 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 6965 DeathTypes = NONE +POISONED_BETA 6966 DestructionDelay = 0 6967 FX = INITIAL FX_GIDie 6968 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 6969 End 6970 ; --- end Death modules --- 6971 6972 Behavior = PoisonedBehavior ModuleTag_14 6973 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 6974 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 6975 End 6976 6977 Geometry = CYLINDER 6978 GeometryMajorRadius = 10.0 6979 GeometryMinorRadius = 10.0 6980 GeometryHeight = 12.0 6981 GeometryIsSmall = Yes 6982 Shadow = SHADOW_DECAL 6983 ShadowSizeX = 14; 6984 ShadowSizeY = 14; 6985 ShadowTexture = ShadowI; 6986 BuildCompletion = APPEARS_AT_RALLY_POINT 6987 6988 End 6989 6990 ;------------------------------------------------------------------------------ 6991 ;Tunnel Fanatic ;Now called the RPG Trooper 6992 Object GLAInfantryTunnelDefender 6993 6994 ; *** ART Parameters *** 6995 SelectPortrait = SURPG_L 6996 ButtonImage = SURPG 6997 6998 UpgradeCameo1 = Upgrade_GLAAPRockets 6999 ;UpgradeCameo2 = NONE 7000 ;UpgradeCameo3 = NONE 7001 ;UpgradeCameo4 = NONE 7002 ;UpgradeCameo5 = NONE 7003 7004 Draw = W3DModelDraw ModuleTag_01 7005 OkToChangeModelColor = Yes 7006 7007 DefaultConditionState 7008 Model = UITunF_SKN 7009 IdleAnimation = UITunF_SKL.UITunF_STA 0 20 7010 IdleAnimation = UITunF_SKL.UITunF_IDA 7011 IdleAnimation = UITunF_SKL.UITunF_IDB 7012 IdleAnimation = UITunF_SKL.UITunF_IDC 7013 AnimationMode = ONCE 7014 WeaponMuzzleFlash = PRIMARY MuzzleFX 7015 WeaponFireFXBone = PRIMARY Muzzle 7016 WeaponLaunchBone = PRIMARY Muzzle 7017 End 7018 7019 ConditionState = MOVING 7020 Animation = UITunF_SKL.UITunF_WKA 16 7021 Animation = UITunF_SKL.UITunF_WKB 30 7022 Animation = UITunF_SKL.UITunF_WKC 30 7023 Animation = UITunF_SKL.UITunF_RNA 15 7024 Animation = UITunF_SKL.UITunF_RNB 25 7025 AnimationMode = LOOP 7026 ParticleSysBone = None InfantryDustTrails 7027 End 7028 7029 ConditionState = DYING 7030 Animation = UITunF_SKL.UITunF_DTA 7031 Animation = UITunF_SKL.UITunF_DTB 7032 AnimationMode = ONCE 7033 TransitionKey = TRANS_Dying 7034 End 7035 7036 TransitionState = TRANS_Dying TRANS_Flailing 7037 Animation = UITunF_SKL.UITunF_ADTA1 7038 Animation = UITunF_SKL.UITunF_ADTE1 7039 Animation = UITunF_SKL.UITunF_ADTF1 7040 AnimationMode = ONCE 7041 End 7042 7043 ConditionState = DYING EXPLODED_FLAILING 7044 Animation = UITunF_SKL.UITunF_ADTA2 7045 Animation = UITunF_SKL.UITunF_ADTE2 7046 Animation = UITunF_SKL.UITunF_ADTF2 7047 AnimationMode = LOOP 7048 TransitionKey = TRANS_Flailing 7049 End 7050 7051 ConditionState = DYING EXPLODED_BOUNCING 7052 Animation = UITunF_SKL.UITunF_ADTA3 7053 Animation = UITunF_SKL.UITunF_ADTE3 7054 Animation = UITunF_SKL.UITunF_ADTF3 7055 AnimationMode = ONCE 7056 TransitionKey = None 7057 End 7058 7059 ConditionState = FIRING_A 7060 Animation = UITunF_SKL.UITunF_ATA 7061 AnimationMode = ONCE 7062 TransitionKey = TRANS_START_FIRING 7063 End 7064 ConditionState = BETWEEN_FIRING_SHOTS_A 7065 Animation = UITunF_SKL.UITunF_STA 7066 AnimationMode = ONCE 7067 ; this is basically a trick: this guy has a nontrivial animation for firing, 7068 ; and a long recycle time between shots. we want him to finish his fire animation 7069 ; (unless he's ordered to do something else), so this is just a handy trick that 7070 ; says, "if the previous state had this transition key, allow it to finish before 7071 ; switching to us, if possible". 7072 WaitForStateToFinishIfPossible = TRANS_START_FIRING 7073 End 7074 AliasConditionState = RELOADING_A 7075 7076 ConditionState = SPECIAL_CHEERING 7077 Animation = UITUNF_SKL.UITUNF_CHA 7078 AnimationMode = LOOP 7079 End 7080 7081 ; surrender is cut. sorry. (srj) 7082 ; ConditionState = SURRENDER 7083 ; Animation = UITUNF_SKL.UITUNF_SST 7084 ; AnimationMode = ONCE 7085 ; TransitionKey = TRANS_SurrenderKneeling 7086 ; End 7087 ; ;@TODO -- MISSING ANIMATION FILE 7088 ; ;ConditionState = SURRENDER MOVING 7089 ; ; Animation = UITUNF_SKL.UITUNF_SWKB 7090 ; ; AnimationMode = ONCE 7091 ; ; TransitionKey = TRANS_SurrenderMoving 7092 ; ;End 7093 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 7094 ; Animation = UITUNF_SKL.UITUNF_SUR 7095 ; AnimationMode = ONCE 7096 ; End 7097 7098 End 7099 7100 ; ***DESIGN parameters *** 7101 DisplayName = OBJECT:TunnelDefender 7102 Side = GLA 7103 EditorSorting = INFANTRY 7104 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 7105 WeaponSet 7106 Conditions = None 7107 Weapon = PRIMARY TunnelDefenderRocketWeapon 7108 End 7109 ArmorSet 7110 Conditions = None 7111 Armor = HumanArmor 7112 DamageFX = InfantryDamageFX 7113 End 7114 VisionRange = 150 7115 ShroudClearingRange = 400 7116 ; Prerequisites 7117 ; Object = GLATunnelNetwork 7118 ; End 7119 BuildCost = 300 7120 BuildTime = 5.0 ;in seconds 7121 7122 ExperienceValue = 20 20 40 60 ;Experience point value at each level 7123 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 7124 IsTrainable = Yes ;Can gain experience 7125 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 7126 CommandSet = GLAInfantryTunnelDefenderCommandSet 7127 7128 ; *** AUDIO Parameters *** 7129 VoiceSelect = RPGTrooperVoiceSelect 7130 VoiceMove = RPGTrooperVoiceMove 7131 VoiceGuard = RPGTrooperVoiceMove 7132 VoiceAttack = RPGTrooperVoiceAttack 7133 SoundDie = RPGTrooperVoiceDie 7134 SoundDieFire = DieByFireGLA 7135 SoundDieToxin = DieByToxinGLA 7136 ; surrender is cut. sorry. (srj) 7137 ; VoiceSurrender = RPGTrooperVoiceSurrender 7138 VoiceFear = RPGTrooperVoiceFear 7139 UnitSpecificSounds 7140 VoiceCreate = RPGTrooperVoiceCreate 7141 VoiceGarrison = RPGTrooperVoiceGarrison 7142 VoiceEnter = RPGTrooperVoiceMove 7143 VoiceEnterHostile = RPGTrooperVoiceMove 7144 VoiceGetHealed = RPGTrooperVoiceMove 7145 End 7146 7147 7148 ; *** ENGINEERING Parameters *** 7149 RadarPriority = UNIT 7150 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 7151 7152 Body = ActiveBody ModuleTag_02 7153 MaxHealth = 100.0 7154 InitialHealth = 100.0 7155 End 7156 7157 Behavior = AIUpdateInterface ModuleTag_03 7158 AutoAcquireEnemiesWhenIdle = Yes 7159 End 7160 Locomotor = SET_NORMAL MissileDefenderLocomotor 7161 7162 Behavior = PhysicsBehavior ModuleTag_04 7163 Mass = 5.0 7164 End 7165 7166 Behavior = SquishCollide ModuleTag_06 7167 ;nothing 7168 End 7169 7170 ; --- begin Death modules --- 7171 Behavior = SlowDeathBehavior ModuleTag_Death01 7172 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 7173 SinkDelay = 3000 7174 SinkRate = 0.5 ; in Dist/Sec 7175 DestructionDelay = 8000 7176 FX = INITIAL FX_GIDie 7177 End 7178 Behavior = SlowDeathBehavior ModuleTag_Death02 7179 DeathTypes = NONE +CRUSHED +SPLATTED 7180 SinkDelay = 3000 7181 SinkRate = 0.5 ; in Dist/Sec 7182 DestructionDelay = 8000 7183 FX = INITIAL FX_GIDieCrushed 7184 End 7185 Behavior = SlowDeathBehavior ModuleTag_Death03 7186 DeathTypes = NONE +EXPLODED 7187 SinkDelay = 3000 7188 SinkRate = 0.5 ; in Dist/Sec 7189 DestructionDelay = 8000 7190 FX = INITIAL FX_GIDie 7191 FlingForce = 8 7192 FlingForceVariance = 3 7193 FlingPitch = 60 7194 FlingPitchVariance = 10 7195 End 7196 Behavior = SlowDeathBehavior ModuleTag_Death04 7197 DeathTypes = NONE +BURNED 7198 DestructionDelay = 0 7199 FX = INITIAL FX_GIDie 7200 OCL = INITIAL OCL_FlamingInfantry 7201 End 7202 Behavior = SlowDeathBehavior ModuleTag_Death05 7203 DeathTypes = NONE +POISONED 7204 DestructionDelay = 0 7205 FX = INITIAL FX_GIDie 7206 OCL = INITIAL OCL_ToxicInfantry 7207 End 7208 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 7209 DeathTypes = NONE +POISONED_BETA 7210 DestructionDelay = 0 7211 FX = INITIAL FX_GIDie 7212 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 7213 End 7214 ; --- end Death modules --- 7215 7216 Behavior = PoisonedBehavior ModuleTag_12 7217 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 7218 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 7219 End 7220 7221 Geometry = CYLINDER 7222 GeometryMajorRadius = 10.0 7223 GeometryMinorRadius = 10.0 7224 GeometryHeight = 12.0 7225 GeometryIsSmall = Yes 7226 Shadow = SHADOW_DECAL 7227 ShadowSizeX = 14; 7228 ShadowSizeY = 14; 7229 ShadowTexture = ShadowI; 7230 BuildCompletion = APPEARS_AT_RALLY_POINT 7231 7232 End 7233 7234 ;------------------------------------------------------------------------------ 7235 ;***THESE UNITS ARE NOT SELECTABLE ANYMORE! To kill them, you must target 7236 ; the stinger site. If the weapon does particular types of damage, it'll 7237 ; kill guys inside first, then the site. 7238 Object GLAInfantryStingerSoldier 7239 7240 ; *** ART Parameters *** 7241 SelectPortrait = SUStinger_L 7242 ButtonImage = SUStinger 7243 7244 Draw = W3DModelDraw ModuleTag_01 7245 OkToChangeModelColor = Yes 7246 7247 DefaultConditionState 7248 Model = UISmsd_SKN 7249 IdleAnimation = UISmsd_SKL.UISmsd_STA 0 45 7250 IdleAnimation = UISmsd_SKL.UISmsd_IDA 7251 IdleAnimation = UISmsd_SKL.UISmsd_IDB 7252 IdleAnimation = UISmsd_SKL.UISmsd_IDC 7253 IdleAnimation = UISmsd_SKL.UISmsd_IDD 7254 AnimationMode = ONCE 7255 WeaponMuzzleFlash = PRIMARY MuzzleFX 7256 WeaponFireFXBone = PRIMARY Exhaust 7257 WeaponLaunchBone = PRIMARY Muzzle 7258 WeaponFireFXBone = SECONDARY Exhaust 7259 WeaponLaunchBone = SECONDARY Muzzle 7260 7261 WaitForStateToFinishIfPossible = TRANS_START_FIRING 7262 7263 End 7264 AliasConditionState = BETWEEN_FIRING_SHOTS_A 7265 AliasConditionState = BETWEEN_FIRING_SHOTS_B 7266 AliasConditionState = RELOADING_A 7267 AliasConditionState = RELOADING_B 7268 7269 ConditionState = MOVING 7270 Animation = UISmsd_SKL.UISmsd_WKB 25 7271 AnimationMode = LOOP 7272 End 7273 7274 ConditionState = DYING 7275 Animation = UISmsd_SKL.UISmsd_DTA 7276 Animation = UISmsd_SKL.UISmsd_DTB 7277 AnimationMode = ONCE 7278 TransitionKey = TRANS_Dying 7279 WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish 7280 End 7281 7282 TransitionState = TRANS_Dying TRANS_Flailing 7283 Animation = UISmsd_SKL.UISmsd_ADTF1 7284 Animation = UISmsd_SKL.UISmsd_ADTG21 7285 AnimationMode = ONCE 7286 End 7287 7288 ConditionState = DYING EXPLODED_FLAILING 7289 Animation = UISmsd_SKL.UISmsd_ADTF2 7290 Animation = UISmsd_SKL.UISmsd_ADTG22 7291 AnimationMode = LOOP 7292 TransitionKey = TRANS_Flailing 7293 WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish 7294 End 7295 7296 ConditionState = DYING EXPLODED_BOUNCING 7297 Animation = UISmsd_SKL.UISmsd_ADTF3 7298 Animation = UISmsd_SKL.UISmsd_ADTG23 7299 AnimationMode = ONCE 7300 TransitionKey = None 7301 WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish 7302 End 7303 7304 ConditionState = FIRING_A 7305 Animation = UISmsd_SKL.UISmsd_ATA 7306 AnimationMode = ONCE 7307 TransitionKey = TRANS_START_FIRING 7308 End 7309 ; AliasConditionState is a new keyword that says, 7310 ; "give me another ConditionState exactly like the previous 7311 ; one, except with different conditions". Useful when you 7312 ; have several states that are the same with only different condition bits. 7313 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 7314 AliasConditionState = MOVING FIRING_A 7315 AliasConditionState = MOVING RELOADING_A 7316 7317 ConditionState = FIRING_B 7318 Animation = UISmsd_SKL.UISmsd_ATB 7319 AnimationMode = ONCE 7320 TransitionKey = TRANS_START_FIRINGB 7321 End 7322 ; AliasConditionState is a new keyword that says, 7323 ; "give me another ConditionState exactly like the previous 7324 ; one, except with different conditions". Useful when you 7325 ; have several states that are the same with only different condition bits. 7326 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 7327 AliasConditionState = MOVING FIRING_B 7328 AliasConditionState = MOVING RELOADING_B 7329 7330 7331 ConditionState = SPECIAL_CHEERING 7332 Animation = UISMSD_SKL.UISMSD_CHA 7333 AnimationMode = LOOP 7334 End 7335 7336 End 7337 7338 ; ***DESIGN parameters *** 7339 DisplayName = OBJECT:StingerSoldier 7340 Side = GLA 7341 EditorSorting = INFANTRY 7342 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 7343 WeaponSet 7344 Conditions = None 7345 Weapon = PRIMARY StingerMissileWeapon 7346 AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT 7347 Weapon = SECONDARY StingerMissileWeaponAir 7348 PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT 7349 End 7350 ArmorSet 7351 Conditions = None 7352 Armor = StingerSoldierArmor ;Extra protection due to being enclosed by the stinger site. 7353 DamageFX = None 7354 End 7355 VisionRange = 400.0 7356 ShroudClearingRange = 400 7357 7358 Prerequisites 7359 Object = GLABarracks 7360 End 7361 BuildCost = 100 7362 BuildTime = 1.0 ;in seconds 7363 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 7364 7365 ;I don't know what is right, but this is SO wrong. 7366 ; CommandSet = GLAInfantryRebelCommandSet 7367 7368 ; *** AUDIO Parameters *** 7369 VoiceSelect = StingerSoldierVoiceSelect 7370 VoiceMove = StingerSoldierVoiceMove 7371 VoiceAttack = StingerSoldierVoiceAttack 7372 SoundDie = StingerSoldierVoiceDie 7373 SoundDieFire = DieByFireGLA 7374 SoundDieToxin = DieByToxinGLA 7375 7376 ; *** ENGINEERING Parameters *** 7377 RadarPriority = UNIT 7378 KindOf = PRELOAD CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER CLICK_THROUGH SPAWNS_ARE_THE_WEAPONS 7379 7380 Body = ActiveBody ModuleTag_02 7381 MaxHealth = 100.0 7382 InitialHealth = 100.0 7383 End 7384 7385 Behavior = StealthDetectorUpdate ModuleTag_16 7386 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 7387 DetectionRange = 200 ;Dustin, enable this for independant balancing! 7388 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 7389 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 7390 End 7391 7392 Behavior = AIUpdateInterface ModuleTag_03 7393 AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS 7394 MoodAttackCheckRate = 250 7395 End 7396 Locomotor = SET_NORMAL BasicHumanLocomotor 7397 Behavior = PhysicsBehavior ModuleTag_04 7398 Mass = 5.0 7399 End 7400 Behavior = SlavedUpdate ModuleTag_06 7401 ;nothing 7402 End 7403 ; Behavior = ProneUpdate ModuleTag_07 7404 ; DamageToFramesRatio = 5.0 ; I take 20 damage, I go prone for 100. For this guy, if any of my buds or my building take damage too (I have SlaveUpdate + ProneUpdate) Prone may get cut by itself though 7405 ; End 7406 7407 Behavior = SquishCollide ModuleTag_08 7408 ;nothing 7409 End 7410 7411 7412 ; --- begin Death modules --- 7413 Behavior = SlowDeathBehavior ModuleTag_Death01 7414 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 7415 SinkDelay = 3000 7416 SinkRate = 0.5 ; in Dist/Sec 7417 DestructionDelay = 8000 7418 FX = INITIAL FX_GIDie 7419 End 7420 Behavior = SlowDeathBehavior ModuleTag_Death02 7421 DeathTypes = NONE +CRUSHED +SPLATTED 7422 SinkDelay = 3000 7423 SinkRate = 0.5 ; in Dist/Sec 7424 DestructionDelay = 8000 7425 FX = INITIAL FX_GIDieCrushed 7426 End 7427 Behavior = SlowDeathBehavior ModuleTag_Death03 7428 DeathTypes = NONE +EXPLODED 7429 SinkDelay = 3000 7430 SinkRate = 0.5 ; in Dist/Sec 7431 DestructionDelay = 8000 7432 FX = INITIAL FX_GIDie 7433 FlingForce = 8 7434 FlingForceVariance = 3 7435 FlingPitch = 60 7436 FlingPitchVariance = 10 7437 End 7438 Behavior = SlowDeathBehavior ModuleTag_Death04 7439 DeathTypes = NONE +BURNED 7440 DestructionDelay = 0 7441 FX = INITIAL FX_GIDie 7442 OCL = INITIAL OCL_FlamingInfantry 7443 End 7444 Behavior = SlowDeathBehavior ModuleTag_Death05 7445 DeathTypes = NONE +POISONED 7446 DestructionDelay = 0 7447 FX = INITIAL FX_GIDie 7448 OCL = INITIAL OCL_ToxicInfantry 7449 End 7450 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 7451 DeathTypes = NONE +POISONED_BETA 7452 DestructionDelay = 0 7453 FX = INITIAL FX_GIDie 7454 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 7455 End 7456 ; --- end Death modules --- 7457 7458 Behavior = PoisonedBehavior ModuleTag_14 7459 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 7460 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 7461 End 7462 7463 Geometry = CYLINDER 7464 GeometryMajorRadius = 10.0 7465 GeometryMinorRadius = 10.0 7466 GeometryHeight = 12.0 7467 GeometryIsSmall = Yes 7468 Shadow = SHADOW_DECAL 7469 ShadowSizeX = 14 7470 ShadowSizeY = 14 7471 ShadowTexture = ShadowI; 7472 BuildCompletion = APPEARS_AT_RALLY_POINT 7473 7474 End 7475 7476 ;------------------------------------------------------------------------------ 7477 Object GLAInfantryTerrorist 7478 7479 ; *** ART Parameters *** 7480 SelectPortrait = SUTerrorist_L 7481 ButtonImage = SUTerrorist 7482 7483 ;UpgradeCameo1 = NONE 7484 ;UpgradeCameo2 = NONE 7485 ;UpgradeCameo3 = NONE 7486 ;UpgradeCameo4 = NONE 7487 ;UpgradeCameo5 = NONE 7488 7489 Draw = W3DModelDraw ModuleTag_01 7490 OkToChangeModelColor = Yes 7491 DefaultConditionState 7492 Model = UITRST_SKN 7493 IdleAnimation = UITRST_SKL.UITRST_STA 0 25 7494 ;Regular spice animations 7495 IdleAnimation = UITRST_SKL.UITRST_IDA 7496 IdleAnimation = UITRST_SKL.UITRST_IDB 7497 AnimationMode = ONCE 7498 TransitionKey = TRANS_Stand 7499 End 7500 7501 ConditionState = REALLYDAMAGED 7502 Animation = UITRST_SKL.UITRST_STA 7503 AnimationMode = LOOP 7504 TransitionKey = TRANS_Stand 7505 End 7506 7507 ConditionState = FREEFALL 7508 Animation = UITRST_SKL.UITRST_PFL 7509 AnimationMode = LOOP 7510 TransitionKey = TRANS_Falling 7511 End 7512 AliasConditionState = FREEFALL REALLYDAMAGED 7513 AliasConditionState = FREEFALL DYING 7514 7515 ConditionState = PARACHUTING 7516 Animation = UITRST_SKL.UITRST_PHG 7517 AnimationMode = LOOP 7518 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 7519 TransitionKey = TRANS_Chute 7520 End 7521 AliasConditionState = PARACHUTING REALLYDAMAGED 7522 AliasConditionState = PARACHUTING DYING 7523 7524 ConditionState = MOVING 7525 Animation = UITRST_SKL.UITRST_RNA 15 7526 AnimationMode = LOOP 7527 Flags = RANDOMSTART 7528 TransitionKey = None 7529 ParticleSysBone = None InfantryDustTrails 7530 End 7531 AliasConditionState = MOVING REALLYDAMAGED 7532 7533 ConditionState = ATTACKING MOVING 7534 Animation = UITRST_SKL.UITRST_RNB 10 7535 AnimationMode = LOOP 7536 Flags = RANDOMSTART 7537 TransitionKey = None 7538 End 7539 AliasConditionState = ATTACKING MOVING REALLYDAMAGED 7540 7541 ConditionState = PREATTACK_A 7542 Animation = UITRST_SKL.UITRST_ATA 7543 AnimationMode = ONCE 7544 End 7545 AliasConditionState = PREATTACK_A MOVING 7546 7547 ConditionState = DYING 7548 Animation = UITRST_SKL.UITRST_DTA 7549 Animation = UITRST_SKL.UITRST_DTC 7550 AnimationMode = ONCE 7551 TransitionKey = TRANS_Dying 7552 End 7553 7554 TransitionState = TRANS_Dying TRANS_Flailing 7555 Animation = UITRST_SKL.UITRST_ADTE1 7556 AnimationMode = ONCE 7557 End 7558 7559 ConditionState = DYING EXPLODED_FLAILING 7560 Animation = UITRST_SKL.UITRST_ADTE2 7561 AnimationMode = LOOP 7562 TransitionKey = TRANS_Flailing 7563 End 7564 7565 ConditionState = DYING EXPLODED_BOUNCING 7566 Animation = UITRST_SKL.UITRST_ADTE3 7567 AnimationMode = ONCE 7568 TransitionKey = None 7569 End 7570 7571 ConditionState = SPECIAL_CHEERING 7572 Animation = UITRST_SKL.UITRST_CHA 7573 AnimationMode = LOOP 7574 End 7575 7576 ; surrender is cut. sorry. (srj) 7577 ; ConditionState = SURRENDER 7578 ; Animation = UITRST_SKL.UITRST_SST 7579 ; AnimationMode = ONCE 7580 ; TransitionKey = TRANS_SurrenderKneeling 7581 ; End 7582 ; ;@TODO -- MISSING ANIMATION FILE 7583 ; ;ConditionState = SURRENDER MOVING 7584 ; ; Animation = UITRST_SKL.UITRST_SWKB 7585 ; ; AnimationMode = ONCE 7586 ; ; TransitionKey = TRANS_SurrenderMoving 7587 ; ;End 7588 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 7589 ; Animation = UITRST_SKL.UITRST_SUR 7590 ; AnimationMode = ONCE 7591 ; End 7592 7593 7594 TransitionState = TRANS_Falling TRANS_Chute 7595 Animation = UITRST_SKL.UITRST_POP 7596 AnimationMode = ONCE 7597 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 7598 End 7599 7600 TransitionState = TRANS_Chute TRANS_Stand 7601 Animation = UITRST_SKL.UITRST_PTD 7602 AnimationMode = ONCE 7603 End 7604 7605 End 7606 7607 ; ***DESIGN parameters *** 7608 DisplayName = OBJECT:Terrorist 7609 Side = GLA 7610 EditorSorting = INFANTRY 7611 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 7612 WeaponSet 7613 Conditions = None 7614 ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE 7615 ;damage to do ini logic for type of death to play -- unresistable for success. 7616 Weapon = PRIMARY TerroristSuicideWeapon 7617 End 7618 ArmorSet 7619 Conditions = None 7620 Armor = HumanArmor 7621 DamageFX = InfantryDamageFX 7622 End 7623 VisionRange = 150 7624 ShroudClearingRange = 200 7625 Prerequisites 7626 Object = GLABarracks 7627 End 7628 BuildCost = 200 7629 BuildTime = 5.0 ;in seconds 7630 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 7631 CommandSet = GLAInfantryTerroristCommandSet 7632 7633 ; *** AUDIO Parameters *** 7634 VoiceSelect = TerroristVoiceSelect 7635 VoiceMove = TerroristVoiceMove 7636 VoiceAttack = TerroristVoiceAttack 7637 SoundDie = TerroristVoiceDie 7638 SoundDieFire = DieByFireGLA 7639 SoundDieToxin = DieByToxinGLA 7640 VoiceFear = TerroristVoiceFear 7641 VoiceGuard = TerroristVoiceMove 7642 UnitSpecificSounds 7643 VoiceGarrison = TerroristVoiceMove 7644 VoiceCreate = TerroristVoiceCreate 7645 VoiceEnter = TerroristVoiceEnter 7646 VoiceEnterHostile = TerroristVoiceEnterHostile 7647 VoiceGetHealed = TerroristVoiceMove 7648 End 7649 7650 ; *** ENGINEERING Parameters *** 7651 RadarPriority = UNIT 7652 ; Terrorists do not surrender! 7653 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 7654 7655 Body = ActiveBody ModuleTag_02 7656 MaxHealth = 120.0 7657 InitialHealth = 120.0 7658 End 7659 7660 ExperienceValue = 20 20 20 20 ; Experience point value at each level 7661 7662 Behavior = AIUpdateInterface ModuleTag_03 7663 AutoAcquireEnemiesWhenIdle = Yes 7664 End 7665 Locomotor = SET_NORMAL FastHumanLocomotor 7666 Behavior = PhysicsBehavior ModuleTag_04 7667 Mass = 5.0 7668 End 7669 7670 ;Kris 7671 Behavior = ConvertToCarBombCrateCollide ModuleTag_06 7672 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with 7673 ;ForbiddenKindOf = TRANSPORT DOZER ; but not to TRANSPORTs or DOZERs! 7674 FXList = FX_MakeCarBombSuccess 7675 End 7676 7677 Behavior = SquishCollide ModuleTag_07 7678 ;nothing 7679 End 7680 7681 ; --- begin Death modules --- 7682 Behavior = SlowDeathBehavior ModuleTag_Death01 7683 DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA 7684 SinkDelay = 3000 7685 SinkRate = 0.5 ; in Dist/Sec 7686 DestructionDelay = 8000 7687 FX = INITIAL FX_GIDie 7688 End 7689 7690 7691 ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS 7692 Behavior = SlowDeathBehavior ModuleTag_Death02 7693 DeathTypes = NONE +POISONED 7694 DestructionDelay = 0 7695 FX = INITIAL FX_GIDie 7696 OCL = INITIAL OCL_ToxicInfantry 7697 End 7698 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 7699 DeathTypes = NONE +POISONED_BETA 7700 DestructionDelay = 0 7701 FX = INITIAL FX_GIDie 7702 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 7703 End 7704 ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS 7705 7706 7707 ; I have just pulled my ripcord, and this ain't no parachute! 7708 Behavior = SlowDeathBehavior ModuleTag_Death03 7709 DeathTypes = NONE +SUICIDED 7710 SinkDelay = 3000 7711 SinkRate = 0.5 ; in Dist/Sec 7712 DestructionDelay = 8000 7713 FX = INITIAL FX_TerroristExplode 7714 FlingForce = 8 7715 FlingForceVariance = 3 7716 FlingPitch = 60 7717 FlingPitchVariance = 10 7718 End 7719 Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04 7720 DeathWeapon = SuicideDynamitePack 7721 StartsActive = Yes ; turned on by upgrade 7722 DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED 7723 End 7724 ; --- end Death modules --- 7725 7726 Behavior = PoisonedBehavior ModuleTag_14 7727 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 7728 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 7729 End 7730 7731 Geometry = CYLINDER 7732 GeometryMajorRadius = 10.0 7733 GeometryMinorRadius = 10.0 7734 GeometryHeight = 12.0 7735 GeometryIsSmall = Yes 7736 Shadow = SHADOW_DECAL 7737 ShadowSizeX = 14; 7738 ShadowSizeY = 14; 7739 ShadowTexture = ShadowI; 7740 BuildCompletion = APPEARS_AT_RALLY_POINT 7741 7742 End 7743 7744 7745 7746 7747 7748 7749 7750 7751 ;------------------------------------------------------------------------------ 7752 ;------------------------------------------------------------------------------ 7753 Object GLAInfantryAngryMobNexus 7754 7755 ;**** ART Parameters ************************** 7756 SelectPortrait = SUAngryMob_L 7757 ButtonImage = SUAngryMob 7758 7759 UpgradeCameo1 = Upgrade_GLAArmTheMob 7760 ;UpgradeCameo2 = NONE 7761 ;UpgradeCameo3 = NONE 7762 ;UpgradeCameo4 = NONE 7763 ;UpgradeCameo5 = NONE 7764 7765 Draw = W3DModelDraw ModuleTag_01 7766 OkToChangeModelColor = Yes 7767 DefaultConditionState 7768 Model = None 7769 ; Model = AVBomber_B 7770 End 7771 End 7772 7773 7774 ;****DESIGN parameters ************************** 7775 7776 DisplayName = OBJECT:AngryMobNexus 7777 Side = GLA 7778 7779 RadarPriority = NOT_ON_RADAR 7780 7781 EditorSorting = INFANTRY 7782 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 7783 7784 WeaponSet 7785 Conditions = None 7786 Weapon = PRIMARY GLAAngryMobNexusHarmlessWeapon 7787 Weapon = SECONDARY GLAAngryMobNexusHarmlessWeapon 7788 Weapon = TERTIARY GLAAngryMobNexusHarmlessWeapon 7789 End 7790 7791 7792 ArmorSet 7793 Conditions = None 7794 Armor = InvulnerableAllArmor 7795 DamageFX = None 7796 End 7797 7798 BuildCost = 800 7799 BuildTime = 15.0 ;in seconds 7800 VisionRange = 150 ; it can scout for the spawn 7801 ShroudClearingRange = 0 7802 7803 Prerequisites 7804 Object = GLABarracks 7805 Object = GLAPalace 7806 End 7807 7808 ExperienceValue = 5 5 5 5 ;Experience point value at each level 7809 7810 IsTrainable = No 7811 7812 7813 7814 CommandSet = GLAInfantryAngryMobCommandSet; 7815 7816 ;**** AUDIO Parameters ***************************** 7817 VoiceSelect = AngryMobVoiceSelect 7818 VoiceMove = AngryMobVoiceMove 7819 VoiceGuard = AngryMobVoiceMove 7820 VoiceAttack = AngryMobVoiceAttack 7821 SoundMoveStart = NoSound 7822 SoundAmbient = AngryMobAmbientLoop 7823 SoundAmbientRubble = NoSound 7824 SoundDie = CivilianArabMaleDie 7825 SoundDieFire = DieByFireGLA 7826 SoundDieToxin = DieByToxinGLA 7827 UnitSpecificSounds 7828 VoiceCreate = AngryMobVoiceCreate 7829 End 7830 7831 7832 ;**** ENGINEERING Parameters ****************************** 7833 7834 RadarPriority = UNIT 7835 KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE SCORE 7836 Body = ImmortalBody ModuleTag_02 7837 MaxHealth = 99999.0 7838 InitialHealth = 99999.0 7839 End 7840 7841 Behavior = AIUpdateInterface ModuleTag_03 7842 AutoAcquireEnemiesWhenIdle = Yes 7843 End 7844 7845 Locomotor = SET_NORMAL AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! 7846 Locomotor = SET_WANDER AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! 7847 Locomotor = SET_PANIC AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! 7848 7849 ; Locomotor = SET_NORMAL WanderHumanLocomotor ;Important! don't make the Nexus any faster! 7850 ; Locomotor = SET_WANDER WanderHumanLocomotor ;Important! don't make the Nexus any faster! 7851 ; Locomotor = SET_PANIC WanderHumanLocomotor ;Important! don't make the Nexus any faster! 7852 7853 Behavior = PhysicsBehavior ModuleTag_04 7854 Mass = 50.0 7855 End 7856 7857 Behavior = SpawnBehavior ModuleTag_05 7858 SpawnNumber = 10 7859 SpawnReplaceDelay = 30000 ; 30 seconds 7860 7861 SpawnTemplateName = GLAInfantryAngryMobPistol01 ; Aladdin 7862 SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume 7863 SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce 7864 SpawnTemplateName = GLAInfantryAngryMobPistol03 ; Skinny Guy with the Green Beret 7865 SpawnTemplateName = GLAInfantryAngryMobRock04 ; Fat guy with the tank top 7866 SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce 7867 SpawnTemplateName = GLAInfantryAngryMobPistol05 ; The robed dude with the Man-Veil 7868 7869 7870 7871 ExitByBudding = Yes;! 7872 7873 InitialBurst = 5 ; the first set of 5 will not delay 7874 OneShot = No 7875 AggregateHealth = Yes 7876 End 7877 7878 Behavior = QueueProductionExitUpdate ModuleTag_06 7879 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 7880 NaturalRallyPoint = X: 0.0 Y: 0.0 Z:0.0 7881 ExitDelay = 5000 ; 5 sec 7882 InitialBurst = 5 ; the first set of 5 will not delay 7883 End 7884 7885 Behavior = DestroyDie ModuleTag_07 7886 DeathTypes = ALL 7887 End 7888 7889 Geometry = CYLINDER 7890 GeometryMajorRadius = 1.0 7891 GeometryMinorRadius = 1.0 7892 GeometryHeight = 1.0 7893 GeometryIsSmall = Yes 7894 Shadow = SHADOW_VOLUME 7895 7896 End 7897 7898 7899 7900 7901 7902 ;------------------------------------------------------------------------------ 7903 ;------------------------------------------------------------------------------ 7904 Object GLAInfantryAngryMobPistol01 7905 7906 ;**** ART Parameters *** 7907 Draw = W3DModelDraw DrawTag_01 7908 OkToChangeModelColor = Yes 7909 7910 7911 7912 ; WHILE CARRYING PISTOL 7913 ;--------------------------------------------------------- 7914 DefaultConditionState ;Idle with Pistol Holstered 7915 Model = UIMOB01_SKN 7916 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA1 0 12 7917 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA2 0 5 7918 IdleAnimation = UIMOB01_SKL.UIMOB01_CHA 0 5 7919 IdleAnimation = UIMOB01_SKL.UIMOB01_STA 0 5 7920 AnimationMode = ONCE 7921 AnimationSpeedFactorRange 0.9 1.1 7922 TransitionKey = TRANS_STAND_A 7923 7924 WeaponFireFXBone = PRIMARY Muzzle 7925 WeaponMuzzleFlash = PRIMARY MuzzleFX 7926 WeaponFireFXBone = SECONDARY MuzzleAK 7927 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 7928 End 7929 7930 ; Drawing pistol 7931 ConditionState = PREATTACK_A 7932 Animation = UIMOB01_SKL.UIMOB01_ATA1_ST ; start firing 7933 AnimationMode = ONCE 7934 End 7935 AliasConditionState = PREATTACK_A FIRING_A 7936 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 7937 7938 ; Firing pistol 7939 ConditionState = FIRING_A 7940 Animation = UIMOB01_SKL.UIMOB01_ATA1_LP ; looping firing 7941 AnimationMode = LOOP 7942 TransitionKey = TRANS_FIRING_A 7943 End 7944 AliasConditionState = BETWEEN_FIRING_SHOTS_A 7945 7946 ConditionState = RELOADING_A 7947 Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing 7948 AnimationMode = ONCE 7949 End 7950 7951 ; This transition allows him to put his gun away when he's finished attacking. 7952 TransitionState = TRANS_FIRING_A TRANS_STAND_A 7953 Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing 7954 AnimationMode = ONCE 7955 End 7956 7957 ConditionState = MOVING 7958 Animation = UIMOB01_SKL.UIMOB01_RNA 7959 AnimationMode = LOOP 7960 Flags = RANDOMSTART 7961 TransitionKey = MOVING 7962 ParticleSysBone = None InfantryDustTrails 7963 End 7964 AliasConditionState = MOVING RELOADING_A 7965 AliasConditionState = MOVING PREATTACK_A 7966 AliasConditionState = MOVING FIRING_A 7967 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 7968 AliasConditionState = MOVING RELOADING_C RELOADING_A 7969 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 7970 7971 ConditionState = DYING 7972 Animation = UIMOB01_SKL.UIMOB01_DA1 7973 Animation = UIMOB01_SKL.UIMOB01_DA2 7974 AnimationMode = ONCE 7975 TransitionKey = TRANS_Dying 7976 End 7977 7978 7979 ConditionState = SPECIAL_CHEERING 7980 Animation = UIMOB01_SKL.UIMOB01_CHA 7981 AnimationMode = ONCE 7982 End 7983 7984 ;-------------------------------------------------------- 7985 ; TRANSITION FROM PISTOL TO AK47 7986 TransitionState = TRANS_STAND_A TRANS_STAND_AK 7987 Animation = UIMOB01_SKL.UIMOB01_TA-D 7988 AnimationMode = ONCE 7989 End 7990 7991 7992 ; WHILE CARRYING AK47 7993 ;--------------------------------------------------------- 7994 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 7995 Model = UIMOB01_SKN 7996 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD1 0 6 7997 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD2 0 6 7998 IdleAnimation = UIMOB01_SKL.UIMOB01_CHD 0 6 7999 IdleAnimation = UIMOB01_SKL.UIMOB01_STD 8000 AnimationMode = ONCE 8001 AnimationSpeedFactorRange 0.9 1.1 8002 TransitionKey = TRANS_STAND_AK 8003 End 8004 8005 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 8006 Animation = UIMOB01_SKL.UIMOB01_RND 8007 AnimationMode = LOOP 8008 Flags = RANDOMSTART 8009 TransitionKey = MOVING_AK 8010 End 8011 8012 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 8013 Animation = UIMOB01_SKL.UIMOB01_DD1 8014 Animation = UIMOB01_SKL.UIMOB01_DD2 8015 AnimationMode = ONCE 8016 TransitionKey = TRANS_Dying 8017 End 8018 8019 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 8020 Animation = UIMOB01_SKL.UIMOB01_CHD 8021 AnimationMode = ONCE 8022 End 8023 8024 ; Drawing AK47 8025 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 8026 Animation = UIMOB01_SKL.UIMOB01_ATD1_ST ; start firing 8027 AnimationMode = ONCE 8028 End 8029 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 8030 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 8031 8032 ; Firing Gun 8033 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 8034 Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing 8035 AnimationMode = LOOP 8036 WeaponFireFXBone = SECONDARY MuzzleAK 8037 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 8038 TransitionKey = TRANS_FIRING_AK 8039 End 8040 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 8041 8042 8043 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 8044 Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing 8045 AnimationMode = ONCE 8046 End 8047 8048 8049 ; This transition allows him to put his gun away when he's finished attacking. 8050 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 8051 Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing 8052 AnimationMode = ONCE 8053 End 8054 8055 8056 8057 8058 8059 8060 ; ;Throwing bottle---------------------------------------------------------------- 8061 ; ConditionState = PREATTACK_C 8062 ; Animation = UIMOB01_SKL.UIMOB01_ATCA_BF ; the wind up 8063 ; End 8064 ; AliasConditionState = PREATTACK_C FIRING_A 8065 ; AliasConditionState = PREATTACK_C RELOADING_A 8066 ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 8067 ; 8068 ; ConditionState = FIRING_C 8069 ; Animation = UIMOB01_SKL.UIMOB01_ATCA_AF ; the release and follow-thru 8070 ; TransitionKey = TRANS_THROW 8071 ; End 8072 ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 8073 ; 8074 ; ConditionState RELOADING_C 8075 ; Animation =UIMOB01_SKL.UIMOB01_IDA1 8076 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 8077 ; End 8078 ; AliasConditionState = RELOADING_C RELOADING_A 8079 ; AliasConditionState = RELOADING_C FIRING_A 8080 ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 8081 8082 8083 ; TransitionState = TRANSXXX TRANS_THROW 8084 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway gun and take out bottle 8085 ; End 8086 8087 ; TransitionState = TRANS_THROW TRANS_FIRING_A 8088 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get PISTOL 8089 ; End 8090 8091 ; TransitionState = TRANSXXXAK TRANS_THROW 8092 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway AK and take out bottle 8093 ; End 8094 8095 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 8096 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get AK 8097 ; End 8098 8099 8100 8101 8102 8103 ;-------------------------------------------------------- 8104 8105 8106 8107 8108 8109 8110 TransitionState = TRANS_Dying TRANS_Flailing 8111 Animation = UIMOB01_SKL.UIMOB01_A_ADTE1 8112 Animation = UIMOB01_SKL.UIMOB01_D_ADTE1 8113 AnimationMode = ONCE 8114 End 8115 8116 ConditionState = DYING EXPLODED_FLAILING 8117 Animation = UIMOB01_SKL.UIMOB01_A_ADTE2 8118 Animation = UIMOB01_SKL.UIMOB01_D_ADTE2 8119 AnimationMode = LOOP 8120 TransitionKey = TRANS_Flailing 8121 End 8122 8123 ConditionState = DYING EXPLODED_BOUNCING 8124 Animation = UIMOB01_SKL.UIMOB01_A_ADTE3 8125 Animation = UIMOB01_SKL.UIMOB01_D_ADTE3 8126 AnimationMode = ONCE 8127 TransitionKey = None 8128 End 8129 8130 8131 End 8132 8133 8134 ;**** DESIGN parameters *** 8135 8136 DisplayName = OBJECT:AngryMob 8137 Side = GLA 8138 EditorSorting = INFANTRY 8139 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 8140 8141 WeaponSet 8142 Conditions = None 8143 Weapon = PRIMARY GLAAngryMobPistolWeapon 8144 End 8145 8146 WeaponSet 8147 Conditions = PLAYER_UPGRADE 8148 Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions 8149 Weapon = SECONDARY GLAAngryMobAK47Weapon 8150 End 8151 8152 ArmorSet 8153 Conditions = None 8154 Armor = HumanArmor 8155 DamageFX = InfantryDamageFX 8156 End 8157 8158 VisionRange = 150 8159 ShroudClearingRange = 150 8160 Prerequisites 8161 Object = GLABarracks 8162 End 8163 BuildCost = 100 8164 BuildTime = 0.0 8165 8166 ExperienceValue = 5 5 5 5 ;Experience point value at each level 8167 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 8168 IsTrainable = Yes ;Can gain experience 8169 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 8170 8171 ; *** AUDIO Parameters *** 8172 VoiceSelect = NoSound 8173 VoiceMove = NoSound 8174 VoiceAttack = NoSound 8175 SoundDie = CivilianArabMaleDie 8176 8177 8178 ;**** ENGINEERING Parameters *** ;MOB01 8179 RadarPriority = UNIT 8180 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 8181 8182 Body = ActiveBody BodyTag_01 8183 MaxHealth = 50.0 8184 InitialHealth = 50.0 8185 End 8186 8187 Behavior = AIUpdateInterface ModuleTag_03 8188 AutoAcquireEnemiesWhenIdle = Yes 8189 End 8190 8191 Behavior = MobMemberSlavedUpdate ModuleTag_04 8192 MustCatchUpRadius = 40 8193 NoNeedToCatchUpRadius = 15 8194 Squirrelliness = 0.05 8195 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 8196 End 8197 8198 Locomotor = SET_NORMAL AngryMobNormalLocomotor 8199 Locomotor = SET_WANDER AngryMobWanderLocomotor 8200 Locomotor = SET_PANIC AngryMobPanicLocomotor 8201 8202 Behavior = PhysicsBehavior BehaviorTag_01 8203 Mass = 5.0 8204 End 8205 8206 Behavior = SquishCollide ModuleTag_08 8207 ;nothing 8208 End 8209 8210 Behavior = WeaponSetUpgrade UpgradeTag_01 8211 TriggeredBy = Upgrade_GLAArmTheMob 8212 End 8213 8214 8215 ; --- begin Death modules --- 8216 Behavior = SlowDeathBehavior DeathTag_01 8217 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 8218 SinkDelay = 3000 8219 SinkRate = 0.5 ; in Dist/Sec 8220 DestructionDelay = 8000 8221 FX = INITIAL FX_GIDie 8222 End 8223 Behavior = SlowDeathBehavior DeathTag_02 8224 DeathTypes = NONE +CRUSHED +SPLATTED 8225 SinkDelay = 3000 8226 SinkRate = 0.5 ; in Dist/Sec 8227 DestructionDelay = 8000 8228 FX = INITIAL FX_GIDieCrushed 8229 End 8230 Behavior = SlowDeathBehavior DeathTag_03 8231 DeathTypes = NONE +EXPLODED 8232 SinkDelay = 3000 8233 SinkRate = 0.5 ; in Dist/Sec 8234 DestructionDelay = 8000 8235 FX = INITIAL FX_GIDie 8236 FlingForce = 8 8237 FlingForceVariance = 3 8238 FlingPitch = 60 8239 FlingPitchVariance = 10 8240 End 8241 Behavior = SlowDeathBehavior DeathTag_04 8242 DeathTypes = NONE +BURNED 8243 DestructionDelay = 0 8244 FX = INITIAL FX_GIDie 8245 OCL = INITIAL OCL_FlamingInfantry 8246 End 8247 Behavior = SlowDeathBehavior DeathTag_05 8248 DeathTypes = NONE +POISONED 8249 DestructionDelay = 0 8250 FX = INITIAL FX_GIDie 8251 OCL = INITIAL OCL_ToxicInfantry 8252 End 8253 ; --- end Death modules --- 8254 8255 Behavior = PoisonedBehavior BehaviorTag_02 8256 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 8257 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 8258 End 8259 8260 Geometry = CYLINDER 8261 GeometryMajorRadius = 4.0 ; very thin 8262 GeometryHeight = 12.0 8263 GeometryIsSmall = Yes 8264 Shadow = SHADOW_DECAL 8265 ShadowSizeX = 14; 8266 ShadowSizeY = 14; 8267 ShadowTexture = ShadowI; 8268 BuildCompletion = APPEARS_AT_RALLY_POINT 8269 8270 End 8271 8272 8273 ;------------------------------------------------------------------------------ 8274 ;------------------------------------------------------------------------------ 8275 Object GLAInfantryAngryMobRock02 8276 8277 ;**** ART Parameters *** 8278 Draw = W3DModelDraw ModuleTag_01 8279 OkToChangeModelColor = Yes 8280 8281 ; WHILE CARRYING ROCK 8282 ;--------------------------------------------------------- 8283 DefaultConditionState 8284 Model = UIMOB02_SKN 8285 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 8286 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 8287 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 8288 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 8289 AnimationMode = ONCE 8290 AnimationSpeedFactorRange 0.9 1.1 8291 TransitionKey = TRANS_STAND_A 8292 8293 ;WeaponFireFXBone = PRIMARY "UIMOB02 R HAND" 8294 ;WeaponMuzzleFlash = PRIMARY "UIMOB02 R HAND" 8295 WeaponFireFXBone = SECONDARY MuzzleAK 8296 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 8297 End 8298 8299 8300 ; Drawing rock 8301 ConditionState = PREATTACK_A 8302 Animation = UIMOB02_SKL.UIMOB02_ATB2_BF ; wind up 8303 AnimationMode = ONCE 8304 End 8305 AliasConditionState = PREATTACK_A FIRING_A 8306 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 8307 8308 ; throwing rock 8309 ConditionState = FIRING_A 8310 Animation = UIMOB02_SKL.UIMOB02_ATB1_AF ; throw 8311 Animation = UIMOB02_SKL.UIMOB02_ATB2_AF ; throw 8312 AnimationMode = ONCE 8313 TransitionKey = TRANS_FIRING_A 8314 End 8315 8316 ConditionState = BETWEEN_FIRING_SHOTS_A 8317 Animation = UIMOB02_SKL.UIMOB02_STB 8318 AnimationMode = ONCE 8319 ; this is basically a trick: this guy has a nontrivial animation for firing, 8320 ; and a long recycle time between shots. we want him to finish his fire animation 8321 ; (unless he's ordered to do something else), so this is just a handy trick that 8322 ; says, "if the previous state had this transition key, allow it to finish before 8323 ; switching to us, if possible". 8324 WaitForStateToFinishIfPossible = TRANS_FIRING_A 8325 End 8326 AliasConditionState = RELOADING_A 8327 8328 8329 ConditionState = MOVING 8330 Animation = UIMOB02_SKL.UIMOB02_RNB 8331 AnimationMode = LOOP 8332 Flags = RANDOMSTART 8333 TransitionKey = MOVING 8334 ParticleSysBone = None InfantryDustTrails 8335 End 8336 8337 ConditionState = DYING 8338 Animation = UIMOB02_SKL.UIMOB02_DB1 8339 Animation = UIMOB02_SKL.UIMOB02_DB2 8340 AnimationMode = ONCE 8341 TransitionKey = TRANS_Dying 8342 End 8343 8344 ConditionState = SPECIAL_CHEERING 8345 Animation = UIMOB02_SKL.UIMOB02_CHB 8346 Flags = RANDOMSTART 8347 AnimationMode = LOOP 8348 End 8349 8350 8351 ;-------------------------------------------------------- 8352 ; TRANSITION FROM PISTOL TO AK47 8353 TransitionState = TRANS_STAND_A TRANS_STAND_AK 8354 Animation = UIMOB02_SKL.UIMOB02_TB-D 8355 AnimationMode = ONCE 8356 End 8357 8358 8359 ; WHILE CARRYING AK47 8360 ;--------------------------------------------------------- 8361 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 8362 Model = UIMOB02_SKN 8363 IdleAnimation = UIMOB02_SKL.UIMOB02_IDD1 0 6 8364 IdleAnimation = UIMOB02_SKL.UIMOB02_IDD2 0 6 8365 IdleAnimation = UIMOB02_SKL.UIMOB02_CHD 0 6 8366 IdleAnimation = UIMOB02_SKL.UIMOB02_STD 8367 AnimationMode = ONCE 8368 AnimationSpeedFactorRange 0.9 1.1 8369 TransitionKey = TRANS_STAND_AK 8370 End 8371 8372 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 8373 Animation = UIMOB02_SKL.UIMOB02_RND 8374 AnimationMode = LOOP 8375 Flags = RANDOMSTART 8376 TransitionKey = MOVING_AK 8377 End 8378 8379 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 8380 Animation = UIMOB02_SKL.UIMOB02_DD1 8381 Animation = UIMOB02_SKL.UIMOB02_DD2 8382 AnimationMode = ONCE 8383 TransitionKey = TRANS_Dying 8384 End 8385 8386 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 8387 Animation = UIMOB02_SKL.UIMOB02_CHD 8388 AnimationMode = ONCE 8389 End 8390 8391 ; Drawing AK47 8392 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 8393 Animation = UIMOB02_SKL.UIMOB02_ATD1_ST ; start firing 8394 AnimationMode = ONCE 8395 End 8396 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 8397 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 8398 8399 ; Firing Gun 8400 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 8401 Animation = UIMOB02_SKL.UIMOB02_ATD1_LP ; looping firing 8402 AnimationMode = LOOP 8403 WeaponFireFXBone = SECONDARY MuzzleAK 8404 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 8405 TransitionKey = TRANS_FIRING_AK 8406 End 8407 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 8408 8409 8410 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 8411 Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing 8412 AnimationMode = ONCE 8413 End 8414 8415 8416 ; This transition allows him to put his gun away when he's finished attacking. 8417 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 8418 Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing 8419 AnimationMode = ONCE 8420 End 8421 8422 8423 8424 8425 TransitionState = TRANS_Dying TRANS_Flailing 8426 Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 8427 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 8428 AnimationMode = ONCE 8429 End 8430 8431 ConditionState = DYING EXPLODED_FLAILING 8432 Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 8433 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 8434 AnimationMode = LOOP 8435 TransitionKey = TRANS_Flailing 8436 End 8437 8438 ConditionState = DYING EXPLODED_BOUNCING 8439 Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 8440 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 8441 AnimationMode = ONCE 8442 TransitionKey = None 8443 End 8444 8445 8446 End 8447 8448 8449 ;**** DESIGN parameters *** 8450 8451 DisplayName = OBJECT:AngryMob 8452 Side = GLA 8453 EditorSorting = INFANTRY 8454 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 8455 8456 WeaponSet 8457 Conditions = None 8458 Weapon = PRIMARY GLAAngryMobRockProjectileWeapon 8459 End 8460 8461 WeaponSet 8462 Conditions = PLAYER_UPGRADE 8463 Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions 8464 Weapon = SECONDARY GLAAngryMobAK47Weapon 8465 End 8466 8467 ArmorSet 8468 Conditions = None 8469 Armor = HumanArmor 8470 DamageFX = InfantryDamageFX 8471 End 8472 8473 VisionRange = 150 8474 ShroudClearingRange = 150 8475 Prerequisites 8476 Object = GLABarracks 8477 End 8478 BuildCost = 100 8479 BuildTime = 0.0 8480 8481 ExperienceValue = 5 5 5 5 ;Experience point value at each level 8482 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 8483 IsTrainable = Yes ;Can gain experience 8484 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 8485 8486 ; *** AUDIO Parameters *** 8487 VoiceSelect = NoSound 8488 VoiceMove = NoSound 8489 VoiceAttack = NoSound 8490 SoundDie = CivilianArabFemaleDie 8491 8492 8493 ;**** ENGINEERING Parameters *** ;MOB02 8494 RadarPriority = UNIT 8495 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 8496 8497 Body = ActiveBody BodyTag_01 8498 MaxHealth = 50.0 8499 InitialHealth = 50.0 8500 End 8501 8502 Behavior = AIUpdateInterface ModuleTag_03 8503 AutoAcquireEnemiesWhenIdle = Yes 8504 End 8505 8506 Behavior = MobMemberSlavedUpdate ModuleTag_04 8507 MustCatchUpRadius = 40 8508 NoNeedToCatchUpRadius = 15 8509 Squirrelliness = 0.05 8510 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 8511 End 8512 8513 Locomotor = SET_NORMAL AngryMobNormalLocomotor 8514 Locomotor = SET_WANDER AngryMobWanderLocomotor 8515 Locomotor = SET_PANIC AngryMobPanicLocomotor 8516 8517 Behavior = PhysicsBehavior ModuleTag_05 8518 Mass = 5.0 8519 End 8520 8521 Behavior = SquishCollide ModuleTag_08 8522 ;nothing 8523 End 8524 8525 Behavior = WeaponSetUpgrade UpgradeTag_01 8526 TriggeredBy = Upgrade_GLAArmTheMob 8527 End 8528 8529 8530 ; --- begin Death modules --- 8531 Behavior = SlowDeathBehavior ModuleTag_Death01 8532 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 8533 SinkDelay = 3000 8534 SinkRate = 0.5 ; in Dist/Sec 8535 DestructionDelay = 8000 8536 FX = INITIAL FX_GIDie 8537 End 8538 Behavior = SlowDeathBehavior ModuleTag_Death02 8539 DeathTypes = NONE +CRUSHED +SPLATTED 8540 SinkDelay = 3000 8541 SinkRate = 0.5 ; in Dist/Sec 8542 DestructionDelay = 8000 8543 FX = INITIAL FX_GIDieCrushed 8544 End 8545 Behavior = SlowDeathBehavior ModuleTag_Death03 8546 DeathTypes = NONE +EXPLODED 8547 SinkDelay = 3000 8548 SinkRate = 0.5 ; in Dist/Sec 8549 DestructionDelay = 8000 8550 FX = INITIAL FX_GIDie 8551 FlingForce = 8 8552 FlingForceVariance = 3 8553 FlingPitch = 60 8554 FlingPitchVariance = 10 8555 End 8556 Behavior = SlowDeathBehavior ModuleTag_Death04 8557 DeathTypes = NONE +BURNED 8558 DestructionDelay = 0 8559 FX = INITIAL FX_GIDie 8560 OCL = INITIAL OCL_FlamingInfantry 8561 End 8562 Behavior = SlowDeathBehavior ModuleTag_Death05 8563 DeathTypes = NONE +POISONED 8564 DestructionDelay = 0 8565 FX = INITIAL FX_GIDie 8566 OCL = INITIAL OCL_ToxicInfantry 8567 End 8568 ; --- end Death modules --- 8569 8570 Behavior = PoisonedBehavior ModuleTag_13 8571 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 8572 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 8573 End 8574 8575 Geometry = CYLINDER 8576 GeometryMajorRadius = 4.0 ; very thin 8577 GeometryHeight = 12.0 8578 GeometryIsSmall = Yes 8579 Shadow = SHADOW_DECAL 8580 ShadowSizeX = 14; 8581 ShadowSizeY = 14; 8582 ShadowTexture = ShadowI; 8583 BuildCompletion = APPEARS_AT_RALLY_POINT 8584 8585 End 8586 8587 ;------------------------------------------------------------------------------ 8588 ;------------------------------------------------------------------------------ 8589 8590 ObjectReskin GLAInfantryAngryMobPistol03 GLAInfantryAngryMobPistol01 8591 8592 ;**** ART Parameters *** 8593 Draw = W3DModelDraw DrawTag_01 8594 OkToChangeModelColor = Yes 8595 8596 8597 8598 ; WHILE CARRYING PISTOL 8599 ;--------------------------------------------------------- 8600 DefaultConditionState ;Idle with Pistol Holstered 8601 Model = UIMOB03_SKN 8602 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA1 0 12 8603 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA2 0 5 8604 IdleAnimation = UIMOB03_SKL.UIMOB03_CHA 0 5 8605 IdleAnimation = UIMOB03_SKL.UIMOB03_STA 0 5 8606 AnimationMode = ONCE 8607 AnimationSpeedFactorRange 0.9 1.1 8608 TransitionKey = TRANS_STAND_A 8609 8610 WeaponFireFXBone = PRIMARY Muzzle 8611 WeaponMuzzleFlash = PRIMARY MuzzleFX 8612 WeaponFireFXBone = SECONDARY MuzzleAK 8613 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 8614 WeaponFireFXBone = TERTIARY "UIMOB03 R HAND" 8615 End 8616 8617 ; Drawing pistol 8618 ConditionState = PREATTACK_A 8619 Animation = UIMOB03_SKL.UIMOB03_ATA1_ST ; start firing 8620 AnimationMode = ONCE 8621 End 8622 AliasConditionState = PREATTACK_A FIRING_A 8623 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 8624 8625 ; Firing pistol 8626 ConditionState = FIRING_A 8627 Animation = UIMOB03_SKL.UIMOB03_ATA1_LP ; looping firing 8628 AnimationMode = LOOP 8629 TransitionKey = TRANS_FIRING_A 8630 End 8631 AliasConditionState = BETWEEN_FIRING_SHOTS_A 8632 8633 ConditionState = RELOADING_A 8634 Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing 8635 AnimationMode = ONCE 8636 End 8637 8638 ; This transition allows him to put his gun away when he's finished attacking. 8639 TransitionState = TRANS_FIRING_A TRANS_STAND_A 8640 Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing 8641 AnimationMode = ONCE 8642 End 8643 8644 ConditionState = MOVING 8645 Animation = UIMOB03_SKL.UIMOB03_RNA 8646 AnimationMode = LOOP 8647 Flags = RANDOMSTART 8648 TransitionKey = MOVING 8649 ParticleSysBone = None InfantryDustTrails 8650 End 8651 AliasConditionState = MOVING RELOADING_A 8652 AliasConditionState = MOVING PREATTACK_A 8653 AliasConditionState = MOVING FIRING_A 8654 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 8655 AliasConditionState = MOVING RELOADING_C RELOADING_A 8656 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 8657 8658 ConditionState = DYING 8659 Animation = UIMOB03_SKL.UIMOB03_DA1 8660 Animation = UIMOB03_SKL.UIMOB03_DA2 8661 AnimationMode = ONCE 8662 TransitionKey = TRANS_Dying 8663 End 8664 8665 8666 ConditionState = SPECIAL_CHEERING 8667 Animation = UIMOB03_SKL.UIMOB03_CHA 8668 AnimationMode = ONCE 8669 End 8670 8671 ;-------------------------------------------------------- 8672 ; TRANSITION FROM PISTOL TO AK47 8673 TransitionState = TRANS_STAND_A TRANS_STAND_AK 8674 Animation = UIMOB03_SKL.UIMOB03_TA-D 8675 AnimationMode = ONCE 8676 End 8677 8678 8679 ; WHILE CARRYING AK47 8680 ;--------------------------------------------------------- 8681 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 8682 Model = UIMOB03_SKN 8683 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD1 0 6 8684 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD2 0 6 8685 IdleAnimation = UIMOB03_SKL.UIMOB03_CHD 0 6 8686 IdleAnimation = UIMOB03_SKL.UIMOB03_STD 8687 AnimationMode = ONCE 8688 AnimationSpeedFactorRange 0.9 1.1 8689 TransitionKey = TRANS_STAND_AK 8690 End 8691 8692 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 8693 Animation = UIMOB03_SKL.UIMOB03_RND 8694 AnimationMode = LOOP 8695 Flags = RANDOMSTART 8696 TransitionKey = MOVING_AK 8697 End 8698 8699 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 8700 Animation = UIMOB03_SKL.UIMOB03_DD1 8701 Animation = UIMOB03_SKL.UIMOB03_DD2 8702 AnimationMode = ONCE 8703 TransitionKey = TRANS_Dying 8704 End 8705 8706 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 8707 Animation = UIMOB03_SKL.UIMOB03_CHD 8708 AnimationMode = ONCE 8709 End 8710 8711 ; Drawing AK47 8712 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 8713 Animation = UIMOB03_SKL.UIMOB03_ATD_ST ; start firing 8714 AnimationMode = ONCE 8715 End 8716 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 8717 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 8718 8719 ; Firing Gun 8720 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 8721 Animation = UIMOB03_SKL.UIMOB03_ATD_LP ; looping firing 8722 AnimationMode = LOOP 8723 WeaponFireFXBone = SECONDARY MuzzleAK 8724 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 8725 TransitionKey = TRANS_FIRING_AK 8726 End 8727 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 8728 8729 8730 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 8731 Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing 8732 AnimationMode = ONCE 8733 End 8734 8735 8736 ; This transition allows him to put his gun away when he's finished attacking. 8737 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 8738 Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing 8739 AnimationMode = ONCE 8740 End 8741 8742 8743 ; ;Throwing bottle---------------------------------------------------------------- 8744 ; ConditionState = PREATTACK_C 8745 ; Animation = UIMOB03_SKL.UIMOB03_ATCA_BF ; the wind up 8746 ; End 8747 ; AliasConditionState = PREATTACK_C FIRING_A 8748 ; AliasConditionState = PREATTACK_C RELOADING_A 8749 ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 8750 ; 8751 ; ConditionState = FIRING_C 8752 ; Animation = UIMOB03_SKL.UIMOB03_ATCA_AF ; the release and follow-thru 8753 ; TransitionKey = TRANS_THROW 8754 ; End 8755 ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 8756 ; 8757 ; ConditionState RELOADING_C 8758 ; Animation =UIMOB03_SKL.UIMOB03_IDA1 8759 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 8760 ; 8761 ; End 8762 ; AliasConditionState = RELOADING_C RELOADING_A 8763 ; AliasConditionState = RELOADING_C FIRING_A 8764 ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 8765 8766 8767 ; TransitionState = TRANSXXX TRANS_THROW 8768 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway gun and take out bottle 8769 ; End 8770 8771 ; TransitionState = TRANS_THROW TRANS_FIRING_A 8772 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get PISTOL 8773 ; End 8774 8775 ; TransitionState = TRANSXXXAK TRANS_THROW 8776 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway AK and take out bottle 8777 ; End 8778 8779 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 8780 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get AK 8781 ; End 8782 8783 8784 8785 8786 8787 ;-------------------------------------------------------- 8788 8789 8790 8791 8792 8793 8794 TransitionState = TRANS_Dying TRANS_Flailing 8795 Animation = UIMOB03_SKL.UIMOB03_A_ADTD1 8796 Animation = UIMOB03_SKL.UIMOB03_D_ADTD1 8797 AnimationMode = ONCE 8798 End 8799 8800 ConditionState = DYING EXPLODED_FLAILING 8801 Animation = UIMOB03_SKL.UIMOB03_A_ADTD2 8802 Animation = UIMOB03_SKL.UIMOB03_D_ADTD2 8803 AnimationMode = LOOP 8804 TransitionKey = TRANS_Flailing 8805 End 8806 8807 ConditionState = DYING EXPLODED_BOUNCING 8808 Animation = UIMOB03_SKL.UIMOB03_A_ADTD3 8809 Animation = UIMOB03_SKL.UIMOB03_D_ADTD3 8810 AnimationMode = ONCE 8811 TransitionKey = None 8812 End 8813 8814 8815 End 8816 8817 8818 Geometry = CYLINDER 8819 GeometryMajorRadius = 3.0 ; very thin 8820 GeometryMinorRadius = 3.0 ; very thinD 8821 GeometryHeight = 12.0 8822 GeometryIsSmall = Yes 8823 8824 End 8825 8826 ;------------------------------------------------------------------------------ 8827 ;------------------------------------------------------------------------------ 8828 ObjectReskin GLAInfantryAngryMobRock04 GLAInfantryAngryMobRock02 8829 8830 ;**** ART Parameters *** 8831 Draw = W3DModelDraw ModuleTag_01 8832 OkToChangeModelColor = Yes 8833 8834 ; WHILE CARRYING ROCK 8835 ;--------------------------------------------------------- 8836 DefaultConditionState 8837 Model = UIMOB04_SKN 8838 IdleAnimation = UIMOB04_SKL.UIMOB04_IDB1 0 12 8839 IdleAnimation = UIMOB04_SKL.UIMOB04_IDB2 0 5 8840 IdleAnimation = UIMOB04_SKL.UIMOB04_CHB 0 5 8841 IdleAnimation = UIMOB04_SKL.UIMOB04_STB 0 12 8842 AnimationMode = ONCE 8843 AnimationSpeedFactorRange 0.9 1.1 8844 TransitionKey = TRANS_STAND_A 8845 WaitForStateToFinishIfPossible TRANS_FIRING_A 8846 8847 ;WeaponFireFXBone = PRIMARY "UIMOB04 R HAND" 8848 ;WeaponMuzzleFlash = PRIMARY "UIMOB04 R HAND" 8849 WeaponFireFXBone = SECONDARY MuzzleAK 8850 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 8851 End 8852 8853 8854 ; Drawing rock 8855 ConditionState = PREATTACK_A 8856 Animation = UIMOB04_SKL.UIMOB04_ATB2_BF ; wind up 8857 AnimationMode = ONCE 8858 AnimationSpeedFactorRange 1.0 1.0 8859 End 8860 AliasConditionState = PREATTACK_A FIRING_A 8861 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 8862 8863 ; throwing rock 8864 ConditionState = FIRING_A 8865 Animation = UIMOB04_SKL.UIMOB04_ATB1_AF ; throw 8866 Animation = UIMOB04_SKL.UIMOB04_ATB2_AF ; throw 8867 AnimationMode = ONCE 8868 TransitionKey = TRANS_FIRING_A 8869 End 8870 8871 ConditionState = BETWEEN_FIRING_SHOTS_A 8872 Animation = UIMOB04_SKL.UIMOB04_STB 8873 AnimationMode = ONCE 8874 ; this is basically a trick: this guy has a nontrivial animation for firing, 8875 ; and a long recycle time between shots. we want him to finish his fire animation 8876 ; (unless he's ordered to do something else), so this is just a handy trick that 8877 ; says, "if the previous state had this transition key, allow it to finish before 8878 ; switching to us, if possible". 8879 WaitForStateToFinishIfPossible = TRANS_FIRING_A 8880 End 8881 AliasConditionState = RELOADING_A 8882 8883 ConditionState = MOVING 8884 Animation = UIMOB04_SKL.UIMOB04_RUN 8885 AnimationMode = LOOP 8886 Flags = RANDOMSTART 8887 TransitionKey = MOVING 8888 ParticleSysBone = None InfantryDustTrails 8889 End 8890 8891 ConditionState = DYING 8892 Animation = UIMOB04_SKL.UIMOB04_DB1 8893 Animation = UIMOB04_SKL.UIMOB04_DB2 8894 AnimationMode = ONCE 8895 TransitionKey = TRANS_Dying 8896 End 8897 8898 ConditionState = SPECIAL_CHEERING 8899 Animation = UIMOB04_SKL.UIMOB04_CHB 8900 Flags = RANDOMSTART 8901 AnimationMode = LOOP 8902 End 8903 8904 8905 8906 8907 8908 8909 8910 8911 ;-------------------------------------------------------- 8912 ; TRANSITION FROM PISTOL TO AK47 8913 TransitionState = TRANS_STAND_A TRANS_STAND_AK 8914 Animation = UIMOB04_SKL.UIMOB04_TB-D 8915 AnimationMode = ONCE 8916 End 8917 8918 8919 ; WHILE CARRYING AK47 8920 ;--------------------------------------------------------- 8921 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 8922 Model = UIMOB04_SKN 8923 IdleAnimation = UIMOB04_SKL.UIMOB04_IDD1 0 6 8924 IdleAnimation = UIMOB04_SKL.UIMOB04_IDD2 0 6 8925 IdleAnimation = UIMOB04_SKL.UIMOB04_CHD 0 6 8926 IdleAnimation = UIMOB04_SKL.UIMOB04_STD 8927 AnimationMode = ONCE 8928 AnimationSpeedFactorRange 0.9 1.1 8929 TransitionKey = TRANS_STAND_AK 8930 WeaponFireFXBone = SECONDARY MuzzleAK 8931 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 8932 End 8933 8934 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 8935 Animation = UIMOB04_SKL.UIMOB04_RND 8936 AnimationMode = LOOP 8937 Flags = RANDOMSTART 8938 TransitionKey = MOVING_AK 8939 End 8940 8941 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 8942 Animation = UIMOB04_SKL.UIMOB04_DD1 8943 Animation = UIMOB04_SKL.UIMOB04_DD2 8944 AnimationMode = ONCE 8945 TransitionKey = TRANS_Dying 8946 End 8947 8948 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 8949 Animation = UIMOB04_SKL.UIMOB04_CHD 8950 AnimationMode = ONCE 8951 End 8952 8953 ; Drawing AK47 8954 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 8955 Animation = UIMOB04_SKL.UIMOB04_ATD1_ST ; start firing 8956 AnimationMode = ONCE 8957 End 8958 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 8959 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 8960 8961 ; Firing Gun 8962 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 8963 Animation = UIMOB04_SKL.UIMOB04_ATD1_LP ; looping firing 8964 AnimationMode = LOOP 8965 WeaponFireFXBone = PRIMARY MuzzleAK 8966 WeaponMuzzleFlash = PRIMARY MuzzleAKFX 8967 TransitionKey = TRANS_FIRING_AK 8968 End 8969 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 8970 8971 8972 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 8973 Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing 8974 AnimationMode = ONCE 8975 End 8976 8977 8978 ; This transition allows him to put his gun away when he's finished attacking. 8979 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 8980 Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing 8981 AnimationMode = ONCE 8982 End 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 TransitionState = TRANS_Dying TRANS_Flailing 8994 Animation = UIMOB04_SKL.UIMOB04_B_ADTF1 8995 Animation = UIMOB04_SKL.UIMOB04_D_ADTF1 8996 AnimationMode = ONCE 8997 End 8998 8999 ConditionState = DYING EXPLODED_FLAILING 9000 Animation = UIMOB04_SKL.UIMOB04_B_ADTF2 9001 Animation = UIMOB04_SKL.UIMOB04_D_ADTF2 9002 AnimationMode = LOOP 9003 TransitionKey = TRANS_Flailing 9004 End 9005 9006 ConditionState = DYING EXPLODED_BOUNCING 9007 Animation = UIMOB04_SKL.UIMOB04_B_ADTF3 9008 Animation = UIMOB04_SKL.UIMOB04_D_ADTF3 9009 AnimationMode = ONCE 9010 TransitionKey = None 9011 End 9012 9013 9014 End 9015 9016 Geometry = CYLINDER 9017 GeometryMajorRadius = 5.0 ; kinda thin 9018 GeometryMinorRadius = 5.0 ; kinda thinD 9019 GeometryHeight = 12.0 9020 GeometryIsSmall = Yes 9021 9022 End 9023 9024 ;------------------------------------------------------------------------------ 9025 ;------------------------------------------------------------------------------ 9026 ObjectReskin GLAInfantryAngryMobPistol05 GLAInfantryAngryMobPistol01 9027 9028 ;**** ART Parameters *** 9029 Draw = W3DModelDraw DrawTag_01 9030 OkToChangeModelColor = Yes 9031 9032 9033 9034 ; WHILE CARRYING PISTOL 9035 ;--------------------------------------------------------- 9036 DefaultConditionState ;Idle with Pistol Holstered 9037 Model = UIMOB05_SKN 9038 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA1 0 12 9039 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA2 0 5 9040 IdleAnimation = UIMOB05_SKL.UIMOB05_CHA 0 5 9041 IdleAnimation = UIMOB05_SKL.UIMOB05_STA 0 5 9042 AnimationMode = ONCE 9043 AnimationSpeedFactorRange 0.9 1.1 9044 TransitionKey = TRANS_STAND_A 9045 9046 WeaponFireFXBone = PRIMARY Muzzle01 9047 WeaponMuzzleFlash = PRIMARY Muzzle01 9048 End 9049 9050 ; Drawing pistol 9051 ConditionState = PREATTACK_A 9052 Animation = UIMOB05_SKL.UIMOB05_ATA1_ST ; start firing 9053 AnimationMode = ONCE 9054 End 9055 AliasConditionState = PREATTACK_A FIRING_A 9056 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 9057 9058 ; Firing pistol 9059 ConditionState = FIRING_A 9060 Animation = UIMOB05_SKL.UIMOB05_ATA1_LP ; looping firing 9061 AnimationMode = LOOP 9062 TransitionKey = TRANS_FIRING_A 9063 End 9064 AliasConditionState = BETWEEN_FIRING_SHOTS_A 9065 9066 ConditionState = RELOADING_A 9067 Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing 9068 AnimationMode = ONCE 9069 End 9070 9071 ; This transition allows him to put his gun away when he's finished attacking. 9072 TransitionState = TRANS_FIRING_A TRANS_STAND_A 9073 Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing 9074 AnimationMode = ONCE 9075 End 9076 9077 ConditionState = MOVING 9078 Animation = UIMOB05_SKL.UIMOB05_RNA 9079 AnimationMode = LOOP 9080 Flags = RANDOMSTART 9081 TransitionKey = MOVING 9082 ParticleSysBone = None InfantryDustTrails 9083 End 9084 AliasConditionState = MOVING RELOADING_A 9085 AliasConditionState = MOVING PREATTACK_A 9086 AliasConditionState = MOVING FIRING_A 9087 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 9088 AliasConditionState = MOVING RELOADING_C RELOADING_A 9089 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 9090 9091 ConditionState = DYING 9092 Animation = UIMOB05_SKL.UIMOB05_DA1 9093 Animation = UIMOB05_SKL.UIMOB05_DA2 9094 AnimationMode = ONCE 9095 TransitionKey = TRANS_Dying 9096 End 9097 9098 9099 ConditionState = SPECIAL_CHEERING 9100 Animation = UIMOB05_SKL.UIMOB05_CHA 9101 AnimationMode = ONCE 9102 End 9103 9104 ;-------------------------------------------------------- 9105 9106 ; TRANSITION FROM PISTOL TO AK47 9107 TransitionState = TRANS_STAND_A TRANS_STAND_AK 9108 Animation = UIMOB05_SKL.UIMOB05_TA-D 9109 AnimationMode = ONCE 9110 End 9111 9112 9113 ; WHILE CARRYING AK47 9114 ;--------------------------------------------------------- 9115 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 9116 Model = UIMOB05_SKN 9117 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD1 0 6 9118 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD2 0 6 9119 IdleAnimation = UIMOB05_SKL.UIMOB05_CHD 0 6 9120 IdleAnimation = UIMOB05_SKL.UIMOB05_STD 9121 AnimationMode = ONCE 9122 AnimationSpeedFactorRange 0.9 1.1 9123 TransitionKey = TRANS_STAND_AK 9124 WeaponFireFXBone = SECONDARY MuzzleAK 9125 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 9126 End 9127 9128 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 9129 Animation = UIMOB05_SKL.UIMOB05_RND 9130 AnimationMode = LOOP 9131 Flags = RANDOMSTART 9132 TransitionKey = MOVING_AK 9133 End 9134 9135 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 9136 Animation = UIMOB05_SKL.UIMOB05_DD1 9137 Animation = UIMOB05_SKL.UIMOB05_DD2 9138 AnimationMode = ONCE 9139 TransitionKey = TRANS_Dying 9140 End 9141 9142 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 9143 Animation = UIMOB05_SKL.UIMOB05_CHD 9144 AnimationMode = ONCE 9145 End 9146 9147 ; Drawing AK47 9148 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 9149 Animation = UIMOB05_SKL.UIMOB05_ATD1_ST ; start firing 9150 AnimationMode = ONCE 9151 End 9152 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 9153 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 9154 9155 ; Firing Gun 9156 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 9157 Animation = UIMOB05_SKL.UIMOB05_ATD1_LP ; looping firing 9158 AnimationMode = LOOP 9159 WeaponFireFXBone = PRIMARY MuzzleAK 9160 WeaponMuzzleFlash = PRIMARY MuzzleAKFX 9161 TransitionKey = TRANS_FIRING_AK 9162 End 9163 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 9164 9165 9166 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 9167 Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing 9168 AnimationMode = ONCE 9169 End 9170 9171 9172 ; This transition allows him to put his gun away when he's finished attacking. 9173 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 9174 Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing 9175 AnimationMode = ONCE 9176 End 9177 9178 9179 ; ;Throwing bottle---------------------------------------------------------------- 9180 ; ConditionState = PREATTACK_C 9181 ; Animation = UIMOB05_SKL.UIMOB05_ATCA_BF ; the wind up 9182 ; End 9183 ; AliasConditionState = PREATTACK_C FIRING_A 9184 ; AliasConditionState = PREATTACK_C RELOADING_A 9185 ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 9186 ; 9187 ; ConditionState = FIRING_C 9188 ; Animation = UIMOB05_SKL.UIMOB05_ATCA_AF ; the release and follow-thru 9189 ; TransitionKey = TRANS_THROW 9190 ; End 9191 ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 9192 ; 9193 ; ConditionState RELOADING_C 9194 ; Animation =UIMOB05_SKL.UIMOB05_IDA1 9195 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 9196 ; End 9197 ; AliasConditionState = RELOADING_C RELOADING_A 9198 ; AliasConditionState = RELOADING_C FIRING_A 9199 ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 9200 9201 9202 ; TransitionState = TRANSXXX TRANS_THROW 9203 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway gun and take out bottle 9204 ; End 9205 9206 ; TransitionState = TRANS_THROW TRANS_FIRING_A 9207 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get PISTOL 9208 ; End 9209 9210 ; TransitionState = TRANSXXXAK TRANS_THROW 9211 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway AK and take out bottle 9212 ; End 9213 9214 9215 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 9216 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get AK 9217 ; End 9218 9219 9220 9221 9222 9223 ;-------------------------------------------------------- 9224 9225 9226 9227 9228 9229 9230 TransitionState = TRANS_Dying TRANS_Flailing 9231 Animation = UIMOB05_SKL.UIMOB05_A_ADTA1 9232 Animation = UIMOB05_SKL.UIMOB05_D_ADTA1 9233 AnimationMode = ONCE 9234 End 9235 9236 ConditionState = DYING EXPLODED_FLAILING 9237 Animation = UIMOB05_SKL.UIMOB05_A_ADTA2 9238 Animation = UIMOB05_SKL.UIMOB05_D_ADTA2 9239 AnimationMode = LOOP 9240 TransitionKey = TRANS_Flailing 9241 End 9242 9243 ConditionState = DYING EXPLODED_BOUNCING 9244 Animation = UIMOB05_SKL.UIMOB05_A_ADTA3 9245 Animation = UIMOB05_SKL.UIMOB05_D_ADTA3 9246 AnimationMode = ONCE 9247 TransitionKey = None 9248 End 9249 9250 9251 End 9252 9253 9254 9255 Geometry = CYLINDER 9256 GeometryMajorRadius = 3.0 ; very thin 9257 GeometryMinorRadius = 3.0 ; very thinD 9258 GeometryHeight = 12.0 9259 GeometryIsSmall = Yes 9260 9261 End 9262 9263 9264 ;------------------------------------------------------------------------------ 9265 ;------------------------------------------------------------------------------ 9266 Object GLAInfantryAngryMobMolotov02 9267 9268 ;**** ART Parameters *** 9269 Draw = W3DModelDraw ModuleTag_01 9270 OkToChangeModelColor = Yes 9271 9272 ; WHILE CARRYING ROCK 9273 ;--------------------------------------------------------- 9274 DefaultConditionState 9275 Model = UIMOB02_SKN 9276 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 9277 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 9278 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 9279 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 9280 AnimationMode = ONCE 9281 AnimationSpeedFactorRange 0.9 1.1 9282 TransitionKey = TRANS_STAND_B 9283 9284 WeaponFireFXBone = SECONDARY "UIMOB02 R HAND" 9285 9286 End 9287 9288 9289 ; Drawing rock 9290 ConditionState = PREATTACK_B 9291 Animation = UIMOB02_SKL.UIMOB02_ATCB_BF ; wind up 9292 AnimationMode = ONCE 9293 End 9294 AliasConditionState = PREATTACK_B FIRING_B 9295 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 9296 9297 ; throwing rock 9298 ConditionState = FIRING_B 9299 Animation = UIMOB02_SKL.UIMOB02_ATCB_AF ; throw 9300 AnimationMode = ONCE 9301 TransitionKey = TRANS_FIRING_B 9302 End 9303 9304 ConditionState = BETWEEN_FIRING_SHOTS_B 9305 Animation = UIMOB02_SKL.UIMOB02_STB 9306 AnimationMode = ONCE 9307 ; this is basically a trick: this guy has a nontrivial animation for firing, 9308 ; and a long recycle time between shots. we want him to finish his fire animation 9309 ; (unless he's ordered to do something else), so this is just a handy trick that 9310 ; says, "if the previous state had this transition key, allow it to finish before 9311 ; switching to us, if possible". 9312 WaitForStateToFinishIfPossible = TRANS_FIRING_B 9313 End 9314 AliasConditionState = RELOADING_B 9315 9316 9317 ConditionState = MOVING 9318 Animation = UIMOB02_SKL.UIMOB02_RNB 9319 AnimationMode = LOOP 9320 Flags = RANDOMSTART 9321 TransitionKey = MOVING 9322 ParticleSysBone = None InfantryDustTrails 9323 End 9324 9325 ConditionState = DYING 9326 Animation = UIMOB02_SKL.UIMOB02_DB1 9327 Animation = UIMOB02_SKL.UIMOB02_DB2 9328 AnimationMode = ONCE 9329 TransitionKey = TRANS_Dying 9330 End 9331 9332 ConditionState = SPECIAL_CHEERING 9333 Animation = UIMOB02_SKL.UIMOB02_CHB 9334 Flags = RANDOMSTART 9335 AnimationMode = LOOP 9336 End 9337 9338 9339 9340 9341 9342 9343 TransitionState = TRANS_Dying TRANS_Flailing 9344 Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 9345 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 9346 AnimationMode = ONCE 9347 End 9348 9349 ConditionState = DYING EXPLODED_FLAILING 9350 Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 9351 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 9352 AnimationMode = LOOP 9353 TransitionKey = TRANS_Flailing 9354 End 9355 9356 ConditionState = DYING EXPLODED_BOUNCING 9357 Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 9358 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 9359 AnimationMode = ONCE 9360 TransitionKey = None 9361 End 9362 9363 9364 End 9365 9366 9367 ;**** DESIGN parameters *** 9368 9369 DisplayName = OBJECT:AngryMob 9370 Side = GLA 9371 EditorSorting = INFANTRY 9372 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 9373 9374 WeaponSet 9375 Conditions = None 9376 Weapon = PRIMARY GLAAngryMobMolotovCocktailProjectileWeapon ; all she does is throw molotovs 9377 End 9378 9379 ArmorSet 9380 Conditions = None 9381 Armor = HumanArmor 9382 DamageFX = InfantryDamageFX 9383 End 9384 9385 VisionRange = 150 9386 ShroudClearingRange = 150 9387 Prerequisites 9388 Object = GLABarracks 9389 9390 End 9391 BuildCost = 100 9392 BuildTime = 0.0 9393 9394 ExperienceValue = 5 5 5 5 ;Experience point value at each level 9395 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 9396 IsTrainable = Yes ;Can gain experience 9397 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 9398 9399 ; *** AUDIO Parameters *** 9400 VoiceSelect = NoSound 9401 VoiceMove = NoSound 9402 VoiceAttack = NoSound 9403 SoundDie = CivilianArabFemaleDie 9404 9405 9406 ;**** ENGINEERING Parameters *** ;MOB02 9407 RadarPriority = UNIT 9408 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 9409 9410 Body = ActiveBody BodyTag_01 9411 MaxHealth = 50.0 9412 InitialHealth = 50.0 9413 End 9414 9415 Behavior = AIUpdateInterface ModuleTag_03 9416 AutoAcquireEnemiesWhenIdle = Yes 9417 End 9418 9419 Behavior = MobMemberSlavedUpdate ModuleTag_04 9420 MustCatchUpRadius = 40 9421 NoNeedToCatchUpRadius = 15 9422 Squirrelliness = 0.05 9423 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 9424 End 9425 9426 Locomotor = SET_NORMAL AngryMobNormalLocomotor 9427 Locomotor = SET_WANDER AngryMobWanderLocomotor 9428 Locomotor = SET_PANIC AngryMobPanicLocomotor 9429 9430 Behavior = PhysicsBehavior ModuleTag_05 9431 Mass = 5.0 9432 End 9433 9434 Behavior = SquishCollide ModuleTag_08 9435 ;nothing 9436 End 9437 9438 Behavior = WeaponSetUpgrade UpgradeTag_01 9439 TriggeredBy = Upgrade_GLAArmTheMob 9440 End 9441 9442 9443 ; --- begin Death modules --- 9444 Behavior = SlowDeathBehavior ModuleTag_Death01 9445 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 9446 SinkDelay = 3000 9447 SinkRate = 0.5 ; in Dist/Sec 9448 DestructionDelay = 8000 9449 FX = INITIAL FX_GIDie 9450 End 9451 Behavior = SlowDeathBehavior ModuleTag_Death02 9452 DeathTypes = NONE +CRUSHED +SPLATTED 9453 SinkDelay = 3000 9454 SinkRate = 0.5 ; in Dist/Sec 9455 DestructionDelay = 8000 9456 FX = INITIAL FX_GIDieCrushed 9457 End 9458 Behavior = SlowDeathBehavior ModuleTag_Death03 9459 DeathTypes = NONE +EXPLODED 9460 SinkDelay = 3000 9461 SinkRate = 0.5 ; in Dist/Sec 9462 DestructionDelay = 8000 9463 FX = INITIAL FX_GIDie 9464 FlingForce = 8 9465 FlingForceVariance = 3 9466 FlingPitch = 60 9467 FlingPitchVariance = 10 9468 End 9469 Behavior = SlowDeathBehavior ModuleTag_Death04 9470 DeathTypes = NONE +BURNED 9471 DestructionDelay = 0 9472 FX = INITIAL FX_GIDie 9473 OCL = INITIAL OCL_FlamingInfantry 9474 End 9475 Behavior = SlowDeathBehavior ModuleTag_Death05 9476 DeathTypes = NONE +POISONED 9477 DestructionDelay = 0 9478 FX = INITIAL FX_GIDie 9479 OCL = INITIAL OCL_ToxicInfantry 9480 End 9481 ; --- end Death modules --- 9482 9483 Behavior = PoisonedBehavior ModuleTag_13 9484 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 9485 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 9486 End 9487 9488 Geometry = CYLINDER 9489 GeometryMajorRadius = 4.0 ; very thin 9490 GeometryHeight = 12.0 9491 GeometryIsSmall = Yes 9492 Shadow = SHADOW_DECAL 9493 ShadowSizeX = 14; 9494 ShadowSizeY = 14; 9495 ShadowTexture = ShadowI; 9496 BuildCompletion = APPEARS_AT_RALLY_POINT 9497 9498 End 9499 ;------------------------------------------------------------------------------ 9500 ;------------------------------------------------------------------------------ 9501 9502 9503 9504 ;------------------------------------------------------------------------------ 9505 ;------------------------------------------------------------------------------ 9506 ;------------------------------------------------------------------------------ 9507 Object GLAInfantryHijacker 9508 9509 ; *** ART Parameters *** 9510 SelectPortrait = SUHijacker_L 9511 ButtonImage = SUHijacker 9512 9513 ;UpgradeCameo1 = NONE 9514 ;UpgradeCameo2 = NONE 9515 ;UpgradeCameo3 = NONE 9516 ;UpgradeCameo4 = NONE 9517 ;UpgradeCameo5 = NONE 9518 9519 Draw = W3DModelDraw ModuleTag_01 9520 OkToChangeModelColor = Yes 9521 9522 DefaultConditionState 9523 Model = UIHJCK_SKN 9524 IdleAnimation = UIHJCK_SKL.UIHJCK_STA 0 25 9525 IdleAnimation = UIHJCK_SKL.UIHJCK_IDA 9526 IdleAnimation = UIHJCK_SKL.UIHJCK_IDB 9527 AnimationMode = ONCE 9528 TransitionKey = TRANS_Stand 9529 End 9530 AliasConditionState = REALLYDAMAGED 9531 9532 ConditionState = MOVING 9533 Animation = UIHJCK_SKL.UIHJCK_RUN 9534 AnimationMode = LOOP 9535 Flags = RANDOMSTART 9536 TransitionKey = None 9537 ParticleSysBone = None InfantryDustTrails 9538 End 9539 AliasConditionState = REALLYDAMAGED MOVING 9540 9541 9542 ConditionState = DYING 9543 Animation = UIHJCK_SKL.UIHJCK_DTA 9544 Animation = UIHJCK_SKL.UIHJCK_DTB 9545 AnimationMode = ONCE 9546 TransitionKey = TRANS_Dying 9547 End 9548 9549 TransitionState = TRANS_Dying TRANS_Flailing 9550 Animation = UIHJCK_SKL.UIHJCK_ADTE1 9551 AnimationMode = ONCE 9552 End 9553 9554 ConditionState = DYING EXPLODED_FLAILING 9555 Animation = UIHJCK_SKL.UIHJCK_ADTE2 9556 AnimationMode = LOOP 9557 TransitionKey = TRANS_Flailing 9558 End 9559 9560 ConditionState = DYING EXPLODED_BOUNCING 9561 Animation = UIHJCK_SKL.UIHJCK_ADTE3 9562 AnimationMode = ONCE 9563 TransitionKey = None 9564 End 9565 9566 ConditionState = SPECIAL_CHEERING 9567 Animation = UIHJCK_SKL.UIHJCK_CHA 9568 AnimationMode = LOOP 9569 End 9570 9571 9572 ConditionState = PARACHUTING 9573 Animation = UIHJCK_SKL.UIHJCK_PHG 9574 AnimationMode = LOOP 9575 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 9576 TransitionKey = TRANS_Chute 9577 End 9578 AliasConditionState = PARACHUTING REALLYDAMAGED 9579 AliasConditionState = PARACHUTING DYING 9580 TransitionState = TRANS_Falling TRANS_Chute 9581 Animation = UIHJCK_SKL.UIHJCK_POP 9582 AnimationMode = ONCE 9583 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 9584 End 9585 TransitionState = TRANS_Chute TRANS_Stand 9586 Animation = UIHJCK_SKL.UIHJCK_PTD 9587 AnimationMode = ONCE 9588 End 9589 9590 9591 ;SURRENDER ANIMATIONS 9592 ; surrender is cut. sorry. (srj) 9593 ; ConditionState = SURRENDER 9594 ; Animation = UIHJCK_SKL.UIHJCK_SST 9595 ; AnimationMode = ONCE 9596 ; TransitionKey = TRANS_SurrenderKneeling 9597 ; End 9598 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 9599 ; Animation = UIHJCK_SKL.UIHJCK_SUR 9600 ; AnimationMode = ONCE 9601 ; End 9602 9603 End 9604 9605 ; ***DESIGN parameters *** 9606 DisplayName = OBJECT:Hijacker 9607 Side = GLA 9608 EditorSorting = INFANTRY 9609 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 9610 9611 ArmorSet 9612 Conditions = None 9613 Armor = HumanArmor 9614 DamageFX = InfantryDamageFX 9615 End 9616 9617 VisionRange = 100 9618 ShroudClearingRange = 200 9619 Prerequisites 9620 Object = GLABarracks 9621 ;Object = GLAPalace 9622 Science = SCIENCE_Hijacker 9623 End 9624 9625 BuildCost = 400 9626 BuildTime = 10.0 ;in seconds 9627 9628 ExperienceValue = 50 100 150 400 ;Experience point value at each level 9629 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 9630 IsTrainable = No ;Can gain experience 9631 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 9632 CommandSet = GLAInfantryHijackerCommandSet 9633 9634 ; *** AUDIO Parameters *** 9635 VoiceSelect = HijackerVoiceSelect 9636 VoiceMove = HijackerVoiceMove 9637 VoiceGuard = HijackerVoiceMove 9638 VoiceAttack = HijackerVoiceAttack 9639 SoundDie = HijackerVoiceDie 9640 SoundDieFire = DieByFireGLA 9641 SoundDieToxin = DieByToxinGLA 9642 ;VoiceSurrender = HijackerVoiceSurrender 9643 VoiceFear = HijackerVoiceFear 9644 UnitSpecificSounds 9645 VoiceGarrison = HijackerVoiceGarrison 9646 VoiceCreate = HijackerVoiceCreate 9647 VoiceEnter = HijackerVoiceEnter 9648 VoiceEnterHostile = HijackerVoiceEnterHostile 9649 VoiceGetHealed = HijackerVoiceMove 9650 End 9651 9652 9653 ; *** ENGINEERING Parameters *** 9654 RadarPriority = UNIT 9655 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE STEALTH_GARRISON BOAT ;<- for linking to the hijacker stealth detection 9656 ;STEALTH_GARRISON Added per Dustin, 12/14--ML 9657 9658 9659 Behavior = StealthUpdate ModuleTag_02 9660 StealthDelay = 1200 ;500 ; 4/10 of a second delay before stealthy 9661 ;StealthForbiddenConditions = MOVING ; only stealthy while stationary 9662 MoveThresholdSpeed = 3 9663 InnateStealth = Yes 9664 OrderIdleEnemiesToAttackMeUponReveal = Yes 9665 End 9666 9667 Body = ActiveBody ModuleTag_03 9668 MaxHealth = 100.0 9669 InitialHealth = 100.0 9670 End 9671 9672 Behavior = HijackerUpdate ModuleTag_04 9673 ParachuteName = AmericaParachute 9674 End 9675 9676 Behavior = AIUpdateInterface ModuleTag_05 9677 AutoAcquireEnemiesWhenIdle = Yes Stealthed 9678 MoodAttackCheckRate = 250 9679 End 9680 Locomotor = SET_NORMAL JarmenKellLocomotor 9681 9682 Behavior = PhysicsBehavior ModuleTag_06 9683 Mass = 5.0 9684 End 9685 9686 Behavior = ConvertToHijackedVehicleCrateCollide ModuleTag_08 9687 RequiredKindOf = VEHICLE ; This is my car now, infidel! 9688 End 9689 9690 Behavior = SquishCollide ModuleTag_09 9691 ;nothing 9692 End 9693 9694 9695 ; --- begin Death modules --- 9696 Behavior = SlowDeathBehavior ModuleTag_Death01 9697 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 9698 SinkDelay = 3000 9699 SinkRate = 0.5 ; in Dist/Sec 9700 DestructionDelay = 8000 9701 FX = INITIAL FX_GIDie 9702 End 9703 Behavior = SlowDeathBehavior ModuleTag_Death02 9704 DeathTypes = NONE +CRUSHED +SPLATTED 9705 SinkDelay = 3000 9706 SinkRate = 0.5 ; in Dist/Sec 9707 DestructionDelay = 8000 9708 FX = INITIAL FX_GIDieCrushed 9709 End 9710 Behavior = SlowDeathBehavior ModuleTag_Death03 9711 DeathTypes = NONE +EXPLODED 9712 SinkDelay = 3000 9713 SinkRate = 0.5 ; in Dist/Sec 9714 DestructionDelay = 8000 9715 FX = INITIAL FX_GIDie 9716 FlingForce = 8 9717 FlingForceVariance = 3 9718 FlingPitch = 60 9719 FlingPitchVariance = 10 9720 End 9721 Behavior = SlowDeathBehavior ModuleTag_Death04 9722 DeathTypes = NONE +BURNED 9723 DestructionDelay = 0 9724 FX = INITIAL FX_GIDie 9725 OCL = INITIAL OCL_FlamingInfantry 9726 End 9727 Behavior = SlowDeathBehavior ModuleTag_Death05 9728 DeathTypes = NONE +POISONED 9729 DestructionDelay = 0 9730 FX = INITIAL FX_GIDie 9731 OCL = INITIAL OCL_ToxicInfantry 9732 End 9733 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 9734 DeathTypes = NONE +POISONED_BETA 9735 DestructionDelay = 0 9736 FX = INITIAL FX_GIDie 9737 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 9738 End 9739 ; --- end Death modules --- 9740 9741 Behavior = PoisonedBehavior ModuleTag_14 9742 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 9743 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 9744 End 9745 9746 Geometry = CYLINDER 9747 GeometryMajorRadius = 10.0 9748 GeometryMinorRadius = 10.0 9749 GeometryHeight = 12.0 9750 GeometryIsSmall = Yes 9751 Shadow = SHADOW_DECAL 9752 ShadowSizeX = 14; 9753 ShadowSizeY = 14; 9754 ShadowTexture = ShadowI; 9755 BuildCompletion = APPEARS_AT_RALLY_POINT 9756 9757 End 9758 9759 ;------------------------------------------------------------------------------ 9760 Object ChinaInfantryRedguard 9761 9762 ; *** ART Parameters *** 9763 SelectPortrait = SNRedGuard_L 9764 ButtonImage = SNRedGuard_L 9765 9766 UpgradeCameo1 = Upgrade_Nationalism 9767 UpgradeCameo2 = Upgrade_InfantryCaptureBuilding 9768 UpgradeCameo3 = Upgrade_ChinaBayonet 9769 ;UpgradeCameo4 = NONE 9770 ;UpgradeCameo5 = NONE 9771 9772 Draw = W3DModelDraw ModuleTag_01 9773 9774 OkToChangeModelColor = Yes 9775 9776 ; this says "we don't use these condition states at all, so completely 9777 ; ignore them for purposes of matchmaking"... this is useful to help 9778 ; reduce the number of AliasConditionState clauses you must add in 9779 ; order to avoid ambiguity in some cases. 9780 ;IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A 9781 9782 ; ------- Standing-Around Animations 9783 9784 DefaultConditionState 9785 Model = NICNSC_SKN 9786 IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35 9787 IdleAnimation = NICNSC_SKL.NICNSC_IDA 9788 IdleAnimation = NICNSC_SKL.NICNSC_IDB 9789 AnimationMode = ONCE 9790 WeaponFireFXBone = PRIMARY Muzzle 9791 WeaponMuzzleFlash = PRIMARY MuzzleFX 9792 TransitionKey = TRANS_Stand 9793 End 9794 9795 ConditionState = REALLYDAMAGED 9796 IdleAnimation = NICNSC_SKL.NICNSC_STB 9797 AnimationMode = ONCE 9798 TransitionKey = TRANS_StandDamaged 9799 End 9800 9801 ; ------- Machine Gun Animations 9802 9803 ;ConditionState = USING_WEAPON_A 9804 ; Animation = NICNSC_SKL.NICNSC_ATA 9805 ; AnimationMode = LOOP 9806 ; TransitionKey = TRANS_Firing 9807 ;End 9808 9809 ;ConditionState = USING_WEAPON_A REALLYDAMAGED 9810 ; Animation = NICNSC_SKL.NICNSC_ATC 9811 ; AnimationMode = LOOP 9812 ; TransitionKey = TRANS_FiringDamaged 9813 ;End 9814 9815 ConditionState = FIRING_A 9816 Animation = NICNSC_SKL.NICNSC_ATA 9817 AnimationMode = LOOP 9818 TransitionKey = TRANS_Firing 9819 End 9820 AliasConditionState = BETWEEN_FIRING_SHOTS_A 9821 AliasConditionState = RELOADING_A 9822 9823 ConditionState = FIRING_A REALLYDAMAGED 9824 Animation = NICNSC_SKL.NICNSC_ATC 9825 AnimationMode = LOOP 9826 TransitionKey = TRANS_FiringDamaged 9827 End 9828 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 9829 AliasConditionState = RELOADING_A REALLYDAMAGED 9830 9831 ; ------- Firing-related Transitions 9832 9833 TransitionState = TRANS_Firing TRANS_FiringDamaged 9834 Animation = NICNSC_SKL.NICNSC_AA2AC 9835 AnimationMode = ONCE 9836 End 9837 9838 TransitionState = TRANS_Stand TRANS_Firing 9839 Animation = NICNSC_SKL.NICNSC_SA2AA 9840 AnimationMode = ONCE 9841 End 9842 9843 TransitionState = TRANS_Firing TRANS_Stand 9844 Animation = NICNSC_SKL.NICNSC_AA2SA 9845 AnimationMode = ONCE 9846 End 9847 9848 TransitionState = TRANS_StandDamaged TRANS_FiringDamaged 9849 Animation = NICNSC_SKL.NICNSC_ATCST 9850 AnimationMode = ONCE 9851 End 9852 9853 TransitionState = TRANS_FiringDamaged TRANS_StandDamaged 9854 Animation = NICNSC_SKL.NICNSC_ATCED 9855 AnimationMode = ONCE 9856 End 9857 9858 9859 ; ------------- Damage Transitions -------------------- 9860 TransitionState = TRANS_StandDamaged TRANS_RunDamaged 9861 Animation = NICNSC_SKL.NICNSC_AA2AC 9862 AnimationMode = ONCE 9863 AnimationSpeedFactorRange = 2 2 9864 End 9865 TransitionState = TRANS_RunDamaged TRANS_StandDamaged 9866 Animation = NICNSC_SKL.NICNSC_AA2AC 9867 AnimationMode = ONCE_BACKWARDS 9868 AnimationSpeedFactorRange = 2 2 9869 Flags = START_FRAME_LAST 9870 End 9871 TransitionState = TRANS_Stand TRANS_StandDamaged 9872 Animation = NICNSC_SKL.NICNSC_AA2SA 9873 AnimationMode = ONCE_BACKWARDS 9874 AnimationSpeedFactorRange = 4 5 9875 Flags = START_FRAME_LAST 9876 End 9877 9878 ; ------- Bayonet Animations 9879 9880 ConditionState = PREATTACK_B 9881 Animation = NICNSC_SKL.NICNSC_ATB1 9882 AnimationMode = ONCE 9883 TransitionKey = TRANS_Stab 9884 End 9885 AliasConditionState = PREATTACK_B MOVING 9886 AliasConditionState = PREATTACK_B FIRING_B 9887 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 9888 9889 ConditionState = FIRING_B 9890 Animation = NICNSC_SKL.NICNSC_ATB2 9891 AnimationMode = ONCE 9892 WaitForStateToFinishIfPossible = TRANS_Stab 9893 End 9894 AliasConditionState = BETWEEN_FIRING_SHOTS_B 9895 AliasConditionState = RELOADING_B 9896 9897 TransitionState = TRANS_Stab TRANS_Stand 9898 Animation = NICNSC_SKL.NICNSC_ATB2 9899 AnimationMode = ONCE 9900 End 9901 9902 ConditionState = REALLYDAMAGED PREATTACK_B 9903 Animation = NICNSC_SKL.NICNSC_IATB1 9904 AnimationMode = ONCE 9905 TransitionKey = TRANS_StabDamaged 9906 End 9907 AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED 9908 AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED 9909 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 9910 9911 ConditionState = FIRING_B REALLYDAMAGED 9912 Animation = NICNSC_SKL.NICNSC_IATB1 9913 AnimationMode = ONCE 9914 WaitForStateToFinishIfPossible = TRANS_Stab 9915 End 9916 AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 9917 AliasConditionState = RELOADING_B REALLYDAMAGED 9918 9919 TransitionState = TRANS_StabDamaged TRANS_StandDamaged 9920 Animation = NICNSC_SKL.NICNSC_IATB2 9921 AnimationMode = ONCE 9922 End 9923 9924 ; ------- Parachuting Animations 9925 9926 ConditionState = FREEFALL 9927 Animation = NICNSC_SKL.NICNSC_POP 9928 AnimationMode = MANUAL 9929 Flags = START_FRAME_FIRST 9930 TransitionKey = TRANS_Falling 9931 End 9932 AliasConditionState = FREEFALL REALLYDAMAGED 9933 AliasConditionState = FREEFALL DYING 9934 9935 ConditionState = PARACHUTING 9936 Animation = NICNSC_SKL.NICNSC_PHG 9937 AnimationMode = LOOP 9938 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 9939 TransitionKey = TRANS_Chute 9940 End 9941 AliasConditionState = PARACHUTING REALLYDAMAGED 9942 AliasConditionState = PARACHUTING DYING 9943 9944 TransitionState = TRANS_Falling TRANS_Chute 9945 Animation = NICNSC_SKL.NICNSC_POP 9946 AnimationMode = ONCE 9947 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 9948 End 9949 9950 TransitionState = TRANS_Chute TRANS_Stand 9951 Animation = NICNSC_SKL.NICNSC_PTD 9952 AnimationMode = ONCE 9953 End 9954 9955 ; ------- Movement Animations 9956 9957 ConditionState = MOVING 9958 Animation = NICNSC_SKL.NICNSC_RNA 26 9959 AnimationMode = LOOP 9960 Flags = RANDOMSTART 9961 TransitionKey = None 9962 ParticleSysBone = None InfantryDustTrails 9963 End 9964 AliasConditionState = MOVING ATTACKING 9965 9966 ConditionState = MOVING REALLYDAMAGED 9967 Animation = NICNSC_SKL.NICNSC_RNB 28 9968 AnimationMode = LOOP 9969 Flags = RANDOMSTART 9970 TransitionKey = TRANS_RunDamaged 9971 TransitionKey = None 9972 End 9973 AliasConditionState = MOVING ATTACKING REALLYDAMAGED 9974 9975 ; ------- Bldg-capture 9976 9977 ConditionState = UNPACKING 9978 Model = NICNSC_F_SKN 9979 Animation = NICNSC_F_SKL.NICNSC_F_FDP1 9980 AnimationMode = ONCE 9981 End 9982 AliasConditionState = UNPACKING REALLYDAMAGED 9983 9984 ConditionState = RAISING_FLAG 9985 Model = NICNSC_F_SKN 9986 Animation = NICNSC_F_SKL.NICNSC_F_FDP2 9987 AnimationMode = ONCE 9988 TransitionKey = TRANS_Raising 9989 End 9990 AliasConditionState = RAISING_FLAG REALLYDAMAGED 9991 9992 ConditionState = PACKING 9993 Model = NICNSC_F_SKN 9994 Animation = NICNSC_F_SKL.NICNSC_F_FDP1 9995 AnimationMode = ONCE_BACKWARDS 9996 Flags = START_FRAME_LAST 9997 TransitionKey = TRANS_Packing 9998 End 9999 AliasConditionState = PACKING REALLYDAMAGED 10000 10001 TransitionState = TRANS_Raising TRANS_Packing 10002 Model = NICNSC_F_SKN 10003 Animation = NICNSC_F_SKL.NICNSC_F_FDP2 10004 AnimationMode = ONCE_BACKWARDS 10005 Flags = START_FRAME_LAST 10006 End 10007 10008 ; ------- Dying Animations 10009 10010 ConditionState = DYING 10011 Animation = NICNSC_SKL.NICNSC_DTA 10012 Animation = NICNSC_SKL.NICNSC_DTB 10013 AnimationMode = ONCE 10014 TransitionKey = TRANS_Dying 10015 End 10016 10017 TransitionState = TRANS_Dying TRANS_Flailing 10018 Animation = NICNSC_SKL.NICNSC_ATDE1 10019 AnimationMode = ONCE 10020 End 10021 10022 ConditionState = DYING EXPLODED_FLAILING 10023 Animation = NICNSC_SKL.NICNSC_ATDE2 10024 AnimationMode = LOOP 10025 TransitionKey = TRANS_Flailing 10026 End 10027 10028 ConditionState = DYING EXPLODED_BOUNCING 10029 Animation = NICNSC_SKL.NICNSC_ATDE3 10030 AnimationMode = ONCE 10031 TransitionKey = None 10032 End 10033 10034 ; ------- Misc Animations 10035 10036 ConditionState = SPECIAL_CHEERING 10037 Animation = NICNSC_SKL.NICNSC_CHA 10038 AnimationMode = LOOP 10039 End 10040 10041 End 10042 10043 ; ***DESIGN parameters *** 10044 DisplayName = OBJECT:Redguard 10045 Side = China 10046 EditorSorting = INFANTRY 10047 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 10048 WeaponSet 10049 Conditions = None 10050 Weapon = PRIMARY RedguardMachineGun 10051 Weapon = SECONDARY RedguardBayonet 10052 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 10053 AutoChooseSources = SECONDARY NONE 10054 End 10055 ArmorSet 10056 Conditions = None 10057 Armor = HumanArmor 10058 DamageFX = InfantryDamageFX 10059 End 10060 VisionRange = 100 10061 ShroudClearingRange = 200 10062 Prerequisites 10063 Object = ChinaBarracks 10064 End 10065 BuildCost = 300 10066 BuildTime = 10.0 ;in seconds 10067 10068 ExperienceValue = 5 5 10 20 ;Experience point value at each level 10069 ExperienceRequired = 0 20 40 80 ;Experience points needed to gain each level 10070 IsTrainable = Yes ;Can gain experience 10071 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 10072 CommandSet = ChinaInfantryRedguardCommandSet 10073 10074 ; *** AUDIO Parameters *** 10075 VoiceSelect = RedGuardVoiceSelect 10076 VoiceMove = RedGuardVoiceMove 10077 VoiceGuard = RedGuardVoiceMove 10078 VoiceAttack = RedGuardVoiceAttack 10079 VoiceGroupSelect = BattleCrySound 10080 SoundDie = RedGuardVoiceDie 10081 SoundDieFire = DieByFireChina 10082 SoundDieToxin = DieByToxinChina 10083 ; surrender is cut. sorry. (srj) 10084 ; VoiceSurrender = RedGuardVoiceSurrender 10085 VoiceFear = RedGuardVoiceFear 10086 VoiceTaskComplete = RedGuardVoiceCaptureComplete 10087 UnitSpecificSounds 10088 VoiceMelee = RedGuardVoiceAttackBayonet 10089 VoiceGarrison = RedGuardVoiceGarrison 10090 VoiceCreate = RedGuardVoiceCreate 10091 VoiceSubdue = RedGuardVoiceSubdue 10092 VoiceEnter = RedGuardVoiceMove 10093 VoiceEnterHostile = RedGuardVoiceMove 10094 VoiceGetHealed = RedGuardVoiceMove 10095 End 10096 10097 ; *** ENGINEERING Parameters *** 10098 RadarPriority = UNIT 10099 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE PARACHUTABLE 10100 10101 Body = ActiveBody ModuleTag_02 10102 MaxHealth = 120.0 10103 InitialHealth = 120.0 10104 End 10105 10106 Behavior = VeterancyGainCreate ModuleTag_03 10107 StartingLevel = VETERAN 10108 ScienceRequired = SCIENCE_RedGuardTraining 10109 End 10110 10111 Behavior = AIUpdateInterface ModuleTag_04 10112 AutoAcquireEnemiesWhenIdle = Yes 10113 End 10114 10115 Behavior = CommandButtonHuntUpdate ModuleTag_05 ; allows use of command button hunt script with this unit. 10116 End 10117 10118 Locomotor = SET_NORMAL RedguardLocomotor 10119 10120 Behavior = HordeUpdate ModuleTag_06 10121 RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 10122 UpdateRate = 1000 ; how often to recheck horde status (msec) 10123 Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 10124 KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness 10125 AlliesOnly = Yes ; do we only count allies towards horde status? 10126 ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) 10127 Count = 5 ; how many units must be within Radius to grant us horde-ness 10128 Action = HORDE ; when horde-ing, grant us the HORDE bonus 10129 End 10130 Behavior = PhysicsBehavior ModuleTag_07 10131 Mass = 5.0 10132 End 10133 10134 ;Behavior = WeaponSetUpgrade ModuleTag_09 10135 ; TriggeredBy = Upgrade_ChinaBayonet 10136 ;End 10137 10138 Behavior = CommandSetUpgrade ModuleTag_09 10139 CommandSet = ChinaInfantryRedguardCommandSetUpgrade 10140 TriggeredBy = Upgrade_ChinaBayonet 10141 End 10142 10143 Behavior = SquishCollide ModuleTag_10 10144 ;nothing 10145 End 10146 10147 ; --- begin Death modules --- 10148 Behavior = SlowDeathBehavior ModuleTag_Death01 10149 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 10150 SinkDelay = 3000 10151 SinkRate = 0.5 ; in Dist/Sec 10152 DestructionDelay = 8000 10153 FX = INITIAL FX_GIDie 10154 End 10155 Behavior = SlowDeathBehavior ModuleTag_Death02 10156 DeathTypes = NONE +CRUSHED +SPLATTED 10157 SinkDelay = 3000 10158 SinkRate = 0.5 ; in Dist/Sec 10159 DestructionDelay = 8000 10160 FX = INITIAL FX_GIDieCrushed 10161 End 10162 Behavior = SlowDeathBehavior ModuleTag_Death03 10163 DeathTypes = NONE +EXPLODED 10164 SinkDelay = 3000 10165 SinkRate = 0.5 ; in Dist/Sec 10166 DestructionDelay = 8000 10167 FX = INITIAL FX_GIDie 10168 FlingForce = 8 10169 FlingForceVariance = 3 10170 FlingPitch = 60 10171 FlingPitchVariance = 10 10172 End 10173 Behavior = SlowDeathBehavior ModuleTag_Death04 10174 DeathTypes = NONE +BURNED 10175 DestructionDelay = 0 10176 FX = INITIAL FX_GIDie 10177 OCL = INITIAL OCL_FlamingInfantry 10178 End 10179 Behavior = SlowDeathBehavior ModuleTag_Death05 10180 DeathTypes = NONE +POISONED 10181 DestructionDelay = 0 10182 FX = INITIAL FX_GIDie 10183 OCL = INITIAL OCL_ToxicInfantry 10184 End 10185 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 10186 DeathTypes = NONE +POISONED_BETA 10187 DestructionDelay = 0 10188 FX = INITIAL FX_GIDie 10189 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 10190 End 10191 ; --- end Death modules --- 10192 10193 Behavior = PoisonedBehavior ModuleTag_15 10194 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 10195 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 10196 End 10197 10198 Behavior = SpecialAbility ModuleTag_16 10199 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 10200 UpdateModuleStartsAttack = Yes 10201 StartsPaused = Yes 10202 InitiateSound = RedGuardVoiceCapture 10203 End 10204 Behavior = SpecialAbilityUpdate ModuleTag_17 10205 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 10206 StartAbilityRange = 5.0 10207 UnpackTime = 3000 ; (changing this will scale anim speed) 10208 PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) 10209 PackTime = 2000 ; (changing this will scale anim speed) 10210 DoCaptureFX = Yes 10211 AwardXPForTriggering = 4 10212 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 10213 End 10214 10215 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18 10216 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 10217 TriggeredBy = Upgrade_InfantryCaptureBuilding 10218 End 10219 10220 Geometry = CYLINDER 10221 GeometryMajorRadius = 7.0 10222 GeometryMinorRadius = 7.0 10223 GeometryHeight = 12.0 10224 GeometryIsSmall = Yes 10225 Shadow = SHADOW_DECAL 10226 ShadowSizeX = 14; 10227 ShadowSizeY = 14; 10228 ShadowTexture = ShadowI; 10229 BuildCompletion = APPEARS_AT_RALLY_POINT 10230 10231 End 10232 ;------------------------------------------------------------------------------ 10233 Object ChinaInfantryParadeRedGuard 10234 10235 ; Unit added per John Lee's request. - GB 10236 10237 ; *** ART Parameters *** 10238 Draw = W3DModelDraw ModuleTag_01 10239 OkToChangeModelColor = Yes 10240 10241 ; ------- Standing-Around Animations 10242 10243 DefaultConditionState 10244 Model = NICNSC_SKN 10245 IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35 10246 IdleAnimation = NICNSC_SKL.NICNSC_IDA 10247 IdleAnimation = NICNSC_SKL.NICNSC_IDB 10248 AnimationMode = ONCE 10249 WeaponFireFXBone = PRIMARY Muzzle 10250 WeaponMuzzleFlash = PRIMARY MuzzleFX 10251 TransitionKey = TRANS_Stand 10252 End 10253 10254 ConditionState = REALLYDAMAGED 10255 IdleAnimation = NICNSC_SKL.NICNSC_STB 10256 AnimationMode = ONCE 10257 TransitionKey = TRANS_StandDamaged 10258 End 10259 10260 ; ------- Machine Gun Animations 10261 10262 ConditionState = FIRING_A 10263 Animation = NICNSC_SKL.NICNSC_ATA 10264 AnimationMode = LOOP 10265 TransitionKey = TRANS_Firing 10266 End 10267 AliasConditionState = BETWEEN_FIRING_SHOTS_A 10268 AliasConditionState = RELOADING_A 10269 10270 ConditionState = USING_WEAPON_A REALLYDAMAGED 10271 Animation = NICNSC_SKL.NICNSC_ATC 10272 AnimationMode = LOOP 10273 TransitionKey = TRANS_FiringDamaged 10274 End 10275 10276 10277 ; ------- Firing-related Transitions 10278 10279 TransitionState = TRANS_Firing TRANS_FiringDamaged 10280 Animation = NICNSC_SKL.NICNSC_AA2AC 10281 AnimationMode = ONCE 10282 End 10283 10284 TransitionState = TRANS_Stand TRANS_Firing 10285 Animation = NICNSC_SKL.NICNSC_SA2AA 10286 AnimationMode = ONCE 10287 End 10288 10289 TransitionState = TRANS_Firing TRANS_Stand 10290 Animation = NICNSC_SKL.NICNSC_AA2SA 10291 AnimationMode = ONCE 10292 End 10293 10294 TransitionState = TRANS_StandDamaged TRANS_FiringDamaged 10295 Animation = NICNSC_SKL.NICNSC_ATCST 10296 AnimationMode = ONCE 10297 End 10298 10299 TransitionState = TRANS_FiringDamaged TRANS_StandDamaged 10300 Animation = NICNSC_SKL.NICNSC_ATCED 10301 AnimationMode = ONCE 10302 End 10303 10304 10305 ; ------------- Damage Transitions -------------------- 10306 TransitionState = TRANS_StandDamaged TRANS_RunDamaged 10307 Animation = NICNSC_SKL.NICNSC_AA2AC 10308 AnimationMode = ONCE 10309 AnimationSpeedFactorRange = 2 2 10310 End 10311 TransitionState = TRANS_RunDamaged TRANS_StandDamaged 10312 Animation = NICNSC_SKL.NICNSC_AA2AC 10313 AnimationMode = ONCE_BACKWARDS 10314 AnimationSpeedFactorRange = 2 2 10315 Flags = START_FRAME_LAST 10316 End 10317 TransitionState = TRANS_Stand TRANS_StandDamaged 10318 Animation = NICNSC_SKL.NICNSC_AA2SA 10319 AnimationMode = ONCE_BACKWARDS 10320 AnimationSpeedFactorRange = 4 5 10321 Flags = START_FRAME_LAST 10322 End 10323 10324 10325 ; ------- Bayonet Animations 10326 10327 ConditionState = PREATTACK_C 10328 Animation = NICNSC_SKL.NICNSC_ATB1 10329 AnimationMode = ONCE 10330 TransitionKey = TRANS_Stab 10331 End 10332 AliasConditionState = PREATTACK_C MOVING 10333 AliasConditionState = PREATTACK_C FIRING_C 10334 AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C 10335 10336 ConditionState = FIRING_C 10337 Animation = NICNSC_SKL.NICNSC_ATB2 10338 AnimationMode = ONCE 10339 ; this is basically a trick: this guy has a nontrivial animation for firing, 10340 ; and a long recycle time between shots. we want him to finish his fire animation 10341 ; (unless he's ordered to do something else), so this is just a handy trick that 10342 ; says, "if the previous state had this transition key, allow it to finish before 10343 ; switching to us, if possible". 10344 WaitForStateToFinishIfPossible = TRANS_Stab 10345 End 10346 AliasConditionState = BETWEEN_FIRING_SHOTS_C 10347 AliasConditionState = RELOADING_C 10348 10349 ; ------- Parachuting Animations 10350 10351 ConditionState = FREEFALL 10352 Animation = NICNSC_SKL.NICNSC_POP 10353 AnimationMode = MANUAL 10354 Flags = START_FRAME_FIRST 10355 TransitionKey = TRANS_Falling 10356 End 10357 AliasConditionState = FREEFALL REALLYDAMAGED 10358 AliasConditionState = FREEFALL DYING 10359 10360 ConditionState = PARACHUTING 10361 Animation = NICNSC_SKL.NICNSC_PHG 10362 AnimationMode = LOOP 10363 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 10364 TransitionKey = TRANS_Chute 10365 End 10366 AliasConditionState = PARACHUTING REALLYDAMAGED 10367 AliasConditionState = PARACHUTING DYING 10368 10369 TransitionState = TRANS_Falling TRANS_Chute 10370 Animation = NICNSC_SKL.NICNSC_POP 10371 AnimationMode = ONCE 10372 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 10373 End 10374 10375 TransitionState = TRANS_Chute TRANS_Stand 10376 Animation = NICNSC_SKL.NICNSC_PTD 10377 AnimationMode = ONCE 10378 End 10379 10380 ; ------- Movement Animations 10381 10382 ConditionState = MOVING 10383 Animation = NICNSC_SKL.NICNSC_MAR 12 10384 AnimationMode = LOOP 10385 Flags = RANDOMSTART 10386 TransitionKey = None 10387 ParticleSysBone = None InfantryDustTrails 10388 End 10389 AliasConditionState = MOVING ATTACKING 10390 10391 ConditionState = MOVING REALLYDAMAGED 10392 Animation = NICNSC_SKL.NICNSC_RNB 10393 AnimationMode = LOOP 10394 Flags = RANDOMSTART 10395 TransitionKey = TRANS_RunDamaged 10396 ParticleSysBone = None InfantryDustTrails 10397 End 10398 AliasConditionState = MOVING ATTACKING REALLYDAMAGED 10399 10400 10401 10402 ; ------- Surrender Animations 10403 10404 ; surrender is cut. sorry. (srj) 10405 ; ConditionState = SURRENDER 10406 ; Animation = NICNSC_SKL.NICNSC_SST 10407 ; AnimationMode = ONCE 10408 ; TransitionKey = TRANS_Surrendered 10409 ; End 10410 ; AliasConditionState = SURRENDER REALLYDAMAGED 10411 ; ConditionState = SURRENDER MOVING 10412 ; Animation = NICNSC_SKL.NICNSC_RNB 10413 ; AnimationMode = ONCE 10414 ; TransitionKey = TRANS_Surrendered 10415 ; End 10416 ; AliasConditionState = SURRENDER MOVING REALLYDAMAGED 10417 ; TransitionState = TRANS_Stand TRANS_Surrendered 10418 ; Animation = NICNSC_SKL.NICNSC_SUR 10419 ; AnimationMode = ONCE 10420 ; End 10421 10422 ; ------- Bldg-capture 10423 10424 ConditionState = UNPACKING 10425 Animation = NICNSC_SKL.NICNSC_FDP1 10426 AnimationMode = ONCE 10427 End 10428 AliasConditionState = UNPACKING REALLYDAMAGED 10429 10430 ConditionState = RAISING_FLAG 10431 Animation = NICNSC_SKL.NICNSC_FDP2 10432 AnimationMode = ONCE 10433 TransitionKey = TRANS_Raising 10434 End 10435 AliasConditionState = RAISING_FLAG REALLYDAMAGED 10436 10437 ConditionState = PACKING 10438 Animation = NICNSC_SKL.NICNSC_FDP1 10439 AnimationMode = ONCE_BACKWARDS 10440 Flags = START_FRAME_LAST 10441 TransitionKey = TRANS_Packing 10442 End 10443 AliasConditionState = PACKING REALLYDAMAGED 10444 10445 TransitionState = TRANS_Raising TRANS_Packing 10446 Animation = NICNSC_SKL.NICNSC_FDP2 10447 AnimationMode = ONCE_BACKWARDS 10448 Flags = START_FRAME_LAST 10449 End 10450 10451 ; ------- Misc Animations 10452 10453 ; ------- Dying Animations 10454 10455 ConditionState = DYING 10456 Animation = NICNSC_SKL.NICNSC_DTA 10457 Animation = NICNSC_SKL.NICNSC_DTB 10458 AnimationMode = ONCE 10459 TransitionKey = TRANS_Dying 10460 End 10461 10462 TransitionState = TRANS_Dying TRANS_Flailing 10463 Animation = NICNSC_SKL.NICNSC_ATDE1 10464 AnimationMode = ONCE 10465 End 10466 10467 ConditionState = DYING EXPLODED_FLAILING 10468 Animation = NICNSC_SKL.NICNSC_ATDE2 10469 AnimationMode = LOOP 10470 TransitionKey = TRANS_Flailing 10471 End 10472 10473 ConditionState = DYING EXPLODED_BOUNCING 10474 Animation = NICNSC_SKL.NICNSC_ATDE3 10475 AnimationMode = ONCE 10476 TransitionKey = None 10477 End 10478 10479 ConditionState = SPECIAL_CHEERING 10480 Animation = NICNSC_SKL.NICNSC_CHA 10481 AnimationMode = LOOP 10482 End 10483 10484 End 10485 10486 ; ***DESIGN parameters *** 10487 DisplayName = OBJECT:Redguard 10488 Side = China 10489 EditorSorting = INFANTRY 10490 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 10491 WeaponSet 10492 Conditions = None 10493 Weapon = PRIMARY RedguardMachineGun 10494 Weapon = SECONDARY None 10495 Weapon = TERTIARY RedguardBayonet 10496 AutoChooseSources = TERTIARY None 10497 End 10498 ; sorry, no stun bullets, cut for this version (srj) 10499 ; WeaponSet 10500 ; Conditions = PLAYER_UPGRADE 10501 ; Weapon = PRIMARY RedguardMachineGun 10502 ; Weapon = SECONDARY RedguardStunBulletsMachineGun 10503 ; Weapon = TERTIARY RedguardBayonet 10504 ; AutoChooseSources = SECONDARY None 10505 ; AutoChooseSources = TERTIARY None 10506 ; End 10507 ArmorSet 10508 Conditions = None 10509 Armor = HumanArmor 10510 DamageFX = InfantryDamageFX 10511 End 10512 VisionRange = 100 10513 ShroudClearingRange = 200 10514 Prerequisites 10515 Object = ChinaBarracks 10516 End 10517 BuildCost = 225 10518 BuildTime = 10.0 ;in seconds 10519 10520 ExperienceValue = 5 5 10 20 ;Experience point value at each level 10521 ExperienceRequired = 0 20 40 80 ;Experience points needed to gain each level 10522 IsTrainable = Yes ;Can gain experience 10523 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 10524 CommandSet = ChinaInfantryRedguardCommandSet 10525 10526 ; *** AUDIO Parameters *** 10527 VoiceSelect = RedGuardVoiceSelect 10528 VoiceMove = RedGuardVoiceMove 10529 VoiceAttack = RedGuardVoiceAttack 10530 VoiceGroupSelect = BattleCrySound 10531 SoundDie = RedGuardVoiceDie 10532 SoundDieFire = DieByFireChina 10533 SoundDieToxin = DieByToxinChina 10534 10535 ; *** ENGINEERING Parameters *** 10536 RadarPriority = UNIT 10537 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE PARACHUTABLE 10538 10539 Body = ActiveBody ModuleTag_02 10540 MaxHealth = 90.0 10541 InitialHealth = 90.0 10542 End 10543 10544 Behavior = VeterancyGainCreate ModuleTag_03 10545 StartingLevel = VETERAN 10546 ScienceRequired = SCIENCE_RedGuardTraining 10547 End 10548 10549 Behavior = AIUpdateInterface ModuleTag_04 10550 AutoAcquireEnemiesWhenIdle = Yes 10551 End 10552 10553 Locomotor = SET_NORMAL ParadeRedguardLocomotor 10554 10555 Behavior = PhysicsBehavior ModuleTag_06 10556 Mass = 5.0 10557 End 10558 10559 ; sorry, no tranq or stun bullets, cut for this version (srj) 10560 ; Behavior = WeaponSetUpgrade ModuleTag_08 10561 ; TriggeredBy = Upgrade_ChinaStunBullets 10562 ; End 10563 10564 Behavior = SquishCollide ModuleTag_09 10565 ;nothing 10566 End 10567 10568 ; --- begin Death modules --- 10569 Behavior = SlowDeathBehavior ModuleTag_Death01 10570 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 10571 SinkDelay = 3000 10572 SinkRate = 0.5 ; in Dist/Sec 10573 DestructionDelay = 8000 10574 FX = INITIAL FX_GIDie 10575 End 10576 Behavior = SlowDeathBehavior ModuleTag_Death02 10577 DeathTypes = NONE +CRUSHED +SPLATTED 10578 SinkDelay = 3000 10579 SinkRate = 0.5 ; in Dist/Sec 10580 DestructionDelay = 8000 10581 FX = INITIAL FX_GIDieCrushed 10582 End 10583 Behavior = SlowDeathBehavior ModuleTag_Death03 10584 DeathTypes = NONE +EXPLODED 10585 SinkDelay = 3000 10586 SinkRate = 0.5 ; in Dist/Sec 10587 DestructionDelay = 8000 10588 FX = INITIAL FX_GIDie 10589 FlingForce = 8 10590 FlingForceVariance = 3 10591 FlingPitch = 60 10592 FlingPitchVariance = 10 10593 End 10594 Behavior = SlowDeathBehavior ModuleTag_Death04 10595 DeathTypes = NONE +BURNED 10596 DestructionDelay = 0 10597 FX = INITIAL FX_GIDie 10598 OCL = INITIAL OCL_FlamingInfantry 10599 End 10600 Behavior = SlowDeathBehavior ModuleTag_Death05 10601 DeathTypes = NONE +POISONED 10602 DestructionDelay = 0 10603 FX = INITIAL FX_GIDie 10604 OCL = INITIAL OCL_ToxicInfantry 10605 End 10606 ; --- end Death modules --- 10607 10608 Behavior = PoisonedBehavior ModuleTag_14 10609 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 10610 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 10611 End 10612 10613 Behavior = SpecialAbility ModuleTag_15 10614 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 10615 UpdateModuleStartsAttack = Yes 10616 InitiateSound = RedGuardVoiceCapture 10617 End 10618 Behavior = SpecialAbilityUpdate ModuleTag_16 10619 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 10620 StartAbilityRange = 5.0 10621 UnpackTime = 3000 ; (changing this will scale anim speed) 10622 PreparationTime = 10000 ; time to complete hack once prepared (changing this will scale anim speed) 10623 PackTime = 2000 ; (changing this will scale anim speed) 10624 DoCaptureFX = Yes 10625 End 10626 10627 Geometry = CYLINDER 10628 GeometryMajorRadius = 10.0 10629 GeometryMinorRadius = 10.0 10630 GeometryHeight = 12.0 10631 GeometryIsSmall = Yes 10632 Shadow = SHADOW_DECAL 10633 ShadowSizeX = 14; 10634 ShadowSizeY = 14; 10635 ShadowTexture = ShadowI; 10636 BuildCompletion = APPEARS_AT_RALLY_POINT 10637 10638 End 10639 10640 ;------------------------------------------------------------------------------ 10641 Object ChinaInfantryBlackLotus 10642 10643 ; *** ART Parameters *** 10644 SelectPortrait = SNBlkLotus_L2 10645 ButtonImage = SNBlkLotus2 10646 10647 ;UpgradeCameo1 = NONE 10648 ;UpgradeCameo2 = NONE 10649 ;UpgradeCameo3 = NONE 10650 ;UpgradeCameo4 = NONE 10651 ;UpgradeCameo5 = NONE 10652 10653 Draw = W3DModelDraw ModuleTag_01 10654 10655 OkToChangeModelColor = Yes 10656 10657 ; --- idle 10658 DefaultConditionState 10659 Model = NIHERO_SKN 10660 IdleAnimation = NIHERO_SKL.NIHERO_STA 0 17 10661 IdleAnimation = NIHERO_SKL.NIHero_IDA 10662 IdleAnimation = NIHERO_SKL.NIHero_IDB 10663 AnimationMode = ONCE 10664 TransitionKey = TRANS_Stand 10665 End 10666 10667 ConditionState = REALLYDAMAGED 10668 IdleAnimation = NIHERO_SKL.NIHERO_ISTA 0 30 10669 IdleAnimation = NIHERO_SKL.NIHero_IIDA 10670 AnimationMode = ONCE 10671 TransitionKey = TRANS_StandInjured 10672 End 10673 10674 TransitionState = TRANS_Stand TRANS_StandInjured 10675 Animation = NIHero_SKL.NIHero_ISTAHIT 10676 AnimationMode = ONCE 10677 End 10678 10679 ; --- moving 10680 ConditionState = MOVING 10681 Animation = NIHero_SKL.NIHero_RNA 10682 AnimationMode = LOOP 10683 Flags = RANDOMSTART 10684 TransitionKey = None 10685 ParticleSysBone = None InfantryDustTrails 10686 End 10687 AliasConditionState = MOVING UNPACKING 10688 10689 ConditionState = MOVING REALLYDAMAGED 10690 Animation = NIHero_SKL.NIHero_IRNA 10691 AnimationMode = LOOP 10692 Flags = RANDOMSTART 10693 TransitionKey = None 10694 ParticleSysBone = None InfantryDustTrails 10695 End 10696 AliasConditionState = MOVING UNPACKING REALLYDAMAGED 10697 10698 ; --- packing states 10699 ConditionState = UNPACKING 10700 ;Preparing to attack (unpacking gear) 10701 Animation = NIHero_SKL.NIHero_ATA1 10702 AnimationMode = ONCE 10703 End 10704 AliasConditionState = UNPACKING FIRING_A 10705 10706 ConditionState = FIRING_A 10707 ;Processing attack (hacking) 10708 Animation = NIHero_SKL.NIHero_ATA2 10709 AnimationMode = LOOP 10710 TransitionKey = TRANS_FiringA 10711 End 10712 10713 ConditionState = PACKING 10714 ;Completing attack (packing gear) 10715 Animation = NIHero_SKL.NIHero_ATA3 10716 AnimationMode = ONCE 10717 End 10718 AliasConditionState = FIRING_A PACKING 10719 10720 TransitionState = TRANS_FiringA TRANS_FiringAInjured 10721 Animation = NIHero_SKL.NIHero_IATAHIT 10722 AnimationMode = ONCE 10723 End 10724 10725 ; --- injured-packing states 10726 ConditionState = UNPACKING REALLYDAMAGED 10727 ;Preparing to attack (unpacking gear) 10728 Animation = NIHero_SKL.NIHero_IATA1 10729 AnimationMode = ONCE 10730 End 10731 AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED 10732 10733 ConditionState = FIRING_A REALLYDAMAGED 10734 ;Processing attack (hacking) 10735 Animation = NIHero_SKL.NIHero_IATA2 10736 AnimationMode = LOOP 10737 TransitionKey = TRANS_FiringAInjured 10738 End 10739 10740 ConditionState = PACKING REALLYDAMAGED 10741 ;Completing attack (packing gear) 10742 Animation = NIHero_SKL.NIHero_IATA3 10743 AnimationMode = ONCE 10744 End 10745 AliasConditionState = FIRING_A PACKING REALLYDAMAGED 10746 10747 ; --- packing-dying states 10748 ; code doesn't really support this. Oh well. 10749 ; ConditionState = DYING RAISING_FLAG 10750 ; Animation = NIHero_SKL.NIHero_IDTA 10751 ; Animation = NIHero_SKL.NIHero_IDTB 10752 ; AnimationMode = ONCE 10753 ; End 10754 ; AliasConditionState = DYING RAISING_FLAG EXPLODED_FLAILING EXPLODED_BOUNCING 10755 10756 ; --- normal-dying states 10757 ConditionState = DYING 10758 Animation = NIHero_SKL.NIHero_DTA 10759 Animation = NIHero_SKL.NIHero_DTB 10760 AnimationMode = ONCE 10761 TransitionKey = TRANS_Dying 10762 End 10763 10764 TransitionState = TRANS_Dying TRANS_Flailing 10765 Animation = NIHero_SKL.NIHero_ADTF1 10766 AnimationMode = ONCE 10767 End 10768 10769 ConditionState = DYING EXPLODED_FLAILING 10770 Animation = NIHero_SKL.NIHero_ADTF2 10771 AnimationMode = LOOP 10772 TransitionKey = TRANS_Flailing 10773 End 10774 10775 ConditionState = DYING EXPLODED_BOUNCING 10776 Animation = NIHero_SKL.NIHero_ADTF3 10777 AnimationMode = ONCE 10778 TransitionKey = None 10779 End 10780 10781 ; --- cheering states 10782 ConditionState = SPECIAL_CHEERING 10783 Animation = NIHERO_SKL.NIHERO_CHA 10784 AnimationMode = ONCE 10785 End 10786 10787 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 10788 Animation = NIHERO_SKL.NIHERO_ICHA 10789 AnimationMode = ONCE 10790 End 10791 10792 ; --- falling states 10793 ConditionState = FREEFALL 10794 Animation = NIHero_SKL.NIHero_PFL 10795 AnimationMode = LOOP 10796 TransitionKey = TRANS_Falling 10797 End 10798 AliasConditionState = FREEFALL REALLYDAMAGED 10799 AliasConditionState = FREEFALL DYING 10800 10801 ConditionState = PARACHUTING 10802 Animation = NIHero_SKL.NIHero_PHG 10803 AnimationMode = LOOP 10804 TransitionKey = TRANS_Chute 10805 End 10806 AliasConditionState = PARACHUTING REALLYDAMAGED 10807 AliasConditionState = PARACHUTING DYING 10808 10809 TransitionState = TRANS_Falling TRANS_Chute 10810 Animation = NIHero_SKL.NIHero_POP 10811 AnimationMode = ONCE 10812 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 10813 End 10814 10815 TransitionState = TRANS_Chute TRANS_Stand 10816 Animation = NIHero_SKL.NIHero_PTD 10817 AnimationMode = ONCE 10818 End 10819 10820 TransitionState = TRANS_Chute TRANS_StandInjured 10821 Animation = NIHero_SKL.NIHero_PTD 10822 AnimationMode = ONCE 10823 End 10824 10825 ; --- surrender states 10826 ; surrender is cut. sorry. (srj) 10827 ; ConditionState = SURRENDER 10828 ; Animation = NIHERO_SKL.NIHERO_SUR 10829 ; AnimationMode = ONCE 10830 ; TransitionKey = TRANS_HandsUp 10831 ; End 10832 ; TransitionState = TRANS_HandsUp TRANS_Stand 10833 ; Animation = NIHERO_SKL.NIHERO_SST 10834 ; AnimationMode = ONCE 10835 ; End 10836 ; TransitionState = TRANS_HandsUp TRANS_StandInjured 10837 ; Animation = NIHERO_SKL.NIHERO_SST 10838 ; AnimationMode = ONCE 10839 ; End 10840 ; ConditionState = SURRENDER REALLYDAMAGED 10841 ; Animation = NIHERO_SKL.NIHERO_ISUR 10842 ; AnimationMode = ONCE 10843 ; TransitionKey = TRANS_InjuredHandsUp 10844 ; End 10845 ; TransitionState = TRANS_InjuredHandsUp TRANS_StandInjured 10846 ; Animation = NIHERO_SKL.NIHERO_ISST 10847 ; AnimationMode = ONCE 10848 ; End 10849 10850 End 10851 10852 ; ***DESIGN parameters *** 10853 DisplayName = OBJECT:BlackLotus 10854 Side = China 10855 EditorSorting = INFANTRY 10856 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 10857 WeaponSet 10858 Conditions = None 10859 Weapon = PRIMARY None 10860 End 10861 ArmorSet 10862 Conditions = None 10863 Armor = HumanArmor 10864 DamageFX = InfantryDamageFX 10865 End 10866 VisionRange = 300 10867 ShroudClearingRange = 400 10868 Prerequisites 10869 Object = ChinaBarracks 10870 Object = ChinaPropagandaCenter 10871 End 10872 BuildCost = 1500 10873 BuildTime = 20.0 ;in seconds 10874 MaxSimultaneousOfType = 1 10875 CommandSet = ChinaInfantryBlackLotusCommandSet 10876 10877 ExperienceValue = 50 100 150 400 ;Experience point value at each level 10878 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 10879 IsTrainable = Yes ;Can gain experience 10880 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 10881 CommandSet = ChinaInfantryBlackLotusCommandSet 10882 10883 ; *** AUDIO Parameters *** 10884 VoiceSelect = BlackLotusVoiceSelect 10885 VoiceMove = BlackLotusVoiceMove 10886 VoiceAttack = BlackLotusVoiceAttack 10887 VoiceGuard = BlackLotusVoiceMove 10888 VoiceFear = BlackLotusVoiceFear 10889 VoiceTaskComplete = BlackLotusVoiceCaptureComplete 10890 SoundDie = BlackLotusVoiceDie 10891 SoundDieFire = DieByFireFemale 10892 SoundDieToxin = DieByToxinFemale 10893 SoundStealthOn = StealthOn 10894 SoundStealthOff = StealthOff 10895 ;SoundAmbient = BlackLotusSoundAmbient 10896 10897 UnitSpecificSounds 10898 VoiceCreate = BlackLotusVoiceCreate 10899 VoiceGarrison = BlackLotusVoiceMove 10900 VoiceEnter = BlackLotusVoiceMove 10901 VoiceEnterHostile = BlackLotusVoiceMove 10902 VoiceStealCashComplete = BlackLotusVoiceCashComplete 10903 VoiceDisableVehicleComplete = BlackLotusVoiceDisableComplete 10904 VoiceCaptureBuildingComplete = BlackLotusVoiceCaptureComplete 10905 VoiceGetHealed = BlackLotusVoiceMove 10906 End 10907 10908 ; *** ENGINEERING Parameters *** 10909 RadarPriority = UNIT 10910 ; note: per Dustin's comment, Hero units do not surrender 10911 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE HERO 10912 10913 Body = ActiveBody ModuleTag_02 10914 MaxHealth = 150.0 10915 InitialHealth = 150.0 10916 End 10917 10918 Behavior = CommandButtonHuntUpdate ModuleTag_03 ; allows use of command button hunt script with this unit. 10919 End 10920 10921 Behavior = AIUpdateInterface ModuleTag_04 10922 AutoAcquireEnemiesWhenIdle = No 10923 End 10924 Locomotor = SET_NORMAL BlackLotusLocomotor 10925 Locomotor = SET_FREEFALL FreeFallLocomotor 10926 Behavior = PhysicsBehavior ModuleTag_05 10927 Mass = 5.0 10928 End 10929 Behavior = StealthUpdate ModuleTag_07 10930 StealthDelay = 2500 ; msec 10931 StealthForbiddenConditions = USING_ABILITY 10932 HintDetectableConditions = USING_ABILITY 10933 InnateStealth = Yes 10934 OrderIdleEnemiesToAttackMeUponReveal = Yes 10935 End 10936 10937 Behavior = StealthDetectorUpdate ModuleTag_44 10938 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 10939 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 10940 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 10941 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 10942 End 10943 10944 Behavior = SpecialAbility ModuleTag_08 10945 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding 10946 UpdateModuleStartsAttack = Yes 10947 InitiateSound = BlackLotusVoiceHackBuilding 10948 End 10949 Behavior = SpecialAbilityUpdate ModuleTag_09 10950 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding 10951 StartAbilityRange = 150.0 10952 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) 10953 PackTime = 2800 ;animation time is 5800 (changing this will scale anim speed) 10954 PreparationTime = 6000 ;time to complete hack once prepared (unpacked) 10955 SpecialObject = BinaryDataStream 10956 DoCaptureFX = Yes 10957 PackSound = BlackLotusPack 10958 UnpackSound = BlackLotusUnpack 10959 TriggerSound = BlackLotusTrigger 10960 PrepSoundLoop = BlackLotusPrepLoop 10961 AwardXPForTriggering = 20 10962 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 10963 End 10964 Behavior = SpecialAbility ModuleTag_10 10965 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack 10966 UpdateModuleStartsAttack = Yes 10967 InitiateSound = BlackLotusVoiceHackVehicle 10968 End 10969 Behavior = SpecialAbilityUpdate ModuleTag_11 10970 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack 10971 StartAbilityRange = 150.0 10972 UnpackTime = 2000 ;6730 ;animation time is 6730 (changing this will scale anim speed) 10973 PackTime = 1000 ;2800 ;animation time is 5800 (changing this will scale anim speed) 10974 PreparationTime = 2000 ;time to complete hack once prepared (unpacked) 10975 EffectDuration = 15000 ;duration vehicle is disabled (30 seconds) 10976 DisableFXParticleSystem = DisabledEffectBinaryShower0 10977 SpecialObject = BinaryDataStream 10978 PackSound = BlackLotusPack 10979 UnpackSound = BlackLotusUnpack 10980 TriggerSound = BlackLotusTrigger 10981 PrepSoundLoop = BlackLotusPrepLoop 10982 AwardXPForTriggering = 0 10983 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 10984 End 10985 Behavior = SpecialAbility ModuleTag_12 10986 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack 10987 UpdateModuleStartsAttack = Yes 10988 InitiateSound = BlackLotusVoiceHackCash 10989 End 10990 Behavior = SpecialAbilityUpdate ModuleTag_13 10991 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack 10992 StartAbilityRange = 150.0 10993 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) 10994 PackTime = 5800 ;animation time is 5800 (changing this will scale anim speed) 10995 PreparationTime = 6000 ;time to complete hack once prepared (unpacked) 10996 EffectValue = 1000 ;amount of cash stolen 10997 SpecialObject = BinaryDataStream 10998 PackSound = BlackLotusPack 10999 UnpackSound = BlackLotusUnpack 11000 TriggerSound = BlackLotusTrigger 11001 PrepSoundLoop = BlackLotusPrepLoop 11002 AwardXPForTriggering = 20 11003 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 11004 End 11005 11006 ;Hero units can't be squished! 11007 ;Behavior = SquishCollide ModuleTag_14 11008 ; ;nothing 11009 ;End 11010 11011 11012 ; --- begin Death modules --- 11013 Behavior = SlowDeathBehavior ModuleTag_Death01 11014 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 11015 SinkDelay = 3000 11016 SinkRate = 0.5 ; in Dist/Sec 11017 DestructionDelay = 8000 11018 FX = INITIAL FX_GIDie 11019 End 11020 Behavior = SlowDeathBehavior ModuleTag_Death02 11021 DeathTypes = NONE +CRUSHED +SPLATTED 11022 SinkDelay = 3000 11023 SinkRate = 0.5 ; in Dist/Sec 11024 DestructionDelay = 8000 11025 FX = INITIAL FX_GIDieCrushed 11026 End 11027 Behavior = SlowDeathBehavior ModuleTag_Death03 11028 DeathTypes = NONE +EXPLODED 11029 SinkDelay = 3000 11030 SinkRate = 0.5 ; in Dist/Sec 11031 DestructionDelay = 8000 11032 FX = INITIAL FX_GIDie 11033 FlingForce = 8 11034 FlingForceVariance = 3 11035 FlingPitch = 60 11036 FlingPitchVariance = 10 11037 End 11038 Behavior = SlowDeathBehavior ModuleTag_Death04 11039 DeathTypes = NONE +BURNED 11040 DestructionDelay = 0 11041 FX = INITIAL FX_GIDie 11042 OCL = INITIAL OCL_FlamingInfantry 11043 End 11044 Behavior = SlowDeathBehavior ModuleTag_Death05 11045 DeathTypes = NONE +POISONED 11046 DestructionDelay = 0 11047 FX = INITIAL FX_GIDie 11048 OCL = INITIAL OCL_ToxicInfantry 11049 End 11050 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 11051 DeathTypes = NONE +POISONED_BETA 11052 DestructionDelay = 0 11053 FX = INITIAL FX_GIDie 11054 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 11055 End 11056 ; --- end Death modules --- 11057 11058 Behavior = PoisonedBehavior ModuleTag_17 11059 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 11060 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 11061 End 11062 11063 Geometry = CYLINDER 11064 GeometryMajorRadius = 10.0 11065 GeometryMinorRadius = 10.0 11066 GeometryHeight = 12.0 11067 GeometryIsSmall = Yes 11068 Shadow = SHADOW_DECAL 11069 ShadowSizeX = 14; 11070 ShadowSizeY = 14; 11071 ShadowTexture = ShadowI; 11072 BuildCompletion = APPEARS_AT_RALLY_POINT 11073 11074 End 11075 11076 ;------------------------------------------------------------------------------ 11077 Object ChinaInfantryTankHunter 11078 11079 ; *** ART Parameters *** 11080 SelectPortrait = SNTankHunter_L 11081 ButtonImage = SNTankHunter 11082 11083 UpgradeCameo1 = Upgrade_Nationalism 11084 ;UpgradeCameo2 = NONE 11085 ;UpgradeCameo3 = NONE 11086 ;UpgradeCameo4 = NONE 11087 ;UpgradeCameo5 = NONE 11088 11089 Draw = W3DModelDraw ModuleTag_01 11090 OkToChangeModelColor = Yes 11091 11092 11093 DefaultConditionState 11094 Model = NIMSST_SKN 11095 IdleAnimation = NIMSST_SKL.NIMSST_STA 0 30 11096 IdleAnimation = NIMSST_SKL.NIMSST_IDA 11097 IdleAnimation = NIMSST_SKL.NIMSST_IDB 11098 AnimationMode = ONCE 11099 AnimationSpeedFactorRange = 0.8 1.2 11100 TransitionKey = TRANS_Stand 11101 WeaponMuzzleFlash = PRIMARY MuzzleFX 11102 WeaponFireFXBone = PRIMARY Muzzle 11103 WeaponLaunchBone = PRIMARY Muzzle 11104 WeaponLaunchBone = SECONDARY Muzzle 11105 End 11106 AliasConditionState = REALLYDAMAGED 11107 11108 ConditionState = FIRING_A 11109 Animation = NIMSST_SKL.NIMSST_ATA 11110 AnimationMode = ONCE 11111 TransitionKey = TRANS_START_FIRING 11112 End 11113 AliasConditionState = REALLYDAMAGED FIRING_A 11114 11115 ConditionState = BETWEEN_FIRING_SHOTS_A 11116 Animation = NIMSST_SKL.NIMSST_STA 11117 AnimationMode = ONCE 11118 ; this is basically a trick: this guy has a nontrivial animation for firing, 11119 ; and a long recycle time between shots. we want him to finish his fire animation 11120 ; (unless he's ordered to do something else), so this is just a handy trick that 11121 ; says, "if the previous state had this transition key, allow it to finish before 11122 ; switching to us, if possible". 11123 WaitForStateToFinishIfPossible = TRANS_START_FIRING 11124 End 11125 AliasConditionState = REALLYDAMAGED BETWEEN_FIRING_SHOTS_A 11126 11127 ConditionState = MOVING 11128 Animation = NIMSST_SKL.NIMSST_RNA 20 11129 AnimationMode = LOOP 11130 Flags = RANDOMSTART 11131 TransitionKey = None 11132 ParticleSysBone = None InfantryDustTrails 11133 End 11134 AliasConditionState = REALLYDAMAGED MOVING 11135 11136 ConditionState = RELOADING_A 11137 Animation = NIMSST_SKL.NIMSST_ATA 10 11138 AnimationMode = ONCE 11139 ;WeaponLaunchBone = PRIMARY WeaponA 11140 End 11141 AliasConditionState = MOVING RELOADING_A 11142 AliasConditionState = REALLYDAMAGED MOVING RELOADING_A 11143 11144 ConditionState = DYING 11145 Animation = NIMSST_SKL.NIMSST_DTA 11146 Animation = NIMSST_SKL.NIMSST_DTB 11147 AnimationSpeedFactorRange = 0.9 1.25 11148 AnimationMode = ONCE 11149 TransitionKey = TRANS_Dying 11150 End 11151 11152 TransitionState = TRANS_Dying TRANS_Flailing 11153 Animation = NIMSST_SKL.NIMSST_ADTD1 11154 AnimationMode = ONCE 11155 End 11156 11157 ConditionState = DYING EXPLODED_FLAILING 11158 Animation = NIMSST_SKL.NIMSST_ADTD2 11159 AnimationMode = LOOP 11160 TransitionKey = TRANS_Flailing 11161 End 11162 11163 ConditionState = DYING EXPLODED_BOUNCING 11164 Animation = NIMSST_SKL.NIMSST_ADTD3 11165 AnimationMode = ONCE 11166 TransitionKey = None 11167 End 11168 11169 ;PARACHUTING ANIMATIONS 11170 ConditionState = FREEFALL 11171 Animation = NIMSST_SKL.NIMSST_POP 11172 AnimationMode = ONCE 11173 TransitionKey = TRANS_Falling 11174 End 11175 AliasConditionState = FREEFALL REALLYDAMAGED 11176 AliasConditionState = FREEFALL DYING 11177 11178 ConditionState = PARACHUTING 11179 Animation = NIMSST_SKL.NIMSST_PHG 11180 AnimationMode = LOOP 11181 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 11182 TransitionKey = TRANS_Chute 11183 End 11184 AliasConditionState = PARACHUTING REALLYDAMAGED 11185 AliasConditionState = PARACHUTING DYING 11186 11187 ; TransitionState = TRANS_Falling TRANS_Chute 11188 ; Animation = NIMSST_SKL.NIMSST_POP 11189 ; AnimationMode = ONCE 11190 ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 11191 ; End 11192 11193 TransitionState = TRANS_Chute TRANS_Stand 11194 Animation = NIMSST_SKL.NIMSST_PDN 11195 AnimationMode = ONCE 11196 End 11197 11198 ;SURRENDER ANIMATIONS 11199 ; surrender is cut. sorry. (srj) 11200 ; ConditionState = SURRENDER 11201 ; Animation = NIMSST_SKL.NIMSST_SST 11202 ; AnimationMode = ONCE 11203 ; TransitionKey = TRANS_SurrenderKneeling 11204 ; End 11205 ; ;ConditionState = SURRENDER MOVING 11206 ; ; Animation = NIMSST_SKL.NIMSST_SWKB 11207 ; ; AnimationMode = ONCE 11208 ; ; TransitionKey = TRANS_SurrenderMoving 11209 ; ;End 11210 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 11211 ; Animation = NIMSST_SKL.NIMSST_SUR 11212 ; AnimationMode = ONCE 11213 ; End 11214 11215 End 11216 11217 11218 ; ***DESIGN parameters *** 11219 DisplayName = OBJECT:TankHunter 11220 Side = China 11221 EditorSorting = INFANTRY 11222 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 11223 WeaponSet 11224 Conditions = None 11225 Weapon = PRIMARY ChinaInfantryTankHunterMissileLauncher 11226 End 11227 ArmorSet 11228 Conditions = None 11229 Armor = HumanArmor 11230 DamageFX = InfantryDamageFX 11231 End 11232 VisionRange = 150 11233 ShroudClearingRange = 400 11234 Prerequisites 11235 Object = ChinaBarracks 11236 End 11237 BuildCost = 300 11238 BuildTime = 5.0 ;in seconds 11239 11240 ExperienceValue = 20 20 40 60 ;Experience point value at each level 11241 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 11242 IsTrainable = Yes ;Can gain experience 11243 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 11244 CommandSet = ChinaInfantryTankHunterCommandSet 11245 11246 ; *** AUDIO Parameters *** 11247 VoiceSelect = TankHunterVoiceSelect 11248 VoiceMove = TankHunterVoiceMove 11249 VoiceAttack = TankHunterVoiceAttack 11250 VoiceAttackAir = TankHunterVoiceAttack 11251 SoundDie = TankHunterVoiceDie 11252 SoundDieFire = DieByFireChina 11253 SoundDieToxin = DieByToxinChina 11254 VoiceGuard = TankHunterVoiceMove 11255 ; surrender is cut. sorry. (srj) 11256 ; VoiceSurrender = TankHunterVoiceSurrender 11257 VoiceFear = TankHunterVoiceFear 11258 UnitSpecificSounds 11259 VoiceCreate = TankHunterVoiceCreate 11260 VoiceGarrison = TankHunterVoiceGarrison 11261 VoiceEnter = TankHunterVoiceMove 11262 VoiceEnterHostile = TankHunterVoiceMove 11263 VoiceGetHealed = TankHunterVoiceMove 11264 End 11265 11266 ; *** ENGINEERING Parameters *** 11267 RadarPriority = UNIT 11268 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE 11269 11270 Body = ActiveBody ModuleTag_02 11271 MaxHealth = 100.0 11272 InitialHealth = 100.0 11273 End 11274 11275 Behavior = AIUpdateInterface ModuleTag_03 11276 AutoAcquireEnemiesWhenIdle = Yes 11277 End 11278 Locomotor = SET_NORMAL MissileDefenderLocomotor 11279 Behavior = HordeUpdate ModuleTag_04 11280 UpdateRate = 1000 ; how often to recheck horde status (msec) 11281 RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 11282 Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 11283 KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness 11284 AlliesOnly = Yes ; do we only count allies towards horde status? 11285 ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) 11286 Count = 5 ; how many units must be within Radius to grant us horde-ness 11287 Action = HORDE ; when horde-ing, grant us the HORDE bonus 11288 End 11289 Behavior = PhysicsBehavior ModuleTag_05 11290 Mass = 5.0 11291 End 11292 11293 Behavior = SpecialAbility ModuleTag_07 11294 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack 11295 UpdateModuleStartsAttack = Yes 11296 InitiateSound = TankHunterVoiceTNT 11297 End 11298 Behavior = SpecialAbilityUpdate ModuleTag_08 11299 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack 11300 StartAbilityRange = 5.0 11301 PreparationTime = 0 11302 SpecialObject = TNTStickyBomb 11303 MaxSpecialObjects = 8 11304 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). 11305 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 11306 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 11307 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 11308 End 11309 11310 11311 Behavior = SquishCollide ModuleTag_09 11312 ;nothing 11313 End 11314 11315 11316 ; --- begin Death modules --- 11317 Behavior = SlowDeathBehavior ModuleTag_Death01 11318 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 11319 SinkDelay = 3000 11320 SinkRate = 0.5 ; in Dist/Sec 11321 DestructionDelay = 8000 11322 FX = INITIAL FX_GIDie 11323 End 11324 Behavior = SlowDeathBehavior ModuleTag_Death02 11325 DeathTypes = NONE +CRUSHED +SPLATTED 11326 SinkDelay = 3000 11327 SinkRate = 0.5 ; in Dist/Sec 11328 DestructionDelay = 8000 11329 FX = INITIAL FX_GIDieCrushed 11330 End 11331 Behavior = SlowDeathBehavior ModuleTag_Death03 11332 DeathTypes = NONE +EXPLODED 11333 SinkDelay = 3000 11334 SinkRate = 0.5 ; in Dist/Sec 11335 DestructionDelay = 8000 11336 FX = INITIAL FX_GIDie 11337 FlingForce = 8 11338 FlingForceVariance = 3 11339 FlingPitch = 60 11340 FlingPitchVariance = 10 11341 End 11342 Behavior = SlowDeathBehavior ModuleTag_Death04 11343 DeathTypes = NONE +BURNED 11344 DestructionDelay = 0 11345 FX = INITIAL FX_GIDie 11346 OCL = INITIAL OCL_FlamingInfantry 11347 End 11348 Behavior = SlowDeathBehavior ModuleTag_Death05 11349 DeathTypes = NONE +POISONED 11350 DestructionDelay = 0 11351 FX = INITIAL FX_GIDie 11352 OCL = INITIAL OCL_ToxicInfantry 11353 End 11354 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 11355 DeathTypes = NONE +POISONED_BETA 11356 DestructionDelay = 0 11357 FX = INITIAL FX_GIDie 11358 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 11359 End 11360 ; --- end Death modules --- 11361 11362 Behavior = PoisonedBehavior ModuleTag_12 11363 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 11364 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 11365 End 11366 11367 Geometry = CYLINDER 11368 GeometryMajorRadius = 10.0 11369 GeometryMinorRadius = 10.0 11370 GeometryHeight = 12.0 11371 GeometryIsSmall = Yes 11372 Shadow = SHADOW_DECAL 11373 ShadowSizeX = 14; 11374 ShadowSizeY = 14; 11375 ShadowTexture = ShadowI; 11376 BuildCompletion = APPEARS_AT_RALLY_POINT 11377 11378 End 11379 11380 ;------------------------------------------------------------------------------ 11381 Object TNTStickyBomb ;Created by Chinese Tank Hunters 11382 11383 ;No drawable because it's invisible 11384 ; *** ART Parameters *** 11385 11386 ; ***DESIGN parameters *** 11387 Side = China 11388 EditorSorting = SYSTEM 11389 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 11390 VisionRange = 75.0 ;Allow the stickybomb to show itself to user? 11391 ShroudClearingRange = 75 11392 ArmorSet 11393 Conditions = None 11394 Armor = InvulnerableAllArmor 11395 End 11396 11397 ; *** AUDIO Parameters *** 11398 SoundDie = BombTruckDefaultBombDetonation 11399 UnitSpecificSounds 11400 UnitBombPing = BombTickTimed 11401 End 11402 11403 ; *** ENGINEERING Parameters *** 11404 RadarPriority = NOT_ON_RADAR 11405 KindOf = PROJECTILE MINE NO_COLLIDE 11406 11407 Behavior = PhysicsBehavior ModuleTag_01 11408 Mass = 5 11409 End 11410 11411 ;This determines how long the bomb lives before it explodes (via SlowDeathBehavior) 11412 Behavior = LifetimeUpdate ModuleTag_02 11413 MinLifetime = 10000 ; min lifetime in msec 11414 MaxLifetime = 10000 ; max lifetime in msec 11415 End 11416 11417 Behavior = StickyBombUpdate ModuleTag_03 11418 ; nothing 11419 End 11420 11421 Behavior = SlowDeathBehavior ModuleTag_04 11422 DestructionDelay = 1 11423 FX = INITIAL WeaponFX_TNTStickyBombDetonation 11424 Weapon = FINAL TNTDetonationWeapon 11425 ;PreferredAgainst = PRIMARY VEHICLE 11426 End 11427 11428 Body = HighlanderBody ModuleTag_NewBody 11429 MaxHealth = 1.0 11430 InitialHealth = 1.0 11431 End 11432 11433 End 11434 11435 ;------------------------------------------------------------------------------ 11436 Object RemoteC4Charge ;Created by ColonelBurton 11437 11438 ;No drawable because it's invisible 11439 ; *** ART Parameters *** 11440 11441 ; ***DESIGN parameters *** 11442 Side = America 11443 EditorSorting = SYSTEM 11444 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 11445 VisionRange = 75.0 ;Allow the stickybomb to show itself to user? 11446 ShroudClearingRange = 75 11447 ArmorSet 11448 Conditions = None 11449 Armor = InvulnerableAllArmor 11450 End 11451 11452 ; *** AUDIO Parameters *** 11453 SoundDie = RemoteDemoChargeExplosion 11454 UnitSpecificSounds 11455 UnitBombPing = BombTickRemote 11456 End 11457 11458 ; *** ENGINEERING Parameters *** 11459 RadarPriority = NOT_ON_RADAR 11460 KindOf = PROJECTILE MINE NO_COLLIDE 11461 11462 ;Body = ActiveBody ModuleTag_02 11463 ; MaxHealth = 1.0 11464 ; InitialHealth = 1.0 11465 ;End 11466 11467 Body = HighlanderBody ModuleTag_NewBody 11468 MaxHealth = 1.0 11469 InitialHealth = 1.0 11470 End 11471 11472 Behavior = StealthUpdate ModuleTag_03 11473 StealthDelay = 0 ; msec 11474 StealthForbiddenConditions = NONE 11475 FriendlyOpacityMin = 50.0% 11476 InnateStealth = Yes 11477 End 11478 11479 Behavior = StickyBombUpdate ModuleTag_04 11480 ;Keeps it attached properly to the intended target should it move. 11481 End 11482 11483 11484 Behavior = SlowDeathBehavior ModuleTag_05 11485 DestructionDelay = 1 11486 FX = INITIAL WeaponFX_TNTStickyBombDetonation 11487 Weapon = FINAL BurtonC4ChargeWeapon 11488 End 11489 11490 Geometry = CYLINDER 11491 GeometryMajorRadius = 0.0 11492 GeometryHeight = 0.0 11493 GeometryIsSmall = No 11494 11495 End 11496 11497 ;------------------------------------------------------------------------------ 11498 Object TimedC4Charge ;Created by Colonel Burton 11499 11500 ;No drawable because it's invisible 11501 ; *** ART Parameters *** 11502 11503 ; ***DESIGN parameters *** 11504 Side = America 11505 EditorSorting = SYSTEM 11506 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 11507 VisionRange = 75.0 ;Allow the stickybomb to show itself to user? 11508 ShroudClearingRange = 75 11509 ArmorSet 11510 Conditions = None 11511 Armor = InvulnerableAllArmor 11512 End 11513 11514 ; *** AUDIO Parameters *** 11515 SoundDie = RemoteDemoChargeExplosion 11516 UnitSpecificSounds 11517 UnitBombPing = BombTickTimed 11518 End 11519 11520 ; *** ENGINEERING Parameters *** 11521 RadarPriority = NOT_ON_RADAR 11522 KindOf = PROJECTILE MINE NO_COLLIDE 11523 11524 ;Body = ActiveBody ModuleTag_02 11525 ; MaxHealth = 1.0 11526 ; InitialHealth = 1.0 11527 ;End 11528 Body = HighlanderBody ModuleTag_NewBody 11529 MaxHealth = 1.0 11530 InitialHealth = 1.0 11531 End 11532 11533 Behavior = StealthUpdate ModuleTag_03 11534 StealthDelay = 0 ; msec 11535 StealthForbiddenConditions = NONE 11536 FriendlyOpacityMin = 50.0% 11537 InnateStealth = Yes 11538 End 11539 11540 ;This determines how long the bomb lives before it explodes (via SlowDeathBehavior) 11541 Behavior = LifetimeUpdate ModuleTag_04 11542 MinLifetime = 20000 ; min lifetime in msec 11543 MaxLifetime = 20000 ; max lifetime in msec 11544 End 11545 11546 Behavior = StickyBombUpdate ModuleTag_05 11547 ;Keeps it attached properly to the intended target should it move. 11548 End 11549 11550 Behavior = SlowDeathBehavior ModuleTag_06 11551 DestructionDelay = 1 11552 FX = INITIAL WeaponFX_TNTStickyBombDetonation 11553 Weapon = FINAL BurtonC4ChargeWeapon 11554 End 11555 11556 Geometry = CYLINDER 11557 GeometryMajorRadius = 0.0 11558 GeometryHeight = 0.0 11559 GeometryIsSmall = No 11560 11561 End 11562 11563 ;------------------------------------------------------------------------------ 11564 Object DemoTrapDetonationObject ;The explodes-next-frame object when demo trap is triggered. 11565 11566 ; ***DESIGN parameters *** 11567 Side = GLA 11568 EditorSorting = SYSTEM 11569 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 11570 VisionRange = 0.0 ;Allow the stickybomb to show itself to user? 11571 11572 ; *** AUDIO Parameters *** 11573 11574 ; *** ENGINEERING Parameters *** 11575 RadarPriority = NOT_ON_RADAR 11576 KindOf = PROJECTILE 11577 11578 Behavior = PhysicsBehavior ModuleTag_01 11579 Mass = 5 11580 End 11581 11582 ;This determines how long the bomb lives before it explodes (via SlowDeathBehavior) 11583 Behavior = LifetimeUpdate ModuleTag_02 11584 MinLifetime = 1 ; min lifetime in msec 11585 MaxLifetime = 1 ; max lifetime in msec 11586 End 11587 11588 Behavior = SlowDeathBehavior ModuleTag_03 11589 DestructionDelay = 1 11590 FX = INITIAL WeaponFX_DemoTrapDetonation 11591 Weapon = FINAL DemoTrapDetonationWeapon 11592 End 11593 End 11594 11595 ;------------------------------------------------------------------------------ 11596 ; @todo -- this entire unit is "first pass only" and needs lots of specialization 11597 Object ChinaInfantrySecretPolice 11598 11599 ; *** ART Parameters *** 11600 Draw = W3DModelDraw ModuleTag_01 11601 OkToChangeModelColor = Yes 11602 11603 ; @todo srj -- all these states are using placeholder art; need to add anims, etc. 11604 DefaultConditionState 11605 Model = NIHacker 11606 End 11607 11608 End 11609 11610 ; ***DESIGN parameters *** 11611 DisplayName = OBJECT:SecretPolice 11612 Side = China 11613 EditorSorting = INFANTRY 11614 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 11615 WeaponSet 11616 Conditions = None 11617 Weapon = PRIMARY None 11618 End 11619 ArmorSet 11620 Conditions = None 11621 Armor = HumanArmor 11622 DamageFX = InfantryDamageFX 11623 End 11624 VisionRange = 150 11625 ShroudClearingRange = 150 11626 Prerequisites 11627 Object = ChinaBarracks 11628 End 11629 BuildCost = 100 11630 BuildTime = 3.0 ;in seconds 11631 11632 ExperienceValue = 50 100 150 400 ;Experience point value at each level 11633 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 11634 IsTrainable = Yes ;Can gain experience 11635 11636 ; *** AUDIO Parameters *** 11637 VoiceSelect = RedGuardVoiceSelect 11638 VoiceMove = RedGuardVoiceMove 11639 VoiceAttack = RedGuardVoiceAttack 11640 SoundDie = RedGuardVoiceDie 11641 SoundDieFire = DieByFireChina 11642 SoundDieToxin = DieByToxinChina 11643 11644 11645 ; *** ENGINEERING Parameters *** 11646 RadarPriority = UNIT 11647 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 11648 11649 Body = ActiveBody ModuleTag_02 11650 MaxHealth = 50.0 11651 InitialHealth = 50.0 11652 End 11653 11654 Behavior = AIUpdateInterface ModuleTag_03 11655 AutoAcquireEnemiesWhenIdle = Yes 11656 End 11657 Locomotor = SET_NORMAL BasicHumanLocomotor 11658 Behavior = PhysicsBehavior ModuleTag_04 11659 Mass = 5.0 11660 End 11661 Behavior = SlowDeathBehavior ModuleTag_05 11662 SinkDelay = 3000 11663 SinkRate = 0.5 ; in Dist/Sec 11664 DestructionDelay = 8000 11665 End 11666 11667 11668 Behavior = SquishCollide ModuleTag_06 11669 ;nothing 11670 End 11671 11672 11673 Behavior = FXListDie ModuleTag_07 11674 DeathTypes = ALL -CRUSHED -SPLATTED 11675 DeathFX = FX_GIDie 11676 End 11677 Behavior = FXListDie ModuleTag_08 11678 DeathTypes = NONE +CRUSHED +SPLATTED 11679 DeathFX = FX_GIDieCrushed 11680 End 11681 11682 Behavior = PoisonedBehavior ModuleTag_09 11683 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 11684 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 11685 End 11686 11687 Geometry = CYLINDER 11688 GeometryMajorRadius = 10.0 11689 GeometryMinorRadius = 10.0 11690 GeometryHeight = 12.0 11691 GeometryIsSmall = Yes 11692 Shadow = SHADOW_DECAL 11693 ShadowSizeX = 14; 11694 ShadowSizeY = 14; 11695 ShadowTexture = ShadowI; 11696 BuildCompletion = APPEARS_AT_RALLY_POINT 11697 11698 End 11699 11700 ;------------------------------------------------------------------------------ 11701 Object GLAInfantryWorker 11702 11703 ; *** ART Parameters *** 11704 SelectPortrait = SUWorker_L 11705 ButtonImage = SUWorker 11706 11707 ;UpgradeCameo1 = NONE 11708 ;UpgradeCameo2 = NONE 11709 ;UpgradeCameo3 = NONE 11710 ;UpgradeCameo4 = NONE 11711 ;UpgradeCameo5 = NONE 11712 11713 Draw = W3DModelDraw ModuleTag_01 11714 OkToChangeModelColor = Yes 11715 11716 DefaultConditionState 11717 Model = UIWRKR_SKN 11718 IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 11719 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA 11720 AnimationMode = ONCE 11721 TransitionKey = TRANS_Stand 11722 End 11723 11724 ConditionState = MOVING 11725 Animation = UIWRKR_SKL.UIWRKR_RNA 16 11726 AnimationMode = LOOP 11727 Flags = RANDOMSTART 11728 TransitionKey = TRANS_Moving 11729 ParticleSysBone = None InfantryDustTrails 11730 End 11731 ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, 11732 ; since we flip the bit once we get pretty close to the target. but it looks 11733 ; funky to do the construction animation while moving. 11734 ; so just use the normal move animation in that case. 11735 AliasConditionState = ACTIVELY_CONSTRUCTING MOVING 11736 11737 ConditionState = ATTACKING 11738 ShowSubObject = MINED_SKIN 11739 Animation = UIWRKR_SKL.UIWRKR_MS 11740 AnimationMode = LOOP 11741 Flags = RANDOMSTART 11742 TransitionKey = TRANS_MetalDetector_Standing 11743 End 11744 11745 ConditionState = MOVING ATTACKING 11746 ShowSubObject = MINED_SKIN 11747 Animation = UIWRKR_SKL.UIWRKR_MSW 50 11748 AnimationMode = LOOP 11749 Flags = RANDOMSTART 11750 TransitionKey = TRANS_MetalDetector_Moving 11751 ParticleSysBone = None InfantryDustTrails 11752 End 11753 AliasConditionState = MOVING ATTACKING CARRYING 11754 11755 TransitionState = TRANS_Stand TRANS_MetalDetector_Standing ;STANDING -> ATTACKING 11756 ShowSubObject = MINED_SKIN 11757 Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing 11758 AnimationMode = ONCE 11759 End 11760 TransitionState = TRANS_MetalDetector_Standing TRANS_Stand ;ATTACKING -> STANDING 11761 ShowSubObject = MINED_SKIN 11762 Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing 11763 AnimationMode = ONCE 11764 End 11765 11766 TransitionState = TRANS_Carry TRANS_MetalDetector_Standing ;CARRYING -> ATTACKING 11767 ShowSubObject = MINED_SKIN 11768 Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing 11769 AnimationMode = ONCE 11770 End 11771 TransitionState = TRANS_MetalDetector_Standing TRANS_Carry ;ATTACKING -> CARRYING 11772 ShowSubObject = MINED_SKIN 11773 Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing 11774 AnimationMode = ONCE 11775 End 11776 TransitionState = TRANS_Carry TRANS_MetalDetector_Moving ;CARRYING -> MOVING ATTACKING 11777 ShowSubObject = MINED_SKIN 11778 Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] 11779 AnimationMode = ONCE 11780 AnimationSpeedFactorRange = 2.0 2.0 11781 End 11782 11783 TransitionState = TRANS_MetalDetector_Moving TRANS_Stand ;MOVING ATTACKING -> STANDING 11784 ShowSubObject = MINED_SKIN 11785 Animation = UIWRKR_SKL.UIWRKR_TRB2;put away moving 11786 AnimationMode = ONCE 11787 End 11788 TransitionState = TRANS_Stand TRANS_MetalDetector_Moving ;STANDING -> MOVING ATTACKING 11789 ShowSubObject = MINED_SKIN 11790 Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] 11791 AnimationMode = ONCE 11792 AnimationSpeedFactorRange = 2.0 2.0 11793 End 11794 11795 TransitionState = TRANS_Moving TRANS_MetalDetector_Standing ;MOVING -> ATTACKING [STANDING] 11796 ShowSubObject = MINED_SKIN 11797 Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing 11798 AnimationMode = ONCE 11799 End 11800 TransitionState = TRANS_MetalDetector_Standing TRANS_Moving ;ATTACKING [STANDING] -> MOVING 11801 ShowSubObject = MINED_SKIN 11802 Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] 11803 AnimationMode = ONCE 11804 AnimationSpeedFactorRange = 2.0 2.0 11805 End 11806 11807 TransitionState = TRANS_Moving TRANS_MetalDetector_Moving ;MOVING -> MOVING ATTACKING 11808 ShowSubObject = MINED_SKIN 11809 Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] 11810 AnimationMode = ONCE 11811 AnimationSpeedFactorRange = 2.0 2.0 11812 End 11813 TransitionState = TRANS_MetalDetector_Moving TRANS_Moving ;MOVING ATTACKING -> MOVING 11814 ShowSubObject = MINED_SKIN 11815 Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] 11816 AnimationMode = ONCE 11817 AnimationSpeedFactorRange = 2.0 2.0 11818 End 11819 11820 11821 ConditionState = MOVING CARRYING 11822 ShowSubObject = BOX 11823 Animation = UIWRKR_SKL.UIWRKR_CARY 12 11824 AnimationMode = LOOP 11825 Flags = RANDOMSTART 11826 TransitionKey = TRANS_Carry 11827 ParticleSysBone = None InfantryDustTrails 11828 End 11829 ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, 11830 ; since we flip the bit once we get pretty close to the target. but it looks 11831 ; funky to do the construction animation while moving. 11832 ; so just use the normal move animation in that case. 11833 AliasConditionState = ACTIVELY_CONSTRUCTING MOVING CARRYING 11834 11835 ConditionState = CARRYING 11836 ShowSubObject = BOX 11837 Animation = UIWRKR_SKL.UIWRKR_CARST 30 11838 AnimationMode = LOOP 11839 Flags = RANDOMSTART 11840 TransitionKey = TRANS_Carry 11841 End 11842 11843 ConditionState = DYING 11844 Animation = UIWRKR_SKL.UIWRKR_DTA 11845 AnimationMode = ONCE 11846 TransitionKey = TRANS_Dying 11847 End 11848 AliasConditionState = DYING CARRYING 11849 11850 TransitionState = TRANS_Dying TRANS_Flailing 11851 Animation = UIWRKR_SKL.UIWRKR_ADTE1 11852 AnimationMode = ONCE 11853 End 11854 11855 ConditionState = DYING EXPLODED_FLAILING 11856 Animation = UIWRKR_SKL.UIWRKR_ADTE2 11857 AnimationMode = LOOP 11858 TransitionKey = TRANS_Flailing 11859 End 11860 11861 ConditionState = DYING EXPLODED_BOUNCING 11862 Animation = UIWRKR_SKL.UIWRKR_ADTE3 11863 AnimationMode = ONCE 11864 TransitionKey = None 11865 End 11866 11867 ConditionState = SPECIAL_CHEERING 11868 Animation = UIWRKR_SKL.UIWRKR_CHA 11869 AnimationMode = ONCE 11870 End 11871 11872 ConditionState = ACTIVELY_CONSTRUCTING 11873 Animation = UIWRKR_SKL.UIWRKR_BDA 11874 AnimationMode = LOOP 11875 TransitionKey = TRANS_Constructing 11876 End 11877 AliasConditionState = ACTIVELY_CONSTRUCTING CARRYING 11878 11879 ; -------------------- 11880 11881 TransitionState = TRANS_Stand TRANS_Carry 11882 ShowSubObject = BOX 11883 Animation = UIWRKR_SKL.UIWRKR_PIK 11884 AnimationMode = ONCE 11885 End 11886 11887 TransitionState = TRANS_Carry TRANS_Stand 11888 ShowSubObject = BOX 11889 Animation = UIWRKR_SKL.UIWRKR_PIK 11890 AnimationMode = ONCE_BACKWARDS 11891 Flags = START_FRAME_LAST 11892 End 11893 11894 TransitionState = TRANS_Stand TRANS_Constructing 11895 Animation = UIWRKR_SKL.UIWRKR_TRA1 11896 AnimationMode = ONCE 11897 End 11898 11899 TransitionState = TRANS_Constructing TRANS_Stand 11900 Animation = UIWRKR_SKL.UIWRKR_TRA2 11901 AnimationMode = ONCE 11902 End 11903 End 11904 11905 ; ***DESIGN parameters *** 11906 DisplayName = OBJECT:Worker 11907 Side = GLA 11908 EditorSorting = INFANTRY 11909 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 11910 11911 11912 WeaponSet 11913 Conditions = None 11914 Weapon = PRIMARY None 11915 End 11916 WeaponSet 11917 Conditions = MINE_CLEARING_DETAIL 11918 Weapon = PRIMARY WorkerMineDisarmingWeapon 11919 End 11920 11921 11922 ArmorSet 11923 Conditions = None 11924 Armor = HumanArmor 11925 DamageFX = InfantryDamageFX 11926 End 11927 VisionRange = 100 11928 ShroudClearingRange = 200 11929 ;Prerequisites 11930 ; Object = GLABarracks GLASupplyStash ;commented out, or else you can't build from Con Yard as Dozer. 11931 ;End 11932 BuildCost = 200 11933 BuildTime = 5.0 ;in seconds 11934 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 11935 CommandSet = GLAWorkerCommandSet 11936 11937 ; *** AUDIO Parameters *** 11938 VoiceSelect = WorkerVoiceSelect 11939 VoiceMove = WorkerVoiceMove 11940 VoiceAttack = WorkerVoiceMove 11941 SoundDie = WorkerVoiceDie 11942 SoundDieFire = DieByFireGLA 11943 SoundDieToxin = DieByToxinChina 11944 VoiceGuard = WorkerVoiceMove 11945 ; surrender is cut. sorry. (srj) 11946 ; VoiceSurrender = WorkerVoiceSurrender 11947 VoiceFear = WorkerVoiceFear 11948 VoiceTaskComplete = WorkerVoiceBuildComplete 11949 UnitSpecificSounds 11950 VoiceEnter = WorkerVoiceMove 11951 VoiceEnterHostile = WorkerVoiceMove 11952 VoiceGarrison = WorkerVoiceGarrison 11953 VoiceCreate = WorkerVoiceCreate 11954 VoiceSupply = WorkerVoiceSupply 11955 VoiceNoBuild = WorkerVoiceBuildNot 11956 VoiceRepair = WorkerVoiceRepair 11957 VoiceDisarm = WorkerVoiceClearMine 11958 VoiceBuildResponse = WorkerVoiceBuild 11959 VoiceGetHealed = WorkerVoiceMove 11960 11961 End 11962 11963 ; *** ENGINEERING Parameters *** 11964 RadarPriority = UNIT 11965 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER DOZER HARVESTER SCORE 11966 11967 Body = ActiveBody ModuleTag_02 11968 MaxHealth = 140.0 11969 InitialHealth = 140.0 11970 End 11971 11972 Behavior = WorkerAIUpdate ModuleTag_03 11973 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second 11974 BoredTime = 5000 ; in milliseconds 11975 BoredRange = 150 ; when bored, we look this far away to do something 11976 MaxBoxes = 1 11977 SupplyCenterActionDelay = 150 ;400 ; ms for whole thing (one transaction) 11978 SupplyWarehouseActionDelay = 150 ;400 ;ms per box (many small transactions) 11979 SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) 11980 SuppliesDepletedVoice = WorkerVoiceSuppliesDepleted 11981 ; the only "enemies" that workers can acquire are mines, to be disarmed... 11982 AutoAcquireEnemiesWhenIdle = Yes 11983 End 11984 Locomotor = SET_NORMAL FastHumanLocomotor 11985 Behavior = PhysicsBehavior ModuleTag_04 11986 Mass = 5.0 11987 End 11988 11989 Behavior = SquishCollide ModuleTag_06 11990 ;nothing 11991 End 11992 11993 ; --- begin Death modules --- 11994 Behavior = SlowDeathBehavior ModuleTag_Death01 11995 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 11996 SinkDelay = 3000 11997 SinkRate = 0.5 ; in Dist/Sec 11998 DestructionDelay = 8000 11999 FX = INITIAL FX_GIDie 12000 End 12001 Behavior = SlowDeathBehavior ModuleTag_Death02 12002 DeathTypes = NONE +CRUSHED +SPLATTED 12003 SinkDelay = 3000 12004 SinkRate = 0.5 ; in Dist/Sec 12005 DestructionDelay = 8000 12006 FX = INITIAL FX_GIDieCrushed 12007 End 12008 Behavior = SlowDeathBehavior ModuleTag_Death03 12009 DeathTypes = NONE +EXPLODED 12010 SinkDelay = 3000 12011 SinkRate = 0.5 ; in Dist/Sec 12012 DestructionDelay = 8000 12013 FX = INITIAL FX_GIDie 12014 FlingForce = 8 12015 FlingForceVariance = 3 12016 FlingPitch = 60 12017 FlingPitchVariance = 10 12018 End 12019 Behavior = SlowDeathBehavior ModuleTag_Death04 12020 DeathTypes = NONE +BURNED 12021 DestructionDelay = 0 12022 FX = INITIAL FX_GIDie 12023 OCL = INITIAL OCL_FlamingInfantry 12024 End 12025 Behavior = SlowDeathBehavior ModuleTag_Death05 12026 DeathTypes = NONE +POISONED 12027 DestructionDelay = 0 12028 FX = INITIAL FX_GIDie 12029 OCL = INITIAL OCL_ToxicInfantry 12030 End 12031 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 12032 DeathTypes = NONE +POISONED_BETA 12033 DestructionDelay = 0 12034 FX = INITIAL FX_GIDie 12035 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 12036 End 12037 ; --- end Death modules --- 12038 12039 Behavior = StealthDetectorUpdate ModuleTag_12 12040 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 12041 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 12042 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 12043 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 12044 ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things 12045 End 12046 12047 Behavior = PoisonedBehavior ModuleTag_13 12048 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 12049 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 12050 End 12051 12052 ;----------------------- Command Set Changes ----------------------- 12053 Behavior = CommandSetUpgrade ModuleTag_commandup 12054 CommandSet = GLAWorkerCommandSetTech 12055 TriggeredBy = Upgrade_GLAWorkerUpgrade 12056 End 12057 Behavior = CommandSetUpgrade ModuleTag_commandup2 12058 CommandSet = GLAWorkerCommandSet 12059 TriggeredBy = Upgrade_GLAWorkerUpgradeDefault 12060 End 12061 ; releases the upgrade otherwise you cannot switch between them since they've already been purchased 12062 Behavior = ObjectCreationUpgrade ModuleTag_commandup3 12063 UpgradeObject = OCL_GLACommandsetupgraderelease 12064 TriggeredBy = Upgrade_GLAWorkerUpgrade Upgrade_GLAWorkerUpgradeDefault 12065 End 12066 ;------------------------------------------------------------------ 12067 12068 Behavior = ProductionUpdate ModuleTag_17 12069 ;MaxQueueEntries = 1 12070 End 12071 12072 Geometry = CYLINDER 12073 GeometryMajorRadius = 10.0 12074 GeometryMinorRadius = 10.0 12075 GeometryHeight = 12.0 12076 GeometryIsSmall = Yes 12077 Shadow = SHADOW_DECAL 12078 ShadowSizeX = 14; 12079 ShadowSizeY = 14; 12080 ShadowTexture = ShadowI; 12081 BuildCompletion = APPEARS_AT_RALLY_POINT 12082 12083 End 12084 12085 ;------------------------------------------------------------------------------ 12086 ; Also known as the Ambulance 12087 Object AmericaVehicleMedic 12088 12089 ; *** ART Parameters *** 12090 SelectPortrait = SAAmbulance_L 12091 ButtonImage = SAAmbulance 12092 12093 UpgradeCameo1 = Upgrade_AmericaBattleDrone 12094 UpgradeCameo2 = Upgrade_AmericaScoutDrone 12095 ;UpgradeCameo3 = NONE 12096 ;UpgradeCameo4 = NONE 12097 ;UpgradeCameo5 = NONE 12098 12099 Draw = W3DTruckDraw ModuleTag_01 12100 12101 ConditionState = NONE 12102 Model = AVAmbulance 12103 Turret = Turret 12104 TurretPitch = TurretEL 12105 WeaponFireFXBone = PRIMARY WeaponA 12106 WeaponLaunchBone = PRIMARY WeaponA 12107 End 12108 ConditionState = REALLYDAMAGED 12109 Model = AVAmbulance_D 12110 Turret = Turret 12111 TurretPitch = TurretEL 12112 WeaponFireFXBone = PRIMARY WeaponA 12113 WeaponLaunchBone = PRIMARY WeaponA 12114 End 12115 12116 ConditionState = RUBBLE 12117 Model = AVAmbulance_D 12118 End 12119 12120 TrackMarks = EXTireTrack.tga 12121 OkToChangeModelColor = Yes 12122 12123 Dust = RocketBuggyDust 12124 DirtSpray = RocketBuggyDirtSpray 12125 PowerslideSpray = RocketBuggyDirtPowerSlide 12126 12127 ; These parameters are only used if the model has a separate suspension, 12128 ; and the locomotor has HasSuspension = Yes. 12129 LeftFrontTireBone = Tire01 12130 RightFrontTireBone = Tire02 12131 LeftRearTireBone = Tire03 12132 RightRearTireBone = Tire04 12133 TireRotationMultiplier = 0.2 ; this * speed = rotation. 12134 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 12135 12136 12137 End 12138 12139 ; ***DESIGN parameters *** 12140 DisplayName = OBJECT:Medic 12141 Side = America 12142 EditorSorting = VEHICLE 12143 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 12144 WeaponSet 12145 ;*** Fully automated and driven by the CleanupHazardUpdate *** 12146 Conditions = None 12147 Weapon = PRIMARY AmbulanceCleanHazardWeapon 12148 AutoChooseSources = PRIMARY NONE 12149 End 12150 ArmorSet 12151 Conditions = None 12152 Armor = ToxinTruckArmor 12153 DamageFX = TruckDamageFX 12154 End 12155 BuildCost = 600 12156 BuildTime = 10.0 ;in seconds 12157 VisionRange = 100 12158 ShroudClearingRange = 400 12159 Prerequisites 12160 Object = AmericaWarFactory 12161 End 12162 ExperienceValue = 50 50 50 50 ;Experience point value at each level 12163 IsTrainable = No 12164 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 12165 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 12166 CommandSet = AmericaVehicleAmbulanceCommandSet 12167 12168 ; *** AUDIO Parameters *** 12169 VoiceSelect = AmbulanceVoiceSelect 12170 VoiceMove = AmbulanceVoiceMove 12171 VoiceGuard = AmbulanceVoiceMove 12172 VoiceAttack = AmbulanceVoiceDetox 12173 SoundMoveStart = HumveeMoveStart 12174 SoundMoveStartDamaged = HumveeMoveStart 12175 SoundEnter = HumveeEnter 12176 SoundExit = HumveeExit 12177 12178 UnitSpecificSounds 12179 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 12180 VoiceCreate = AmbulanceVoiceCreate 12181 TurretMoveStart = NoSound 12182 TurretMoveLoop = TurretMoveLoop 12183 ; Required for the W3DTruckDraw module 12184 TruckLandingSound = RocketBuggyLand 12185 TruckPowerslideSound = RocketBuggyPowerslide 12186 VoiceCrush = AmbulanceVoiceCrush 12187 VoiceEnter = AmbulanceVoiceMove 12188 End 12189 12190 12191 ; *** ENGINEERING Parameters *** 12192 RadarPriority = UNIT 12193 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT 12194 12195 Body = ActiveBody ModuleTag_02 12196 MaxHealth = 240.0 12197 InitialHealth = 240.0 12198 End 12199 12200 Behavior = CleanupHazardUpdate ModuleTag_03 12201 WeaponSlot = PRIMARY 12202 ScanRate = 1000 12203 ScanRange = 100.0 ;If this range exceeds the AmbulanceCleanHazardWeapon AttackRange, it'll move! 12204 End 12205 12206 ;Can be ordered to clean up a larger area with the ability to move around at an extended range. 12207 Behavior = CleanupAreaPower ModuleTag_04 12208 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea 12209 MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up 12210 InitiateSound = AmbulanceVoiceDetox 12211 End 12212 12213 Behavior = TransportAIUpdate ModuleTag_05 12214 AutoAcquireEnemiesWhenIdle = No ;CleanupHazardUpdate handles this... 12215 Turret 12216 TurretTurnRate = 180 12217 TurretPitchRate = 180 12218 AllowsPitch = Yes 12219 MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) 12220 TurretFireAngleSweep = PRIMARY 25 12221 ControlledWeaponSlots = PRIMARY 12222 End 12223 End 12224 Locomotor = SET_NORMAL HumveeLocomotor 12225 12226 Behavior = TransportContain ModuleTag_06 12227 Slots = 3 12228 HealthRegen%PerSec = 25 12229 DamagePercentToUnits = 10% 12230 AllowInsideKindOf = INFANTRY 12231 AllowAlliesInside = Yes 12232 AllowNeutralInside = No 12233 AllowEnemiesInside = No 12234 ExitDelay = 250 12235 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn 12236 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 12237 End 12238 12239 Behavior = PhysicsBehavior ModuleTag_07 12240 Mass = 50.0 12241 End 12242 Behavior = SlowDeathBehavior ModuleTag_08 12243 DeathTypes = ALL -CRUSHED -SPLATTED 12244 DestructionDelay = 0 12245 FX = FINAL FX_GenericTankDeathExplosion 12246 OCL = FINAL OCL_FinalAmbulanceDebris 12247 End 12248 12249 Behavior = ObjectCreationUpgrade ModuleTag_09 12250 UpgradeObject = OCL_AmericanBattleDrone 12251 TriggeredBy = Upgrade_AmericaBattleDrone 12252 ConflictsWith = Upgrade_AmericaScoutDrone 12253 End 12254 Behavior = ObjectCreationUpgrade ModuleTag_10 12255 UpgradeObject = OCL_AmericanScoutDrone 12256 TriggeredBy = Upgrade_AmericaScoutDrone 12257 ConflictsWith = Upgrade_AmericaBattleDrone 12258 End 12259 Behavior = ProductionUpdate ModuleTag_11 12260 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 12261 End 12262 12263 Behavior = DestroyDie ModuleTag_12 12264 DeathTypes = NONE +CRUSHED +SPLATTED 12265 End 12266 12267 Behavior = FXListDie ModuleTag_13 12268 DeathTypes = NONE +CRUSHED +SPLATTED 12269 DeathFX = FX_CarCrush 12270 End 12271 12272 Behavior = CreateObjectDie ModuleTag_14 12273 DeathTypes = NONE +CRUSHED +SPLATTED 12274 CreationList = OCL_CrusaderTank_CrushEffect 12275 End 12276 12277 Behavior = FXListDie ModuleTag_15 12278 DeathTypes = ALL -CRUSHED -SPLATTED 12279 DeathFX = FX_GenericTankDeathEffect 12280 End 12281 12282 Behavior = CreateCrateDie ModuleTag_16 12283 CrateData = SalvageCrateData 12284 ;CrateData = EliteTankCrateData 12285 ;CrateData = HeroicTankCrateData 12286 End 12287 12288 Behavior = ExperienceScalarUpgrade ModuleTag_17 12289 TriggeredBy = Upgrade_AmericaAdvancedTraining 12290 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 12291 End 12292 12293 Behavior = TransitionDamageFX ModuleTag_18 12294 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 12295 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 12296 End 12297 12298 Behavior = FlammableUpdate ModuleTag_21 12299 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 12300 AflameDamageAmount = 3 ; taking this much damage... 12301 AflameDamageDelay = 500 ; this often. 12302 12303 End 12304 12305 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 12306 DetectionRate = 500 12307 DetectionRange = 75 12308 CanDetectWhileGarrisoned = No 12309 CanDetectWhileContained = No 12310 ExtraRequiredKindOf = BOAT 12311 End 12312 12313 Behavior = AutoHealBehavior ModuleTag_22 12314 HealingAmount = 4 12315 HealingDelay = 1000 ; msec 12316 Radius = 100.0f 12317 StartsActive = Yes 12318 KindOf = INFANTRY 12319 End 12320 12321 Geometry = BOX 12322 GeometryMajorRadius = 14.0 12323 GeometryMinorRadius = 7.0 12324 GeometryHeight = 12.0 ; height set to allow clear clipping of projectile streams 12325 GeometryIsSmall = Yes 12326 Shadow = SHADOW_VOLUME 12327 12328 End 12329 12330 ;------------------------------------------------------------------------------ 12331 Object AmericaVehicleBattleDrone 12332 12333 ; *** ART Parameters *** 12334 SelectPortrait = SABattleDrone_L 12335 ButtonImage = SABattleDrone 12336 12337 UpgradeCameo1 = Upgrade_AmericaDroneArmor 12338 ;UpgradeCameo2 = NONE 12339 ;UpgradeCameo3 = NONE 12340 ;UpgradeCameo4 = NONE 12341 ;UpgradeCameo5 = NONE 12342 12343 ;MAIN CHASSIS 12344 Draw = W3DModelDraw ModuleTag_01 12345 OkToChangeModelColor = Yes 12346 12347 DefaultConditionState 12348 Model = AVBATTLEDR 12349 Animation = AVBATTLEDR.AVBATTLEDR 12350 AnimationMode = LOOP 12351 Turret = Turret01 12352 TurretPitch = TurretEL01 12353 WeaponMuzzleFlash = PRIMARY TurretFX01 12354 WeaponFireFXBone = PRIMARY Muzzle01 12355 End 12356 12357 ConditionState = REALLYDAMAGED 12358 Model = AVBATTLEDR_D 12359 Animation = AVBATTLEDR_D.AVBATTLEDR_D 12360 AnimationMode = LOOP 12361 End 12362 End 12363 12364 ;EXTENDING ARM (FOR REPAIRING) 12365 Draw = W3DModelDraw ModuleTag_02 12366 OkToChangeModelColor = Yes 12367 12368 DefaultConditionState 12369 Model = AVBATTLEDR_A 12370 End 12371 12372 ;Unloading the arm (before starting to repair) 12373 ConditionState = UNPACKING 12374 Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 12375 AnimationMode = ONCE 12376 End 12377 12378 ;Loading the arm (after reparing complete) 12379 ConditionState = PACKING 12380 Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 12381 AnimationMode = ONCE_BACKWARDS 12382 Flags = START_FRAME_LAST 12383 End 12384 12385 ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set) 12386 ConditionState = FIRING_B 12387 Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 12388 AnimationMode = ONCE 12389 End 12390 12391 12392 ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set) 12393 ConditionState = FIRING_C 12394 Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 12395 AnimationMode = ONCE_BACKWARDS 12396 Flags = START_FRAME_LAST 12397 End 12398 12399 End 12400 12401 12402 ; ***DESIGN parameters *** 12403 DisplayName = OBJECT:BattleDrone 12404 Side = America 12405 EditorSorting = VEHICLE 12406 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 12407 WeaponSet 12408 Conditions = None 12409 Weapon = PRIMARY BattleDroneMachineGun 12410 End 12411 ArmorSet 12412 Conditions = None 12413 Armor = TankArmor 12414 DamageFX = SmallTankDamageFX 12415 End 12416 12417 BuildCost = 200 12418 BuildTime = 5.0 ;in seconds 12419 VisionRange = 150 12420 ShroudClearingRange = 150 12421 Prerequisites 12422 Object = AmericaWarFactory 12423 End 12424 ExperienceValue = 10 10 10 10 ;Experience point value at each level 12425 IsTrainable = No 12426 12427 ; *** AUDIO Parameters *** 12428 VoiceSelect = NoSound 12429 VoiceMove = NoSound 12430 VoiceAttack = NoSound 12431 SoundMoveStart = NoSound 12432 UnitSpecificSounds 12433 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 12434 TurretMoveStart = NoSound 12435 TurretMoveLoop = TurretMoveLoop 12436 End 12437 12438 ; *** ENGINEERING Parameters *** 12439 RadarPriority = UNIT 12440 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE 12441 Body = ActiveBody ModuleTag_03 12442 MaxHealth = 100.0 12443 InitialHealth = 100.0 12444 End 12445 12446 Behavior = AIUpdateInterface ModuleTag_04 12447 Turret 12448 TurretTurnRate = 360 // turn rate, in degrees per sec 12449 TurretPitchRate = 360 12450 MinPhysicalPitch = -75 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) 12451 AllowsPitch = Yes 12452 ControlledWeaponSlots = PRIMARY 12453 End 12454 AutoAcquireEnemiesWhenIdle = Yes 12455 End 12456 Locomotor = SET_NORMAL BattleDroneLocomotor 12457 Locomotor = SET_PANIC BattleDronePanicLocomotor ;used for repairing master (zippy) 12458 Behavior = PhysicsBehavior ModuleTag_05 12459 Mass = 50.0 12460 KillWhenRestingOnGround = Yes 12461 AllowBouncing = No 12462 End 12463 12464 Behavior = MaxHealthUpgrade ModuleTag_06 12465 TriggeredBy = Upgrade_AmericaDroneArmor 12466 AddMaxHealth = 50.0 12467 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 12468 End 12469 12470 Behavior = SlavedUpdate ModuleTag_07 12471 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) 12472 GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. 12473 AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. 12474 AttackWanderRange = 10 ;How far I'm allowed to wander from target. 12475 ScoutRange = 75 ;How far away from master I'm allowed when master is moving. 12476 ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. 12477 RepairRange = 8 ;How far I can zip around while repair (only moves when he stops welding) 12478 RepairMinAltitude = 18.0 ;My minimum repair hover altitude. 12479 RepairMaxAltitude = 24.0 ;My maximum repair hover altitude. 12480 RepairRatePerSecond = 5.0 ;How many health points can I repair per second. 12481 RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing. 12482 RepairMinReadyTime = 300 12483 RepairMaxReadyTime = 750 12484 RepairMinWeldTime = 250 12485 RepairMaxWeldTime = 500 12486 RepairWeldingSys = BlueSparks 12487 RepairWeldingFXBone = Muzzle02 12488 StayOnSameLayerAsMaster = Yes 12489 End 12490 12491 Behavior = DestroyDie ModuleTag_08 12492 DeathTypes = ALL 12493 End 12494 Behavior = CreateObjectDie ModuleTag_09 12495 DeathTypes = ALL 12496 CreationList = OCL_AmericaBattleDroneExplode 12497 End 12498 12499 Behavior = TransitionDamageFX ModuleTag_10 12500 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 12501 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall 12502 End 12503 12504 Behavior = FXListDie ModuleTag_11 12505 DeathTypes = ALL 12506 DeathFX = FX_AmericaBattleDroneExplode 12507 End 12508 12509 Behavior = UpgradeDie ModuleTag_12 12510 ;This frees the object based upgrade for the producer object. 12511 DeathTypes = ALL 12512 UpgradeToRemove = Upgrade_AmericaBattleDrone ModuleTag_13 12513 End 12514 12515 Behavior = FlammableUpdate ModuleTag_21 12516 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 12517 AflameDamageAmount = 3 ; taking this much damage... 12518 AflameDamageDelay = 500 ; this often. 12519 End 12520 12521 Geometry = CYLINDER 12522 GeometryMajorRadius = 5 12523 GeometryMinorRadius = 5 12524 GeometryHeight = 10.0 12525 GeometryIsSmall = Yes 12526 Shadow = SHADOW_VOLUME 12527 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 12528 12529 End 12530 12531 ;------------------------------------------------------------------------------ 12532 ; **data here is a copy and paste of AmericaVehicleMedic** 12533 Object AmericaVehicleGuardianDrone 12534 12535 ; *** ART Parameters *** 12536 Draw = W3DTankDraw ModuleTag_01 12537 DefaultConditionState 12538 Model = AVGuardDr 12539 Turret = Turret 12540 WeaponFireFXBone = PRIMARY TurretMS 12541 WeaponMuzzleFlash = PRIMARY TurretFX 12542 End 12543 TrackMarks = EXTnkTrack.tga 12544 OkToChangeModelColor = Yes 12545 End 12546 12547 ; ***DESIGN parameters *** 12548 DisplayName = OBJECT:GuardianDrone 12549 Side = America 12550 EditorSorting = VEHICLE 12551 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 12552 WeaponSet 12553 Conditions = None 12554 Weapon = PRIMARY CrusaderTankGun 12555 End 12556 ArmorSet 12557 Conditions = None 12558 Armor = TankArmor 12559 DamageFX = TankDamageFX 12560 End 12561 BuildCost = 700 12562 BuildTime = 8.0 ;in seconds 12563 VisionRange = 150 12564 ShroudClearingRange = 150 12565 Prerequisites 12566 Object = AmericaWarFactory 12567 End 12568 ExperienceValue = 50 100 150 400 ;Experience point value at each level 12569 IsTrainable = No 12570 12571 ; *** AUDIO Parameters *** 12572 VoiceSelect = NoSound 12573 VoiceMove = NoSound 12574 VoiceAttack = NoSound 12575 SoundMoveStart = NoSound 12576 12577 UnitSpecificSounds 12578 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 12579 TurretMoveStart = NoSound 12580 TurretMoveLoop = TurretMoveLoop 12581 End 12582 12583 12584 ; *** ENGINEERING Parameters *** 12585 RadarPriority = UNIT 12586 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 12587 12588 Body = ActiveBody ModuleTag_02 12589 MaxHealth = 300.0 12590 InitialHealth = 300.0 12591 End 12592 12593 12594 Behavior = AIUpdateInterface ModuleTag_03 12595 Turret 12596 TurretTurnRate = 60 // turn rate, in degrees per sec 12597 ControlledWeaponSlots = PRIMARY 12598 End 12599 AutoAcquireEnemiesWhenIdle = Yes 12600 End 12601 Locomotor = SET_NORMAL BasicTankLocomotor 12602 Behavior = PhysicsBehavior ModuleTag_04 12603 Mass = 50.0 12604 End 12605 Behavior = SlowDeathBehavior ModuleTag_05 12606 DestructionDelay = 500 12607 FX = FINAL FX_GenericTankDeathExplosion 12608 End 12609 12610 Behavior = MaxHealthUpgrade ModuleTag_06 12611 TriggeredBy = Upgrade_AmericaDroneArmor 12612 AddMaxHealth = 50.0 12613 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 12614 End 12615 12616 Behavior = FXListDie ModuleTag_07 12617 DeathFX = FX_GenericTankDeathEffect 12618 End 12619 Behavior = CreateObjectDie ModuleTag_08 12620 CreationList = OCL_GenericTankDeathEffect 12621 End 12622 Behavior = CreateCrateDie ModuleTag_09 12623 CrateData = SalvageCrateData 12624 ;CrateData = EliteTankCrateData 12625 ;CrateData = HeroicTankCrateData 12626 End 12627 12628 Behavior = TransitionDamageFX ModuleTag_10 12629 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 12630 End 12631 12632 Behavior = FlammableUpdate ModuleTag_21 12633 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 12634 AflameDamageAmount = 3 ; taking this much damage... 12635 AflameDamageDelay = 500 ; this often. 12636 End 12637 12638 Geometry = BOX 12639 GeometryMajorRadius = 15.0 12640 GeometryMinorRadius = 10.0 12641 GeometryHeight = 10.0 12642 GeometryIsSmall = Yes 12643 Shadow = SHADOW_VOLUME 12644 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 12645 12646 End 12647 12648 12649 ;------------------------------------------------------------------------------ 12650 Object AmericaVehicleScoutDrone 12651 12652 ; *** ART Parameters *** 12653 SelectPortrait = SAScout_L 12654 ButtonImage = SAScout 12655 12656 UpgradeCameo1 = Upgrade_AmericaDroneArmor 12657 ;UpgradeCameo2 = NONE 12658 ;UpgradeCameo3 = NONE 12659 ;UpgradeCameo4 = NONE 12660 ;UpgradeCameo5 = NONE 12661 12662 Draw = W3DModelDraw ModuleTag_01 12663 OkToChangeModelColor = Yes 12664 12665 ConditionState = NONE 12666 Model = AVScoutDr 12667 Animation = AVScoutDr.AVScoutDr 12668 AnimationMode = LOOP 12669 End 12670 12671 ConditionState = REALLYDAMAGED 12672 Model = AVScoutDr_d 12673 Animation = AVScoutDr_d.AVScoutDr_d 12674 AnimationMode = LOOP 12675 End 12676 End 12677 12678 ; ***DESIGN parameters *** 12679 DisplayName = OBJECT:ScoutDrone 12680 Side = America 12681 EditorSorting = VEHICLE 12682 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 12683 ArmorSet 12684 Conditions = None 12685 Armor = TankArmor 12686 DamageFX = SmallTankDamageFX 12687 End 12688 BuildCost = 100 12689 BuildTime = 5.0 ;in seconds 12690 VisionRange = 150 12691 ShroudClearingRange = 500 12692 IsTrainable = No ;Can gain experience 12693 12694 ; *** AUDIO Parameters *** 12695 VoiceSelect = NoSound 12696 VoiceMove = NoSound 12697 VoiceAttack = NoSound 12698 SoundMoveStart = NoSound 12699 12700 UnitSpecificSounds 12701 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 12702 TurretMoveStart = NoSound 12703 TurretMoveLoop = TurretMoveLoop 12704 End 12705 12706 12707 ; *** ENGINEERING Parameters *** 12708 RadarPriority = UNIT 12709 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE DRONE 12710 12711 Body = ActiveBody ModuleTag_02 12712 MaxHealth = 20.0 12713 InitialHealth = 20.0 12714 End 12715 12716 Behavior = AIUpdateInterface ModuleTag_03 12717 Turret 12718 TurretTurnRate = 60 // turn rate, in degrees per sec 12719 ControlledWeaponSlots = PRIMARY 12720 End 12721 AutoAcquireEnemiesWhenIdle = Yes 12722 End 12723 Locomotor = SET_NORMAL DroneLocomotor 12724 Behavior = StealthDetectorUpdate ModuleTag_04 12725 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 12726 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 12727 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 12728 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 12729 End 12730 Behavior = PhysicsBehavior ModuleTag_05 12731 Mass = 50.0 12732 KillWhenRestingOnGround = Yes 12733 AllowBouncing = No 12734 End 12735 12736 Behavior = SlavedUpdate ModuleTag_06 12737 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) 12738 GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. 12739 AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. 12740 AttackWanderRange = 10 ;How far I'm allowed to wander from target. 12741 ScoutRange = 75 ;How far away from master I'm allowed when master is moving. 12742 ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. 12743 DistToTargetToGrantRangeBonus = 20 ;How close I have to be to the master's target in order to grant master a range bonus. 12744 StayOnSameLayerAsMaster = Yes 12745 End 12746 12747 Behavior = MaxHealthUpgrade ModuleTag_07 12748 TriggeredBy = Upgrade_AmericaDroneArmor 12749 AddMaxHealth = 50.0 12750 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 12751 End 12752 12753 Behavior = DestroyDie ModuleTag_08 12754 DeathTypes = ALL 12755 End 12756 Behavior = CreateObjectDie ModuleTag_09 12757 DeathTypes = ALL 12758 CreationList = OCL_AmericaScoutDroneExplode 12759 End 12760 Behavior = FXListDie ModuleTag_10 12761 DeathTypes = ALL 12762 DeathFX = FX_AmericaScoutDroneExplode 12763 End 12764 12765 Behavior = TransitionDamageFX ModuleTag_11 12766 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 12767 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall 12768 End 12769 12770 Behavior = UpgradeDie ModuleTag_12 12771 ;This frees the object based upgrade for the producer object. 12772 DeathTypes = ALL 12773 UpgradeToRemove = Upgrade_AmericaScoutDrone ModuleTag_13 12774 End 12775 12776 12777 Behavior = FlammableUpdate ModuleTag_21 12778 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 12779 AflameDamageAmount = 3 ; taking this much damage... 12780 AflameDamageDelay = 500 ; this often. 12781 End 12782 12783 Geometry = CYLINDER 12784 GeometryMajorRadius = 5.0 12785 GeometryMinorRadius = 6.0 12786 GeometryHeight = 3.0 12787 GeometryIsSmall = Yes 12788 Shadow = SHADOW_VOLUME 12789 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 12790 12791 End 12792 12793 ;------------------------------------------------------------------------------ 12794 Object AmericaVehicleSpyDrone 12795 12796 ; *** ART Parameters *** 12797 SelectPortrait = SAScout_L 12798 ButtonImage = SAScout 12799 Draw = W3DModelDraw ModuleTag_01 12800 OkToChangeModelColor = Yes 12801 12802 ConditionState = NONE 12803 Model = AVSpyDrone 12804 Animation = AVSpyDrone.AVSpyDrone 12805 AnimationMode = LOOP 12806 End 12807 12808 ; Damage state waiting for pristine's approval (or may just not need one) 12809 ; ConditionState = REALLYDAMAGED 12810 ; Model = AVSpyDrone_d 12811 ; Animation = AVSpyDrone_d.AVSpyDrone_d 12812 ; AnimationMode = LOOP 12813 ; End 12814 End 12815 12816 ; ***DESIGN parameters *** 12817 DisplayName = OBJECT:SpyDrone 12818 Side = America 12819 EditorSorting = VEHICLE 12820 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 12821 ArmorSet 12822 Conditions = None 12823 Armor = AirplaneArmor 12824 DamageFX = SmallTankDamageFX 12825 End 12826 VisionRange = 250 12827 ShroudClearingRange = 0; Dynamic range below 12828 IsTrainable = No 12829 12830 ; *** AUDIO Parameters *** 12831 VoiceSelect = NoSound 12832 VoiceMove = NoSound 12833 VoiceAttack = NoSound 12834 SoundMoveStart = SpyDroneSnapshot 12835 12836 UnitSpecificSounds 12837 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 12838 TurretMoveStart = NoSound 12839 TurretMoveLoop = TurretMoveLoop 12840 End 12841 12842 12843 ; *** ENGINEERING Parameters *** 12844 RadarPriority = UNIT 12845 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE SELECTABLE INERT 12846 12847 Body = ActiveBody ModuleTag_02 12848 MaxHealth = 200.0 12849 InitialHealth = 200.0 12850 End 12851 12852 Behavior = AIUpdateInterface ModuleTag_03 12853 AutoAcquireEnemiesWhenIdle = No 12854 End 12855 12856 Locomotor = SET_NORMAL SpyDroneLocomtor 12857 12858 Behavior = DynamicShroudClearingRangeUpdate ModuleTag_04 12859 FinalVision = 250.0 12860 ChangeInterval = 50 12861 ShrinkDelay = 2000 12862 ShrinkTime = 1000 12863 GrowDelay = 0 12864 GrowTime = 1000 12865 GrowInterval = 10 ; Faster than most 12866 12867 GridDecalTemplate 12868 Texture = EXGrid 12869 Style = SHADOW_ADDITIVE_DECAL 12870 OpacityMin = 50% 12871 OpacityMax = 100% 12872 OpacityThrobTime = 500 12873 Color = R:32 G:64 B:128 A:0 //dim blue, additive 12874 End 12875 12876 End 12877 12878 Behavior = StealthDetectorUpdate ModuleTag_05 12879 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 12880 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 12881 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 12882 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 12883 End 12884 Behavior = PhysicsBehavior ModuleTag_06 12885 Mass = 50.0 12886 End 12887 12888 Behavior = DestroyDie ModuleTag_07 12889 DeathTypes = ALL 12890 End 12891 Behavior = CreateObjectDie ModuleTag_08 12892 DeathTypes = ALL 12893 CreationList = OCL_AmericaScoutDroneExplode 12894 End 12895 Behavior = StealthUpdate ModuleTag_09 12896 StealthDelay = 0 ; msec 12897 StealthForbiddenConditions = NONE 12898 InnateStealth = Yes 12899 OrderIdleEnemiesToAttackMeUponReveal = Yes 12900 End 12901 Behavior = MaxHealthUpgrade ModuleTag_10 12902 TriggeredBy = Upgrade_AmericaDroneArmor 12903 AddMaxHealth = 50.0 12904 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 12905 End 12906 12907 Behavior = FlammableUpdate ModuleTag_21 12908 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 12909 AflameDamageAmount = 3 ; taking this much damage... 12910 AflameDamageDelay = 500 ; this often. 12911 End 12912 12913 Geometry = CYLINDER 12914 GeometryMajorRadius = 5.0 12915 GeometryMinorRadius = 6.0 12916 GeometryHeight = 3.0 12917 GeometryIsSmall = Yes 12918 Shadow = SHADOW_VOLUME 12919 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 12920 12921 End 12922 12923 ;------------------------------------------------------------------------------ 12924 Object AmericaTankCrusader 12925 12926 ; *** ART Parameters *** 12927 SelectPortrait = SACLeopard_L 12928 ButtonImage = SACLeopard 12929 12930 UpgradeCameo1 = Upgrade_AmericaBattleDrone 12931 UpgradeCameo2 = Upgrade_AmericaScoutDrone 12932 UpgradeCameo3 = Upgrade_AmericaAdvancedTraining 12933 UpgradeCameo4 = Upgrade_AmericaCompositeArmor 12934 ;UpgradeCameo5 = NONE 12935 12936 Draw = W3DTankDraw ModuleTag_01 12937 DefaultConditionState 12938 Model = AVLeopard 12939 Turret = Turret 12940 WeaponFireFXBone = PRIMARY TurretMS 12941 WeaponRecoilBone = PRIMARY Barrel 12942 WeaponMuzzleFlash = PRIMARY TurretFX 12943 WeaponLaunchBone = PRIMARY TurretMS 12944 End 12945 ConditionState = REALLYDAMAGED 12946 Model = AVLeopard_D 12947 End 12948 ConditionState = RUBBLE 12949 Model = AVLeopard_D 12950 End 12951 12952 TrackMarks = EXTnkTrack.tga 12953 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 12954 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 12955 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 12956 OkToChangeModelColor = Yes 12957 End 12958 12959 ; ***DESIGN parameters *** 12960 DisplayName = OBJECT:Crusader 12961 Side = America 12962 EditorSorting = VEHICLE 12963 TransportSlotCount = 3 12964 WeaponSet 12965 Conditions = None 12966 Weapon = PRIMARY CrusaderTankGun 12967 ; Uncomment this when we want the crusader to have a machine too again 12968 ;Weapon = SECONDARY CrusaderMachineGun 12969 End 12970 ArmorSet 12971 Conditions = None 12972 Armor = TankArmor 12973 DamageFX = TankDamageFX 12974 End 12975 ;ArmorSet 12976 ; Conditions = PLAYER_UPGRADE 12977 ; Armor = UpgradedTankArmor 12978 ; DamageFX = TankDamageFX 12979 ;End 12980 BuildCost = 900 12981 BuildTime = 10.0 ;in seconds 12982 VisionRange = 150 12983 ShroudClearingRange = 300 12984 Prerequisites 12985 Object = AmericaWarFactory 12986 End 12987 ExperienceValue = 100 100 200 400 ;Experience point value at each level 12988 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 12989 IsTrainable = Yes ;Can gain experience 12990 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 12991 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 12992 CommandSet = AmericaTankCrusaderCommandSet 12993 12994 ; *** AUDIO Parameters *** 12995 VoiceSelect = CrusaderTankVoiceSelect 12996 VoiceMove = CrusaderTankVoiceMove 12997 VoiceGuard = CrusaderTankVoiceMove 12998 VoiceAttack = CrusaderTankVoiceAttack 12999 SoundMoveStart = CrusaderTankMoveStart 13000 SoundMoveStartDamaged = CrusaderTankMoveStart 13001 UnitSpecificSounds 13002 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 13003 VoiceCreate = CrusaderTankVoiceCreate 13004 VoiceEnter = CrusaderTankVoiceMove 13005 TurretMoveStart = NoSound 13006 TurretMoveLoop = TurretMoveLoop 13007 SoundEject = PilotSoundEject 13008 VoiceEject = PilotVoiceEject 13009 VoiceCrush = CrusaderTankVoiceCrush 13010 End 13011 13012 ; *** ENGINEERING Parameters *** 13013 RadarPriority = UNIT 13014 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 13015 13016 Body = ActiveBody ModuleTag_02 13017 MaxHealth = 480 13018 InitialHealth = 480 13019 End 13020 13021 Behavior = AIUpdateInterface ModuleTag_03 13022 Turret 13023 TurretTurnRate = 180 ;60 // turn rate, in degrees per sec 13024 ControlledWeaponSlots= PRIMARY 13025 End 13026 AutoAcquireEnemiesWhenIdle = Yes 13027 End 13028 Locomotor = SET_NORMAL CrusaderLocomotor 13029 Behavior = PhysicsBehavior ModuleTag_04 13030 Mass = 50.0 13031 End 13032 13033 Behavior = ObjectCreationUpgrade ModuleTag_05 13034 UpgradeObject = OCL_AmericanBattleDrone 13035 TriggeredBy = Upgrade_AmericaBattleDrone 13036 ConflictsWith = Upgrade_AmericaScoutDrone 13037 End 13038 Behavior = ObjectCreationUpgrade ModuleTag_06 13039 UpgradeObject = OCL_AmericanScoutDrone 13040 TriggeredBy = Upgrade_AmericaScoutDrone 13041 ConflictsWith = Upgrade_AmericaBattleDrone 13042 End 13043 Behavior = ProductionUpdate ModuleTag_07 13044 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 13045 End 13046 13047 Behavior = ExperienceScalarUpgrade ModuleTag_08 13048 TriggeredBy = Upgrade_AmericaAdvancedTraining 13049 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 13050 End 13051 Behavior = MaxHealthUpgrade ModuleTag_09 13052 TriggeredBy = Upgrade_AmericaCompositeArmor 13053 AddMaxHealth = 100.0 13054 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 13055 End 13056 13057 ; Turret fly off death 13058 Behavior = SlowDeathBehavior ModuleTag_10 13059 DeathTypes = ALL -CRUSHED -SPLATTED 13060 ProbabilityModifier = 50 13061 DestructionDelay = 500 13062 DestructionDelayVariance = 100 13063 FX = INITIAL FX_GenericTankDeathEffect 13064 OCL = MIDPOINT OCL_GenericTankDeathEffect 13065 FX = FINAL FX_GenericTankDeathExplosion 13066 OCL = FINAL OCL_CrusaderTurret 13067 End 13068 13069 ; Catch fire, and explode death 13070 Behavior = SlowDeathBehavior ModuleTag_11 13071 DeathTypes = ALL -CRUSHED -SPLATTED 13072 ProbabilityModifier = 50 13073 DestructionDelay = 2000 13074 DestructionDelayVariance = 300 13075 FX = INITIAL FX_CrusaderCatchFire 13076 OCL = FINAL OCL_GenericTankDeathEffect 13077 FX = FINAL FX_GenericTankDeathExplosion 13078 End 13079 13080 Behavior = TransitionDamageFX ModuleTag_12 13081 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 13082 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 13083 End 13084 13085 Behavior = DestroyDie ModuleTag_13 13086 DeathTypes = NONE +CRUSHED +SPLATTED 13087 End 13088 13089 ; A crushing defeat 13090 Behavior = FXListDie ModuleTag_14 13091 DeathTypes = NONE +CRUSHED +SPLATTED 13092 DeathFX = FX_CarCrush 13093 End 13094 13095 Behavior = CreateObjectDie ModuleTag_15 13096 DeathTypes = NONE +CRUSHED +SPLATTED 13097 CreationList = OCL_CrusaderTank_CrushEffect 13098 End 13099 13100 Behavior = CreateCrateDie ModuleTag_CratesChange 13101 CrateData = SalvageCrateData 13102 ;CrateData = EliteTankCrateData 13103 ;CrateData = HeroicTankCrateData 13104 End 13105 13106 Behavior = EjectPilotDie ModuleTag_17 13107 GroundCreationList = OCL_EjectPilotOnGround 13108 AirCreationList = OCL_EjectPilotViaParachute 13109 ExemptStatus = HIJACKED 13110 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 13111 End 13112 13113 Behavior = MaxHealthUpgrade ModuleTag_18 13114 TriggeredBy = Upgrade_AmericaCompositeArmor 13115 AddMaxHealth = 100.0 13116 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 13117 End 13118 13119 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 13120 DetectionRate = 500 13121 DetectionRange = 75 13122 CanDetectWhileGarrisoned = No 13123 CanDetectWhileContained = No 13124 ExtraRequiredKindOf = BOAT 13125 End 13126 13127 Behavior = FlammableUpdate ModuleTag_21 13128 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 13129 AflameDamageAmount = 3 ; taking this much damage... 13130 AflameDamageDelay = 500 ; this often. 13131 End 13132 13133 Geometry = BOX 13134 GeometryMajorRadius = 15.0 13135 GeometryMinorRadius = 10.0 13136 GeometryHeight = 10.0 13137 GeometryIsSmall = Yes 13138 Shadow = SHADOW_VOLUME 13139 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 13140 13141 End 13142 13143 ;------------------------------------------------------------------------------ 13144 Object AmericaTankCrusaderMK2 13145 13146 ; *** ART Parameters *** 13147 SelectPortrait = SALeopard_L 13148 ButtonImage = SACCrusader ;SALeopard 13149 13150 UpgradeCameo1 = Upgrade_AmericaBattleDrone 13151 UpgradeCameo2 = Upgrade_AmericaScoutDrone 13152 UpgradeCameo3 = Upgrade_AmericaAdvancedTraining 13153 UpgradeCameo4 = Upgrade_AmericaCompositeArmor 13154 13155 Draw = W3DModelDraw ModuleTag_01 13156 ConditionState = none 13157 Model = AVCrusader 13158 Turret = Turret 13159 WeaponFireFXBone = PRIMARY TurretMS 13160 WeaponRecoilBone = PRIMARY Barrel 13161 WeaponMuzzleFlash = PRIMARY TurretFX 13162 WeaponLaunchBone = PRIMARY TurretMS 13163 TransitionKey = TRANS_Drive 13164 End 13165 ConditionState = REALLYDAMAGED 13166 Model = AVCrusader_D 13167 Turret = Turret 13168 WeaponFireFXBone = PRIMARY TurretMS 13169 WeaponRecoilBone = PRIMARY Barrel 13170 WeaponMuzzleFlash = PRIMARY TurretFX 13171 WeaponLaunchBone = PRIMARY TurretMS 13172 TransitionKey = TRANS_DriveDamaged 13173 End 13174 ConditionState = RUBBLE 13175 Model = AVCrusader_D 13176 Turret = Turret 13177 WeaponFireFXBone = PRIMARY TurretMS 13178 WeaponRecoilBone = PRIMARY Barrel 13179 WeaponMuzzleFlash = PRIMARY TurretFX 13180 WeaponLaunchBone = PRIMARY TurretMS 13181 End 13182 13183 ConditionState = MOVING 13184 Model = AVCrusader 13185 Turret = Turret 13186 WeaponFireFXBone = PRIMARY TurretMS 13187 WeaponRecoilBone = PRIMARY Barrel 13188 WeaponMuzzleFlash = PRIMARY TurretFX 13189 WeaponLaunchBone = PRIMARY TurretMS 13190 TransitionKey = TRANS_Drive 13191 ParticleSysBone = TreadFX01 QuadCannonDust 13192 ParticleSysBone = TreadFX02 QuadCannonDust 13193 End 13194 13195 AliasConditionState = DAMAGED 13196 AliasConditionState = MOVING DAMAGED 13197 AliasConditionState = MOVING REALLYDAMAGED 13198 13199 ConditionState = WEAPONSET_PLAYER_UPGRADE 13200 Model = AVCrusader_H 13201 Turret = Turret 13202 WeaponFireFXBone = PRIMARY TurretMS 13203 WeaponRecoilBone = PRIMARY Barrel 13204 WeaponMuzzleFlash = PRIMARY TurretFX 13205 WeaponLaunchBone = PRIMARY TurretMS 13206 TransitionKey = TRANS_Hover 13207 End 13208 13209 ConditionState = WEAPONSET_PLAYER_UPGRADE MOVING 13210 Model = AVCrusader_H 13211 Turret = Turret 13212 WeaponFireFXBone = PRIMARY TurretMS 13213 WeaponRecoilBone = PRIMARY Barrel 13214 WeaponMuzzleFlash = PRIMARY TurretFX 13215 WeaponLaunchBone = PRIMARY TurretMS 13216 TransitionKey = TRANS_Hover 13217 ParticleSysBone = TreadFX01 QuadCannonDust 13218 ParticleSysBone = TreadFX02 QuadCannonDust 13219 End 13220 13221 TransitionState = TRANS_Drive TRANS_Hover 13222 Model = AVCrusader_A 13223 HideSubObject = TurretFX01 13224 Animation = AVCrusader_A.AVCrusader_A 13225 AnimationMode = ONCE 13226 End 13227 13228 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 13229 Model = AVCrusader_H 13230 Turret = Turret 13231 WeaponFireFXBone = PRIMARY TurretMS 13232 WeaponRecoilBone = PRIMARY Barrel 13233 WeaponMuzzleFlash = PRIMARY TurretFX 13234 WeaponLaunchBone = PRIMARY TurretMS 13235 TransitionKey = TRANS_HoverDamaged 13236 End 13237 13238 ConditionState = WEAPONSET_PLAYER_UPGRADE RUBBLE 13239 Model = AVCrusader_H 13240 Turret = Turret 13241 WeaponFireFXBone = PRIMARY TurretMS 13242 WeaponRecoilBone = PRIMARY Barrel 13243 WeaponMuzzleFlash = PRIMARY TurretFX 13244 WeaponLaunchBone = PRIMARY TurretMS 13245 End 13246 13247 AliasConditionState = WEAPONSET_PLAYER_UPGRADE DAMAGED 13248 AliasConditionState = WEAPONSET_PLAYER_UPGRADE MOVING DAMAGED 13249 AliasConditionState = WEAPONSET_PLAYER_UPGRADE MOVING REALLYDAMAGED 13250 13251 TransitionState = TRANS_DriveDamaged TRANS_HoverDamaged 13252 Model = AVCrusader_A 13253 HideSubObject = TurretFX01 13254 Animation = AVCrusader_A.AVCrusader_A 13255 AnimationMode = ONCE 13256 End 13257 13258 ConditionState = WEAPONSET_PLAYER_UPGRADE OVER_WATER 13259 Model = AVCrusader_H 13260 Turret = Turret 13261 WeaponFireFXBone = PRIMARY TurretMS 13262 WeaponRecoilBone = PRIMARY Barrel 13263 WeaponMuzzleFlash = PRIMARY TurretFX 13264 WeaponLaunchBone = PRIMARY TurretMS 13265 End 13266 13267 ConditionState = WEAPONSET_PLAYER_UPGRADE MOVING OVER_WATER 13268 Model = AVCrusader_H 13269 Turret = Turret 13270 WeaponFireFXBone = PRIMARY TurretMS 13271 WeaponRecoilBone = PRIMARY Barrel 13272 WeaponMuzzleFlash = PRIMARY TurretFX 13273 WeaponLaunchBone = PRIMARY TurretMS 13274 ParticleSysBone = TreadFX01 AmphibWave 13275 End 13276 13277 AliasConditionState = WEAPONSET_PLAYER_UPGRADE MOVING OVER_WATER REALLYDAMAGED 13278 TrackMarks = EXTnkTrack.tga 13279 OkToChangeModelColor = Yes 13280 End 13281 13282 ; ***DESIGN parameters *** 13283 DisplayName = OBJECT:CrusaderMK2 13284 Side = America 13285 EditorSorting = VEHICLE 13286 TransportSlotCount = 3 13287 WeaponSet 13288 Conditions = None 13289 Weapon = PRIMARY CrusaderTankGun 13290 End 13291 WeaponSet 13292 Conditions = PLAYER_UPGRADE 13293 Weapon = PRIMARY CrusaderTankGun 13294 End 13295 ArmorSet 13296 Conditions = None 13297 Armor = TankArmor 13298 DamageFX = TankDamageFX 13299 End 13300 13301 BuildCost = 850 13302 BuildTime = 10.0 ;in seconds 13303 VisionRange = 150 13304 ShroudClearingRange = 300 13305 Prerequisites 13306 Object = AmericaWarFactory 13307 Object = AmericaStrategyCenter 13308 End 13309 ExperienceValue = 100 100 200 400 ;Experience point value at each level 13310 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 13311 IsTrainable = Yes ;Can gain experience 13312 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 13313 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 13314 CommandSet = AmericaTankCrusaderMK2CommandSet 13315 13316 ; *** AUDIO Parameters *** 13317 VoiceSelect = CrusaderTankVoiceSelect 13318 VoiceMove = CrusaderTankVoiceMove 13319 VoiceGuard = CrusaderTankVoiceMove 13320 VoiceAttack = CrusaderTankVoiceAttack 13321 SoundMoveStart = CrusaderTankMoveStart 13322 SoundMoveStartDamaged = CrusaderTankMoveStart 13323 UnitSpecificSounds 13324 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 13325 VoiceCreate = CrusaderTankVoiceCreate 13326 VoiceEnter = CrusaderTankVoiceMove 13327 TurretMoveStart = NoSound 13328 TurretMoveLoop = TurretMoveLoop 13329 SoundEject = PilotSoundEject 13330 VoiceEject = PilotVoiceEject 13331 VoiceCrush = CrusaderTankVoiceCrush 13332 End 13333 13334 ; *** ENGINEERING Parameters *** 13335 RadarPriority = UNIT 13336 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 13337 13338 Body = ActiveBody ModuleTag_02 13339 MaxHealth = 450 13340 InitialHealth = 450 13341 End 13342 13343 Behavior = AIUpdateInterface ModuleTag_03 13344 Turret 13345 TurretTurnRate = 180 ;60 // turn rate, in degrees per sec 13346 ControlledWeaponSlots= PRIMARY 13347 End 13348 AutoAcquireEnemiesWhenIdle = Yes 13349 End 13350 Locomotor = SET_NORMAL CrusaderMK2Locomotor 13351 Locomotor = SET_NORMAL_UPGRADED CrusaderAmphibiousLocomotor 13352 Behavior = PhysicsBehavior ModuleTag_04 13353 Mass = 45.0 13354 End 13355 13356 Behavior = WeaponSetUpgrade ModuleTag_w3dphasechange 13357 TriggeredBy = Upgrade_CrusaderMK2Hover 13358 End 13359 Behavior = LocomotorSetUpgrade ModuleTag_LocoUp 13360 TriggeredBy = Upgrade_CrusaderMK2Hover 13361 End 13362 13363 Behavior = ObjectCreationUpgrade ModuleTag_05 13364 UpgradeObject = OCL_AmericanBattleDrone 13365 TriggeredBy = Upgrade_AmericaBattleDrone 13366 ConflictsWith = Upgrade_AmericaScoutDrone 13367 End 13368 Behavior = ObjectCreationUpgrade ModuleTag_06 13369 UpgradeObject = OCL_AmericanScoutDrone 13370 TriggeredBy = Upgrade_AmericaScoutDrone 13371 ConflictsWith = Upgrade_AmericaBattleDrone 13372 End 13373 Behavior = ProductionUpdate ModuleTag_07 13374 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 13375 End 13376 13377 Behavior = ExperienceScalarUpgrade ModuleTag_08 13378 TriggeredBy = Upgrade_AmericaAdvancedTraining 13379 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 13380 End 13381 Behavior = MaxHealthUpgrade ModuleTag_09 13382 TriggeredBy = Upgrade_AmericaCompositeArmor 13383 AddMaxHealth = 100.0 13384 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 13385 End 13386 13387 ; Turret fly off death 13388 Behavior = SlowDeathBehavior ModuleTag_10 13389 DeathTypes = ALL -CRUSHED -SPLATTED 13390 ProbabilityModifier = 50 13391 DestructionDelay = 500 13392 DestructionDelayVariance = 100 13393 FX = INITIAL FX_GenericTankDeathEffect 13394 OCL = MIDPOINT OCL_GenericTankDeathEffect 13395 FX = FINAL FX_GenericTankDeathExplosion 13396 OCL = FINAL OCL_CrusaderTurret 13397 End 13398 13399 ; Catch fire, and explode death 13400 Behavior = SlowDeathBehavior ModuleTag_11 13401 DeathTypes = ALL -CRUSHED -SPLATTED 13402 ProbabilityModifier = 50 13403 DestructionDelay = 2000 13404 DestructionDelayVariance = 300 13405 FX = INITIAL FX_CrusaderCatchFire 13406 OCL = FINAL OCL_GenericTankDeathEffect 13407 FX = FINAL FX_GenericTankDeathExplosion 13408 End 13409 13410 Behavior = TransitionDamageFX ModuleTag_12 13411 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 13412 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 13413 End 13414 13415 Behavior = DestroyDie ModuleTag_13 13416 DeathTypes = NONE +CRUSHED +SPLATTED 13417 End 13418 13419 ; A crushing defeat 13420 Behavior = FXListDie ModuleTag_14 13421 DeathTypes = NONE +CRUSHED +SPLATTED 13422 DeathFX = FX_CarCrush 13423 End 13424 13425 Behavior = CreateObjectDie ModuleTag_15 13426 DeathTypes = NONE +CRUSHED +SPLATTED 13427 CreationList = OCL_CrusaderTank_CrushEffect 13428 End 13429 13430 Behavior = CreateCrateDie ModuleTag_CratesChange 13431 CrateData = SalvageCrateData 13432 ;CrateData = EliteTankCrateData 13433 ;CrateData = HeroicTankCrateData 13434 End 13435 13436 Behavior = EjectPilotDie ModuleTag_17 13437 GroundCreationList = OCL_EjectPilotOnGround 13438 AirCreationList = OCL_EjectPilotViaParachute 13439 ExemptStatus = HIJACKED 13440 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 13441 End 13442 13443 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 13444 DetectionRate = 500 13445 DetectionRange = 75 13446 CanDetectWhileGarrisoned = No 13447 CanDetectWhileContained = No 13448 ExtraRequiredKindOf = BOAT 13449 End 13450 13451 Behavior = FlammableUpdate ModuleTag_21 13452 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 13453 AflameDamageAmount = 3 ; taking this much damage... 13454 AflameDamageDelay = 500 ; this often. 13455 End 13456 13457 Geometry = BOX 13458 GeometryMajorRadius = 15.0 13459 GeometryMinorRadius = 10.0 13460 GeometryHeight = 10.0 13461 GeometryIsSmall = Yes 13462 Shadow = SHADOW_VOLUME 13463 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 13464 13465 End 13466 13467 ;--------------------------------------------------Scorpion Tank------------------------------------------------------ 13468 ; this unit is never really "built"; building one triggers the random building of 13469 ; one of the other chassis. If you want a *specific* chassis, choose it explicitly; 13470 ; if you want a chassis at random, specify this. 13471 Object GLATankScorpion 13472 13473 ; *** ART Parameters *** 13474 SelectPortrait = SUScorpion_L 13475 ButtonImage = SUScorpion 13476 13477 Draw = W3DModelDraw ModuleTag_01 13478 DefaultConditionState 13479 ; give it a model so it'll show up in WB 13480 Model = UVLiteTank 13481 End 13482 End 13483 13484 ; set cost and time fields here or else they won't work 13485 BuildCost = 600 13486 BuildTime = 6.0 ;in seconds 13487 13488 Side = GLA 13489 EditorSorting = VEHICLE 13490 BuildVariations = GLATankScorpionOne GLATankScorpionTwo 13491 13492 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 13493 13494 End 13495 13496 ;------------------------------------------------------------------------------ 13497 Object GLATankScorpionOne 13498 13499 ; *** ART Parameters *** 13500 SelectPortrait = SUScorpion_L 13501 ButtonImage = SUScorpion 13502 13503 UpgradeCameo1 = Upgrade_GLAScorpionRocket 13504 UpgradeCameo2 = Upgrade_GLAAPRockets 13505 UpgradeCameo3 = Upgrade_GLAToxinShells 13506 UpgradeCameo4 = Upgrade_GLAJunkRepair 13507 ;UpgradeCameo5 = NONE 13508 13509 Draw = W3DTankDraw ModuleTag_01 13510 OkToChangeModelColor = Yes 13511 13512 ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset 13513 13514 DefaultConditionState 13515 Model = UVLiteTank 13516 Turret = Turret01 13517 ; note, order-dependent: we must hide/show Missile AFTER we hide/show MissileRack! 13518 HideSubObject = MissleRack01 Missile ; MissileRack misspelled in the Art 13519 WeaponFireFXBone = PRIMARY Muzzle 13520 WeaponRecoilBone = PRIMARY Barrel 13521 WeaponMuzzleFlash = PRIMARY MuzzleFX 13522 WeaponLaunchBone = PRIMARY Muzzle 13523 End 13524 13525 ConditionState = REALLYDAMAGED 13526 Model = UVLiteTank_d 13527 End 13528 13529 ConditionState = RUBBLE 13530 Model = UVLiteTank_d 13531 End 13532 13533 ConditionState = WEAPONSET_PLAYER_UPGRADE 13534 ShowSubObject = MissleRack01 13535 WeaponFireFXBone = SECONDARY WeaponA 13536 WeaponLaunchBone = SECONDARY WeaponA 13537 WeaponHideShowBone = SECONDARY Missile 13538 End 13539 13540 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 13541 Model = UVLiteTank_d 13542 ShowSubObject = MissleRack01 13543 WeaponFireFXBone = SECONDARY WeaponA 13544 WeaponLaunchBone = SECONDARY WeaponA 13545 WeaponHideShowBone = SECONDARY Missile 13546 End 13547 13548 TrackMarks = EXTnkTrack.tga 13549 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 13550 End 13551 13552 ; ***DESIGN parameters *** 13553 DisplayName = OBJECT:Scorpion 13554 Side = GLA 13555 EditorSorting = VEHICLE 13556 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 13557 WeaponSet 13558 Conditions = None 13559 Weapon = PRIMARY ScorpionTankGun 13560 Weapon = SECONDARY None 13561 End 13562 WeaponSet 13563 Conditions = PLAYER_UPGRADE 13564 Weapon = PRIMARY ScorpionTankGun 13565 Weapon = SECONDARY ScorpionMissileWeapon 13566 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 13567 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 13568 End 13569 ArmorSet 13570 Conditions = None 13571 Armor = TankArmor 13572 DamageFX = TankDamageFX 13573 End 13574 ;BuildCost = 600 ;no longer buildable as self 13575 ;BuildTime = 7.0 ;in seconds 13576 VisionRange = 125 13577 ShroudClearingRange = 300 13578 Prerequisites 13579 Object = GLAArmsDealer 13580 End 13581 13582 ExperienceValue = 60 60 120 200 ;Experience point value at each level 13583 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 13584 IsTrainable = Yes ;Can gain experience 13585 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 13586 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 13587 CommandSet = GLATankScorpionCommandSet 13588 13589 ; *** AUDIO Parameters *** 13590 VoiceSelect = ScorpionTankVoiceSelect 13591 VoiceMove = ScorpionTankVoiceMove 13592 VoiceAttack = ScorpionTankVoiceAttack 13593 SoundMoveStart = ScorpionTankMoveStart 13594 SoundMoveStartDamaged = ScorpionTankMoveStart 13595 VoiceGuard = ScorpionTankVoiceMove 13596 13597 UnitSpecificSounds 13598 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 13599 VoiceCreate = ScorpionTankVoiceCreate 13600 ;TurretMoveStart = NoSound 13601 TurretMoveLoop = TurretMoveLoop 13602 VoiceEnter = ScorpionTankVoiceMove 13603 End 13604 13605 ; *** ENGINEERING Parameters *** 13606 RadarPriority = UNIT 13607 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 13608 13609 Body = ActiveBody ModuleTag_02 13610 MaxHealth = 370.0 13611 InitialHealth = 370.0 13612 End 13613 13614 Behavior = AIUpdateInterface ModuleTag_03 13615 Turret 13616 TurretTurnRate = 100 13617 RecenterTime = 5000 ; how long to wait during idle before recentering 13618 ControlledWeaponSlots = PRIMARY SECONDARY 13619 End 13620 AutoAcquireEnemiesWhenIdle = Yes 13621 End 13622 Locomotor = SET_NORMAL ScorpionLocomotor 13623 Behavior = PhysicsBehavior ModuleTag_04 13624 Mass = 50.0 13625 End 13626 Behavior = AutoHealBehavior ModuleTag_05 13627 HealingAmount = 2 13628 HealingDelay = 1000 ; msec 13629 TriggeredBy = Upgrade_GLAJunkRepair 13630 End 13631 13632 ; Catch fire, and explode death 13633 Behavior = SlowDeathBehavior ModuleTag_06 13634 DeathTypes = ALL -CRUSHED -SPLATTED 13635 ProbabilityModifier = 50 13636 DestructionDelay = 2000 13637 DestructionDelayVariance = 300 13638 FX = INITIAL FX_CrusaderCatchFire 13639 OCL = FINAL OCL_GenericTankDeathEffect 13640 FX = FINAL FX_BattleMasterExplosionOneFinal 13641 End 13642 13643 Behavior = WeaponSetUpgrade ModuleTag_07 13644 TriggeredBy = Upgrade_GLAScorpionRocket 13645 End 13646 13647 Behavior = DestroyDie ModuleTag_09 13648 DeathTypes = NONE +CRUSHED +SPLATTED 13649 End 13650 13651 ; A crushing defeat 13652 Behavior = FXListDie ModuleTag_10 13653 DeathTypes = NONE +CRUSHED +SPLATTED 13654 DeathFX = FX_CarCrush 13655 End 13656 Behavior = CreateObjectDie ModuleTag_11 13657 DeathTypes = NONE +CRUSHED +SPLATTED 13658 CreationList = OCL_CrusaderTank_CrushEffect 13659 End 13660 Behavior = CreateCrateDie ModuleTag_12 13661 CrateData = SalvageCrateData 13662 ;CrateData = EliteTankCrateData 13663 ;CrateData = HeroicTankCrateData 13664 End 13665 13666 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 13667 DetectionRate = 500 13668 DetectionRange = 75 13669 CanDetectWhileGarrisoned = No 13670 CanDetectWhileContained = No 13671 ExtraRequiredKindOf = BOAT 13672 End 13673 13674 Behavior = TransitionDamageFX ModuleTag_13 13675 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 13676 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 13677 End 13678 13679 Behavior = FlammableUpdate ModuleTag_21 13680 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 13681 AflameDamageAmount = 3 ; taking this much damage... 13682 AflameDamageDelay = 500 ; this often. 13683 End 13684 13685 Geometry = BOX 13686 GeometryMajorRadius = 14.0 13687 GeometryMinorRadius = 9.0 13688 GeometryHeight = 10.5 13689 GeometryIsSmall = Yes 13690 Shadow = SHADOW_VOLUME 13691 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 13692 13693 End 13694 13695 ;------------------------------------------------------------------------------ 13696 Object GLATankScorpionTwo ;GLATankCobra 13697 13698 ; *** ART Parameters *** 13699 SelectPortrait = SUScorpion_L 13700 ButtonImage = SUScorpion 13701 13702 UpgradeCameo1 = Upgrade_GLAScorpionRocket 13703 UpgradeCameo2 = Upgrade_GLAAPRockets 13704 UpgradeCameo3 = Upgrade_GLAToxinShells 13705 UpgradeCameo4 = Upgrade_GLAJunkRepair 13706 ;UpgradeCameo5 = NONE 13707 13708 Draw = W3DTankDraw ModuleTag_01 13709 OkToChangeModelColor = Yes 13710 13711 ProjectileBoneFeedbackEnabledSlots = SECONDARY 13712 13713 DefaultConditionState 13714 Model = UVScorpion 13715 Turret = Turret01 13716 HideSubObject = MissleRack01 Missile 13717 WeaponFireFXBone = PRIMARY Muzzle 13718 WeaponRecoilBone = PRIMARY Barrel 13719 WeaponMuzzleFlash = PRIMARY MuzzleFX 13720 WeaponLaunchBone = PRIMARY Muzzle 13721 End 13722 13723 ConditionState = REALLYDAMAGED 13724 Model = UVScorpion_d 13725 End 13726 13727 ConditionState = RUBBLE 13728 Model = UVScorpion_d 13729 End 13730 13731 ConditionState = WEAPONSET_PLAYER_UPGRADE 13732 ShowSubObject = MissleRack01 13733 WeaponFireFXBone = SECONDARY WeaponA 13734 WeaponLaunchBone = SECONDARY WeaponA 13735 WeaponHideShowBone = SECONDARY Missile 13736 End 13737 13738 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 13739 Model = UVScorpion_d 13740 ShowSubObject = MissleRack01 13741 WeaponFireFXBone = SECONDARY WeaponA 13742 WeaponLaunchBone = SECONDARY WeaponA 13743 WeaponHideShowBone = SECONDARY Missile 13744 End 13745 13746 TrackMarks = EXTnkTrack.tga 13747 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 13748 End 13749 13750 ; ***DESIGN parameters *** 13751 DisplayName = OBJECT:Scorpion ;OBJECT:Cobra 13752 Side = GLA 13753 EditorSorting = VEHICLE 13754 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 13755 WeaponSet 13756 Conditions = None 13757 Weapon = PRIMARY CobraTankGun 13758 Weapon = SECONDARY None 13759 End 13760 WeaponSet 13761 Conditions = PLAYER_UPGRADE 13762 Weapon = PRIMARY CobraTankGun 13763 Weapon = SECONDARY ScorpionMissileWeapon 13764 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 13765 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 13766 End 13767 ArmorSet 13768 Conditions = None 13769 Armor = TankArmor 13770 DamageFX = TankDamageFX 13771 End 13772 ;BuildCost = 700 ;no longer buildable as self 13773 ;BuildTime = 8.0 ;in seconds 13774 VisionRange = 125 13775 ShroudClearingRange = 300 13776 Prerequisites 13777 Object = GLAArmsDealer 13778 End 13779 13780 ExperienceValue = 60 60 120 200 ;Experience point value at each level 13781 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 13782 IsTrainable = Yes ;Can gain experience 13783 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 13784 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 13785 CommandSet = GLATankScorpionCommandSet ;GLATankCobraCommandSet 13786 13787 ; *** AUDIO Parameters *** 13788 VoiceSelect = ScorpionTankVoiceSelect 13789 VoiceMove = ScorpionTankVoiceMove 13790 VoiceAttack = ScorpionTankVoiceAttack 13791 SoundMoveStart = ScorpionTankMoveStart 13792 SoundMoveStartDamaged = ScorpionTankMoveStart 13793 VoiceGuard = ScorpionTankVoiceMove 13794 13795 UnitSpecificSounds 13796 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 13797 VoiceCreate = ScorpionTankVoiceCreate 13798 VoiceEnter = ScorpionTankVoiceMove 13799 End 13800 13801 ; *** ENGINEERING Parameters *** 13802 RadarPriority = UNIT 13803 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 13804 13805 Body = ActiveBody ModuleTag_02 13806 MaxHealth = 370.0 ;300.0 13807 InitialHealth = 370.0 ;300.0 13808 End 13809 13810 Behavior = AIUpdateInterface ModuleTag_03 13811 AutoAcquireEnemiesWhenIdle = Yes 13812 End 13813 Locomotor = SET_NORMAL ScorpionLocomotor ;CobraLocomotor 13814 Behavior = PhysicsBehavior ModuleTag_04 13815 Mass = 50.0 13816 End 13817 Behavior = AutoHealBehavior ModuleTag_05 13818 HealingAmount = 2 13819 HealingDelay = 1000 ; msec 13820 TriggeredBy = Upgrade_GLAJunkRepair 13821 End 13822 13823 ; Catch fire, and explode death 13824 Behavior = SlowDeathBehavior ModuleTag_06 13825 DeathTypes = ALL -CRUSHED -SPLATTED 13826 ProbabilityModifier = 60 13827 DestructionDelay = 500 13828 DestructionDelayVariance = 200 13829 FX = INITIAL FX_CrusaderCatchFire 13830 OCL = FINAL OCL_GenericTankDeathEffect 13831 FX = FINAL FX_BattleMasterExplosionOneFinal 13832 End 13833 13834 Behavior = WeaponSetUpgrade ModuleTag_07 13835 TriggeredBy = Upgrade_GLAScorpionRocket 13836 End 13837 13838 Behavior = DestroyDie ModuleTag_09 13839 DeathTypes = NONE +CRUSHED +SPLATTED 13840 End 13841 13842 ; A crushing defeat 13843 Behavior = FXListDie ModuleTag_10 13844 DeathTypes = NONE +CRUSHED +SPLATTED 13845 DeathFX = FX_CarCrush 13846 End 13847 Behavior = CreateObjectDie ModuleTag_11 13848 DeathTypes = NONE +CRUSHED +SPLATTED 13849 CreationList = OCL_CrusaderTank_CrushEffect 13850 End 13851 Behavior = CreateCrateDie ModuleTag_12 13852 CrateData = SalvageCrateData 13853 ;CrateData = EliteTankCrateData 13854 ;CrateData = HeroicTankCrateData 13855 End 13856 13857 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 13858 DetectionRate = 500 13859 DetectionRange = 75 13860 CanDetectWhileGarrisoned = No 13861 CanDetectWhileContained = No 13862 ExtraRequiredKindOf = BOAT 13863 End 13864 13865 Behavior = TransitionDamageFX ModuleTag_13 13866 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 13867 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 13868 End 13869 13870 Behavior = FlammableUpdate ModuleTag_21 13871 AflameDuration = 3500 ; If I catch fire, I'll burn for this long... 13872 AflameDamageAmount = 5 ; taking this much damage... 13873 AflameDamageDelay = 500 ; this often. 13874 End 13875 13876 Geometry = BOX 13877 GeometryMajorRadius = 12.0 13878 GeometryMinorRadius = 8.0 13879 GeometryHeight = 10.5 13880 GeometryIsSmall = Yes 13881 Shadow = SHADOW_VOLUME 13882 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 13883 13884 End 13885 ;--------------------------------------------------End Scorpion Tank--------------------------------------------- 13886 13887 ;------------------------------------------------------------------------------ 13888 ;GLA Rocket Buggy 13889 Object GLAVehicleRocketBuggy 13890 13891 ; *** ART Parameters *** 13892 SelectPortrait = SURocketBuggy_L 13893 ButtonImage = SURocketBuggy 13894 13895 UpgradeCameo1 = Upgrade_GLABuggyAmmo 13896 UpgradeCameo2 = Upgrade_GLAAPRockets 13897 UpgradeCameo3 = Upgrade_GLAJunkRepair 13898 ;UpgradeCameo4 = NONE 13899 ;UpgradeCameo5 = NONE 13900 13901 Draw = W3DTruckDraw ModuleTag_01 13902 OkToChangeModelColor = Yes 13903 13904 DefaultConditionState 13905 Model = UVRockBug 13906 Turret = Turret 13907 ShowSubObject = Turret 13908 HideSubObject = TurretUp01 13909 WeaponFireFXBone = PRIMARY WeaponA 13910 WeaponLaunchBone = PRIMARY WeaponA 13911 End 13912 13913 ConditionState = REALLYDAMAGED 13914 Model = UVRockBug_D 13915 Turret = Turret 13916 ShowSubObject = Turret 13917 HideSubObject = TurretUp01 13918 WeaponFireFXBone = PRIMARY WeaponA 13919 WeaponLaunchBone = PRIMARY WeaponA 13920 End 13921 13922 ConditionState = RUBBLE 13923 Model = UVRockBug_D 13924 Turret = Turret 13925 ShowSubObject = Turret 13926 HideSubObject = TurretUp01 13927 WeaponFireFXBone = PRIMARY WeaponA 13928 WeaponLaunchBone = PRIMARY WeaponA 13929 End 13930 13931 ConditionState = WEAPONSET_PLAYER_UPGRADE 13932 Model = UVRockBug 13933 Turret = TurretUp01 13934 ShowSubObject = TurretUp01 13935 HideSubObject = Turret 13936 WeaponFireFXBone = PRIMARY WeaponB 13937 WeaponLaunchBone = PRIMARY WeaponB 13938 End 13939 13940 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 13941 Model = UVRockBug_D 13942 Turret = TurretUp01 13943 ShowSubObject = TurretUp01 13944 HideSubObject = Turret 13945 WeaponFireFXBone = PRIMARY WeaponB 13946 WeaponLaunchBone = PRIMARY WeaponB 13947 End 13948 13949 ConditionState = WEAPONSET_PLAYER_UPGRADE RUBBLE 13950 Model = UVRockBug_D 13951 Turret = TurretUp01 13952 ShowSubObject = TurretUp01 13953 HideSubObject = Turret 13954 WeaponFireFXBone = PRIMARY WeaponB 13955 WeaponLaunchBone = PRIMARY WeaponB 13956 End 13957 13958 TrackMarks = EXTireTrack.tga 13959 13960 Dust = RocketBuggyDust 13961 DirtSpray = RocketBuggyDirtSpray 13962 PowerslideSpray = RocketBuggyDirtPowerSlide 13963 13964 ; These parameters are only used if the model has a separate suspension, 13965 ; and the locomotor has HasSuspension = Yes. 13966 LeftFrontTireBone = Tire01 13967 RightFrontTireBone = Tire02 13968 LeftRearTireBone = Tire03 13969 RightRearTireBone = Tire04 13970 TireRotationMultiplier = 0.2 ; this * speed = rotation. 13971 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 13972 13973 End 13974 13975 ; ***DESIGN parameters *** 13976 DisplayName = OBJECT:RocketBuggy 13977 Side = GLA 13978 EditorSorting = VEHICLE 13979 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 13980 WeaponSet 13981 Conditions = None 13982 Weapon = PRIMARY BuggyRocketWeapon 13983 End 13984 WeaponSet 13985 Conditions = PLAYER_UPGRADE 13986 Weapon = PRIMARY BuggyRocketWeaponUpgraded 13987 End 13988 ArmorSet 13989 Conditions = None 13990 Armor = TruckArmor 13991 DamageFX = TankDamageFX 13992 End 13993 BuildCost = 900 13994 BuildTime = 10.0 ;in seconds 13995 VisionRange = 180 13996 ShroudClearingRange = 300 13997 Prerequisites 13998 Object = GLAArmsDealer 13999 Object = GLAPalace 14000 End 14001 14002 ExperienceValue = 50 50 100 150 ;Experience point value at each level 14003 ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level 14004 IsTrainable = Yes ;Can gain experience 14005 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 14006 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 14007 CommandSet = GLAVehicleRocketBuggyCommandSet 14008 14009 ; *** AUDIO Parameters *** 14010 VoiceSelect = RocketBuggyVoiceSelect 14011 VoiceMove = RocketBuggyVoiceMove 14012 VoiceAttack = RocketBuggyVoiceAttack 14013 SoundMoveStart = RocketBuggyMoveStart 14014 SoundMoveStartDamaged = RocketBuggyMoveStart 14015 VoiceGuard = RocketBuggyVoiceMove 14016 14017 14018 UnitSpecificSounds 14019 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 14020 VoiceCreate = RocketBuggyVoiceCreate 14021 TurretMoveStart = NoSound 14022 TurretMoveLoop = TurretMoveLoop 14023 ; Required for the W3DTruckDraw module 14024 TruckLandingSound = RocketBuggyLand 14025 TruckPowerslideSound = RocketBuggyPowerslide 14026 VoiceCrush = RocketBuggyVoiceCrush 14027 VoiceEnter = RocketBuggyVoiceMove 14028 End 14029 14030 ; *** ENGINEERING Parameters *** 14031 RadarPriority = UNIT 14032 KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 14033 14034 Body = ActiveBody ModuleTag_02 14035 MaxHealth = 120 14036 InitialHealth = 120 14037 End 14038 Behavior = AIUpdateInterface ModuleTag_03 14039 Turret 14040 TurretTurnRate = 90 14041 ControlledWeaponSlots = PRIMARY 14042 End 14043 AutoAcquireEnemiesWhenIdle = Yes 14044 End 14045 Locomotor = SET_NORMAL RocketBuggyLocomotor 14046 Behavior = PhysicsBehavior ModuleTag_04 14047 Mass = 50.0 14048 End 14049 14050 ; The pop up AirDeath 14051 Behavior = SlowDeathBehavior ModuleTag_05 14052 DeathTypes = ALL -CRUSHED -SPLATTED 14053 ProbabilityModifier = 5 14054 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 14055 DestructionDelay = 0 14056 FX = INITIAL FX_BuggyNewDeathExplosion 14057 OCL = FINAL OCL_RocketBuggyAirDeathStart 14058 End 14059 14060 ;Behavior = SlowDeathBehavior ModuleTag_06 14061 ; DeathTypes = ALL -CRUSHED -SPLATTED 14062 ; ProbabilityModifier = 5 14063 ; DestructionDelay = 1000 14064 ; DestructionDelayVariance = 200 14065 ; FX = INITIAL FX_RocketBuggyCatchFire 14066 ; OCL = FINAL OCL_BuggyRocketScatter 14067 ;End 14068 14069 Behavior = AutoHealBehavior ModuleTag_08 14070 HealingAmount = 2 14071 HealingDelay = 1000 ; msec 14072 TriggeredBy = Upgrade_GLAJunkRepair 14073 End 14074 14075 Behavior = WeaponSetUpgrade ModuleTag_09 14076 TriggeredBy = Upgrade_GLABuggyAmmo 14077 End 14078 14079 Behavior = DestroyDie ModuleTag_11 14080 DeathTypes = NONE +CRUSHED +SPLATTED 14081 End 14082 14083 ; A crushing defeat 14084 Behavior = FXListDie ModuleTag_12 14085 DeathTypes = NONE +CRUSHED +SPLATTED 14086 DeathFX = FX_CarCrush 14087 End 14088 Behavior = CreateObjectDie ModuleTag_13 14089 DeathTypes = NONE +CRUSHED +SPLATTED 14090 CreationList = OCL_RocketBuggy_CrushEffect 14091 End 14092 Behavior = CreateCrateDie ModuleTag_14 14093 CrateData = SalvageCrateData 14094 ;CrateData = EliteTankCrateData 14095 ;CrateData = HeroicTankCrateData 14096 End 14097 14098 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 14099 DetectionRate = 500 14100 DetectionRange = 75 14101 CanDetectWhileGarrisoned = No 14102 CanDetectWhileContained = No 14103 ExtraRequiredKindOf = BOAT 14104 End 14105 14106 Behavior = TransitionDamageFX ModuleTag_15 14107 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 14108 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 14109 End 14110 14111 Behavior = FlammableUpdate ModuleTag_21 14112 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 14113 AflameDamageAmount = 3 ; taking this much damage... 14114 AflameDamageDelay = 500 ; this often. 14115 End 14116 14117 Geometry = BOX 14118 GeometryMajorRadius = 13.0 14119 GeometryMinorRadius = 9.0 14120 GeometryHeight = 7.5 14121 GeometryIsSmall = Yes 14122 Shadow = SHADOW_VOLUME 14123 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 14124 14125 End 14126 14127 ;------------------------------------------------------------------------------ 14128 Object StingerMissile 14129 14130 ; *** ART Parameters *** 14131 Draw = W3DModelDraw ModuleTag_01 14132 OkToChangeModelColor = Yes 14133 ConditionState = NONE 14134 Model = UVRockBug_m 14135 End 14136 End 14137 14138 ; ***DESIGN parameters *** 14139 DisplayName = OBJECT:StingerMissile 14140 EditorSorting = SYSTEM 14141 VisionRange = 0.0 14142 ArmorSet 14143 Conditions = None 14144 Armor = ProjectileArmor 14145 DamageFX = None 14146 End 14147 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 14148 14149 ; *** ENGINEERING Parameters *** 14150 KindOf = PROJECTILE SMALL_MISSILE 14151 Body = ActiveBody ModuleTag_02 14152 MaxHealth = 100.0 14153 InitialHealth = 100.0 14154 End 14155 14156 ; ---- begin Projectile death behaviors 14157 Behavior = InstantDeathBehavior DeathModuleTag_01 14158 DeathTypes = NONE +DETONATED 14159 ; we detonated normally. 14160 ; no FX, just quiet destroy ourselves 14161 End 14162 Behavior = InstantDeathBehavior DeathModuleTag_02 14163 DeathTypes = NONE +LASERED 14164 ; shot down by laser. 14165 FX = FX_GenericMissileDisintegrate 14166 OCL = OCL_GenericMissileDisintegrate 14167 End 14168 Behavior = InstantDeathBehavior DeathModuleTag_03 14169 DeathTypes = ALL -LASERED -DETONATED 14170 ; shot down by nonlaser. 14171 FX = FX_GenericMissileDeath 14172 End 14173 ; ---- end Projectile death behaviors 14174 14175 Behavior = PhysicsBehavior ModuleTag_06 14176 Mass = 1 14177 End 14178 Behavior = MissileAIUpdate ModuleTag_07 14179 TryToFollowTarget = Yes 14180 FuelLifetime = 5000 14181 InitialVelocity = 200 ; in dist/sec 14182 IgnitionDelay = 0 14183 DistanceToTravelBeforeTurning = 5 14184 IgnitionFX = None 14185 DistanceToTargetForLock = 100 ; If it gets within 100 of the target, it kills the target. 14186 End 14187 14188 Behavior = WeaponBonusUpgrade Upgrade_01 14189 TriggeredBy = Upgrade_GLAAPRockets 14190 End 14191 14192 Locomotor = SET_NORMAL StingerMissileLocomotor 14193 14194 Geometry = Sphere 14195 GeometryIsSmall = Yes 14196 GeometryMajorRadius = 2.0 14197 14198 End 14199 14200 14201 ;------------------------------------------------------------------------------ 14202 Object ComancheAntiTankMissile 14203 14204 ; *** ART Parameters *** 14205 Draw = W3DModelDraw ModuleTag_01 14206 OkToChangeModelColor = Yes 14207 ConditionState = NONE 14208 ; @todo -- need real art here 14209 Model = UVRockBug_m 14210 End 14211 End 14212 14213 ; ***DESIGN parameters *** 14214 DisplayName = OBJECT:Prop 14215 EditorSorting = SYSTEM 14216 VisionRange = 0.0 14217 ArmorSet 14218 Conditions = None 14219 Armor = ProjectileArmor 14220 DamageFX = None 14221 End 14222 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 14223 14224 ; *** ENGINEERING Parameters *** 14225 KindOf = PROJECTILE SMALL_MISSILE 14226 Body = ActiveBody ModuleTag_02 14227 MaxHealth = 100.0 14228 InitialHealth = 100.0 14229 End 14230 14231 ; ---- begin Projectile death behaviors 14232 Behavior = InstantDeathBehavior DeathModuleTag_01 14233 DeathTypes = NONE +DETONATED 14234 ; we detonated normally. 14235 ; no FX, just quiet destroy ourselves 14236 End 14237 Behavior = InstantDeathBehavior DeathModuleTag_02 14238 DeathTypes = NONE +LASERED 14239 ; shot down by laser. 14240 FX = FX_GenericMissileDisintegrate 14241 OCL = OCL_GenericMissileDisintegrate 14242 End 14243 Behavior = InstantDeathBehavior DeathModuleTag_03 14244 DeathTypes = ALL -LASERED -DETONATED 14245 ; shot down by nonlaser. 14246 FX = FX_GenericMissileDeath 14247 End 14248 ; ---- end Projectile death behaviors 14249 14250 Behavior = PhysicsBehavior ModuleTag_06 14251 Mass = 1 14252 End 14253 Behavior = MissileAIUpdate ModuleTag_07 14254 TryToFollowTarget = Yes 14255 FuelLifetime = 1000 14256 InitialVelocity = 150 ; in dist/sec 14257 IgnitionDelay = 0 14258 DistanceToTravelBeforeTurning = 10 14259 IgnitionFX = FX_BuggyMissileIgnition 14260 End 14261 Locomotor = SET_NORMAL ComancheAntiTankMissileLocomotor 14262 14263 Geometry = Sphere 14264 GeometryIsSmall = Yes 14265 GeometryMajorRadius = 2.0 14266 14267 End 14268 14269 ;------------------------------------------------------------------------------ 14270 Object ComancheRocketPodRocket 14271 14272 ; *** ART Parameters *** 14273 Draw = W3DModelDraw ModuleTag_01 14274 OkToChangeModelColor = Yes 14275 ConditionState = NONE 14276 ; @todo -- need real art here 14277 Model = UVRockBug_m 14278 End 14279 End 14280 14281 ; ***DESIGN parameters *** 14282 DisplayName = OBJECT:Prop 14283 EditorSorting = SYSTEM 14284 VisionRange = 0.0 14285 ArmorSet 14286 Conditions = None 14287 Armor = ProjectileArmor 14288 DamageFX = None 14289 End 14290 14291 ; *** ENGINEERING Parameters *** 14292 KindOf = PROJECTILE SMALL_MISSILE 14293 Body = ActiveBody ModuleTag_02 14294 MaxHealth = 100.0 14295 InitialHealth = 100.0 14296 End 14297 14298 ; ---- begin Projectile death behaviors 14299 Behavior = InstantDeathBehavior DeathModuleTag_01 14300 DeathTypes = NONE +DETONATED 14301 ; we detonated normally. 14302 ; no FX, just quiet destroy ourselves 14303 End 14304 Behavior = InstantDeathBehavior DeathModuleTag_02 14305 DeathTypes = NONE +LASERED 14306 ; shot down by laser. 14307 FX = FX_GenericMissileDisintegrate 14308 OCL = OCL_GenericMissileDisintegrate 14309 End 14310 Behavior = InstantDeathBehavior DeathModuleTag_03 14311 DeathTypes = ALL -LASERED -DETONATED 14312 ; shot down by nonlaser. 14313 FX = FX_GenericMissileDeath 14314 End 14315 ; ---- end Projectile death behaviors 14316 14317 Behavior = PhysicsBehavior ModuleTag_06 14318 Mass = 1 14319 End 14320 Behavior = MissileAIUpdate ModuleTag_07 14321 TryToFollowTarget = No 14322 FuelLifetime = 1000 14323 InitialVelocity = 150 ; in dist/sec 14324 IgnitionDelay = 0 14325 DistanceToTravelBeforeTurning = 10 14326 IgnitionFX = FX_BuggyMissileIgnition 14327 End 14328 Locomotor = SET_NORMAL ComancheRocketPodLocomotor 14329 Geometry = Sphere 14330 GeometryIsSmall = Yes 14331 GeometryMajorRadius = 2.0 14332 14333 End 14334 14335 ;------------------------------------------------------------------------------ 14336 Object RocketBuggyMissile 14337 14338 ; *** ART Parameters *** 14339 Draw = W3DModelDraw ModuleTag_01 14340 OkToChangeModelColor = Yes 14341 ConditionState = NONE 14342 Model = UVRockBug_m 14343 End 14344 End 14345 14346 ; ***DESIGN parameters *** 14347 EditorSorting = SYSTEM 14348 VisionRange = 0.0 14349 ArmorSet 14350 Conditions = None 14351 Armor = ProjectileArmor 14352 DamageFX = None 14353 End 14354 14355 ; *** ENGINEERING Parameters *** 14356 KindOf = PROJECTILE SMALL_MISSILE 14357 Body = ActiveBody ModuleTag_02 14358 MaxHealth = 100.0 14359 InitialHealth = 100.0 14360 End 14361 14362 ; ---- begin Projectile death behaviors 14363 Behavior = InstantDeathBehavior DeathModuleTag_01 14364 DeathTypes = NONE +DETONATED 14365 ; we detonated normally. 14366 ; no FX, just quiet destroy ourselves 14367 End 14368 Behavior = InstantDeathBehavior DeathModuleTag_02 14369 DeathTypes = NONE +LASERED 14370 ; shot down by laser. 14371 FX = FX_GenericMissileDisintegrate 14372 OCL = OCL_GenericMissileDisintegrate 14373 End 14374 Behavior = InstantDeathBehavior DeathModuleTag_03 14375 DeathTypes = ALL -LASERED -DETONATED 14376 ; shot down by nonlaser. 14377 FX = FX_GenericMissileDeath 14378 End 14379 ; ---- end Projectile death behaviors 14380 14381 Behavior = PhysicsBehavior ModuleTag_06 14382 Mass = 1 14383 End 14384 Behavior = MissileAIUpdate ModuleTag_07 14385 TryToFollowTarget = Yes 14386 FuelLifetime = 1500 14387 InitialVelocity = 150 ; in dist/sec 14388 IgnitionDelay = 0 14389 DistanceToTravelBeforeTurning = 3 14390 IgnitionFX = FX_BuggyMissileIgnition 14391 End 14392 Locomotor = SET_NORMAL RocketBuggyMissileLocomotor 14393 14394 Behavior = WeaponBonusUpgrade ModuleTag_08 14395 TriggeredBy = Upgrade_GLAAPRockets 14396 End 14397 14398 Geometry = Sphere 14399 GeometryIsSmall = Yes 14400 GeometryMajorRadius = 2.0 14401 14402 End 14403 14404 ;------------------------------------------------------------------------------ 14405 Object SCUDMissile 14406 14407 ; *** ART Parameters *** 14408 Draw = W3DModelDraw ModuleTag_01 14409 OkToChangeModelColor = Yes 14410 ConditionState = NONE 14411 Model = UVScudLchr_M 14412 End 14413 ConditionState = REALLYDAMAGED 14414 Model = UVScudLchr_DM 14415 End 14416 End 14417 14418 ; ***DESIGN parameters *** 14419 DisplayName = OBJECT:SCUDMissile 14420 EditorSorting = SYSTEM 14421 VisionRange = 0.0 14422 ArmorSet 14423 Conditions = None 14424 ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting 14425 ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have 14426 ;*AntiBallisticMissile = Yes set in the Weapon.ini. 14427 Armor = BallisticMissileArmor 14428 DamageFX = None 14429 End 14430 14431 ; *** ENGINEERING Parameters *** 14432 KindOf = PROJECTILE BALLISTIC_MISSILE 14433 Body = ActiveBody ModuleTag_02 14434 MaxHealth = 100.0 14435 InitialHealth = 100.0 14436 End 14437 14438 ; ---- begin Projectile death behaviors 14439 Behavior = InstantDeathBehavior DeathModuleTag_01 14440 DeathTypes = NONE +DETONATED 14441 ; we detonated normally. 14442 ; no FX, just quiet destroy ourselves 14443 End 14444 Behavior = InstantDeathBehavior DeathModuleTag_02 14445 DeathTypes = NONE +LASERED 14446 ; shot down by laser. 14447 FX = FX_GenericMissileDisintegrate 14448 OCL = OCL_GenericMissileDisintegrate 14449 End 14450 Behavior = InstantDeathBehavior DeathModuleTag_03 14451 DeathTypes = ALL -LASERED -DETONATED 14452 ; shot down by nonlaser. 14453 FX = FX_GenericMissileDeath 14454 End 14455 ; ---- end Projectile death behaviors 14456 14457 Behavior = PhysicsBehavior ModuleTag_06 14458 Mass = 1 14459 End 14460 Behavior = MissileAIUpdate ModuleTag_07 14461 TryToFollowTarget = No 14462 FuelLifetime = 5000 14463 IgnitionDelay = 0 14464 ; IgnitionFX = FX_ScudStormIgnition ;NOT WORKING 14465 InitialVelocity = 50 ; in dist/sec 14466 DistanceToTravelBeforeTurning = 200 14467 DistanceToTargetBeforeDiving = 200 ; When I hit this close to target, I ignore PreferredHeight. 14468 End 14469 Locomotor = SET_NORMAL SCUDMissileLocomotor 14470 14471 Behavior = WeaponBonusUpgrade ModuleTag_08 14472 TriggeredBy = Upgrade_GLAAPRockets 14473 End 14474 14475 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 14476 GeometryMajorRadius = 4.0 14477 GeometryHeight = 4.0 14478 GeometryIsSmall = Yes 14479 14480 Shadow = SHADOW_DECAL 14481 End 14482 14483 ;------------------------------------------------------------------------------ 14484 Object TomahawkMissile 14485 14486 ; *** ART Parameters *** 14487 Draw = W3DModelDraw ModuleTag_01 14488 OkToChangeModelColor = Yes 14489 ConditionState = NONE 14490 Model = AVTomahawk_M 14491 14492 End 14493 End 14494 14495 ; ***DESIGN parameters *** 14496 DisplayName = OBJECT:TomahawkMissile 14497 EditorSorting = SYSTEM 14498 VisionRange = 0.0 14499 ArmorSet 14500 Conditions = None 14501 ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting 14502 ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have 14503 ;*AntiBallisticMissile = Yes set in the Weapon.ini. 14504 Armor = BallisticMissileArmor 14505 DamageFX = None 14506 End 14507 14508 ; *** ENGINEERING Parameters *** 14509 KindOf = PROJECTILE BALLISTIC_MISSILE 14510 Body = ActiveBody ModuleTag_02 14511 MaxHealth = 200.0 14512 InitialHealth = 100.0 14513 End 14514 14515 ; ---- begin Projectile death behaviors 14516 Behavior = InstantDeathBehavior DeathModuleTag_01 14517 DeathTypes = NONE +DETONATED 14518 ; we detonated normally. 14519 FX = WeaponFX_TomahawkMissileDetonation 14520 End 14521 Behavior = InstantDeathBehavior DeathModuleTag_02 14522 DeathTypes = NONE +LASERED 14523 ; shot down by laser. 14524 FX = FX_GenericMissileDisintegrate 14525 OCL = OCL_GenericMissileDisintegrate 14526 End 14527 Behavior = InstantDeathBehavior DeathModuleTag_03 14528 DeathTypes = ALL -LASERED -DETONATED 14529 ; shot down by nonlaser. 14530 FX = FX_GenericMissileDeath 14531 End 14532 ; ---- end Projectile death behaviors 14533 14534 Behavior = PhysicsBehavior ModuleTag_06 14535 Mass = 1 14536 End 14537 Behavior = MissileAIUpdate ModuleTag_07 14538 TryToFollowTarget = Yes 14539 FuelLifetime = 4000 14540 IgnitionDelay = 0 14541 IgnitionFX = FX_TomahawkIgnition 14542 InitialVelocity = 50 ; in dist/sec 14543 DistanceToTravelBeforeTurning = 80 14544 DistanceToTargetBeforeDiving = 100 ; When I hit this close to target, I ignore PreferredHeight. 14545 ; Note, if this is too small, the missile will turn too late to hit. And, since we have a 2D 14546 ; heart, being over the target counts as "there", so we'll give up and just go straight. 14547 14548 DistanceToTargetForLock = 10 ; Short lock on, as it looks better flying. jba. 14549 End 14550 Locomotor = SET_NORMAL TomahawkMissileLocomotor 14551 14552 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 14553 GeometryMajorRadius = 8.0 14554 GeometryHeight = 4.0 14555 GeometryIsSmall = Yes 14556 14557 Shadow = SHADOW_DECAL 14558 End 14559 14560 ;------------------------------------------------------------------------------ 14561 Object NuclearCannonShell 14562 14563 ; *** ART Parameters *** 14564 Draw = W3DModelDraw ModuleTag_01 14565 OkToChangeModelColor = Yes 14566 ConditionState = NONE 14567 Model = NVNUKECN_B 14568 End 14569 End 14570 14571 ; ***DESIGN parameters *** 14572 DisplayName = OBJECT:Missile 14573 EditorSorting = SYSTEM 14574 VisionRange = 0.0 14575 ArmorSet 14576 Conditions = None 14577 Armor = ProjectileArmor 14578 DamageFX = None 14579 End 14580 14581 ; *** ENGINEERING Parameters *** 14582 KindOf = PROJECTILE 14583 Body = ActiveBody ModuleTag_02 14584 MaxHealth = 100.0 14585 InitialHealth = 100.0 14586 End 14587 14588 14589 Behavior = FireWeaponWhenDeadBehavior ModuleTag_03 14590 DeathWeapon = ChinaPowerPlantDeathWeapon 14591 StartsActive = Yes 14592 End 14593 14594 Behavior = HeightDieUpdate ModuleTag_04 14595 TargetHeight = 1.0 14596 TargetHeightIncludesStructures = No 14597 OnlyWhenMovingDown = Yes 14598 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 14599 End 14600 14601 ; ---- begin Projectile death behaviors 14602 Behavior = InstantDeathBehavior DeathModuleTag_01 14603 DeathTypes = NONE +DETONATED 14604 ; we detonated normally. 14605 FX = FX_NukeGLA 14606 End 14607 Behavior = InstantDeathBehavior DeathModuleTag_02 14608 DeathTypes = NONE +LASERED 14609 ; shot down by laser. 14610 FX = FX_GenericMissileDisintegrate 14611 OCL = OCL_GenericMissileDisintegrate 14612 End 14613 Behavior = InstantDeathBehavior DeathModuleTag_03 14614 DeathTypes = ALL -LASERED -DETONATED 14615 ; shot down by nonlaser. 14616 FX = FX_GenericMissileDeath 14617 End 14618 ; ---- end Projectile death behaviors 14619 14620 Behavior = PhysicsBehavior ModuleTag_09 14621 Mass = 1 14622 End 14623 Behavior = MissileAIUpdate ModuleTag_10 14624 TryToFollowTarget = No 14625 FuelLifetime = 4000 14626 IgnitionDelay = 0 14627 IgnitionFX = FX_BuggyMissileIgnition 14628 InitialVelocity = 20 ; in dist/sec 14629 DistanceToTravelBeforeTurning = 40 14630 DistanceToTargetBeforeDiving = 50 ; When I hit this close to target, I ignore PreferredHeight. 14631 ; Note, if this is too small, the missile will turn too late to hit. And, since we have a 2D 14632 ; heart, being over the target counts as "there", so we'll give up and just go straight. 14633 End 14634 Locomotor = SET_NORMAL NuclearCannonShellLocomotor 14635 14636 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 14637 GeometryMajorRadius = 4.0 14638 GeometryHeight = 4.0 14639 GeometryIsSmall = Yes 14640 14641 Shadow = SHADOW_DECAL 14642 End 14643 14644 ;------------------------------------------------------------------------------ 14645 Object StrategyCenterArtilleryShell 14646 14647 ; *** ART Parameters *** 14648 Draw = W3DModelDraw ModuleTag_01 14649 OkToChangeModelColor = Yes 14650 ConditionState = NONE 14651 Model = NVNUKECN_B 14652 14653 End 14654 End 14655 14656 ; ***DESIGN parameters *** 14657 DisplayName = OBJECT:Missile 14658 EditorSorting = SYSTEM 14659 VisionRange = 0.0 14660 ArmorSet 14661 Conditions = None 14662 Armor = ProjectileArmor 14663 DamageFX = None 14664 End 14665 14666 14667 ; *** ENGINEERING Parameters *** 14668 KindOf = PROJECTILE 14669 Body = ActiveBody ModuleTag_02 14670 MaxHealth = 100.0 14671 InitialHealth = 100.0 14672 End 14673 14674 ; ---- begin Projectile death behaviors 14675 Behavior = InstantDeathBehavior DeathModuleTag_01 14676 DeathTypes = NONE +DETONATED 14677 ; we detonated normally. 14678 ; no FX, just quiet destroy ourselves 14679 End 14680 Behavior = InstantDeathBehavior DeathModuleTag_02 14681 DeathTypes = NONE +LASERED 14682 ; shot down by laser. 14683 FX = FX_GenericMissileDisintegrate 14684 OCL = OCL_GenericMissileDisintegrate 14685 End 14686 Behavior = InstantDeathBehavior DeathModuleTag_03 14687 DeathTypes = ALL -LASERED -DETONATED 14688 ; shot down by nonlaser. 14689 FX = FX_GenericMissileDeath 14690 End 14691 ; ---- end Projectile death behaviors 14692 14693 Behavior = PhysicsBehavior ModuleTag_04 14694 Mass = 1 14695 End 14696 Behavior = MissileAIUpdate ModuleTag_05 14697 TryToFollowTarget = No 14698 FuelLifetime = 4000 14699 IgnitionDelay = 0 14700 IgnitionFX = FX_BuggyMissileIgnition 14701 InitialVelocity = 20 ; in dist/sec 14702 DistanceToTravelBeforeTurning = 40 14703 DistanceToTargetBeforeDiving = 50 ; When I hit this close to target, I ignore PreferredHeight. 14704 ; Note, if this is too small, the missile will turn too late to hit. And, since we have a 2D 14705 ; heart, being over the target counts as "there", so we'll give up and just go straight. 14706 End 14707 Locomotor = SET_NORMAL NuclearCannonShellLocomotor 14708 14709 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 14710 GeometryMajorRadius = 4.0 14711 GeometryHeight = 4.0 14712 GeometryIsSmall = Yes 14713 14714 Shadow = SHADOW_DECAL 14715 End 14716 14717 ;------------------------------------------------------------------------------ 14718 Object MissileDefenderMissile 14719 14720 ; *** ART Parameters *** 14721 Draw = W3DModelDraw ModuleTag_01 14722 OkToChangeModelColor = Yes 14723 ConditionState = NONE 14724 Model = ExMsslTm 14725 End 14726 End 14727 14728 ; ***DESIGN parameters *** 14729 DisplayName = OBJECT:RangerTeamMissile 14730 EditorSorting = SYSTEM 14731 VisionRange = 0.0 14732 ArmorSet 14733 Conditions = None 14734 Armor = ProjectileArmor 14735 DamageFX = None 14736 End 14737 14738 ; *** ENGINEERING Parameters *** 14739 KindOf = PROJECTILE SMALL_MISSILE 14740 Body = ActiveBody ModuleTag_02 14741 MaxHealth = 100.0 14742 InitialHealth = 100.0 14743 End 14744 14745 ; ---- begin Projectile death behaviors 14746 Behavior = InstantDeathBehavior DeathModuleTag_01 14747 DeathTypes = NONE +DETONATED 14748 ; we detonated normally. 14749 ; no FX, just quiet destroy ourselves 14750 End 14751 Behavior = InstantDeathBehavior DeathModuleTag_02 14752 DeathTypes = NONE +LASERED 14753 ; shot down by laser. 14754 FX = FX_GenericMissileDisintegrate 14755 OCL = OCL_GenericMissileDisintegrate 14756 End 14757 Behavior = InstantDeathBehavior DeathModuleTag_03 14758 DeathTypes = ALL -LASERED -DETONATED 14759 ; shot down by nonlaser. 14760 FX = FX_GenericMissileDeath 14761 End 14762 ; ---- end Projectile death behaviors 14763 14764 Behavior = PhysicsBehavior ModuleTag_06 14765 Mass = 1 14766 End 14767 Behavior = MissileAIUpdate ModuleTag_07 14768 TryToFollowTarget = Yes;;;;;;;;;No 14769 FuelLifetime = 3000 14770 InitialVelocity = 150 ; in dist/sec 14771 IgnitionDelay = 0 14772 DistanceToTravelBeforeTurning = 3 14773 IgnitionFX = FX_BuggyMissileIgnition 14774 End 14775 Locomotor = SET_NORMAL MissileDefenderMissileLocomotor 14776 Geometry = Sphere 14777 GeometryIsSmall = Yes 14778 GeometryMajorRadius = 2.0 14779 14780 End 14781 14782 ;------------------------------------------------------------------------------ 14783 Object TunnelDefenderMissile 14784 14785 ; *** ART Parameters *** 14786 Draw = W3DModelDraw ModuleTag_01 14787 OkToChangeModelColor = Yes 14788 ConditionState = NONE 14789 Model = EXStinger01 14790 End 14791 End 14792 14793 ; ***DESIGN parameters *** 14794 EditorSorting = SYSTEM 14795 VisionRange = 0.0 14796 ArmorSet 14797 Conditions = None 14798 Armor = ProjectileArmor 14799 DamageFX = None 14800 End 14801 14802 ; *** ENGINEERING Parameters *** 14803 KindOf = PROJECTILE SMALL_MISSILE 14804 Body = ActiveBody ModuleTag_02 14805 MaxHealth = 100.0 14806 InitialHealth = 100.0 14807 End 14808 14809 ; ---- begin Projectile death behaviors 14810 Behavior = InstantDeathBehavior DeathModuleTag_01 14811 DeathTypes = NONE +DETONATED 14812 ; we detonated normally. 14813 ; no FX, just quiet destroy ourselves 14814 End 14815 Behavior = InstantDeathBehavior DeathModuleTag_02 14816 DeathTypes = NONE +LASERED 14817 ; shot down by laser. 14818 FX = FX_GenericMissileDisintegrate 14819 OCL = OCL_GenericMissileDisintegrate 14820 End 14821 Behavior = InstantDeathBehavior DeathModuleTag_03 14822 DeathTypes = ALL -LASERED -DETONATED 14823 ; shot down by nonlaser. 14824 FX = FX_GenericMissileDeath 14825 End 14826 ; ---- end Projectile death behaviors 14827 14828 Behavior = WeaponBonusUpgrade ModuleTag_08 14829 TriggeredBy = Upgrade_GLAAPRockets 14830 End 14831 14832 Behavior = PhysicsBehavior ModuleTag_06 14833 Mass = 1 14834 End 14835 Behavior = MissileAIUpdate ModuleTag_07 14836 TryToFollowTarget = Yes;;;;;;;;;;No 14837 FuelLifetime = 1250 14838 InitialVelocity = 150 ; in dist/sec 14839 IgnitionDelay = 0 14840 DistanceToTravelBeforeTurning = 20 14841 IgnitionFX = FX_BuggyMissileIgnition 14842 End 14843 Locomotor = SET_NORMAL TunnelDefenderMissileLocomotor 14844 14845 Geometry = Sphere 14846 GeometryIsSmall = Yes 14847 GeometryMajorRadius = 2.0 14848 14849 End 14850 14851 ;------------------------------------------------------------------------------ 14852 Object TechnicalRPGMissile 14853 14854 ; *** ART Parameters *** 14855 Draw = W3DModelDraw ModuleTag_01 14856 OkToChangeModelColor = Yes 14857 DefaultConditionState 14858 Model = EXStinger01 14859 End 14860 End 14861 14862 ; ***DESIGN parameters *** 14863 EditorSorting = SYSTEM 14864 VisionRange = 0.0 14865 ArmorSet 14866 Conditions = None 14867 Armor = ProjectileArmor 14868 DamageFX = None 14869 End 14870 14871 ; *** ENGINEERING Parameters *** 14872 KindOf = PROJECTILE SMALL_MISSILE 14873 Body = ActiveBody ModuleTag_02 14874 MaxHealth = 100.0 14875 InitialHealth = 100.0 14876 End 14877 14878 ; ---- begin Projectile death behaviors 14879 Behavior = InstantDeathBehavior DeathModuleTag_01 14880 DeathTypes = NONE +DETONATED 14881 ; we detonated normally. 14882 ; no FX, just quiet destroy ourselves 14883 End 14884 Behavior = InstantDeathBehavior DeathModuleTag_02 14885 DeathTypes = NONE +LASERED 14886 ; shot down by laser. 14887 FX = FX_GenericMissileDisintegrate 14888 OCL = OCL_GenericMissileDisintegrate 14889 End 14890 Behavior = InstantDeathBehavior DeathModuleTag_03 14891 DeathTypes = ALL -LASERED -DETONATED 14892 ; shot down by nonlaser. 14893 FX = FX_GenericMissileDeath 14894 End 14895 ; ---- end Projectile death behaviors 14896 14897 Behavior = PhysicsBehavior ModuleTag_06 14898 Mass = 1 14899 End 14900 Behavior = MissileAIUpdate ModuleTag_07 14901 TryToFollowTarget = Yes 14902 FuelLifetime = 1000 14903 InitialVelocity = 150 ; in dist/sec 14904 IgnitionDelay = 0 14905 DistanceToTravelBeforeTurning = 20 14906 IgnitionFX = FX_BuggyMissileIgnition 14907 End 14908 Locomotor = SET_NORMAL TechnicalRPGMissileLocomotor 14909 14910 Geometry = Sphere 14911 GeometryIsSmall = Yes 14912 GeometryMajorRadius = 2.0 14913 14914 End 14915 14916 ;------------------------------------------------------------------------------ 14917 Object TankHunterMissile 14918 14919 ; *** ART Parameters *** 14920 Draw = W3DModelDraw ModuleTag_01 14921 OkToChangeModelColor = Yes 14922 ConditionState = NONE 14923 Model = EXStinger01 14924 End 14925 End 14926 14927 ; ***DESIGN parameters *** 14928 EditorSorting = SYSTEM 14929 VisionRange = 0.0 14930 ArmorSet 14931 Conditions = None 14932 Armor = ProjectileArmor 14933 DamageFX = None 14934 End 14935 14936 ; *** ENGINEERING Parameters *** 14937 KindOf = PROJECTILE SMALL_MISSILE 14938 Body = ActiveBody ModuleTag_02 14939 MaxHealth = 100.0 14940 InitialHealth = 100.0 14941 End 14942 14943 ; ---- begin Projectile death behaviors 14944 Behavior = InstantDeathBehavior DeathModuleTag_01 14945 DeathTypes = NONE +DETONATED 14946 ; we detonated normally. 14947 ; no FX, just quiet destroy ourselves 14948 End 14949 Behavior = InstantDeathBehavior DeathModuleTag_02 14950 DeathTypes = NONE +LASERED 14951 ; shot down by laser. 14952 FX = FX_GenericMissileDisintegrate 14953 OCL = OCL_GenericMissileDisintegrate 14954 End 14955 Behavior = InstantDeathBehavior DeathModuleTag_03 14956 DeathTypes = ALL -LASERED -DETONATED 14957 ; shot down by nonlaser. 14958 FX = FX_GenericMissileDeath 14959 End 14960 ; ---- end Projectile death behaviors 14961 14962 Behavior = PhysicsBehavior ModuleTag_06 14963 Mass = 1 14964 End 14965 Behavior = MissileAIUpdate ModuleTag_07 14966 TryToFollowTarget = Yes;;;;;;;;;;;;No 14967 FuelLifetime = 1250 14968 InitialVelocity = 150 ; in dist/sec 14969 IgnitionDelay = 0 14970 DistanceToTravelBeforeTurning = 20 14971 IgnitionFX = FX_BuggyMissileIgnition 14972 End 14973 Locomotor = SET_NORMAL TankHunterMissileLocomotor 14974 14975 Geometry = Sphere 14976 GeometryIsSmall = Yes 14977 GeometryMajorRadius = 2.0 14978 14979 End 14980 14981 14982 ;------------------------------------------------------------------------------ 14983 Object GLARocketBuggyFullDebris 14984 14985 ; *** ART Parameters *** 14986 Draw = W3DModelDraw ModuleTag_01 14987 OkToChangeModelColor = Yes 14988 14989 DefaultConditionState 14990 Model = UVRockBug_D1 14991 ShowSubObject = Turret 14992 HideSubObject = TurretUp01 14993 End 14994 14995 ConditionState = WEAPONSET_PLAYER_UPGRADE 14996 ShowSubObject = TurretUp01 14997 HideSubObject = Turret 14998 End 14999 End 15000 15001 ; ***DESIGN parameters *** 15002 DisplayName = OBJECT:RocketBuggyDebris 15003 Side = GLA 15004 EditorSorting = SYSTEM 15005 TransportSlotCount = 0 15006 15007 ; *** AUDIO Parameters *** 15008 ; *** ENGINEERING Parameters *** 15009 RadarPriority = UNIT 15010 KindOf = CAN_CAST_REFLECTIONS 15011 15012 Body = ActiveBody ModuleTag_02 15013 MaxHealth = 1.0 15014 InitialHealth = 1.0 15015 End 15016 15017 Behavior = PhysicsBehavior ModuleTag_03 15018 Mass = 50 15019 AllowBouncing = Yes 15020 End 15021 Behavior = LifetimeUpdate ModuleTag_04 15022 MinLifetime = 0 ; min lifetime in msec 15023 MaxLifetime = 0 ; max lifetime in msec 15024 End 15025 15026 Behavior = WeaponSetUpgrade ModuleTag_05 15027 TriggeredBy = Upgrade_GLABuggyAmmo 15028 End 15029 15030 Behavior = SlowDeathBehavior ModuleTag_06 15031 DestructionDelay = 500 15032 DestructionDelayVariance = 1500 15033 OCL = FINAL OCL_RocketBuggyAirDeath 15034 FX = INITIAL FX_RocketBuggyAirDeathGroundPart 15035 FX = FINAL FX_RocketBuggyAirDeathAirPart ; This happens in the air 15036 End 15037 15038 Geometry = BOX 15039 GeometryMajorRadius = 9.0 15040 GeometryMinorRadius = 6.0 15041 GeometryHeight = 7.5 15042 GeometryIsSmall = Yes 15043 15044 End 15045 15046 ;------------------------------------------------------------------------------ 15047 Object RocketBuggyMissileDebris 15048 15049 ; *** ART Parameters *** 15050 Draw = W3DModelDraw ModuleTag_01 15051 OkToChangeModelColor = Yes 15052 ConditionState = NONE 15053 Model = NVMBuggy_m 15054 End 15055 End 15056 15057 ; ***DESIGN parameters *** 15058 DisplayName = OBJECT:RocketBuggyDebris 15059 EditorSorting = SYSTEM 15060 ArmorSet 15061 Conditions = None 15062 Armor = ProjectileArmor 15063 DamageFX = None 15064 End 15065 15066 ; *** ENGINEERING Parameters *** 15067 Body = ActiveBody ModuleTag_02 15068 MaxHealth = 100.0 15069 InitialHealth = 100.0 15070 End 15071 15072 Behavior = PhysicsBehavior ModuleTag_03 15073 Mass = 3 15074 AllowBouncing = Yes 15075 End 15076 15077 Behavior = LifetimeUpdate ModuleTag_04 15078 MinLifetime = 0 ; min lifetime in msec 15079 MaxLifetime = 0 ; max lifetime in msec 15080 End 15081 Behavior = SlowDeathBehavior ModuleTag_05 15082 DestructionDelay = 500 15083 DestructionDelayVariance = 500 15084 FX = INITIAL FX_BuggyMissileDebris 15085 FX = FINAL WeaponFX_RocketBuggyMissileDetonation 15086 End 15087 15088 Geometry = Sphere 15089 GeometryIsSmall = Yes 15090 GeometryMajorRadius = 2.0 15091 15092 End 15093 15094 ;------------------------------------------------------------------------------ 15095 Object GLAVehicleQuadCannon 15096 15097 ; *** ART Parameters *** 15098 SelectPortrait = SUQuadCannon_L 15099 ButtonImage = SUQuadCannon 15100 15101 UpgradeCameo1 = Upgrade_GLAAPBullets 15102 UpgradeCameo2 = Upgrade_GLAJunkRepair 15103 ;UpgradeCameo3 = XXX 15104 ;UpgradeCameo4 = XXX 15105 ;UpgradeCameo5 = XXX 15106 15107 Draw = W3DTankTruckDraw ModuleTag_01 15108 OkToChangeModelColor = Yes 15109 15110 ConditionState = NONE 15111 Model = UVQuadCann 15112 Turret = TURRET 15113 TurretPitch = TURRETEL 15114 WeaponFireFXBone = PRIMARY BarrelMS 15115 WeaponMuzzleFlash = PRIMARY BarrelFX 15116 WeaponRecoilBone = PRIMARY Barrel 15117 WeaponFireFXBone = SECONDARY BarrelMS 15118 WeaponMuzzleFlash = SECONDARY BarrelFX 15119 WeaponRecoilBone = SECONDARY Barrel 15120 ShowSubObject = TURRET 15121 HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash 15122 End 15123 15124 ConditionState = REALLYDAMAGED 15125 Model = UVQuadCann_D 15126 Turret = TURRET 15127 TurretPitch = TURRETEL 15128 WeaponFireFXBone = PRIMARY BarrelMS 15129 WeaponMuzzleFlash = PRIMARY BarrelFX 15130 WeaponRecoilBone = PRIMARY Barrel 15131 WeaponFireFXBone = SECONDARY BarrelMS 15132 WeaponMuzzleFlash = SECONDARY BarrelFX 15133 WeaponRecoilBone = SECONDARY Barrel 15134 ShowSubObject = TURRET 15135 HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 15136 End 15137 15138 ConditionState = RUBBLE 15139 Model = UVQuadCann_D 15140 Turret = TURRET 15141 TurretPitch = TURRETEL 15142 WeaponFireFXBone = PRIMARY BarrelMS 15143 WeaponMuzzleFlash = PRIMARY BarrelFX 15144 WeaponRecoilBone = PRIMARY Barrel 15145 WeaponFireFXBone = SECONDARY BarrelMS 15146 WeaponMuzzleFlash = SECONDARY BarrelFX 15147 WeaponRecoilBone = SECONDARY Barrel 15148 ShowSubObject = TURRET 15149 HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 15150 End 15151 15152 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 15153 Model = UVQuadCann 15154 Turret = TURRETUP01 15155 TurretPitch = TURRETEL01 15156 WeaponFireFXBone = PRIMARY BarrelUp01MS 15157 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 15158 WeaponRecoilBone = PRIMARY BarrelUp01 15159 WeaponFireFXBone = SECONDARY BarrelUp01MS 15160 WeaponMuzzleFlash = SECONDARY BarrelUp01FX 15161 WeaponRecoilBone = SECONDARY BarrelUp01 15162 ShowSubObject = TURRETUP01 15163 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 15164 End 15165 15166 ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED 15167 Model = UVQuadCann 15168 Turret = TURRETUP01 15169 TurretPitch = TURRETEL01 15170 WeaponFireFXBone = PRIMARY BarrelUp01MS 15171 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 15172 WeaponRecoilBone = PRIMARY BarrelUp01 15173 WeaponFireFXBone = SECONDARY BarrelUp01MS 15174 WeaponMuzzleFlash = SECONDARY BarrelUp01FX 15175 WeaponRecoilBone = SECONDARY BarrelUp01 15176 ShowSubObject = TURRETUP01 15177 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 15178 End 15179 15180 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE 15181 Model = UVQuadCann 15182 Turret = TURRETUP01 15183 TurretPitch = TURRETEL01 15184 WeaponFireFXBone = PRIMARY BarrelUp01MS 15185 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 15186 WeaponRecoilBone = PRIMARY BarrelUp01 15187 WeaponFireFXBone = SECONDARY BarrelUp01MS 15188 WeaponMuzzleFlash = SECONDARY BarrelUp01FX 15189 WeaponRecoilBone = SECONDARY BarrelUp01 15190 ShowSubObject = TURRETUP01 15191 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 15192 End 15193 15194 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 15195 Model = UVQuadCann 15196 Turret = TURRETUP02 15197 TurretPitch = TURRETEL02 15198 WeaponFireFXBone = PRIMARY BarrelUp02MS 15199 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 15200 WeaponRecoilBone = PRIMARY BarrelUp02 15201 WeaponFireFXBone = SECONDARY BarrelUp02MS 15202 WeaponMuzzleFlash = SECONDARY BarrelUp02FX 15203 WeaponRecoilBone = SECONDARY BarrelUp02 15204 ShowSubObject = TURRETUP02 15205 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 15206 End 15207 15208 ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED 15209 Model = UVQuadCann_D 15210 Turret = TURRETUP02 15211 TurretPitch = TURRETEL02 15212 WeaponFireFXBone = PRIMARY BarrelUp02MS 15213 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 15214 WeaponRecoilBone = PRIMARY BarrelUp02 15215 WeaponFireFXBone = SECONDARY BarrelUp02MS 15216 WeaponMuzzleFlash = SECONDARY BarrelUp02FX 15217 WeaponRecoilBone = SECONDARY BarrelUp02 15218 ShowSubObject = TURRETUP02 15219 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 15220 End 15221 15222 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE 15223 Model = UVQuadCann_D 15224 Turret = TURRETUP02 15225 TurretPitch = TURRETEL02 15226 WeaponFireFXBone = PRIMARY BarrelUp02MS 15227 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 15228 WeaponRecoilBone = PRIMARY BarrelUp02 15229 WeaponFireFXBone = SECONDARY BarrelUp02MS 15230 WeaponMuzzleFlash = SECONDARY BarrelUp02FX 15231 WeaponRecoilBone = SECONDARY BarrelUp02 15232 ShowSubObject = TURRETUP02 15233 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 15234 End 15235 15236 TrackMarks = EXTnkTrack.tga 15237 15238 TreadAnimationRate = 2.0; amount of tread texture to move per second 15239 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 15240 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 15241 15242 Dust = RocketBuggyDust 15243 DirtSpray = RocketBuggyDirtSpray 15244 15245 ; These parameters are only used if the model has a separate suspension, 15246 ; and the locomotor has HasSuspension = Yes. 15247 LeftFrontTireBone = Tire01 15248 RightFrontTireBone = Tire02 15249 TireRotationMultiplier = 0.2 ; this * speed = rotation. 15250 PowerslideRotationAddition = 0 ; This unit doesn't powerslide. 15251 End 15252 15253 ; ***DESIGN parameters *** 15254 DisplayName = OBJECT:QuadCannon 15255 Side = GLA 15256 EditorSorting = VEHICLE 15257 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 15258 WeaponSet 15259 Conditions = None 15260 Weapon = PRIMARY QuadCannonGun 15261 Weapon = SECONDARY QuadCannonGunAir 15262 End 15263 WeaponSet 15264 Conditions = CRATEUPGRADE_ONE 15265 Weapon = PRIMARY QuadCannonGunUpgradeOne 15266 Weapon = SECONDARY QuadCannonGunUpgradeOneAir 15267 End 15268 WeaponSet 15269 Conditions = CRATEUPGRADE_TWO 15270 Weapon = PRIMARY QuadCannonGunUpgradeTwo 15271 Weapon = SECONDARY QuadCannonGunUpgradeTwoAir 15272 End 15273 ArmorSet 15274 Conditions = None 15275 Armor = AntiAirVehicle 15276 DamageFX = TankDamageFX 15277 End 15278 BuildCost = 700 15279 BuildTime = 10.0 ;in seconds 15280 VisionRange = 150 15281 ShroudClearingRange = 300 15282 Prerequisites 15283 Object = GLAArmsDealer 15284 End 15285 15286 CommandSet = GLAVehicleQuadCannon 15287 15288 ExperienceValue = 50 50 100 150 ;Experience point value at each level 15289 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 15290 IsTrainable = Yes ;Can gain experience 15291 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 15292 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 15293 15294 ; *** AUDIO Parameters *** 15295 VoiceSelect = QuadCannonVoiceSelect 15296 VoiceMove = QuadCannonVoiceMove 15297 VoiceAttack = QuadCannonVoiceAttack 15298 VoiceAttackAir = QuadCannonVoiceAttackAir 15299 SoundMoveStart = QuadCannonMoveStart 15300 SoundMoveStartDamaged = QuadCannonMoveStart 15301 VoiceGuard = QuadCannonVoiceMove 15302 UnitSpecificSounds 15303 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 15304 VoiceCreate = QuadCannonVoiceCreate 15305 TurretMoveStart = NoSound 15306 TurretMoveLoop = TurretMoveLoop 15307 ; Required for the W3DTruckDraw module 15308 TruckLandingSound = NoSound 15309 TruckPowerslideSound = NoSound 15310 VoiceSalvage = QuadCannonVoiceSalvage 15311 VoiceCrush = QuadCannonVoiceCrush 15312 VoiceEnter = QuadCannonVoiceMove 15313 End 15314 15315 Behavior = AIUpdateInterface ModuleTag_20 15316 AutoAcquireEnemiesWhenIdle = Yes 15317 MoodAttackCheckRate = 250 15318 End 15319 15320 ; *** ENGINEERING Parameters *** 15321 RadarPriority = UNIT 15322 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE 15323 15324 Body = ActiveBody ModuleTag_02 15325 MaxHealth = 220.0 15326 InitialHealth = 220.0 15327 End 15328 15329 Behavior = AIUpdateInterface ModuleTag_03 15330 Turret 15331 TurretTurnRate = 360 15332 TurretPitchRate = 360 15333 AllowsPitch = Yes 15334 ControlledWeaponSlots = PRIMARY SECONDARY 15335 End 15336 AutoAcquireEnemiesWhenIdle = Yes 15337 End 15338 15339 Locomotor = SET_NORMAL QuadCannonLocomotor 15340 15341 Behavior = PhysicsBehavior ModuleTag_04 15342 Mass = 40.0 15343 End 15344 15345 ; Catch fire, and explode death 15346 Behavior = SlowDeathBehavior ModuleTag_05 15347 DeathTypes = ALL -CRUSHED -SPLATTED 15348 ProbabilityModifier = 411 15349 DestructionDelay = 150 15350 DestructionDelayVariance = 250 15351 OCL = FINAL OCL_QuadCannonDeathEffect 15352 FX = FINAL FX_BattleMasterExplosionOneFinal 15353 End 15354 15355 Behavior = AutoHealBehavior ModuleTag_06 15356 HealingAmount = 2 15357 HealingDelay = 1000 ; msec 15358 TriggeredBy = Upgrade_GLAJunkRepair 15359 End 15360 15361 Behavior = FlammableUpdate ModuleTag_08 15362 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 15363 AflameDamageAmount = 3 ; taking this much damage... 15364 AflameDamageDelay = 500 ; this often. 15365 End 15366 15367 Behavior = TransitionDamageFX ModuleTag_09 15368 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 15369 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 15370 End 15371 15372 15373 ; A crushing defeat 15374 Behavior = FXListDie ModuleTag_10 15375 DeathTypes = NONE +CRUSHED +SPLATTED 15376 DeathFX = FX_CarCrush 15377 End 15378 15379 Behavior = CreateCrateDie ModuleTag_11 15380 CrateData = SalvageCrateData 15381 ;CrateData = EliteTankCrateData 15382 ;CrateData = HeroicTankCrateData 15383 End 15384 15385 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 15386 DetectionRate = 500 15387 DetectionRange = 75 15388 CanDetectWhileGarrisoned = No 15389 CanDetectWhileContained = No 15390 ExtraRequiredKindOf = BOAT 15391 End 15392 15393 Behavior = WeaponBonusUpgrade ModuleTag_12 15394 TriggeredBy = Upgrade_GLAAPBullets 15395 End 15396 15397 Behavior = DestroyDie ModuleTag_13 15398 DeathTypes = NONE +CRUSHED +SPLATTED 15399 End 15400 15401 Geometry = BOX 15402 GeometryMajorRadius = 18.0 15403 GeometryMinorRadius = 7.0 15404 GeometryHeight = 11.5 15405 GeometryIsSmall = No 15406 Shadow = SHADOW_VOLUME 15407 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 15408 15409 End 15410 15411 ;------------------------------------------------------------------------------ 15412 ;Also called Toxin Tractor && ToxinTractor 15413 Object GLAVehicleToxinTruck 15414 15415 ; *** ART Parameters *** 15416 SelectPortrait = SUToxinTractor_L 15417 ButtonImage = SUToxinTractor 15418 15419 UpgradeCameo1 = Upgrade_GLAAnthraxBeta 15420 UpgradeCameo2 = Upgrade_GLAJunkRepair 15421 ;UpgradeCameo3 = NONE 15422 ;UpgradeCameo4 = NONE 15423 ;UpgradeCameo5 = NONE 15424 15425 Draw = W3DTruckDraw ModuleTag_01 15426 OkToChangeModelColor = Yes 15427 DefaultConditionState 15428 Model = UVToxinTrk 15429 Turret = Turret 15430 TurretPitch = TurretEL 15431 WeaponFireFXBone = PRIMARY WeaponA 15432 WeaponLaunchBone = PRIMARY WeaponA 15433 WeaponFireFXBone = SECONDARY Spigot 15434 WeaponLaunchBone = SECONDARY Spigot 15435 End 15436 AliasConditionState WEAPONSET_PLAYER_UPGRADE 15437 ConditionState = USING_WEAPON_B 15438 Model = UVToxinTrk 15439 ParticleSysBone = none ToxinPuddleContinuous 15440 END 15441 ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE 15442 Model = UVToxinTrk 15443 ParticleSysBone = none AnthraxPuddleContinuous 15444 END 15445 15446 ConditionState = REALLYDAMAGED 15447 Model = UVToxinTrk_D 15448 End 15449 AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE 15450 ConditionState = USING_WEAPON_B REALLYDAMAGED 15451 Model = UVToxinTrk_D 15452 ParticleSysBone = none ToxinPuddleContinuous 15453 END 15454 ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE 15455 Model = UVToxinTrk_D 15456 ParticleSysBone = none AnthraxPuddleContinuous 15457 END 15458 15459 ConditionState = RUBBLE 15460 Model = UVToxinTrk_D 15461 End 15462 AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE 15463 15464 TrackMarks = EXTireTrack.tga 15465 LeftFrontTireBone = Tire01 15466 RightFrontTireBone = Tire02 15467 LeftRearTireBone = Tire03 15468 15469 RightRearTireBone = Tire04 15470 TireRotationMultiplier = 0.2 ; this * speed = rotation. 15471 PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. 15472 15473 Dust = RocketBuggyDust 15474 DirtSpray = RocketBuggyDirtSpray 15475 15476 End 15477 15478 ; ***DESIGN parameters *** 15479 DisplayName = OBJECT:ToxinTruck 15480 Side = GLA 15481 EditorSorting = VEHICLE 15482 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 15483 WeaponSet 15484 Conditions = None 15485 Weapon = PRIMARY ToxinTruckGun 15486 Weapon = SECONDARY ToxinTruckSprayer 15487 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 15488 AutoChooseSources = SECONDARY NONE ;Special attack only 15489 End 15490 WeaponSet 15491 Conditions = PLAYER_UPGRADE 15492 Weapon = PRIMARY ToxinTruckGunUpgraded 15493 Weapon = SECONDARY ToxinTruckSprayerUpgraded 15494 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 15495 AutoChooseSources = SECONDARY NONE ;Special attack only 15496 End 15497 ArmorSet 15498 Conditions = None 15499 Armor = ToxinTruckArmor 15500 DamageFX = TruckDamageFX 15501 End 15502 BuildCost = 600 15503 BuildTime = 5.0 ;in seconds 15504 VisionRange = 100 15505 ShroudClearingRange = 200 15506 Prerequisites 15507 Object = GLAArmsDealer 15508 End 15509 15510 ExperienceValue = 50 50 100 150 ;Experience point value at each level 15511 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 15512 IsTrainable = Yes ;Can gain experience 15513 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 15514 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 15515 CommandSet = GLAVehicleToxinTruckCommandSet 15516 15517 ; *** AUDIO Parameters *** 15518 VoiceSelect = ToxinTractorVoiceSelect 15519 VoiceMove = ToxinTractorVoiceMove 15520 VoiceGuard = ToxinTractorVoiceMove 15521 VoiceAttack = ToxinTractorVoiceAttack 15522 SoundMoveStart = ToxinTractorMoveStart 15523 SoundMoveStartDamaged = ToxinTractorMoveStart 15524 SoundDie = ToxinTractorDie 15525 15526 UnitSpecificSounds 15527 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 15528 VoiceCreate = ToxinTractorVoiceCreate 15529 TurretMoveStart = NoSound 15530 TurretMoveLoop = TurretMoveLoop 15531 TruckLandingSound = NoSound 15532 TruckPowerslideSound = NoSound 15533 VoiceCrush = ToxinTractorVoiceCrush 15534 VoiceEnter = ToxinTractorVoiceMove 15535 VoicePoisonLocation = ToxinTractorVoiceAttackContam 15536 15537 End 15538 15539 ; *** ENGINEERING Parameters *** 15540 RadarPriority = UNIT 15541 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 15542 15543 Body = ActiveBody ModuleTag_02 15544 MaxHealth = 240.0 15545 InitialHealth = 240.0 15546 End 15547 15548 Behavior = AIUpdateInterface ModuleTag_03 15549 AutoAcquireEnemiesWhenIdle = Yes 15550 Turret 15551 TurretTurnRate = 180 15552 TurretPitchRate = 180 15553 AllowsPitch = Yes 15554 MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) 15555 TurretFireAngleSweep = PRIMARY 8 15556 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn 15557 ControlledWeaponSlots = PRIMARY 15558 End 15559 End 15560 Locomotor = SET_NORMAL ToxinTruckLocomotor 15561 Behavior = PhysicsBehavior ModuleTag_04 15562 Mass = 10.0 15563 End 15564 15565 Behavior = SlowDeathBehavior ModuleTag_05 15566 DeathTypes = ALL -CRUSHED -SPLATTED 15567 ProbabilityModifier = 5 15568 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 15569 DestructionDelay = 0 15570 DestructionDelayVariance = 200 15571 OCL = INITIAL OCL_ToxinTractorDeathEffect 15572 ;FX = FINAL FX_ToxinTruckExplosionOneFinal 15573 End 15574 15575 Behavior = InstantDeathBehavior ModuleTag_06 15576 DeathTypes = NONE +CRUSHED +SPLATTED 15577 FX = FX_CarCrush 15578 OCL = OCL_CrusaderTank_CrushEffect 15579 End 15580 15581 Behavior = CreateCrateDie ModuleTag_07 15582 CrateData = SalvageCrateData 15583 ;CrateData = EliteTankCrateData 15584 ;CrateData = HeroicTankCrateData 15585 End 15586 15587 Behavior = WeaponSetUpgrade ModuleTag_08 15588 ; the Toxin Tractor gets this upgrade if we either buy the upgrade, 15589 ; or if it gets HEROIC status 15590 TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC 15591 End 15592 15593 Behavior = TransitionDamageFX ModuleTag_11 15594 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 15595 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 15596 End 15597 15598 Behavior = AutoHealBehavior ModuleTag_12 15599 HealingAmount = 2 15600 HealingDelay = 1000 ; msec 15601 TriggeredBy = Upgrade_GLAJunkRepair 15602 End 15603 15604 Behavior = FlammableUpdate ModuleTag_21 15605 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 15606 AflameDamageAmount = 3 ; taking this much damage... 15607 AflameDamageDelay = 500 ; this often. 15608 End 15609 15610 Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_13 15611 WeaponSlot = SECONDARY 15612 ConflictsWith = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC 15613 OCL = OCL_PoisonFieldMedium 15614 MinShotsToCreateOCL = 4 15615 OCLLifetimePerSecond = 10000 15616 OCLLifetimeMaxCap = 180000 15617 End 15618 Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_14 15619 WeaponSlot = SECONDARY 15620 TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC 15621 OCL = OCL_PoisonFieldUpgradedMedium 15622 MinShotsToCreateOCL = 4 15623 OCLLifetimePerSecond = 10000 15624 OCLLifetimeMaxCap = 180000 15625 End 15626 15627 Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 ;These two make the right damage field at death 15628 DeathWeapon = ToxinTractorExplosionEffect 15629 StartsActive = Yes 15630 ConflictsWith = Upgrade_GLAAnthraxBeta 15631 End 15632 Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 15633 DeathWeapon = ToxinTractorExplosionEffectUpgraded 15634 StartsActive = No 15635 TriggeredBy = Upgrade_GLAAnthraxBeta 15636 End 15637 15638 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 15639 DetectionRate = 500 15640 DetectionRange = 75 15641 CanDetectWhileGarrisoned = No 15642 CanDetectWhileContained = No 15643 ExtraRequiredKindOf = BOAT 15644 End 15645 15646 Geometry = BOX 15647 GeometryMajorRadius = 13.0 15648 GeometryMinorRadius = 9.0 15649 GeometryHeight = 10.0 ; set to make the projectile stream look right 15650 GeometryIsSmall = Yes 15651 Shadow = SHADOW_VOLUME 15652 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 15653 15654 End 15655 15656 ;------------------------------------------------------------------------------ 15657 Object ToxinTruckStreamProjectile 15658 15659 ; Explanation - Particles can't do damage, so this is a fast shooting low 15660 ; damage invisible missile launcher with a toxin trail for exhaust 15661 15662 ; *** ART Parameters *** 15663 Draw = W3DModelDraw ModuleTag_01 15664 DefaultConditionState 15665 Model = NONE 15666 End 15667 End 15668 ; Must have a draw module to be allowed to draw detonation FX 15669 15670 ; ***DESIGN parameters *** 15671 EditorSorting = SYSTEM 15672 VisionRange = 0.0 15673 ArmorSet 15674 Conditions = None 15675 Armor = ProjectileArmor 15676 DamageFX = None 15677 End 15678 15679 ; *** ENGINEERING Parameters *** 15680 KindOf = PROJECTILE 15681 Body = ActiveBody ModuleTag_02 15682 MaxHealth = 100.0 15683 InitialHealth = 100.0 15684 End 15685 15686 Behavior = DestroyDie ModuleTag_03 15687 ;nothing 15688 End 15689 15690 Behavior = PhysicsBehavior ModuleTag_04 15691 Mass = 1 15692 AllowCollideForce = No ; toxins collide, but never apply forces when they do so 15693 End 15694 15695 Behavior = MissileAIUpdate ModuleTag_05 15696 TryToFollowTarget = No 15697 FuelLifetime = 500 15698 InitialVelocity = 120 ; in dist/sec 15699 IgnitionDelay = 0 15700 DistanceToTravelBeforeTurning = 2 15701 GarrisonHitKillRequiredKindOf = INFANTRY 15702 GarrisonHitKillForbiddenKindOf = NONE 15703 GarrisonHitKillCount = 2 15704 GarrisonHitKillFX = FX_ToxinStreamGarrisonBuildingHit 15705 End 15706 15707 Locomotor = SET_NORMAL ToxinTruckStreamLocomotor 15708 15709 Behavior = BoneFXUpdate ModuleTag_06 15710 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:ToxinTrail01 ; Covers gap at beginning of line 15711 End 15712 15713 Behavior = BoneFXDamage ModuleTag_07 15714 ;nothing 15715 End 15716 15717 Geometry = Sphere 15718 GeometryIsSmall = Yes 15719 GeometryMajorRadius = 2.0 15720 15721 End 15722 15723 ;------------------------------------------------------------------------------ 15724 Object ToxinTruckStreamProjectileUpgraded 15725 15726 ; Explanation - Particles can't do damage, so this is a fast shooting low 15727 ; damage invisible missile launcher with a toxin trail for exhaust 15728 15729 ; *** ART Parameters *** 15730 Draw = W3DModelDraw ModuleTag_01 15731 DefaultConditionState 15732 Model = NONE 15733 End 15734 End 15735 ; Must have a draw module to be allowed to draw detonation FX 15736 15737 ; ***DESIGN parameters *** 15738 EditorSorting = SYSTEM 15739 VisionRange = 0.0 15740 ArmorSet 15741 Conditions = None 15742 Armor = ProjectileArmor 15743 DamageFX = None 15744 End 15745 15746 ; *** ENGINEERING Parameters *** 15747 KindOf = PROJECTILE 15748 Body = ActiveBody ModuleTag_02 15749 MaxHealth = 100.0 15750 InitialHealth = 100.0 15751 End 15752 15753 Behavior = DestroyDie ModuleTag_03 15754 ;nothing 15755 End 15756 15757 Behavior = PhysicsBehavior ModuleTag_04 15758 Mass = 1 15759 AllowCollideForce = No ; flames collide, but never apply forces when they do so 15760 End 15761 15762 Behavior = MissileAIUpdate ModuleTag_05 15763 TryToFollowTarget = No 15764 FuelLifetime = 500 15765 InitialVelocity = 120 ; in dist/sec 15766 IgnitionDelay = 0 15767 DistanceToTravelBeforeTurning = 2 15768 GarrisonHitKillRequiredKindOf = INFANTRY 15769 GarrisonHitKillForbiddenKindOf = NONE 15770 GarrisonHitKillCount = 2 15771 GarrisonHitKillFX = FX_ToxinStreamUpgradedGarrisonBuildingHit 15772 End 15773 Locomotor = SET_NORMAL ToxinTruckStreamLocomotor 15774 15775 Behavior = BoneFXUpdate ModuleTag_06 15776 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:AnthraxTrail01 ; Covers gap at beginning of line 15777 End 15778 15779 Behavior = BoneFXDamage ModuleTag_07 15780 ;nothing 15781 End 15782 15783 Geometry = Sphere 15784 GeometryIsSmall = Yes 15785 GeometryMajorRadius = 2.0 15786 15787 End 15788 15789 ;------------------------------------------------------------------------------ 15790 Object ToxinTruckProjectileStream 15791 15792 ; *** ART Parameters *** 15793 Draw = W3DProjectileStreamDraw ModuleTag_01 15794 Texture = EXToxinStream.tga 15795 Width = 1.5 15796 TileFactor = 2.0 ; put the texture on the line segment this many times 15797 ScrollRate = 6.0; scroll the texture offset this fast 15798 MaxSegments = 14 ; only play the first X if there are a ton of them. 0 means play all 15799 End 15800 15801 ; *** ENGINEERING Parameters *** 15802 KindOf = INERT 15803 Behavior = ProjectileStreamUpdate ModuleTag_02 15804 ;nothing 15805 End 15806 15807 End 15808 15809 15810 ;------------------------------------------------------------------------------ 15811 Object ToxinTruckProjectileStreamUpgraded 15812 15813 ; *** ART Parameters *** 15814 Draw = W3DProjectileStreamDraw ModuleTag_01 15815 Texture = EXAnthraxStream.tga 15816 Width = 1.5 15817 TileFactor = 2.0 ; put the texture on the line segment this many times 15818 ScrollRate = 6.0; scroll the texture offset this fast 15819 MaxSegments = 14 ; only play the first X if there are a ton of them. 0 means play all 15820 End 15821 15822 ; *** ENGINEERING Parameters *** 15823 KindOf = INERT 15824 Behavior = ProjectileStreamUpdate ModuleTag_02 15825 ;nothing 15826 End 15827 15828 End 15829 15830 ;------------------------------------------------------------------------------ 15831 Object ToxinTruckSprayProjectile 15832 15833 ; Explanation - Particles can't do damage, so this is a fast shooting low 15834 ; damage invisible missile launcher with a flame trail for exhaust 15835 15836 ; *** ART Parameters *** 15837 Draw = W3DModelDraw ModuleTag_01 15838 DefaultConditionState 15839 Model = NONE 15840 End 15841 End 15842 ; Must have a draw module to be allowed to draw detonation FX 15843 15844 ; ***DESIGN parameters *** 15845 EditorSorting = SYSTEM 15846 VisionRange = 0.0 15847 ArmorSet 15848 Conditions = None 15849 Armor = ProjectileArmor 15850 DamageFX = None 15851 End 15852 15853 ; *** ENGINEERING Parameters *** 15854 KindOf = PROJECTILE 15855 Body = ActiveBody ModuleTag_02 15856 MaxHealth = 100.0 15857 InitialHealth = 100.0 15858 End 15859 15860 Behavior = DestroyDie ModuleTag_03 15861 ;nothing 15862 End 15863 15864 Behavior = PhysicsBehavior ModuleTag_04 15865 Mass = 50 15866 AllowCollideForce = No ; flames collide, but never apply forces when they do so 15867 End 15868 15869 Behavior = MissileAIUpdate ModuleTag_05 15870 TryToFollowTarget = No 15871 FuelLifetime = 1 15872 InitialVelocity = 1 ; in dist/sec 15873 IgnitionDelay = 0 15874 DistanceToTravelBeforeTurning = 0 15875 DistanceToTargetForLock = 0 ; If it gets within 100 of the target, it kills the target. 15876 15877 End 15878 15879 Locomotor = SET_NORMAL ToxinTruckDribbleLocomotor 15880 15881 Geometry = Sphere 15882 GeometryIsSmall = Yes 15883 GeometryMajorRadius = 2.0 15884 15885 End 15886 15887 ;------------------------------------------------------------------------------ 15888 Object CleanupHazardProjectileStream 15889 15890 ; *** ART Parameters *** 15891 Draw = W3DProjectileStreamDraw ModuleTag_01 15892 Texture = EXCleanupStream.tga 15893 Width = 1.5 15894 TileFactor = 2.0 ; put the texture on the line segment this many times 15895 ScrollRate = 6.0; scroll the texture offset this fast 15896 MaxSegments = 14 ; only play the first X if there are a ton of them. 0 means play all 15897 End 15898 15899 ; *** ENGINEERING Parameters *** 15900 KindOf = INERT 15901 Behavior = ProjectileStreamUpdate ModuleTag_02 15902 ;nothing 15903 End 15904 15905 End 15906 15907 ;------------------------------------------------------------------------------ 15908 Object CleanupStreamProjectile 15909 15910 ; Explanation - Particles can't do damage, so this is a fast shooting low 15911 ; damage invisible missile launcher with a flame trail for exhaust 15912 15913 ; *** ART Parameters *** 15914 Draw = W3DModelDraw ModuleTag_01 15915 DefaultConditionState 15916 Model = NONE 15917 End 15918 End 15919 ; Must have a draw module to be allowed to draw detonation FX 15920 15921 ; ***DESIGN parameters *** 15922 EditorSorting = SYSTEM 15923 VisionRange = 0.0 15924 ArmorSet 15925 Conditions = None 15926 Armor = ProjectileArmor 15927 DamageFX = None 15928 End 15929 15930 ; *** ENGINEERING Parameters *** 15931 KindOf = PROJECTILE 15932 Body = ActiveBody ModuleTag_02 15933 MaxHealth = 100.0 15934 InitialHealth = 100.0 15935 End 15936 15937 Behavior = DestroyDie ModuleTag_03 15938 ;nothing 15939 End 15940 15941 Behavior = PhysicsBehavior ModuleTag_04 15942 Mass = 1 15943 AllowCollideForce = No ; flames collide, but never apply forces when they do so 15944 End 15945 15946 Behavior = MissileAIUpdate ModuleTag_05 15947 TryToFollowTarget = No 15948 FuelLifetime = 600 15949 InitialVelocity = 120 ; in dist/sec 15950 IgnitionDelay = 0 15951 DistanceToTravelBeforeTurning = 2 15952 End 15953 15954 Locomotor = SET_NORMAL ToxinTruckStreamLocomotor 15955 15956 Behavior = BoneFXUpdate ModuleTag_06 15957 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:CleanupTrail01 ; Covers gap at beginning of line 15958 End 15959 15960 Behavior = BoneFXDamage ModuleTag_07 15961 ;nothing 15962 End 15963 15964 Geometry = Sphere 15965 GeometryIsSmall = Yes 15966 GeometryMajorRadius = 2.0 15967 15968 End 15969 15970 ;------------------------------------------------------------------------------ 15971 Object BioHazardCleanupStreamProjectile 15972 15973 ; Explanation - Particles can't do damage, so this is a fast shooting low 15974 ; damage invisible missile launcher with a flame trail for exhaust 15975 15976 ; *** ART Parameters *** 15977 Draw = W3DModelDraw ModuleTag_01 15978 DefaultConditionState 15979 Model = NONE 15980 End 15981 End 15982 ; Must have a draw module to be allowed to draw detonation FX 15983 15984 ; ***DESIGN parameters *** 15985 EditorSorting = SYSTEM 15986 VisionRange = 0.0 15987 ArmorSet 15988 Conditions = None 15989 Armor = ProjectileArmor 15990 DamageFX = None 15991 End 15992 15993 ; *** ENGINEERING Parameters *** 15994 KindOf = PROJECTILE 15995 Body = ActiveBody ModuleTag_02 15996 MaxHealth = 100.0 15997 InitialHealth = 100.0 15998 End 15999 16000 Behavior = DestroyDie ModuleTag_03 16001 ;nothing 16002 End 16003 16004 Behavior = PhysicsBehavior ModuleTag_04 16005 Mass = 1 16006 AllowCollideForce = No ; flames collide, but never apply forces when they do so 16007 End 16008 16009 Behavior = MissileAIUpdate ModuleTag_05 16010 TryToFollowTarget = No 16011 FuelLifetime = 500 16012 InitialVelocity = 120 ; in dist/sec 16013 IgnitionDelay = 0 16014 DistanceToTravelBeforeTurning = 2 16015 ;GarrisonHitKillRequiredKindOf = INFANTRY 16016 ;GarrisonHitKillForbiddenKindOf = NONE 16017 ;GarrisonHitKillCount = 2 16018 ;GarrisonHitKillFX = FX_ToxinStreamGarrisonBuildingHit 16019 End 16020 16021 Locomotor = SET_NORMAL FasterToxinTruckStreamLocomotor 16022 16023 16024 Behavior = BoneFXUpdate ModuleTag_06 16025 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:CleanupTrail01 ; Covers gap at beginning of line 16026 End 16027 16028 Behavior = BoneFXDamage ModuleTag_07 16029 ;nothing 16030 End 16031 16032 Geometry = Sphere 16033 GeometryIsSmall = Yes 16034 GeometryMajorRadius = 2.0 16035 End 16036 16037 16038 ;------------------------------------------------------------------------------ 16039 Object GLAVehicleBombTruck 16040 16041 ; *** ART Parameters *** 16042 SelectPortrait = SUBombTruck_L 16043 ButtonImage = SUBombTruck 16044 16045 UpgradeCameo1 = Upgrade_GLABombTruckHighExplosiveBomb 16046 UpgradeCameo2 = Upgrade_GLABombTruckBioBomb 16047 UpgradeCameo3 = Upgrade_GLABombTruckNukeWarhead 16048 UpgradeCameo4 = Upgrade_GLAJunkRepair 16049 ;UpgradeCameo5 = NONE 16050 16051 16052 Draw = W3DTruckDraw ModuleTag_01 16053 OkToChangeModelColor = Yes 16054 TrackMarks = EXTireTrack.tga 16055 16056 DefaultConditionState 16057 Model = UVBMBTRUK 16058 Animation = UVBMBTRUK.UVBMBTRUK 16059 AnimationMode = LOOP 16060 16061 ;Display the default bombload -- and the upgrades will handle the rest! 16062 HideSubObject = Bombload02 Bombload03 Bombload04 16063 End 16064 16065 ConditionState = REALLYDAMAGED 16066 Model = UVBMBTRUK_D 16067 Animation = UVBMBTRUK_D.UVBMBTRUK_D 16068 AnimationMode = LOOP 16069 End 16070 16071 ConditionState = RUBBLE 16072 Model = UVBMBTRUK_D 16073 End 16074 16075 LeftFrontTireBone = Tire01 16076 RightFrontTireBone = Tire02 16077 MidLeftFrontTireBone = Tire03 16078 MidRightFrontTireBone = Tire04 16079 LeftRearTireBone = Tire05 16080 RightRearTireBone = Tire06 16081 TireRotationMultiplier = 0.2 ; this * speed = rotation. 16082 16083 Dust = RocketBuggyDust 16084 DirtSpray = RocketBuggyDirtSpray 16085 PowerslideSpray = RocketBuggyDirtPowerSlide 16086 16087 End 16088 16089 ; ***DESIGN parameters *** 16090 DisplayName = OBJECT:BombTruck 16091 Side = GLA 16092 EditorSorting = VEHICLE 16093 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 16094 WeaponSet 16095 Conditions = None 16096 Weapon = PRIMARY SuicideWeapon 16097 End 16098 ArmorSet 16099 Conditions = None 16100 Armor = TruckArmor 16101 DamageFX = TruckDamageFX 16102 End 16103 BuildCost = 1200 16104 BuildTime = 15.0 ;in seconds 16105 VisionRange = 150 ; Used in attack move targeting 16106 ShroudClearingRange = 200 16107 Prerequisites 16108 Object = GLAArmsDealer 16109 Object = GLAPalace 16110 End 16111 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 16112 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 16113 CommandSet = GLAVehicleBombTruckCommandSet 16114 16115 ; *** AUDIO Parameters *** 16116 VoiceSelect = BombTruckVoiceSelect 16117 VoiceMove = BombTruckVoiceMove 16118 VoiceGuard = BombTruckVoiceMove 16119 VoiceAttack = BombTruckVoiceAttack 16120 SoundMoveStart = BombTruckMoveStart 16121 SoundMoveStartDamaged = BombTruckMoveStart 16122 UnitSpecificSounds 16123 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 16124 VoiceCreate = BombTruckVoiceCreate 16125 TurretMoveStart = NoSound 16126 TurretMoveLoop = NoSound 16127 TruckLandingSound = RocketBuggyLand 16128 TruckPowerslideSound = RocketBuggyPowerslide 16129 DisguiseStarted = BombTruckDisguiseStarted 16130 DisguiseRevealedSuccess = BombTruckDisguiseRevealedSuccess 16131 DisguiseRevealedFailure = BombTruckDisguiseRevealedFailure 16132 VoiceEnter = BombTruckVoiceMove 16133 End 16134 16135 ; *** ENGINEERING Parameters *** 16136 RadarPriority = UNIT 16137 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE DISGUISER 16138 16139 Body = ActiveBody ModuleTag_02 16140 MaxHealth = 220.0 16141 InitialHealth = 220.0 16142 End 16143 16144 ExperienceValue = 50 50 50 50 ; Experience point value at each level 16145 16146 Behavior = VeterancyGainCreate ModuleTag_03 16147 StartingLevel = VETERAN 16148 End 16149 16150 Behavior = AIUpdateInterface ModuleTag_04 16151 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS 16152 End 16153 Locomotor = SET_NORMAL BombTruckLocomotor 16154 16155 Behavior = PhysicsBehavior ModuleTag_05 16156 Mass = 40.0 16157 End 16158 16159 Behavior = AutoHealBehavior ModuleTag_06 16160 HealingAmount = 2 16161 HealingDelay = 1000 ; msec 16162 TriggeredBy = Upgrade_GLAJunkRepair 16163 End 16164 16165 Behavior = ProductionUpdate ModuleTag_07 16166 MaxQueueEntries = 1 16167 End 16168 16169 Behavior = CommandSetUpgrade ModuleTag_upgradedisable 16170 CommandSet = GLAVehicleBombTruckNukeCommandSet 16171 TriggeredBy = Upgrade_GLABombTruckNukeWarhead 16172 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb 16173 End 16174 Behavior = CommandSetUpgrade ModuleTag_upgradedisable2 16175 CommandSet = GLAVehicleBombTruckHECommandSet 16176 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 16177 ConflictsWith = Upgrade_GLABombTruckNukeWarhead Upgrade_GLABombTruckBioBomb 16178 End 16179 Behavior = CommandSetUpgrade ModuleTag_upgradedisable3 16180 CommandSet = GLAVehicleBombTruckBioCommandSet 16181 TriggeredBy = Upgrade_GLABombTruckBioBomb 16182 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckNukeWarhead 16183 End 16184 16185 Behavior = SlowDeathBehavior ModuleTag_08 16186 DeathTypes = ALL -CRUSHED -SPLATTED 16187 ProbabilityModifier = 5 16188 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 16189 DestructionDelay = 0 16190 DestructionDelayVariance = 200 16191 FX = FINAL FX_BuggyNewDeathExplosion 16192 OCL = FINAL OCL_BombTruckDeathEffect 16193 End 16194 16195 ;Behavior = DestroyDie 16196 ;nothing 16197 ;End 16198 16199 16200 ;************************************************************************************************ 16201 ;* WHICH BOMB DO WE USE??? 16202 ;* We have 2 damage possibilities -- (normal OR high explosive) 16203 ;* So part 1 is inflicting the damage itself without creating effects 16204 ;* The complicated part is the part where we have 6 possible effect explosions based on 16205 ;* all the possible upgrade combinations. Note that bio weapons don't inflict damage through 16206 ;* the explosion. 16207 ;* 16208 ;* DAMAGE COMBINATIONS (NO EFFECTS): 16209 ;* 1) Normal (doesn't have high explosive upgrade, doesn't have nuke upgrade) 16210 ;* 2) High explosive (has high-explosive upgrade, doesn't have nuke upgrade) 16211 ;* 16212 ;* EFFECT COMBINATIONS (NO DAMAGE): 16213 ;* 1) Normal (no upgrades) 16214 ;* 2) Bio (bio-bomb upgrade) 16215 ;* 3) Anthrax (bio-bomb and anthrax upgrade) 16216 ;* 4) High explosive (high explosive upgrade) 16217 ;* 5) High explosive bio (high explosive and bio-bomb upgrade) 16218 ;* 6) High explosive anthrax (high explosive, bio-bomb, and anthrax upgrades) 16219 ;* 7) Nuke Warhead 16220 ;************************************************************************************************ 16221 16222 ;************************************************************************************************ 16223 ;* EXCLUSIVE DAMAGE POSSIBILITY 1 -- Normal explosion (can't have high-explosive upgrade/nuke upgrade) 16224 ;************************************************************************************************ 16225 Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 16226 DeathWeapon = BombTruckDefaultBombDamage 16227 StartsActive = Yes ; turned on by upgrade 16228 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckNukeWarhead 16229 End 16230 16231 ;************************************************************************************************ 16232 ;* EXCLUSIVE DAMAGE POSSIBILITY 2 -- High explosion (always plays if it has high-explosive upgrade) 16233 ;* Can't have: Nuke upgrade 16234 ;************************************************************************************************ 16235 Behavior = FireWeaponWhenDeadBehavior ModuleTag_10 16236 DeathWeapon = BombTruckHighExplosionBombDamage 16237 StartsActive = No ; turned on by upgrade 16238 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 16239 ConflictsWith = Upgrade_GLABombTruckNukeWarhead 16240 End 16241 16242 ;************************************************************************************************ 16243 ;* EXCLUSIVE EFFECT COMBINATION 1 - Regular explosion (no upgrades) 16244 ;************************************************************************************************ 16245 Behavior = FireWeaponWhenDeadBehavior ModuleTag_11 16246 DeathWeapon = BombTruckDefaultBombEffect 16247 StartsActive = Yes ; turned on by upgrade 16248 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckNukeWarhead 16249 End 16250 16251 ;************************************************************************************************ 16252 ;* EXCLUSIVE EFFECT COMBINATION 2 - Bio explosion 16253 ;* Requires: Bio upgrade 16254 ;* Can't have: Anthrax upgrade, high explosive upgrade 16255 ;************************************************************************************************ 16256 Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 16257 DeathWeapon = BombTruckBioBombEffect 16258 StartsActive = No ; turned on by upgrade 16259 TriggeredBy = Upgrade_GLABombTruckBioBomb 16260 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta Upgrade_GLABombTruckNukeWarhead 16261 End 16262 16263 ;************************************************************************************************ 16264 ;* EXCLUSIVE EFFECT COMBINATION 3 - Anthrax explosion 16265 ;* Requires: Bio upgrade and anthrax upgrade 16266 ;* Can't have: High explosive upgrade 16267 ;************************************************************************************************ 16268 Behavior = FireWeaponWhenDeadBehavior ModuleTag_13 16269 DeathWeapon = BombTruckAnthraxBombEffect 16270 StartsActive = No ; turned on by upgrade 16271 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLAAnthraxBeta 16272 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckNukeWarhead 16273 RequiresAllTriggers = Yes 16274 End 16275 16276 ;************************************************************************************************ 16277 ;* EXCLUSIVE EFFECT COMBINATION 4 - High explosion 16278 ;* Requires: High explosive upgrade 16279 ;* Can't have: Bio upgrade and anthrax upgrade 16280 ;************************************************************************************************ 16281 Behavior = FireWeaponWhenDeadBehavior ModuleTag_14 16282 DeathWeapon = BombTruckHighExplosiveBombEffect 16283 StartsActive = No ; turned on by upgrade 16284 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 16285 ConflictsWith = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckNukeWarhead 16286 End 16287 16288 ;************************************************************************************************ 16289 ;* EXCLUSIVE EFFECT COMBINATION 5 - High explosive bio explosion 16290 ;* Requires: High explosive upgrade and bio upgrade 16291 ;* Can't have: Anthrax upgrade 16292 ;************************************************************************************************ 16293 Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 16294 DeathWeapon = BombTruckHighExplosiveBioBombEffect 16295 StartsActive = No ; turned on by upgrade 16296 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb 16297 ConflictsWith = Upgrade_GLAAnthraxBeta Upgrade_GLABombTruckNukeWarhead 16298 RequiresAllTriggers = Yes 16299 End 16300 16301 ;************************************************************************************************ 16302 ;* EXCLUSIVE EFFECT COMBINATION 6 - High explosive Anthrax explosion 16303 ;* Requires: High explosive, Bio, and anthrax upgrade 16304 ;************************************************************************************************ 16305 Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 16306 DeathWeapon = BombTruckHighExplosiveAnthraxBombEffect 16307 StartsActive = No ; turned on by upgrade 16308 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta 16309 ConflictsWith = Upgrade_GLABombTruckNukeWarhead 16310 RequiresAllTriggers = Yes 16311 End 16312 16313 ;************************************************************************************************ 16314 ;* EXCLUSIVE DAMAGE/EFFECT COMBINATION 7 - Nuke warhead 16315 ;* Requires: Nuke warhead upgrade 16316 ;* Can't have: bio upgrade and high explosives upgrade 16317 ;************************************************************************************************ 16318 Behavior = FireWeaponWhenDeadBehavior ModuleTag_nukeup 16319 DeathWeapon = BombTruckNukeWarhead 16320 StartsActive = No ; turned on by upgrade 16321 TriggeredBy = Upgrade_GLABombTruckNukeWarhead 16322 ;ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb 16323 End 16324 16325 ;------------------------------------------------------------------- 16326 ; Wheeeee! Now we get to display the payload based on upgrades!!! 16327 ;------------------------------------------------------------------- 16328 Behavior = SubObjectsUpgrade ModuleTag_17 16329 ;*** Bio bomb load *** 16330 TriggeredBy = Upgrade_GLABombTruckBioBomb 16331 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb 16332 ShowSubObjects = Bombload02 16333 HideSubObjects = Bombload01 Bombload03 Bombload04 16334 End 16335 Behavior = SubObjectsUpgrade ModuleTag_18 16336 ;*** High-explosive bomb load *** 16337 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 16338 ConflictsWith = Upgrade_GLABombTruckBioBomb 16339 ShowSubObjects = Bombload03 16340 HideSubObjects = Bombload01 Bombload02 Bombload04 16341 End 16342 Behavior = SubObjectsUpgrade ModuleTag_19 16343 ;*** High-explosive bio bomb load *** 16344 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb 16345 ShowSubObjects = Bombload04 16346 HideSubObjects = Bombload01 Bombload02 Bombload03 16347 RequiresAllTriggers = Yes 16348 End 16349 Behavior = SubObjectsUpgrade ModuleTag_nukeupimage 16350 ;*** nuke warhead load *** 16351 TriggeredBy = Upgrade_GLABombTruckNukeWarhead 16352 ConflictsWith = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb 16353 ShowSubObjects = Bombload04 16354 HideSubObjects = Bombload01 Bombload02 Bombload03 16355 ;RequiresAllTriggers = Yes 16356 End 16357 ;------------------------------------------------------------------- 16358 16359 16360 Behavior = SpecialAbility ModuleTag_20 16361 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle 16362 UpdateModuleStartsAttack = Yes 16363 InitiateSound = BombTruckVoiceDisguise 16364 End 16365 Behavior = SpecialAbilityUpdate ModuleTag_21 16366 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle 16367 StartAbilityRange = 1000000.0 16368 ApproachRequiresLOS = No 16369 End 16370 16371 Behavior = StealthUpdate ModuleTag_22 16372 StealthDelay = 1 16373 DisguisesAsTeam = Yes 16374 RevealDistanceFromTarget = 100.0f 16375 OrderIdleEnemiesToAttackMeUponReveal = Yes 16376 DisguiseFX = FX_BombTruckDisguise 16377 DisguiseRevealFX = FX_BombTruckDisguiseReveal 16378 InnateStealth = Yes 16379 DisguiseTransitionTime = 2000 16380 DisguiseRevealTransitionTime = 1000 16381 End 16382 16383 ; A crushing defeat 16384 Behavior = FXListDie ModuleTag_23 16385 DeathTypes = NONE +CRUSHED +SPLATTED 16386 DeathFX = FX_CarCrush 16387 End 16388 Behavior = CreateObjectDie ModuleTag_24 16389 DeathTypes = NONE +CRUSHED +SPLATTED 16390 CreationList = OCL_CrusaderTank_CrushEffect 16391 End 16392 Behavior = CreateCrateDie ModuleTag_25 16393 CrateData = SalvageCrateData 16394 ;CrateData = EliteTankCrateData 16395 ;CrateData = HeroicTankCrateData 16396 End 16397 16398 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 16399 DetectionRate = 500 16400 DetectionRange = 75 16401 CanDetectWhileGarrisoned = No 16402 CanDetectWhileContained = No 16403 ExtraRequiredKindOf = BOAT 16404 End 16405 16406 Behavior = TransitionDamageFX ModuleTag_26 16407 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 16408 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 16409 End 16410 16411 Behavior = FlammableUpdate ModuleTag_28 16412 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 16413 AflameDamageAmount = 3 ; taking this much damage... 16414 AflameDamageDelay = 500 ; this often. 16415 End 16416 16417 Behavior = DestroyDie ModuleTag_29 16418 DeathTypes = NONE +CRUSHED +SPLATTED 16419 End 16420 16421 Geometry = BOX 16422 GeometryMajorRadius = 19.0 16423 GeometryMinorRadius = 8.0 16424 GeometryHeight = 11.5 16425 GeometryIsSmall = No 16426 Shadow = SHADOW_VOLUME 16427 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 16428 16429 End 16430 16431 ;------------------------------------------------------------------------------ 16432 Object GLAVehicleScudLauncher 16433 16434 ; *** ART Parameters *** 16435 SelectPortrait = SUScudLauncher_L 16436 ButtonImage = SUScudLauncher 16437 16438 UpgradeCameo1 = Upgrade_GLAJunkRepair 16439 UpgradeCameo2 = Upgrade_GLAAnthraxBeta 16440 ;UpgradeCameo3 = NONE 16441 ;UpgradeCameo4 = NONE 16442 ;UpgradeCameo5 = NONE 16443 16444 Draw = W3DTruckDraw ModuleTag_01 16445 OkToChangeModelColor = Yes 16446 16447 ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset 16448 16449 DefaultConditionState 16450 Model = UVScudLchr 16451 Turret = TURRET 16452 TurretPitch = TURRETEL 16453 WeaponLaunchBone = PRIMARY WeaponA 16454 WeaponLaunchBone = SECONDARY WeaponA 16455 WeaponHideShowBone = PRIMARY MISSILE 16456 WeaponHideShowBone = SECONDARY MISSILE 16457 End 16458 16459 ConditionState = REALLYDAMAGED 16460 Model = UVScudLchr_d 16461 End 16462 AliasConditionState = RUBBLE 16463 16464 TrackMarks = EXTireTrack.tga 16465 16466 Dust = ScudLauncherDust 16467 DirtSpray = RocketBuggyDirtSpray 16468 PowerslideSpray = RocketBuggyDirtPowerSlide 16469 16470 ; These parameters are only used if the model has a separate suspension, 16471 ; and the locomotor has HasSuspension = Yes. 16472 LeftFrontTireBone = Tire01 16473 RightFrontTireBone = Tire05 16474 LeftRearTireBone = Tire04 16475 RightRearTireBone = Tire08 16476 MidLeftFrontTireBone = Tire02 16477 MidRightFrontTireBone = Tire06 16478 MidLeftRearTireBone = Tire03 16479 MidRightRearTireBone = Tire07 16480 16481 TireRotationMultiplier = 0.2 ; this * speed = rotation. 16482 ;PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. 16483 16484 End 16485 16486 16487 ; ***DESIGN parameters *** 16488 16489 DisplayName = OBJECT:ScudLauncher 16490 Side = GLA 16491 EditorSorting = VEHICLE 16492 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 16493 WeaponSet 16494 Conditions = None 16495 Weapon = PRIMARY SCUDLauncherGunExplosive 16496 Weapon = SECONDARY SCUDLauncherGunToxin 16497 AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 16498 AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI 16499 PreferredAgainst = SECONDARY INFANTRY 16500 ShareWeaponReloadTime = Yes 16501 End 16502 WeaponSet 16503 Conditions = PLAYER_UPGRADE 16504 Weapon = PRIMARY SCUDLauncherGunExplosive 16505 Weapon = SECONDARY SCUDLauncherGunAnthrax 16506 AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 16507 AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI 16508 PreferredAgainst = SECONDARY INFANTRY 16509 ShareWeaponReloadTime = Yes 16510 End 16511 ArmorSet 16512 Conditions = None 16513 Armor = TruckArmor 16514 DamageFX = TankDamageFX 16515 End 16516 BuildCost = 1200 16517 BuildTime = 15.0 ;20.0 ;in seconds 16518 VisionRange = 180 16519 ShroudClearingRange = 300 16520 Prerequisites 16521 Object = GLAArmsDealer 16522 Object = GLAPalace 16523 Science = SCIENCE_ScudLauncher 16524 End 16525 16526 ExperienceValue = 50 50 100 150 ;Experience point value at each level 16527 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 16528 IsTrainable = Yes ;Can gain experience 16529 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 16530 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 16531 CommandSet = GLAVehicleScudLauncherCommandSet 16532 16533 ; *** AUDIO Parameters *** 16534 VoiceSelect = ScudLauncherVoiceSelect 16535 VoiceMove = ScudLauncherVoiceMove 16536 VoiceGuard = ScudLauncherVoiceMove 16537 VoiceAttack = ScudLauncherVoiceAttack 16538 SoundMoveStart = ScudLauncherMoveStart 16539 SoundMoveStartDamaged = ScudLauncherMoveStart 16540 VoiceFear = ScudLauncherVoiceFear 16541 UnitSpecificSounds 16542 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 16543 VoiceCreate = ScudLauncherVoiceCreate 16544 TurretMoveStart = NoSound 16545 TurretMoveLoop = TurretMoveLoop 16546 TruckLandingSound = NoSound 16547 TruckPowerslideSound = NoSound 16548 VoiceCrush = ScudLauncherVoiceCrush 16549 VoiceEnter = ScudLauncherVoiceMove 16550 VoicePrimaryWeaponMode = ScudLauncherVoiceModeHiEx 16551 VoiceSecondaryWeaponMode = ScudLauncherVoiceModeAnthrax 16552 End 16553 16554 ; *** ENGINEERING Parameters *** 16555 RadarPriority = UNIT 16556 KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 16557 16558 Body = ActiveBody ModuleTag_02 16559 MaxHealth = 180.0 16560 InitialHealth = 180.0 16561 End 16562 16563 Behavior = AIUpdateInterface ModuleTag_03 16564 Turret 16565 TurretTurnRate = 60 ; turn rate, in degrees per sec 16566 TurretPitchRate = 60 16567 FirePitch = 90 ; Instead of aiming pitchwise at the target, it will aim here 16568 AllowsPitch = Yes 16569 ControlledWeaponSlots = PRIMARY SECONDARY 16570 End 16571 AutoAcquireEnemiesWhenIdle = No NotWhileAttacking 16572 End 16573 16574 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 16575 End 16576 16577 Locomotor = SET_NORMAL ScudLauncherLocomotor 16578 Behavior = PhysicsBehavior ModuleTag_05 16579 Mass = 40.0 16580 End 16581 16582 Behavior = AutoHealBehavior ModuleTag_06 16583 HealingAmount = 2 16584 HealingDelay = 1000 ; msec 16585 TriggeredBy = Upgrade_GLAJunkRepair 16586 End 16587 16588 Behavior = TransitionDamageFX ModuleTag_08 16589 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 16590 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ScudLauncherDamageTransition 16591 End 16592 16593 ; Catch fire, and explode death 16594 Behavior = SlowDeathBehavior ModuleTag_09 16595 DeathTypes = ALL -CRUSHED -SPLATTED 16596 ProbabilityModifier = 50 16597 DestructionDelay = 2000 16598 DestructionDelayVariance = 300 16599 FX = INITIAL FX_CrusaderCatchFire 16600 OCL = FINAL OCL_SCUDLauncherDeathEffect 16601 FX = FINAL FX_ScudLauncherExplosionOneFinal 16602 End 16603 16604 ; A crushing defeat 16605 Behavior = FXListDie ModuleTag_10 16606 DeathTypes = NONE +CRUSHED +SPLATTED 16607 DeathFX = FX_CarCrush 16608 End 16609 16610 Behavior = CreateObjectDie ModuleTag_11 16611 DeathTypes = NONE +CRUSHED +SPLATTED 16612 CreationList = OCL_CrusaderTank_CrushEffect 16613 End 16614 16615 Behavior = FlammableUpdate ModuleTag_21 16616 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 16617 AflameDamageAmount = 3 ; taking this much damage... 16618 AflameDamageDelay = 500 ; this often. 16619 End 16620 16621 Behavior = DestroyDie ModuleTag_22 16622 DeathTypes = NONE +CRUSHED +SPLATTED 16623 End 16624 16625 Behavior = WeaponSetUpgrade ModuleTag_23 16626 TriggeredBy = Upgrade_GLAAnthraxBeta 16627 End 16628 16629 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 16630 DetectionRate = 500 16631 DetectionRange = 75 16632 CanDetectWhileGarrisoned = No 16633 CanDetectWhileContained = No 16634 ExtraRequiredKindOf = BOAT 16635 End 16636 16637 Geometry = BOX 16638 GeometryMajorRadius = 14.0 16639 GeometryMinorRadius = 7.0 16640 GeometryHeight = 11.5 16641 GeometryIsSmall = No 16642 Shadow = SHADOW_VOLUME 16643 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 16644 16645 End 16646 16647 ;------------------------------------------------------------------------------ 16648 Object ChinaTankBattleMaster 16649 16650 ; *** ART Parameters *** 16651 SelectPortrait = SNBattlemaster_L 16652 ButtonImage = SNBattlemaster 16653 16654 UpgradeCameo1 = Upgrade_Nationalism 16655 UpgradeCameo2 = Upgrade_ChinaUraniumShells 16656 UpgradeCameo3 = Upgrade_ChinaNuclearTanks 16657 ;UpgradeCameo4 = NONE 16658 ;UpgradeCameo5 = NONE 16659 16660 Draw = W3DTankDraw ModuleTag_01 16661 OkToChangeModelColor = Yes 16662 DefaultConditionState 16663 Model = NVBtMstr 16664 Turret = Turret01 16665 WeaponFireFXBone = PRIMARY Muzzle 16666 WeaponRecoilBone = PRIMARY Barrel 16667 WeaponMuzzleFlash = PRIMARY MuzzleFX 16668 WeaponLaunchBone = PRIMARY Muzzle 16669 End 16670 ConditionState = REALLYDAMAGED 16671 Model = NVBtMstr_D 16672 Turret = Turret01 16673 WeaponFireFXBone = PRIMARY Muzzle 16674 WeaponRecoilBone = PRIMARY Barrel 16675 WeaponMuzzleFlash = PRIMARY MuzzleFX 16676 WeaponLaunchBone = PRIMARY Muzzle 16677 End 16678 ConditionState = RUBBLE 16679 Model = NVBtMstr_D 16680 Turret = Turret01 16681 End 16682 16683 TrackMarks = EXTnkTrack.tga 16684 End 16685 16686 ; ***DESIGN parameters *** 16687 DisplayName = OBJECT:BattleMaster 16688 Side = China 16689 EditorSorting = VEHICLE 16690 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 16691 WeaponSet 16692 Conditions = None 16693 Weapon = PRIMARY BattleMasterTankGun 16694 End 16695 ArmorSet 16696 Conditions = None 16697 Armor = TankArmor 16698 DamageFX = TankDamageFX 16699 End 16700 BuildCost = 800 16701 BuildTime = 10.0 ;in seconds 16702 VisionRange = 150 16703 ShroudClearingRange = 300 16704 Prerequisites 16705 Object = ChinaWarFactory 16706 End 16707 16708 ExperienceValue = 100 100 200 400 ;Experience point value at each level 16709 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 16710 IsTrainable = Yes ;Can gain experience 16711 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 16712 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 16713 CommandSet = ChinaVehicleBattleMasterCommandSet 16714 16715 ; *** AUDIO Parameters *** 16716 VoiceSelect = BattleMasterTankVoiceSelect 16717 VoiceMove = BattleMasterTankVoiceMove 16718 VoiceGuard = BattleMasterTankVoiceMove 16719 VoiceAttack = BattleMasterTankVoiceAttack 16720 SoundMoveStart = BattleMasterTankMoveStart 16721 SoundMoveStartDamaged = BattleMasterTankMoveStart 16722 16723 UnitSpecificSounds 16724 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 16725 VoiceCreate = BattleMasterTankVoiceCreate 16726 TurretMoveStart = NoSound 16727 TurretMoveLoop = TurretMoveLoop 16728 VoiceCrush = BattleMasterTankVoiceCrush 16729 VoiceEnter = BattleMasterTankVoiceMove 16730 End 16731 16732 ; *** ENGINEERING Parameters *** 16733 RadarPriority = UNIT 16734 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 16735 16736 Body = ActiveBody ModuleTag_02 16737 MaxHealth = 400.0 16738 InitialHealth = 400.0 16739 End 16740 16741 Behavior = AIUpdateInterface ModuleTag_03 16742 Turret 16743 TurretTurnRate = 120 ; turn rate, in degrees per sec 16744 ControlledWeaponSlots = PRIMARY 16745 End 16746 AutoAcquireEnemiesWhenIdle = Yes 16747 End 16748 16749 Locomotor = SET_NORMAL BattleMasterLocomotor 16750 Locomotor = SET_NORMAL_UPGRADED NuclearBattleMasterLocomotor 16751 16752 Behavior = HordeUpdate ModuleTag_04 16753 RubOffRadius = 150 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 16754 UpdateRate = 1000 ; how often to recheck horde status (msec) 16755 Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 16756 KindOf = VEHICLE ; what KindOf's must match to count towards horde-ness 16757 AlliesOnly = Yes ; do we only count allies towards horde status? 16758 ExactMatch = Yes ; do we only count units of our exact same type towards horde status? (overrides kindof) 16759 Count = 5 ; how many units must be within Radius to grant us horde-ness 16760 Action = HORDE ; when horde-ing, grant us the HORDE bonus 16761 End 16762 16763 Behavior = PhysicsBehavior ModuleTag_05 16764 Mass = 40.0 16765 End 16766 16767 Behavior = FireWeaponWhenDeadBehavior ModuleTag_06 16768 DeathWeapon = NuclearTankDeathWeapon 16769 StartsActive = No ; turned on by upgrade 16770 TriggeredBy = Upgrade_ChinaNuclearTanks 16771 End 16772 Behavior = LocomotorSetUpgrade ModuleTag_07 16773 TriggeredBy = Upgrade_ChinaNuclearTanks 16774 End 16775 16776 ; A crushing defeat 16777 Behavior = DestroyDie ModuleTag_08 16778 DeathTypes = NONE +CRUSHED +SPLATTED 16779 End 16780 Behavior = FXListDie ModuleTag_09 16781 DeathTypes = NONE +CRUSHED +SPLATTED 16782 DeathFX = FX_CarCrush 16783 End 16784 Behavior = CreateObjectDie ModuleTag_10 16785 DeathTypes = NONE +CRUSHED +SPLATTED 16786 CreationList = OCL_CrusaderTank_CrushEffect 16787 End 16788 Behavior = CreateCrateDie ModuleTag_11 16789 CrateData = SalvageCrateData 16790 ;CrateData = EliteTankCrateData 16791 ;CrateData = HeroicTankCrateData 16792 End 16793 16794 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 16795 DetectionRate = 500 16796 DetectionRange = 75 16797 CanDetectWhileGarrisoned = No 16798 CanDetectWhileContained = No 16799 ExtraRequiredKindOf = BOAT 16800 End 16801 16802 Behavior = SlowDeathBehavior ModuleTag_12 16803 DeathTypes = ALL -CRUSHED -SPLATTED 16804 ProbabilityModifier = 25 16805 DestructionDelay = 200 16806 DestructionDelayVariance = 100 16807 OCL = FINAL OCL_ChinaTankBattleMasterDebris 16808 FX = FINAL FX_BattleMasterExplosionOneFinal 16809 End 16810 16811 Behavior = SlowDeathBehavior ModuleTag_14 16812 DeathTypes = ALL -CRUSHED -SPLATTED 16813 ProbabilityModifier = 25 16814 DestructionDelay = 1000 16815 DestructionDelayVariance = 100 16816 FX = INITIAL FX_BattleMasterExplosionOneInitial 16817 OCL = FINAL OCL_ChinaTankBattleMasterDebris 16818 FX = FINAL FX_BattleMasterExplosionOneFinal 16819 End 16820 16821 Behavior = TransitionDamageFX ModuleTag_13 16822 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransitionSmall 16823 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 16824 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 16825 End 16826 16827 Behavior = FlammableUpdate ModuleTag_21 16828 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 16829 AflameDamageAmount = 3 ; taking this much damage... 16830 AflameDamageDelay = 500 ; this often. 16831 End 16832 16833 Geometry = BOX 16834 GeometryMajorRadius = 13.0 16835 GeometryMinorRadius = 9.0 16836 GeometryHeight = 10 16837 GeometryIsSmall = Yes 16838 Shadow = SHADOW_VOLUME 16839 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 16840 16841 End 16842 16843 ;------------------------------------------------------------------------------ 16844 Object ChinaVehicleBattleMasterDeadHull 16845 ; *** ART Parameters *** 16846 Draw = W3DModelDraw ModuleTag_01 16847 OkToChangeModelColor = Yes 16848 16849 ConditionState = NONE 16850 Model = NVBtMstr_D1 16851 End 16852 End 16853 16854 ; ***DESIGN parameters *** 16855 Side = China 16856 EditorSorting = SYSTEM 16857 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 16858 16859 ; *** AUDIO Parameters *** 16860 ; *** ENGINEERING Parameters *** 16861 RadarPriority = UNIT 16862 KindOf = CAN_CAST_REFLECTIONS NO_COLLIDE HULK 16863 16864 Body = ActiveBody ModuleTag_02 16865 MaxHealth = 1.0 16866 InitialHealth = 1.0 16867 End 16868 16869 16870 Behavior = PhysicsBehavior ModuleTag_03 16871 Mass = 50 16872 AllowBouncing = Yes 16873 End 16874 16875 Behavior = LifetimeUpdate ModuleTag_04 16876 MinLifetime = 0 ; min lifetime in msec 16877 MaxLifetime = 0 ; max lifetime in msec 16878 End 16879 16880 16881 Behavior = SlowDeathBehavior ModuleTag_05 16882 SinkDelay = 14000 16883 SinkRate = 2 ; in Dist/Sec 16884 DestructionDelay = 20000 16885 End 16886 16887 Behavior = TransitionDamageFX ModuleTag_06 16888 RubbleParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 16889 End 16890 16891 Geometry = BOX 16892 GeometryMajorRadius = 9.0 16893 GeometryMinorRadius = 6.0 16894 GeometryHeight = 7.5 16895 GeometryIsSmall = Yes 16896 16897 End 16898 16899 16900 16901 ;------------------------------------------------------------------------------ 16902 ; this unit is never really "built"; building one triggers the random building of 16903 ; one of the other chassis. If you want a *specific* chassis, choose it explicitly; 16904 ; if you want a chassis at random, specify this. 16905 Object GLAVehicleTechnical 16906 16907 ; *** ART Parameters *** 16908 SelectPortrait = SUTechnical_L 16909 ButtonImage = SUTechnical 16910 16911 Draw = W3DModelDraw ModuleTag_01 16912 DefaultConditionState 16913 ; give it a model so it'll show up in WB 16914 Model = UVTechTrck 16915 End 16916 End 16917 16918 ; set cost and time fields here or else they won't work 16919 BuildCost = 700 ;500 16920 BuildTime = 8.0 ;5.0 ;in seconds 16921 16922 ; Needed to get the Veterancy Overlays on top of the Technical with his build variations. 16923 ;------------------------------------------------------------ 16924 Behavior = VeterancyGainCreate ModuleTag_03 16925 StartingLevel = VETERAN 16926 ScienceRequired = SCIENCE_TechnicalTraining 16927 End 16928 16929 Side = GLA 16930 EditorSorting = VEHICLE 16931 BuildVariations = GLAVehicleTechnicalChassisOne GLAVehicleTechnicalChassisTwo GLAVehicleTechnicalChassisThree 16932 16933 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE TRANSPORT 16934 16935 End 16936 16937 ;------------------------------------------------------------------------------ 16938 Object GLAVehicleTechnicalChassisOne 16939 16940 ; *** ART Parameters *** 16941 SelectPortrait = SUTechnical_L 16942 ButtonImage = SUTechnical 16943 16944 UpgradeCameo1 = Upgrade_GLAAPBullets 16945 UpgradeCameo2 = Upgrade_GLAJunkRepair 16946 ;UpgradeCameo3 = NONE 16947 ;UpgradeCameo4 = NONE 16948 ;UpgradeCameo5 = NONE 16949 16950 Draw = W3DTruckDraw ModuleTag_01 16951 16952 ExtraPublicBone = Dum_Turret 16953 16954 DefaultConditionState 16955 Model = UVTechTrck 16956 End 16957 ConditionState = REALLYDAMAGED 16958 Model = UVTechTrck_d 16959 End 16960 ConditionState = RUBBLE 16961 Model = UVTechTrck_d 16962 End 16963 16964 OkToChangeModelColor = Yes 16965 TrackMarks = EXTireTrack.tga 16966 Dust = TechnicalDust 16967 DirtSpray = RocketBuggyDirtSpray 16968 PowerslideSpray = RocketBuggyDirtPowerSlide 16969 16970 ; These parameters are only used if the model has a separate suspension, 16971 ; and the locomotor has HasSuspension = Yes. 16972 LeftFrontTireBone = Tire01 16973 RightFrontTireBone = Tire02 16974 LeftRearTireBone = Tire03 16975 RightRearTireBone = Tire04 16976 TireRotationMultiplier = 0.2 ; this * speed = rotation. 16977 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 16978 End 16979 16980 Draw = W3DModelDraw ModuleTag_02 16981 16982 OkToChangeModelColor = Yes 16983 AttachToBoneInAnotherModule = Dum_Turret 16984 16985 ; ------------------ basic technical ------------------------ 16986 DefaultConditionState 16987 Model = UITech_SKN 16988 Turret = Dum-TurManMVR 16989 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 16990 HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 16991 IdleAnimation = UITech_SKL.UITech_STA 0 6 16992 IdleAnimation = UITech_SKL.UITech_IDA 16993 IdleAnimation = UITech_SKL.UITech_IDB 16994 AnimationMode = ONCE 16995 ShowSubObject = 20Cal 16996 WeaponMuzzleFlash = PRIMARY MuzzleFX01 16997 WeaponFireFXBone = PRIMARY Muzzle01 16998 End 16999 17000 ConditionState = RUBBLE MOVING TURRET_ROTATE 17001 Animation = None 17002 HideSubObject = UITech-SKN 17003 ShowSubObject = 20Cal 17004 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17005 WeaponFireFXBone = PRIMARY Muzzle01 17006 End 17007 17008 ConditionState = MOVING 17009 Animation = UITech_SKL.UITech_MVB 17010 AnimationMode = LOOP 17011 ShowSubObject = 20Cal 17012 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17013 WeaponFireFXBone = PRIMARY Muzzle01 17014 End 17015 17016 ConditionState = TURRET_ROTATE 17017 Animation = UITech_SKL.UITech_TNA 17018 AnimationMode = LOOP 17019 ShowSubObject = 20Cal 17020 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17021 WeaponFireFXBone = PRIMARY Muzzle01 17022 End 17023 AliasConditionState = TURRET_ROTATE MOVING 17024 AliasConditionState = TURRET_ROTATE FIRING_A 17025 AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 17026 AliasConditionState = TURRET_ROTATE RELOADING_A 17027 AliasConditionState = TURRET_ROTATE MOVING FIRING_A 17028 AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 17029 AliasConditionState = TURRET_ROTATE MOVING RELOADING_A 17030 17031 ConditionState = FIRING_A 17032 Animation = UITech_SKL.UITech_ATA 17033 AnimationMode = LOOP 17034 ShowSubObject = 20Cal 17035 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17036 WeaponFireFXBone = PRIMARY Muzzle01 17037 End 17038 17039 ; AliasConditionState is a new keyword that says, 17040 ; "give me another ConditionState exactly like the previous 17041 ; one, except with different conditions". Useful when you 17042 ; have several states that are the same with only different condition bits. 17043 AliasConditionState = BETWEEN_FIRING_SHOTS_A 17044 AliasConditionState = RELOADING_A 17045 17046 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 17047 AliasConditionState = MOVING FIRING_A 17048 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 17049 AliasConditionState = MOVING RELOADING_A 17050 17051 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ 17052 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 17053 IdleAnimation = UITech_SKL.UITech_STA 0 6 17054 IdleAnimation = UITech_SKL.UITech_IDA 17055 IdleAnimation = UITech_SKL.UITech_IDB 17056 AnimationMode = ONCE 17057 ShowSubObject = 50Cal 17058 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17059 WeaponFireFXBone = PRIMARY Muzzle02 17060 WeaponLaunchBone = PRIMARY Muzzle02 17061 End 17062 17063 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE 17064 Animation = None 17065 HideSubObject = UITech-SKN 17066 ShowSubObject = 50Cal 17067 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17068 WeaponFireFXBone = PRIMARY Muzzle02 17069 WeaponLaunchBone = PRIMARY Muzzle02 17070 End 17071 17072 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE 17073 Animation = UITech_SKL.UITech_MVB 17074 AnimationMode = LOOP 17075 ShowSubObject = 50Cal 17076 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17077 WeaponFireFXBone = PRIMARY Muzzle02 17078 WeaponLaunchBone = PRIMARY Muzzle02 17079 End 17080 17081 ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE 17082 Animation = UITech_SKL.UITech_TNA 17083 AnimationMode = LOOP 17084 ShowSubObject = 50Cal 17085 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17086 WeaponFireFXBone = PRIMARY Muzzle02 17087 WeaponLaunchBone = PRIMARY Muzzle02 17088 End 17089 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING 17090 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A 17091 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 17092 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A 17093 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A 17094 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 17095 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A 17096 17097 ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 17098 Animation = UITech_SKL.UITech_ATA 17099 AnimationMode = LOOP 17100 ShowSubObject = 50Cal 17101 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17102 WeaponFireFXBone = PRIMARY Muzzle02 17103 WeaponLaunchBone = PRIMARY Muzzle02 17104 End 17105 17106 ; AliasConditionState is a new keyword that says, 17107 ; "give me another ConditionState exactly like the previous 17108 ; one, except with different conditions". Useful when you 17109 ; have several states that are the same with only different condition bits. 17110 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A 17111 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A 17112 17113 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 17114 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A 17115 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A 17116 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A 17117 17118 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ 17119 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 17120 IdleAnimation = UITech_SKL.UITech_STA 0 6 17121 IdleAnimation = UITech_SKL.UITech_IDA 17122 IdleAnimation = UITech_SKL.UITech_IDB 17123 AnimationMode = ONCE 17124 ShowSubObject = RPG 17125 WeaponFireFXBone = PRIMARY Muzzle03 17126 WeaponLaunchBone = PRIMARY Muzzle03 17127 End 17128 17129 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE 17130 Animation = None 17131 HideSubObject = UITech-SKN 17132 ShowSubObject = RPG 17133 WeaponFireFXBone = PRIMARY Muzzle03 17134 WeaponLaunchBone = PRIMARY Muzzle03 17135 End 17136 17137 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO 17138 Animation = UITech_SKL.UITech_MVB 17139 AnimationMode = LOOP 17140 ShowSubObject = RPG 17141 WeaponFireFXBone = PRIMARY Muzzle03 17142 WeaponLaunchBone = PRIMARY Muzzle03 17143 End 17144 17145 ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE 17146 Animation = UITech_SKL.UITech_TNA 17147 AnimationMode = LOOP 17148 ShowSubObject = RPG 17149 WeaponFireFXBone = PRIMARY Muzzle03 17150 WeaponLaunchBone = PRIMARY Muzzle03 17151 End 17152 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING 17153 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A 17154 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 17155 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A 17156 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A 17157 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 17158 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A 17159 17160 ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A 17161 Animation = UITech_SKL.UITech_ATA 17162 AnimationMode = LOOP 17163 ShowSubObject = RPG 17164 WeaponFireFXBone = PRIMARY Muzzle03 17165 WeaponLaunchBone = PRIMARY Muzzle03 17166 End 17167 17168 ; AliasConditionState is a new keyword that says, 17169 ; "give me another ConditionState exactly like the previous 17170 ; one, except with different conditions". Useful when you 17171 ; have several states that are the same with only different condition bits. 17172 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A 17173 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A 17174 17175 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 17176 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A 17177 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A 17178 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A 17179 17180 End 17181 17182 ; ***DESIGN parameters *** 17183 DisplayName = OBJECT:Technical 17184 Side = GLA 17185 EditorSorting = VEHICLE 17186 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 17187 17188 WeaponSet 17189 Conditions = None 17190 Weapon = PRIMARY TechnicalMachineGunWeapon 17191 End 17192 WeaponSet 17193 Conditions = CRATEUPGRADE_ONE 17194 Weapon = PRIMARY TechnicalCannonWeapon 17195 End 17196 WeaponSet 17197 Conditions = CRATEUPGRADE_TWO 17198 Weapon = PRIMARY TechnicalRPGWeapon 17199 End 17200 ArmorSet 17201 Conditions = None 17202 Armor = TruckArmor 17203 DamageFX = TruckDamageFX 17204 End 17205 ;update cost and time fields in Object GLAVehicleTechnical, or else they won't work 17206 ;BuildCost = 300 17207 ;BuildTime = 5.0 ;in seconds 17208 VisionRange = 150 17209 ShroudClearingRange = 300 17210 Prerequisites 17211 Object = GLAArmsDealer 17212 End 17213 17214 ExperienceValue = 25 25 50 100 ;Experience point value at each level 17215 ExperienceRequired = 0 50 75 150 ;Experience points needed to gain each level 17216 IsTrainable = Yes ;Can gain experience 17217 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 17218 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 17219 CommandSet = GLAVehicleTechnicalCommandSet 17220 17221 ; *** AUDIO Parameters *** 17222 VoiceSelect = TechnicalVoiceSelect 17223 VoiceMove = TechnicalVoiceMove 17224 VoiceGuard = TechnicalVoiceMove 17225 VoiceAttack = TechnicalVoiceAttack 17226 SoundMoveStart = TechnicalMoveStart 17227 SoundMoveStartDamaged = TechnicalMoveStart 17228 SoundDie = TechnicalVoiceDie 17229 SoundEnter = HumveeEnter 17230 SoundExit = HumveeExit 17231 17232 UnitSpecificSounds 17233 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 17234 VoiceCreate = TechnicalVoiceCreate 17235 TurretMoveStart = NoSound 17236 TurretMoveLoop = TurretMoveLoop 17237 TruckLandingSound = RocketBuggyLand 17238 TruckPowerslideSound = RocketBuggyPowerslide 17239 VoiceSalvage = TechnicalVoiceSalvage 17240 VoiceCrush = TechnicalVoiceCrush 17241 VoiceUnload = TechnicalVoiceUnload 17242 VoiceEnter = TechnicalVoiceMove 17243 End 17244 17245 ; *** ENGINEERING Parameters *** 17246 RadarPriority = UNIT 17247 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE TRANSPORT 17248 17249 Behavior = VeterancyGainCreate ModuleTag_03 17250 StartingLevel = VETERAN 17251 ScienceRequired = SCIENCE_TechnicalTraining 17252 End 17253 17254 Body = ActiveBody ModuleTag_04 17255 MaxHealth = 180 17256 InitialHealth = 180 17257 End 17258 Behavior = AIUpdateInterface ModuleTag_05 17259 Turret 17260 TurretTurnRate = 240 ; turn rate, in degrees per sec 17261 NaturalTurretAngle = 0 17262 MinIdleScanAngle = 30 ; in degrees off the natural turret angle 17263 MaxIdleScanAngle = 60 ; in degrees off the natural turret angle 17264 MinIdleScanInterval = 5000 ; in milliseconds 17265 MaxIdleScanInterval = 10000 ; in milliseconds 17266 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY 17267 End 17268 AutoAcquireEnemiesWhenIdle = Yes 17269 End 17270 Locomotor = SET_NORMAL TechnicalLocomotor 17271 Behavior = PhysicsBehavior ModuleTag_06 17272 Mass = 40.0 17273 End 17274 Behavior = AutoHealBehavior ModuleTag_07 17275 HealingAmount = 2 17276 HealingDelay = 1000 ; msec 17277 TriggeredBy = Upgrade_GLAJunkRepair 17278 End 17279 17280 Behavior = FlammableUpdate ModuleTag_09 17281 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 17282 AflameDamageAmount = 3 ; taking this much damage... 17283 AflameDamageDelay = 500 ; this often. 17284 End 17285 17286 Behavior = TransitionDamageFX ModuleTag_10 17287 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 17288 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 17289 End 17290 17291 Behavior = DestroyDie ModuleTag_11 17292 DeathTypes = NONE +CRUSHED +SPLATTED 17293 End 17294 17295 ; A crushing defeat 17296 Behavior = FXListDie ModuleTag_12 17297 DeathTypes = NONE +CRUSHED +SPLATTED 17298 DeathFX = FX_CarCrush 17299 End 17300 Behavior = CreateObjectDie ModuleTag_13 17301 DeathTypes = NONE +CRUSHED +SPLATTED 17302 CreationList = OCL_TechnicalJeep_CrushEffect 17303 End 17304 Behavior = CreateCrateDie ModuleTag_14 17305 CrateData = SalvageCrateData 17306 ;CrateData = EliteTankCrateData 17307 ;CrateData = HeroicTankCrateData 17308 End 17309 17310 Behavior = SlowDeathBehavior ModuleTag_15 17311 DeathTypes = ALL -CRUSHED -SPLATTED 17312 DestructionDelay = 500 17313 DestructionDelayVariance = 1500 17314 OCL = INITIAL OCL_TechnicalAirDeathStart 17315 FX = INITIAL FX_RocketBuggyAirDeathGroundPart 17316 OCL = FINAL OCL_RocketBuggyAirDeath 17317 FX = FINAL FX_RocketBuggyAirDeathAirPart ; This happens in the air 17318 End 17319 17320 Behavior = TransportContain ModuleTag_16 17321 PassengersAllowedToFire = Yes 17322 ;InitialPayload = GLAInfantryTechnicalRider 2 17323 Slots = 5 17324 AllowInsideKindOf = INFANTRY 17325 AllowAlliesInside = Yes 17326 AllowNeutralInside = No 17327 AllowEnemiesInside = No 17328 DamagePercentToUnits = 80% 17329 GoAggressiveOnExit = Yes 17330 End 17331 17332 Behavior = WeaponBonusUpgrade ModuleTag_17 ; Not a full weapon set switch, just a number tweak reflected in a weapon. 17333 TriggeredBy = Upgrade_GLAAPBullets 17334 End 17335 17336 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 17337 DetectionRate = 500 17338 DetectionRange = 75 17339 CanDetectWhileGarrisoned = No 17340 CanDetectWhileContained = No 17341 ExtraRequiredKindOf = BOAT 17342 End 17343 17344 Geometry = BOX 17345 GeometryMajorRadius = 18.0 17346 GeometryMinorRadius = 9.0 17347 GeometryHeight = 7.5 17348 GeometryIsSmall = No 17349 Shadow = SHADOW_VOLUME 17350 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 17351 17352 End 17353 17354 ;------------------------------------------------------------------------------ 17355 ObjectReskin GLAVehicleTechnicalChassisTwo GLAVehicleTechnicalChassisOne 17356 17357 ; *** ART Parameters *** 17358 ;SelectPortrait = SUTechnicalVan_L 17359 17360 Draw = W3DTruckDraw ModuleTag_01 17361 17362 ExtraPublicBone = Dum_Turret 17363 17364 DefaultConditionState 17365 Model = UVTechVan 17366 End 17367 17368 ConditionState = REALLYDAMAGED 17369 Model = UVTechVan_d 17370 End 17371 ConditionState = RUBBLE 17372 Model = UVTechVan_d 17373 End 17374 17375 OkToChangeModelColor = Yes 17376 TrackMarks = EXTireTrack.tga 17377 Dust = TechnicalDust 17378 17379 ;DirtSpray = RocketBuggyDirtSpray 17380 PowerslideSpray = RocketBuggyDirtPowerSlide 17381 17382 ; These parameters are only used if the model has a separate suspension, 17383 ; and the locomotor has HasSuspension = Yes. 17384 LeftFrontTireBone = Tire01 17385 RightFrontTireBone = Tire02 17386 LeftRearTireBone = Tire03 17387 RightRearTireBone = Tire04 17388 TireRotationMultiplier = 0.2 ; this * speed = rotation. 17389 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 17390 End 17391 17392 Draw = W3DModelDraw ModuleTag_02 17393 OkToChangeModelColor = Yes 17394 AttachToBoneInAnotherModule = Dum_Turret 17395 17396 ; ------------------ basic technical ------------------------ 17397 DefaultConditionState 17398 Model = UITech_SKN 17399 Turret = Dum-TurManMVR 17400 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 17401 HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 17402 IdleAnimation = UITech_SKL.UITech_STA 0 6 17403 IdleAnimation = UITech_SKL.UITech_IDA 17404 IdleAnimation = UITech_SKL.UITech_IDB 17405 AnimationMode = ONCE 17406 ShowSubObject = 20Cal 17407 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17408 WeaponFireFXBone = PRIMARY Muzzle01 17409 End 17410 17411 ConditionState = RUBBLE MOVING TURRET_ROTATE 17412 Animation = None 17413 HideSubObject = UITech-SKN 17414 ShowSubObject = 20Cal 17415 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17416 WeaponFireFXBone = PRIMARY Muzzle01 17417 End 17418 17419 ConditionState = MOVING 17420 Animation = UITech_SKL.UITech_MVB 17421 AnimationMode = LOOP 17422 ShowSubObject = 20Cal 17423 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17424 WeaponFireFXBone = PRIMARY Muzzle01 17425 End 17426 17427 ConditionState = TURRET_ROTATE 17428 Animation = UITech_SKL.UITech_TNA 17429 AnimationMode = LOOP 17430 ShowSubObject = 20Cal 17431 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17432 WeaponFireFXBone = PRIMARY Muzzle01 17433 End 17434 AliasConditionState = TURRET_ROTATE MOVING 17435 AliasConditionState = TURRET_ROTATE FIRING_A 17436 AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 17437 AliasConditionState = TURRET_ROTATE RELOADING_A 17438 AliasConditionState = TURRET_ROTATE MOVING FIRING_A 17439 AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 17440 AliasConditionState = TURRET_ROTATE MOVING RELOADING_A 17441 17442 ConditionState = FIRING_A 17443 Animation = UITech_SKL.UITech_ATA 17444 AnimationMode = LOOP 17445 ShowSubObject = 20Cal 17446 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17447 WeaponFireFXBone = PRIMARY Muzzle01 17448 End 17449 17450 ; AliasConditionState is a new keyword that says, 17451 ; "give me another ConditionState exactly like the previous 17452 ; one, except with different conditions". Useful when you 17453 ; have several states that are the same with only different condition bits. 17454 AliasConditionState = BETWEEN_FIRING_SHOTS_A 17455 AliasConditionState = RELOADING_A 17456 17457 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 17458 AliasConditionState = MOVING FIRING_A 17459 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 17460 AliasConditionState = MOVING RELOADING_A 17461 17462 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ 17463 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 17464 IdleAnimation = UITech_SKL.UITech_STA 0 6 17465 IdleAnimation = UITech_SKL.UITech_IDA 17466 IdleAnimation = UITech_SKL.UITech_IDB 17467 AnimationMode = ONCE 17468 ShowSubObject = 50Cal 17469 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17470 WeaponFireFXBone = PRIMARY Muzzle02 17471 WeaponLaunchBone = PRIMARY Muzzle02 17472 End 17473 17474 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE 17475 Animation = None 17476 HideSubObject = UITech-SKN 17477 ShowSubObject = 50Cal 17478 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17479 WeaponFireFXBone = PRIMARY Muzzle02 17480 WeaponLaunchBone = PRIMARY Muzzle02 17481 End 17482 17483 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE 17484 Animation = UITech_SKL.UITech_MVB 17485 AnimationMode = LOOP 17486 ShowSubObject = 50Cal 17487 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17488 WeaponFireFXBone = PRIMARY Muzzle02 17489 WeaponLaunchBone = PRIMARY Muzzle02 17490 End 17491 17492 ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE 17493 Animation = UITech_SKL.UITech_TNA 17494 AnimationMode = LOOP 17495 ShowSubObject = 50Cal 17496 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17497 WeaponFireFXBone = PRIMARY Muzzle02 17498 WeaponLaunchBone = PRIMARY Muzzle02 17499 End 17500 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING 17501 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A 17502 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 17503 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A 17504 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A 17505 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 17506 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A 17507 17508 ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 17509 Animation = UITech_SKL.UITech_ATA 17510 AnimationMode = LOOP 17511 ShowSubObject = 50Cal 17512 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17513 WeaponFireFXBone = PRIMARY Muzzle02 17514 WeaponLaunchBone = PRIMARY Muzzle02 17515 End 17516 17517 ; AliasConditionState is a new keyword that says, 17518 ; "give me another ConditionState exactly like the previous 17519 ; one, except with different conditions". Useful when you 17520 ; have several states that are the same with only different condition bits. 17521 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A 17522 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A 17523 17524 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 17525 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A 17526 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A 17527 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A 17528 17529 17530 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ 17531 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 17532 IdleAnimation = UITech_SKL.UITech_STA 0 6 17533 IdleAnimation = UITech_SKL.UITech_IDA 17534 IdleAnimation = UITech_SKL.UITech_IDB 17535 AnimationMode = ONCE 17536 ShowSubObject = RPG 17537 WeaponFireFXBone = PRIMARY Muzzle03 17538 WeaponLaunchBone = PRIMARY Muzzle03 17539 End 17540 17541 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE 17542 Animation = None 17543 HideSubObject = UITech-SKN 17544 ShowSubObject = RPG 17545 WeaponFireFXBone = PRIMARY Muzzle03 17546 WeaponLaunchBone = PRIMARY Muzzle03 17547 End 17548 17549 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO 17550 Animation = UITech_SKL.UITech_MVB 17551 AnimationMode = LOOP 17552 ShowSubObject = RPG 17553 WeaponFireFXBone = PRIMARY Muzzle03 17554 WeaponLaunchBone = PRIMARY Muzzle03 17555 End 17556 17557 ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE 17558 Animation = UITech_SKL.UITech_TNA 17559 AnimationMode = LOOP 17560 ShowSubObject = RPG 17561 WeaponFireFXBone = PRIMARY Muzzle03 17562 WeaponLaunchBone = PRIMARY Muzzle03 17563 End 17564 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING 17565 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A 17566 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 17567 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A 17568 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A 17569 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 17570 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A 17571 17572 ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A 17573 Animation = UITech_SKL.UITech_ATA 17574 AnimationMode = LOOP 17575 ShowSubObject = RPG 17576 WeaponFireFXBone = PRIMARY Muzzle03 17577 WeaponLaunchBone = PRIMARY Muzzle03 17578 End 17579 17580 ; AliasConditionState is a new keyword that says, 17581 ; "give me another ConditionState exactly like the previous 17582 ; one, except with different conditions". Useful when you 17583 ; have several states that are the same with only different condition bits. 17584 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A 17585 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A 17586 17587 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 17588 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A 17589 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A 17590 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A 17591 17592 End 17593 17594 ; Behavior = CreateObjectDie ModuleTag_13 17595 ; DeathTypes = NONE +CRUSHED +SPLATTED 17596 ; CreationList = OCL_TechnicalVan_CrushEffect 17597 ; End 17598 17599 Geometry = BOX 17600 GeometryMajorRadius = 16.0 17601 GeometryMinorRadius = 8.0 17602 GeometryHeight = 7.5 17603 GeometryIsSmall = Yes 17604 17605 17606 End 17607 17608 ;------------------------------------------------------------------------------ 17609 ObjectReskin GLAVehicleTechnicalChassisThree GLAVehicleTechnicalChassisOne 17610 17611 ; *** ART Parameters *** 17612 Draw = W3DTruckDraw ModuleTag_01 17613 17614 ExtraPublicBone = Dum_Turret 17615 17616 DefaultConditionState 17617 Model = UVTechJeep 17618 End 17619 17620 ConditionState = REALLYDAMAGED 17621 Model = UVTechJeep_d 17622 End 17623 ConditionState = RUBBLE 17624 Model = UVTechJeep_d 17625 End 17626 17627 OkToChangeModelColor = Yes 17628 TrackMarks = EXTireTrack.tga 17629 Dust = TechnicalDust 17630 17631 ;DirtSpray = RocketBuggyDirtSpray 17632 PowerslideSpray = RocketBuggyDirtPowerSlide 17633 17634 ; These parameters are only used if the model has a separate suspension, 17635 ; and the locomotor has HasSuspension = Yes. 17636 LeftFrontTireBone = Tire01 17637 RightFrontTireBone = Tire02 17638 LeftRearTireBone = Tire03 17639 RightRearTireBone = Tire04 17640 TireRotationMultiplier = 0.2 ; this * speed = rotation. 17641 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 17642 End 17643 17644 Draw = W3DModelDraw ModuleTag_02 17645 OkToChangeModelColor = Yes 17646 AttachToBoneInAnotherModule = Dum_Turret 17647 17648 ; ------------------ basic technical ------------------------ 17649 DefaultConditionState 17650 Model = UITech_SKN 17651 Turret = Dum-TurManMVR 17652 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 17653 HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 17654 IdleAnimation = UITech_SKL.UITech_STA 0 6 17655 IdleAnimation = UITech_SKL.UITech_IDA 17656 IdleAnimation = UITech_SKL.UITech_IDB 17657 AnimationMode = ONCE 17658 ShowSubObject = 20Cal 17659 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17660 WeaponFireFXBone = PRIMARY Muzzle01 17661 End 17662 17663 ConditionState = RUBBLE MOVING TURRET_ROTATE 17664 Animation = None 17665 HideSubObject = UITech-SKN 17666 ShowSubObject = 20Cal 17667 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17668 WeaponFireFXBone = PRIMARY Muzzle01 17669 End 17670 17671 ConditionState = MOVING 17672 Animation = UITech_SKL.UITech_MVB 17673 AnimationMode = LOOP 17674 ShowSubObject = 20Cal 17675 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17676 WeaponFireFXBone = PRIMARY Muzzle01 17677 End 17678 17679 ConditionState = TURRET_ROTATE 17680 Animation = UITech_SKL.UITech_TNA 17681 AnimationMode = LOOP 17682 ShowSubObject = 20Cal 17683 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17684 WeaponFireFXBone = PRIMARY Muzzle01 17685 End 17686 AliasConditionState = TURRET_ROTATE MOVING 17687 AliasConditionState = TURRET_ROTATE FIRING_A 17688 AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 17689 AliasConditionState = TURRET_ROTATE RELOADING_A 17690 AliasConditionState = TURRET_ROTATE MOVING FIRING_A 17691 AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 17692 AliasConditionState = TURRET_ROTATE MOVING RELOADING_A 17693 17694 ConditionState = FIRING_A 17695 Animation = UITech_SKL.UITech_ATA 17696 AnimationMode = LOOP 17697 ShowSubObject = 20Cal 17698 WeaponMuzzleFlash = PRIMARY MuzzleFX01 17699 WeaponFireFXBone = PRIMARY Muzzle01 17700 End 17701 17702 ; AliasConditionState is a new keyword that says, 17703 ; "give me another ConditionState exactly like the previous 17704 ; one, except with different conditions". Useful when you 17705 ; have several states that are the same with only different condition bits. 17706 AliasConditionState = BETWEEN_FIRING_SHOTS_A 17707 AliasConditionState = RELOADING_A 17708 17709 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 17710 AliasConditionState = MOVING FIRING_A 17711 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 17712 AliasConditionState = MOVING RELOADING_A 17713 17714 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ 17715 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 17716 IdleAnimation = UITech_SKL.UITech_STA 0 6 17717 IdleAnimation = UITech_SKL.UITech_IDA 17718 IdleAnimation = UITech_SKL.UITech_IDB 17719 AnimationMode = ONCE 17720 ShowSubObject = 50Cal 17721 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17722 WeaponFireFXBone = PRIMARY Muzzle02 17723 WeaponLaunchBone = PRIMARY Muzzle02 17724 End 17725 17726 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE 17727 Animation = None 17728 HideSubObject = UITech-SKN 17729 ShowSubObject = 50Cal 17730 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17731 WeaponFireFXBone = PRIMARY Muzzle02 17732 WeaponLaunchBone = PRIMARY Muzzle02 17733 End 17734 17735 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE 17736 Animation = UITech_SKL.UITech_MVB 17737 AnimationMode = LOOP 17738 ShowSubObject = 50Cal 17739 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17740 WeaponFireFXBone = PRIMARY Muzzle02 17741 WeaponLaunchBone = PRIMARY Muzzle02 17742 End 17743 17744 ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE 17745 Animation = UITech_SKL.UITech_TNA 17746 AnimationMode = LOOP 17747 ShowSubObject = 50Cal 17748 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17749 WeaponFireFXBone = PRIMARY Muzzle02 17750 WeaponLaunchBone = PRIMARY Muzzle02 17751 End 17752 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING 17753 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A 17754 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 17755 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A 17756 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A 17757 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 17758 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A 17759 17760 ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 17761 Animation = UITech_SKL.UITech_ATA 17762 AnimationMode = LOOP 17763 ShowSubObject = 50Cal 17764 WeaponMuzzleFlash = PRIMARY MuzzleFX02 17765 WeaponFireFXBone = PRIMARY Muzzle02 17766 WeaponLaunchBone = PRIMARY Muzzle02 17767 End 17768 17769 ; AliasConditionState is a new keyword that says, 17770 ; "give me another ConditionState exactly like the previous 17771 ; one, except with different conditions". Useful when you 17772 ; have several states that are the same with only different condition bits. 17773 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A 17774 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A 17775 17776 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 17777 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A 17778 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A 17779 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A 17780 17781 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ 17782 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 17783 IdleAnimation = UITech_SKL.UITech_STA 0 6 17784 IdleAnimation = UITech_SKL.UITech_IDA 17785 IdleAnimation = UITech_SKL.UITech_IDB 17786 AnimationMode = ONCE 17787 ShowSubObject = RPG 17788 WeaponFireFXBone = PRIMARY Muzzle03 17789 WeaponLaunchBone = PRIMARY Muzzle03 17790 End 17791 17792 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE 17793 Animation = None 17794 HideSubObject = UITech-SKN 17795 ShowSubObject = RPG 17796 WeaponFireFXBone = PRIMARY Muzzle03 17797 WeaponLaunchBone = PRIMARY Muzzle03 17798 End 17799 17800 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO 17801 Animation = UITech_SKL.UITech_MVB 17802 AnimationMode = LOOP 17803 ShowSubObject = RPG 17804 WeaponFireFXBone = PRIMARY Muzzle03 17805 WeaponLaunchBone = PRIMARY Muzzle03 17806 End 17807 17808 ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE 17809 Animation = UITech_SKL.UITech_TNA 17810 AnimationMode = LOOP 17811 ShowSubObject = RPG 17812 WeaponFireFXBone = PRIMARY Muzzle03 17813 WeaponLaunchBone = PRIMARY Muzzle03 17814 End 17815 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING 17816 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A 17817 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 17818 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A 17819 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A 17820 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 17821 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A 17822 17823 ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A 17824 Animation = UITech_SKL.UITech_ATA 17825 AnimationMode = LOOP 17826 ShowSubObject = RPG 17827 WeaponFireFXBone = PRIMARY Muzzle03 17828 WeaponLaunchBone = PRIMARY Muzzle03 17829 End 17830 17831 ; AliasConditionState is a new keyword that says, 17832 ; "give me another ConditionState exactly like the previous 17833 ; one, except with different conditions". Useful when you 17834 ; have several states that are the same with only different condition bits. 17835 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A 17836 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A 17837 17838 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 17839 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A 17840 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A 17841 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A 17842 17843 End 17844 17845 ; Behavior = CreateObjectDie ModuleTag_13 17846 ; DeathTypes = NONE +CRUSHED +SPLATTED 17847 ; CreationList = OCL_TechnicalJeep_CrushEffect 17848 ; End 17849 17850 Geometry = BOX 17851 GeometryMajorRadius = 14.0 17852 GeometryMinorRadius = 9.0 17853 GeometryHeight = 9.5 17854 GeometryIsSmall = Yes 17855 End 17856 17857 ;------------------------------------------------------------------------------ 17858 Object GLAInfantryTechnicalRider 17859 17860 ; *** ART Parameters *** 17861 SelectPortrait = SURebel_L 17862 ButtonImage = SURebel 17863 17864 UpgradeCameo1 = Upgrade_GLAAPBullets 17865 17866 Draw = W3DModelDraw ModuleTag_01 17867 17868 OkToChangeModelColor = Yes 17869 17870 DefaultConditionState 17871 Model = UIMOB01_SKN 17872 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD1 0 6 17873 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD2 0 6 17874 IdleAnimation = UIMOB01_SKL.UIMOB01_CHD 0 6 17875 IdleAnimation = UIMOB01_SKL.UIMOB01_STD 17876 AnimationMode = ONCE 17877 AnimationSpeedFactorRange 0.9 1.1 17878 TransitionKey = TRANS_STAND_AK 17879 End 17880 17881 ConditionState = MOVING 17882 Animation = UIMOB01_SKL.UIMOB01_RND 17883 AnimationMode = LOOP 17884 Flags = RANDOMSTART 17885 TransitionKey = MOVING_AK 17886 End 17887 17888 ConditionState = DYING 17889 Animation = UIMOB01_SKL.UIMOB01_DD1 17890 Animation = UIMOB01_SKL.UIMOB01_DD2 17891 AnimationMode = ONCE 17892 TransitionKey = TRANS_Dying 17893 End 17894 17895 ConditionState = SPECIAL_CHEERING 17896 Animation = UIMOB01_SKL.UIMOB01_CHD 17897 AnimationMode = ONCE 17898 End 17899 17900 ; Drawing AK47 17901 ConditionState = PREATTACK_A 17902 Animation = UIMOB01_SKL.UIMOB01_ATD1_ST ; start firing 17903 AnimationMode = ONCE 17904 End 17905 AliasConditionState = PREATTACK_A FIRING_A 17906 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 17907 17908 ; Firing Gun 17909 ConditionState = FIRING_A 17910 Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing 17911 AnimationMode = LOOP 17912 WeaponFireFXBone = PRIMARY MuzzleAK 17913 WeaponMuzzleFlash = PRIMARY MuzzleAKFX 17914 TransitionKey = TRANS_FIRING_AK 17915 End 17916 AliasConditionState = BETWEEN_FIRING_SHOTS_A 17917 17918 ConditionState = RELOADING_A 17919 Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing 17920 AnimationMode = ONCE 17921 End 17922 17923 ; This transition allows him to put his gun away when he's finished attacking. 17924 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 17925 Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing 17926 AnimationMode = ONCE 17927 End 17928 17929 TransitionState = TRANS_Dying TRANS_Flailing 17930 Animation = UIMOB01_SKL.UIMOB01_A_ADTE1 17931 Animation = UIMOB01_SKL.UIMOB01_D_ADTE1 17932 AnimationMode = ONCE 17933 End 17934 17935 ConditionState = DYING EXPLODED_FLAILING 17936 Animation = UIMOB01_SKL.UIMOB01_A_ADTE2 17937 Animation = UIMOB01_SKL.UIMOB01_D_ADTE2 17938 AnimationMode = LOOP 17939 TransitionKey = TRANS_Flailing 17940 End 17941 17942 ConditionState = DYING EXPLODED_BOUNCING 17943 Animation = UIMOB01_SKL.UIMOB01_A_ADTE3 17944 Animation = UIMOB01_SKL.UIMOB01_D_ADTE3 17945 AnimationMode = ONCE 17946 TransitionKey = None 17947 End 17948 17949 End 17950 17951 ; ***DESIGN parameters *** 17952 DisplayName = OBJECT:TechnicalRider 17953 Side = GLA 17954 EditorSorting = INFANTRY 17955 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 17956 17957 WeaponSet 17958 Conditions = None 17959 Weapon = PRIMARY TechnicalRiderAK47 17960 End 17961 17962 ArmorSet 17963 Conditions = None 17964 Armor = HumanArmor 17965 DamageFX = InfantryDamageFX 17966 End 17967 17968 VisionRange = 150 17969 ShroudClearingRange = 300 17970 Prerequisites 17971 ;Object = GLABarracks 17972 End 17973 BuildCost = 200 17974 BuildTime = 6.0 ;in seconds 17975 17976 ExperienceValue = 20 20 35 50 ;Experience point value at each level 17977 ExperienceRequired = 0 50 70 140 ;Experience points needed to gain each level 17978 IsTrainable = No ;Can gain experience 17979 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 17980 CommandSet = GenericCommandSet ;GLAInfantryTechnicalRiderCommandSet 17981 17982 ; *** AUDIO Parameters *** 17983 VoiceSelect = RebelVoiceSelect 17984 VoiceMove = RebelVoiceMove 17985 VoiceGuard = RebelVoiceMove 17986 VoiceAttack = RebelVoiceAttack 17987 SoundDie = RebelVoiceDie 17988 SoundDieFire = DieByFireGLA 17989 SoundDieToxin = DieByToxinGLA 17990 VoiceFear = RebelVoiceFear 17991 17992 UnitSpecificSounds 17993 VoiceCreate = RebelVoiceCreate 17994 VoiceSubdue = RebelVoiceSubdue 17995 VoiceGarrison = RebelVoiceGarrison 17996 VoiceEnter = RebelVoiceMove 17997 VoiceEnterHostile = RebelVoiceMove 17998 VoiceGetHealed = RebelVoiceMove 17999 End 18000 18001 ; *** ENGINEERING Parameters *** 18002 RadarPriority = UNIT 18003 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 18004 18005 Body = ActiveBody ModuleTag_02 18006 MaxHealth = 120.0 18007 InitialHealth = 120.0 18008 End 18009 18010 Behavior = AIUpdateInterface ModuleTag_03 18011 AutoAcquireEnemiesWhenIdle = Yes 18012 End 18013 18014 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 18015 End 18016 18017 Locomotor = SET_NORMAL TechnicalRiderLocomotor 18018 18019 Behavior = PhysicsBehavior ModuleTag_05 18020 Mass = 5.0 18021 End 18022 18023 Behavior = WeaponBonusUpgrade ModuleTag_09 18024 TriggeredBy = Upgrade_GLAAPBullets 18025 End 18026 18027 Behavior = SquishCollide ModuleTag_11 18028 ;nothing 18029 End 18030 18031 ; --- begin Death modules --- 18032 Behavior = SlowDeathBehavior ModuleTag_Death01 18033 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 18034 SinkDelay = 3000 18035 SinkRate = 0.5 ; in Dist/Sec 18036 DestructionDelay = 8000 18037 FX = INITIAL FX_GIDie 18038 End 18039 Behavior = SlowDeathBehavior ModuleTag_Death02 18040 DeathTypes = NONE +CRUSHED +SPLATTED 18041 SinkDelay = 3000 18042 SinkRate = 0.5 ; in Dist/Sec 18043 DestructionDelay = 8000 18044 FX = INITIAL FX_GIDieCrushed 18045 End 18046 Behavior = SlowDeathBehavior ModuleTag_Death03 18047 DeathTypes = NONE +EXPLODED 18048 SinkDelay = 3000 18049 SinkRate = 0.5 ; in Dist/Sec 18050 DestructionDelay = 8000 18051 FX = INITIAL FX_GIDie 18052 FlingForce = 8 18053 FlingForceVariance = 3 18054 FlingPitch = 60 18055 FlingPitchVariance = 10 18056 End 18057 Behavior = SlowDeathBehavior ModuleTag_Death04 18058 DeathTypes = NONE +BURNED 18059 DestructionDelay = 0 18060 FX = INITIAL FX_GIDie 18061 OCL = INITIAL OCL_FlamingInfantry 18062 End 18063 Behavior = SlowDeathBehavior ModuleTag_Death05 18064 DeathTypes = NONE +POISONED 18065 DestructionDelay = 0 18066 FX = INITIAL FX_GIDie 18067 OCL = INITIAL OCL_ToxicInfantry 18068 End 18069 Behavior = SlowDeathBehavior ModuleTag_Death06 18070 DeathTypes = NONE +POISONED_BETA 18071 DestructionDelay = 0 18072 FX = INITIAL FX_GIDie 18073 OCL = INITIAL OCL_ToxicInfantryBeta 18074 End 18075 ; --- end Death modules --- 18076 18077 Behavior = PoisonedBehavior ModuleTag_16 18078 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 18079 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 18080 End 18081 18082 Geometry = CYLINDER 18083 GeometryMajorRadius = 10.0 18084 GeometryMinorRadius = 10.0 18085 GeometryHeight = 12.0 18086 GeometryIsSmall = Yes 18087 Shadow = SHADOW_DECAL 18088 ShadowSizeX = 14; 18089 ShadowSizeY = 14; 18090 ShadowTexture = ShadowI; 18091 BuildCompletion = APPEARS_AT_RALLY_POINT 18092 18093 End 18094 18095 ;------------------------------------------------------------------------------ 18096 Object ChinaTankOverlord 18097 18098 ; *** ART Parameters *** 18099 SelectPortrait = SNOverlord_L 18100 ButtonImage = SNOverlord 18101 18102 UpgradeCameo1 = Upgrade_ChinaUraniumShells 18103 UpgradeCameo2 = Upgrade_ChinaNuclearTanks 18104 UpgradeCameo3 = Upgrade_ChinaOverlordBattleBunker 18105 UpgradeCameo4 = Upgrade_ChinaOverlordGattlingCannon 18106 UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower 18107 18108 18109 Draw = W3DOverlordTankDraw ModuleTag_01 18110 ConditionState = NONE 18111 Model = NVOvrlrd 18112 Animation = NVOvrlrd.NVOvrlrd 18113 AnimationMode = LOOP 18114 Turret = Turret01 18115 WeaponFireFXBone = PRIMARY Muzzle 18116 WeaponRecoilBone = PRIMARY Barrel 18117 WeaponMuzzleFlash = PRIMARY MuzzleFX 18118 WeaponLaunchBone = PRIMARY Muzzle 18119 End 18120 ConditionState = REALLYDAMAGED 18121 Model = NVOvrlrd_d 18122 Animation = NVOvrlrd_d.NVOvrlrd_d 18123 AnimationMode = LOOP 18124 Turret = Turret01 18125 WeaponFireFXBone = PRIMARY Muzzle 18126 WeaponRecoilBone = PRIMARY Barrel 18127 WeaponMuzzleFlash = PRIMARY MuzzleFX 18128 WeaponLaunchBone = PRIMARY Muzzle 18129 End 18130 18131 ConditionState = RUBBLE 18132 Model = NVOvrlrd_d 18133 Turret = Turret01 18134 WeaponFireFXBone = PRIMARY Muzzle 18135 WeaponRecoilBone = PRIMARY Barrel 18136 WeaponMuzzleFlash = PRIMARY MuzzleFX 18137 WeaponLaunchBone = PRIMARY Muzzle 18138 End 18139 18140 TrackMarks = EXTnkTrack.tga 18141 OkToChangeModelColor = Yes 18142 TreadAnimationRate = 2.0; amount of tread texture to move per second 18143 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 18144 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 18145 End 18146 18147 ; ***DESIGN parameters *** 18148 DisplayName = OBJECT:Overlord 18149 Side = China 18150 EditorSorting = VEHICLE 18151 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 18152 WeaponSet 18153 Conditions = None 18154 Weapon = PRIMARY OverlordTankGun 18155 End 18156 ArmorSet 18157 Conditions = None 18158 Armor = TankArmor 18159 DamageFX = TankDamageFX 18160 End 18161 BuildCost = 2000 18162 BuildTime = 25.0 ;in seconds 18163 VisionRange = 150 18164 ShroudClearingRange = 200 18165 Prerequisites 18166 Object = ChinaWarFactory 18167 Object = ChinaPropagandaCenter 18168 End 18169 18170 ExperienceValue = 200 200 400 600 ;Experience point value at each level 18171 ExperienceRequired = 0 400 600 1200 ;Experience points needed to gain each level 18172 IsTrainable = Yes ;Can gain experience 18173 CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 18174 CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 18175 CommandSet = ChinaTankOverlordDefaultCommandSet 18176 18177 ; *** AUDIO Parameters *** 18178 VoiceSelect = OverlordTankVoiceSelect 18179 SoundMoveStart = OverlordTankMoveStart 18180 SoundMoveStartDamaged = OverlordTankMoveStart 18181 VoiceMove = OverlordTankVoiceMove 18182 VoiceGuard = OverlordTankVoiceMove 18183 VoiceAttack = OverlordTankVoiceAttack 18184 18185 UnitSpecificSounds 18186 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 18187 VoiceCreate = OverlordTankVoiceCreate 18188 TurretMoveStart = NoSound 18189 TurretMoveLoop = OverlordTankTurretMoveLoop 18190 VoiceCrush = OverlordTankVoiceCrush 18191 VoiceEnter = OverlordTankVoiceMove 18192 VoiceUnload = OverlordTankVoiceUnload 18193 End 18194 18195 ; *** ENGINEERING Parameters *** 18196 RadarPriority = UNIT 18197 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE HUGE_VEHICLE 18198 18199 Body = ActiveBody ModuleTag_02 18200 MaxHealth = 1100.0 18201 InitialHealth = 1100.0 18202 End 18203 18204 Behavior = TransportAIUpdate ModuleTag_03 18205 Turret 18206 TurretTurnRate = 60 ;30 ;15 // turn rate, in degrees per sec 18207 ControlledWeaponSlots = PRIMARY 18208 End 18209 AutoAcquireEnemiesWhenIdle = Yes 18210 End 18211 18212 Locomotor = SET_NORMAL OverlordLocomotor 18213 Locomotor = SET_NORMAL_UPGRADED NuclearOverlordLocomotor 18214 18215 Behavior = FireWeaponWhenDeadBehavior ModuleTag_04 18216 DeathWeapon = NuclearTankDeathWeapon 18217 StartsActive = No ; turned on by upgrade 18218 TriggeredBy = Upgrade_ChinaNuclearTanks 18219 End 18220 Behavior = LocomotorSetUpgrade ModuleTag_05 18221 TriggeredBy = Upgrade_ChinaNuclearTanks 18222 End 18223 18224 Behavior = OverlordContain ModuleTag_06 ; Like Transport, but when full, passes transport queries along to first passenger (redirects like tunnel) 18225 Slots = 1 18226 DamagePercentToUnits = 100% 18227 AllowInsideKindOf = PORTABLE_STRUCTURE 18228 PassengersAllowedToFire = Yes 18229 PassengersInTurret = Yes ; My passengers ride in my turret, that's where the Firepoint bones are 18230 End 18231 18232 Behavior = ObjectCreationUpgrade ModuleTag_07 18233 UpgradeObject = OCL_OverlordGattlingCannon 18234 TriggeredBy = Upgrade_ChinaOverlordGattlingCannon 18235 ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker 18236 End 18237 Behavior = ObjectCreationUpgrade ModuleTag_08 18238 UpgradeObject = OCL_OverlordPropagandaTower 18239 TriggeredBy = Upgrade_ChinaOverlordPropagandaTower 18240 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker 18241 End 18242 Behavior = ObjectCreationUpgrade ModuleTag_09 18243 UpgradeObject = OCL_OverlordBattleBunker 18244 TriggeredBy = Upgrade_ChinaOverlordBattleBunker 18245 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPropagandaTower 18246 End 18247 Behavior = ProductionUpdate ModuleTag_10 18248 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 18249 End 18250 Behavior = CommandSetUpgrade ModuleTag_11 18251 CommandSet = ChinaTankOverlordGattlingCannonCommandSet 18252 TriggeredBy = Upgrade_ChinaOverlordGattlingCannon 18253 ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker 18254 End 18255 Behavior = CommandSetUpgrade ModuleTag_12 18256 CommandSet = ChinaTankOverlordPropagandaTowerCommandSet 18257 TriggeredBy = Upgrade_ChinaOverlordPropagandaTower 18258 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker 18259 End 18260 Behavior = CommandSetUpgrade ModuleTag_13 18261 CommandSet = ChinaTankOverlordBattleBunkerCommandSet 18262 TriggeredBy = Upgrade_ChinaOverlordBattleBunker 18263 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPropagandaTower 18264 End 18265 18266 Behavior = PhysicsBehavior ModuleTag_14 18267 Mass = 50.0 18268 End 18269 18270 ; Smoke for a bit then explode 18271 Behavior = SlowDeathBehavior ModuleTag_15 18272 ProbabilityModifier = 25 18273 DestructionDelay = 1500 18274 DestructionDelayVariance = 500 18275 FX = INITIAL FX_OverlordSmoke 18276 OCL = FINAL OCL_ChinaTankOverlordDebris 18277 FX = FINAL FX_OverlordExplosionOneFinal 18278 End 18279 18280 ; Catch fire, and explode death 18281 Behavior = SlowDeathBehavior ModuleTag_19 18282 ProbabilityModifier = 25 18283 DestructionDelay = 2000 18284 DestructionDelayVariance = 300 18285 FX = INITIAL FX_CrusaderCatchFire 18286 OCL = FINAL OCL_ChinaTankOverlordDebris 18287 FX = FINAL FX_OverlordExplosionOneFinal 18288 End 18289 18290 ; Just explode death 18291 Behavior = SlowDeathBehavior ModuleTag_16 18292 ProbabilityModifier = 25 18293 DestructionDelay = 200 18294 DestructionDelayVariance = 100 18295 FX = INITIAL FX_OverlordExplosionOneInitial 18296 OCL = FINAL OCL_ChinaTankOverlordDebris 18297 FX = FINAL FX_OverlordExplosionOneFinal 18298 End 18299 18300 Behavior = CreateCrateDie ModuleTag_17 18301 CrateData = SalvageCrateData 18302 ;CrateData = EliteTankCrateData 18303 ;CrateData = HeroicTankCrateData 18304 End 18305 18306 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 18307 DetectionRate = 500 18308 DetectionRange = 75 18309 CanDetectWhileGarrisoned = No 18310 CanDetectWhileContained = No 18311 ExtraRequiredKindOf = BOAT 18312 End 18313 18314 Behavior = TransitionDamageFX ModuleTag_18 18315 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 18316 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_OverlordDamageTransition 18317 End 18318 18319 Behavior = FlammableUpdate ModuleTag_21 18320 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 18321 AflameDamageAmount = 3 ; taking this much damage... 18322 AflameDamageDelay = 500 ; this often. 18323 End 18324 18325 Geometry = BOX 18326 GeometryMajorRadius = 26.0 18327 GeometryMinorRadius = 13.0 18328 GeometryHeight = 15.0 18329 GeometryIsSmall = No 18330 Shadow = SHADOW_VOLUME 18331 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 18332 18333 End 18334 18335 ;------------------------------------------------------------------------------ 18336 Object ChinaTankOverlordGattlingCannon 18337 18338 ; *** ART Parameters *** 18339 SelectPortrait = SNGatTower_L 18340 ButtonImage = SNGatTower 18341 18342 ;UpgradeCameo1 = Upgrade_Nationalism 18343 UpgradeCameo1 = Upgrade_ChinaUraniumShells 18344 UpgradeCameo2 = Upgrade_ChinaNuclearTanks 18345 ;UpgradeCameo4 = NONE 18346 UpgradeCameo5 = Upgrade_ChinaOverlordGattlingCannon 18347 18348 18349 Draw = W3DDependencyModelDraw ModuleTag_01 18350 OkToChangeModelColor = Yes 18351 AttachToBoneInContainer = FIREPOINT01 18352 18353 DefaultConditionState 18354 Model = NVOvrlrd_G 18355 Turret = TURRET01 18356 TurretPitch = TURRETEL 18357 WeaponFireFXBone = PRIMARY Muzzle 18358 WeaponMuzzleFlash = PRIMARY MuzzleFX 18359 WeaponFireFXBone = SECONDARY Muzzle 18360 WeaponMuzzleFlash = SECONDARY MuzzleFX 18361 End 18362 ConditionState = CONTINUOUS_FIRE_SLOW 18363 Model = NVOvrlrd_G 18364 Animation = NVOvrlrd_G.NVOvrlrd_G 18365 AnimationMode = LOOP 18366 AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y 18367 End 18368 ConditionState = CONTINUOUS_FIRE_MEAN 18369 Model = NVOvrlrd_G 18370 Animation = NVOvrlrd_G.NVOvrlrd_G 18371 AnimationMode = LOOP 18372 AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast 18373 End 18374 ConditionState = CONTINUOUS_FIRE_FAST 18375 Model = NVOvrlrd_G 18376 Animation = NVOvrlrd_G.NVOvrlrd_G 18377 AnimationMode = LOOP 18378 AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst 18379 ParticleSysBone = Muzzle01 GattlingMuzzleSmoke 18380 ParticleSysBone = Muzzle02 GattlingMuzzleSmoke 18381 End 18382 18383 ConditionState = REALLYDAMAGED 18384 Model = NVOvrlrd_GD 18385 Turret = TURRET01 18386 TurretPitch = TURRETEL 18387 WeaponFireFXBone = PRIMARY Muzzle 18388 WeaponMuzzleFlash = PRIMARY MuzzleFX 18389 WeaponFireFXBone = SECONDARY Muzzle 18390 WeaponMuzzleFlash = SECONDARY MuzzleFX 18391 ParticleSysBone = Smoke01 SmokeFactionMedium 18392 ParticleSysBone = Smoke02 SmokeFactionMedium 18393 ParticleSysBone = Smoke03 SmokeFactionMedium 18394 ParticleSysBone = SparkM01 SparksMedium 18395 ParticleSysBone = SparkM02 SparksMedium 18396 End 18397 ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED 18398 Model = NVOvrlrd_GD 18399 Animation = NVOvrlrd_G.NVOvrlrd_G 18400 AnimationMode = LOOP 18401 AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y 18402 End 18403 ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED 18404 Model = NVOvrlrd_GD 18405 Animation = NVOvrlrd_G.NVOvrlrd_G 18406 AnimationMode = LOOP 18407 AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast 18408 End 18409 ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED 18410 Model = NVOvrlrd_GD 18411 Animation = NVOvrlrd_G.NVOvrlrd_G 18412 AnimationMode = LOOP 18413 AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst 18414 ParticleSysBone = Muzzle01 GattlingMuzzleSmoke 18415 ParticleSysBone = Muzzle02 GattlingMuzzleSmoke 18416 End 18417 18418 End 18419 18420 ; ***DESIGN parameters *** 18421 Side = China 18422 EditorSorting = SYSTEM 18423 TransportSlotCount = 1 18424 WeaponSet 18425 Conditions = None 18426 Weapon = PRIMARY GattlingBuildingGun 18427 Weapon = SECONDARY GattlingBuildingGunAir 18428 PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT 18429 End 18430 18431 ArmorSet 18432 Conditions = None 18433 Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module 18434 End 18435 VisionRange = 200 18436 18437 ; *** AUDIO Parameters *** 18438 UnitSpecificSounds 18439 TurretMoveStart = NoSound 18440 TurretMoveLoop = NoSound ;TurretMoveLoop 18441 VoiceRapidFire = NoSound 18442 End 18443 18444 ; *** ENGINEERING Parameters *** 18445 KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI 18446 Body = StructureBody ModuleTag_02 18447 MaxHealth = 100.0 18448 InitialHealth = 100.0 18449 End 18450 18451 Behavior = AIUpdateInterface ModuleTag_03 18452 Turret 18453 ControlledWeaponSlots = PRIMARY SECONDARY 18454 TurretTurnRate = 60 // turn rate, in degrees per sec 18455 TurretPitchRate = 60 18456 AllowsPitch = Yes 18457 End 18458 AutoAcquireEnemiesWhenIdle = Yes 18459 End 18460 18461 Behavior = DestroyDie ModuleTag_04 18462 ;nothing 18463 End 18464 18465 Behavior = WeaponBonusUpgrade ModuleTag_05 18466 TriggeredBy = Upgrade_ChinaChainGuns 18467 End 18468 18469 Behavior = StealthDetectorUpdate ModuleTag_06 18470 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 18471 ;DetectionRange = ??? ; Defaults to VisionRange 18472 CanDetectWhileContained = Yes 18473 End 18474 18475 Geometry = BOX 18476 GeometryMajorRadius = 8.0 18477 GeometryMinorRadius = 8.0 18478 GeometryHeight = 9.0 18479 GeometryIsSmall = No 18480 Shadow = SHADOW_VOLUME 18481 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 18482 18483 End 18484 18485 ;------------------------------------------------------------------------------ 18486 Object ChinaTankOverlordPropagandaTower 18487 18488 ; *** ART Parameters *** 18489 SelectPortrait = SNPropSpeaker_L 18490 ButtonImage = SNPropSpeaker 18491 18492 UpgradeCameo1 = Upgrade_Nationalism 18493 UpgradeCameo2 = Upgrade_ChinaUraniumShells 18494 UpgradeCameo3 = Upgrade_ChinaNuclearTanks 18495 ;UpgradeCameo4 = NONE 18496 UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower 18497 18498 Draw = W3DDependencyModelDraw ModuleTag_01 18499 OkToChangeModelColor = Yes 18500 AttachToBoneInContainer = FIREPOINT01 18501 18502 ConditionState = NONE 18503 Model = NVOvrlrd_S 18504 Animation = NVOvrlrd_S.NVOvrlrd_S 18505 AnimationMode = LOOP 18506 End 18507 ConditionState = REALLYDAMAGED 18508 Model = NVOvrlrd_SD 18509 ParticleSysBone = Smoke01 SmolderingSmoke 18510 ParticleSysBone = Smoke02 SmolderingSmoke 18511 ParticleSysBone = Flame01 SmolderingFire 18512 ParticleSysBone = Flame01 SmolderingFlameCore 18513 ParticleSysBone = Spark01 LiveWireSparks 18514 End 18515 ; night 18516 ConditionState = NIGHT 18517 Model = NVOvrlrd_S 18518 Animation = NVOvrlrd_S.NVOvrlrd_S 18519 AnimationMode = LOOP 18520 End 18521 End 18522 18523 PlacementViewAngle = -45 18524 18525 ; ***DESIGN parameters *** 18526 Side = China 18527 EditorSorting = SYSTEM 18528 TransportSlotCount = 1 18529 18530 ArmorSet 18531 Conditions = None 18532 Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module 18533 End 18534 VisionRange = 200 18535 18536 ; *** AUDIO Parameters *** 18537 UnitSpecificSounds 18538 TurretMoveStart = NoSound 18539 TurretMoveLoop = NoSound ;TurretMoveLoop 18540 End 18541 18542 ; *** ENGINEERING Parameters *** 18543 KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI 18544 Body = StructureBody ModuleTag_02 18545 MaxHealth = 100.0 18546 InitialHealth = 100.0 18547 End 18548 18549 Behavior = AIUpdateInterface ModuleTag_03 18550 ;<No Data> 18551 End 18552 18553 Behavior = PropagandaTowerBehavior ModuleTag_04 18554 Radius = 150.0 18555 DelayBetweenUpdates = 2000 ; in milliseconds 18556 HealPercentEachSecond = 1% ; get this % of max health every second 18557 PulseFX = FX_OverlordPropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates 18558 UpgradeRequired = Upgrade_ChinaSubliminalMessaging 18559 UpgradedHealPercentEachSecond = 2% ; get this % of max health every second 18560 UpgradedPulseFX = FX_OverlordPropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates 18561 End 18562 18563 ;Behavior = HordeUpdate ModuleTag_OriginalPropaganda ;NOTICE: made them nearly unstoppable in groups = not good 18564 ; UpdateRate = 1000 ; how often to recheck horde status (msec) 18565 ; RubOffRadius = 180 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 18566 ; Radius = 150 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 18567 ; KindOf = INFANTRY VEHICLE ; what KindOf's must match to count towards horde-ness 18568 ; AlliesOnly = Yes ; do we only count allies towards horde status? 18569 ; ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) 18570 ; Count = 1 ; how many units must be within Radius to grant us horde-ness 18571 ; Action = HORDE ;ENTHUSIASTIC ; when horde-ing, grant us the HORDE bonus 18572 ;End 18573 18574 Behavior = DestroyDie ModuleTag_05 18575 ;<No Data> 18576 End 18577 18578 Geometry = BOX 18579 GeometryMajorRadius = 6.0 18580 GeometryMinorRadius = 6.0 18581 GeometryHeight = 10.0 18582 GeometryIsSmall = No 18583 Shadow = SHADOW_VOLUME 18584 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 18585 18586 End 18587 18588 ;------------------------------------------------------------------------------ 18589 Object ChinaTankOverlordBattleBunker 18590 18591 ; *** ART Parameters *** 18592 SelectPortrait = SNBunker_L 18593 ButtonImage = SNBunker 18594 18595 ;UpgradeCameo1 = Upgrade_Nationalism 18596 UpgradeCameo1 = Upgrade_ChinaUraniumShells 18597 UpgradeCameo2 = Upgrade_ChinaNuclearTanks 18598 ;UpgradeCameo4 = NONE 18599 UpgradeCameo5 = Upgrade_ChinaOverlordBattleBunker 18600 18601 Draw = W3DDependencyModelDraw ModuleTag_01 18602 OkToChangeModelColor = Yes 18603 AttachToBoneInContainer = FIREPOINT01 18604 18605 ConditionState = NONE 18606 Model = NVOvrlrd_B 18607 End 18608 ConditionState = REALLYDAMAGED 18609 Model = NVOvrlrd_BD 18610 ParticleSysBone = Smoke01 SmolderingSmoke 18611 ParticleSysBone = Smoke02 SmolderingSmoke 18612 ParticleSysBone = Flame01 SmolderingFire 18613 ParticleSysBone = Flame01 SmolderingFlameCore 18614 ParticleSysBone = Spark01 LiveWireSparks 18615 End 18616 ; night 18617 ConditionState = NIGHT 18618 Model = NVOvrlrd_B 18619 End 18620 ConditionState = NIGHT REALLYDAMAGED 18621 Model = NVOvrlrd_BD 18622 ParticleSysBone = Smoke01 SmolderingSmoke 18623 ParticleSysBone = Smoke02 SmolderingSmoke 18624 ParticleSysBone = Flame01 SmolderingFire 18625 ParticleSysBone = Flame01 SmolderingFlameCore 18626 ParticleSysBone = Spark01 LiveWireSparks 18627 End 18628 End 18629 18630 PlacementViewAngle = -45 18631 18632 ; ***DESIGN parameters *** 18633 Side = China 18634 EditorSorting = SYSTEM 18635 TransportSlotCount = 1 18636 18637 ArmorSet 18638 Conditions = None 18639 Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module 18640 End 18641 VisionRange = 200 18642 18643 ; *** AUDIO Parameters *** 18644 UnitSpecificSounds 18645 TurretMoveStart = NoSound 18646 TurretMoveLoop = NoSound ;TurretMoveLoop 18647 VoiceUnload = OverlordTankVoiceUnload 18648 End 18649 18650 ; *** ENGINEERING Parameters *** 18651 KindOf = PRELOAD PORTABLE_STRUCTURE CLICK_THROUGH IGNORED_IN_GUI 18652 Body = StructureBody ModuleTag_02 18653 MaxHealth = 100.0 18654 InitialHealth = 100.0 18655 End 18656 18657 Behavior = TransportContain ModuleTag_03 18658 Slots = 5 18659 PassengersAllowedToFire = Yes 18660 AllowInsideKindOf = INFANTRY 18661 AllowAlliesInside = Yes 18662 AllowNeutralInside = No 18663 AllowEnemiesInside = No 18664 EnterSound = GarrisonEnter 18665 ExitSound = GarrisonExit 18666 DamagePercentToUnits = 50% 18667 End 18668 18669 Behavior = DestroyDie ModuleTag_04 18670 ;nothing 18671 End 18672 18673 Geometry = BOX 18674 GeometryMajorRadius = 6.0 18675 GeometryMinorRadius = 6.0 18676 GeometryHeight = 10.0 18677 GeometryIsSmall = No 18678 Shadow = SHADOW_VOLUME 18679 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 18680 18681 End 18682 18683 ; ----------------------------------------------------------------------------- 18684 18685 Object ChinaTankOverlordBarrelDebris 18686 18687 ; *** ART Parameters *** 18688 Draw = W3DModelDraw ModuleTag_01 18689 OkToChangeModelColor = Yes 18690 18691 ConditionState = NONE 18692 Model = NVOvrlrd_D3 18693 End 18694 End 18695 18696 ; ***DESIGN parameters *** 18697 ; DisplayName = OBJECT:RocketBuggyDebris 18698 18699 EditorSorting = DEBRIS 18700 Side = China 18701 18702 ; *** AUDIO Parameters *** 18703 ; *** ENGINEERING Parameters *** 18704 ; RadarPriority = UNIT 18705 ; KindOf = PRELOAD CAN_CAST_REFLECTIONS 18706 18707 Body = ActiveBody ModuleTag_02 18708 MaxHealth = 1.0 18709 InitialHealth = 1.0 18710 End 18711 18712 Behavior = PhysicsBehavior ModuleTag_03 18713 Mass = 50 18714 AllowBouncing = Yes 18715 End 18716 18717 Behavior = LifetimeUpdate ModuleTag_04 18718 MinLifetime = 10000 ; min lifetime in msec 18719 MaxLifetime = 15000 ; max lifetime in msec 18720 End 18721 18722 18723 Behavior = SlowDeathBehavior ModuleTag_05 18724 SinkDelay = 1000 18725 SinkRate = 1 ; in Dist/Sec 18726 DestructionDelay = 2000 18727 End 18728 18729 Geometry = BOX 18730 GeometryMajorRadius = 9.0 18731 GeometryMinorRadius = 6.0 18732 GeometryHeight = 7.5 18733 GeometryIsSmall = Yes 18734 18735 18736 End 18737 18738 ;------------------------------------------------------------------------------ 18739 Object ChinaTankOverlordDeadHull 18740 18741 ; *** ART Parameters *** 18742 Draw = W3DModelDraw ModuleTag_01 18743 OkToChangeModelColor = Yes 18744 18745 ConditionState = NONE 18746 Model = NVOvrlrd_D1 18747 End 18748 End 18749 18750 ; ***DESIGN parameters *** 18751 DisplayName = OBJECT:Overlord 18752 Side = China 18753 EditorSorting = SYSTEM 18754 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 18755 18756 ; *** AUDIO Parameters *** 18757 ; *** ENGINEERING Parameters *** 18758 RadarPriority = UNIT 18759 KindOf = CAN_CAST_REFLECTIONS NO_COLLIDE HULK 18760 18761 Body = ActiveBody ModuleTag_02 18762 MaxHealth = 1.0 18763 InitialHealth = 1.0 18764 End 18765 18766 18767 Behavior = PhysicsBehavior ModuleTag_03 18768 Mass = 50 18769 AllowBouncing = Yes 18770 End 18771 18772 Behavior = LifetimeUpdate ModuleTag_04 18773 MinLifetime = 0 ; min lifetime in msec 18774 MaxLifetime = 0 ; max lifetime in msec 18775 End 18776 18777 18778 Behavior = SlowDeathBehavior ModuleTag_05 18779 SinkDelay = 14000 18780 SinkRate = 2 ; in Dist/Sec 18781 DestructionDelay = 20000 18782 End 18783 18784 Behavior = TransitionDamageFX ModuleTag_06 18785 RubbleParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 18786 End 18787 18788 Geometry = BOX 18789 GeometryMajorRadius = 9.0 18790 GeometryMinorRadius = 6.0 18791 GeometryHeight = 7.5 18792 GeometryIsSmall = Yes 18793 18794 End 18795 18796 ;------------------------------------------------------------------------------ 18797 ;China Dragon Tank 18798 Object ChinaTankDragon 18799 18800 ; *** ART Parameters *** 18801 SelectPortrait = SNDragonTank_L 18802 ButtonImage = SNDragonTank 18803 18804 UpgradeCameo1 = Upgrade_ChinaBlackNapalm 18805 ;UpgradeCameo2 = NONE 18806 ;UpgradeCameo3 = NONE 18807 ;UpgradeCameo4 = NONE 18808 ;UpgradeCameo5 = NONE 18809 18810 Draw = W3DTankDraw ModuleTag_01 18811 OkToChangeModelColor = Yes 18812 18813 DefaultConditionState 18814 Model = NVDragon 18815 Turret = Turret 18816 TurretPitch = TURRETEL 18817 WeaponFireFXBone = PRIMARY WeaponA 18818 WeaponLaunchBone = PRIMARY WeaponA 18819 WeaponFireFXBone = SECONDARY WeaponA 18820 WeaponLaunchBone = SECONDARY WeaponA 18821 End 18822 ConditionState = REALLYDAMAGED 18823 Model = NVDragon_D 18824 Turret = Turret 18825 TurretPitch = TURRETEL 18826 WeaponFireFXBone = PRIMARY WeaponA 18827 WeaponLaunchBone = PRIMARY WeaponA 18828 WeaponFireFXBone = SECONDARY WeaponA 18829 WeaponLaunchBone = SECONDARY WeaponA 18830 End 18831 ConditionState = RUBBLE 18832 Model = NVDragon_D 18833 Turret = Turret 18834 TurretPitch = TURRETEL 18835 WeaponFireFXBone = PRIMARY WeaponA 18836 WeaponLaunchBone = PRIMARY WeaponA 18837 WeaponFireFXBone = SECONDARY WeaponA 18838 WeaponLaunchBone = SECONDARY WeaponA 18839 End 18840 18841 TrackMarks = EXTnkTrack.tga 18842 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 18843 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 18844 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 18845 End 18846 18847 ; ***DESIGN parameters *** 18848 DisplayName = OBJECT:Dragon 18849 Side = China 18850 EditorSorting = VEHICLE 18851 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 18852 18853 WeaponSet 18854 Conditions = None 18855 Weapon = PRIMARY DragonTankFlameWeapon 18856 Weapon = SECONDARY DragonTankFireWallWeapon 18857 AutoChooseSources = SECONDARY NONE 18858 End 18859 WeaponSet 18860 Conditions = PLAYER_UPGRADE 18861 Weapon = PRIMARY DragonTankFlameWeaponUpgraded 18862 Weapon = SECONDARY DragonTankFireWallWeaponUpgraded 18863 AutoChooseSources = SECONDARY NONE 18864 WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock 18865 End 18866 18867 ArmorSet 18868 Conditions = None 18869 Armor = DragonTankArmor 18870 DamageFX = TankDamageFX 18871 End 18872 BuildCost = 800 18873 BuildTime = 10.0 ;in seconds 18874 VisionRange = 100 18875 ShroudClearingRange = 200 18876 Prerequisites 18877 Object = ChinaWarFactory 18878 End 18879 18880 ExperienceValue = 50 50 100 150 ;Experience point value at each level 18881 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 18882 IsTrainable = Yes ;Can gain experience 18883 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 18884 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 18885 CommandSet = ChinaTankDragonCommandSet 18886 18887 ; *** AUDIO Parameters *** 18888 VoiceSelect = DragonTankVoiceSelect 18889 VoiceMove = DragonTankVoiceMove 18890 VoiceGuard = DragonTankVoiceMove 18891 VoiceAttack = DragonTankVoiceAttack 18892 SoundMoveStart = DragonTankMoveStart 18893 SoundMoveStartDamaged = DragonTankMoveStart 18894 18895 UnitSpecificSounds 18896 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 18897 VoiceCreate = DragonTankVoiceCreate 18898 TurretMoveStart = NoSound 18899 TurretMoveLoop = TurretMoveLoop 18900 VoiceEnter = DragonTankVoiceMove 18901 VoiceFlameLocation = DragonTankVoiceFireStorm 18902 End 18903 18904 18905 ; *** ENGINEERING Parameters *** 18906 RadarPriority = UNIT 18907 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 18908 18909 Body = ActiveBody ModuleTag_02 18910 MaxHealth = 280.0 18911 InitialHealth = 280.0 18912 End 18913 Behavior = AIUpdateInterface ModuleTag_03 18914 Turret 18915 TurretTurnRate = 120 18916 TurretPitchRate = 120 18917 AllowsPitch = Yes 18918 MinPhysicalPitch = -15 18919 18920 TurretFireAngleSweep = PRIMARY 10 18921 TurretFireAngleSweep = SECONDARY 60 18922 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn (aim for 30 for art) 18923 TurretSweepSpeedModifier = SECONDARY 2.0 ; Sweep faster than you turn 18924 ControlledWeaponSlots = PRIMARY SECONDARY 18925 End 18926 AutoAcquireEnemiesWhenIdle = Yes 18927 End 18928 18929 Locomotor = SET_NORMAL DragonLocomotor 18930 18931 Behavior = PhysicsBehavior ModuleTag_04 18932 Mass = 50.0 18933 End 18934 18935 Behavior = WeaponSetUpgrade ModuleTag_05 18936 TriggeredBy = Upgrade_ChinaBlackNapalm 18937 End 18938 18939 ; A crushing defeat 18940 Behavior = DestroyDie ModuleTag_06 18941 DeathTypes = NONE +CRUSHED +SPLATTED 18942 End 18943 Behavior = FXListDie ModuleTag_07 18944 DeathTypes = NONE +CRUSHED +SPLATTED 18945 DeathFX = FX_CarCrush 18946 End 18947 Behavior = CreateObjectDie ModuleTag_08 18948 DeathTypes = NONE +CRUSHED +SPLATTED 18949 CreationList = OCL_CrusaderTank_CrushEffect 18950 End 18951 Behavior = CreateCrateDie ModuleTag_09 18952 CrateData = SalvageCrateData 18953 ;CrateData = EliteTankCrateData 18954 ;CrateData = HeroicTankCrateData 18955 End 18956 18957 ; just explode death 18958 Behavior = SlowDeathBehavior ModuleTag_10 18959 DeathTypes = ALL -CRUSHED -SPLATTED 18960 ;ProbabilityModifier = 33 18961 DestructionDelay = 500 18962 DestructionDelayVariance = 500 18963 FX = INITIAL FX_BattleMasterExplosionOneFinal 18964 OCL = FINAL OCL_DragonDebris 18965 FX = FINAL FX_DragonTankDeathExplosionFinal 18966 End 18967 18968 ; Napalm spills out, and explode death 18969 Behavior = SlowDeathBehavior ModuleTag_11 18970 DeathTypes = ALL +CRUSHED +SPLATTED 18971 ;ProbabilityModifier = 34 18972 DestructionDelay = 2000 18973 DestructionDelayVariance = 300 18974 FX = INITIAL FX_DragonNapalmSpill 18975 OCL = FINAL OCL_DragonDebris 18976 FX = FINAL FX_DragonTankDeathExplosionFinal 18977 End 18978 18979 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 18980 DetectionRate = 500 18981 DetectionRange = 75 18982 CanDetectWhileGarrisoned = No 18983 CanDetectWhileContained = No 18984 ExtraRequiredKindOf = BOAT 18985 End 18986 18987 Behavior = FlammableUpdate ModuleTag_12 18988 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 18989 AflameDamageAmount = 3 ; taking this much damage... 18990 AflameDamageDelay = 500 ; this often. 18991 End 18992 18993 Behavior = TransitionDamageFX ModuleTag_13 18994 ; ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 18995 ReallyDamagedParticleSystem2 = Bone:Smoke RandomBone:Yes Psys:DragonTransitionFire 18996 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_DragonDamageTransition 18997 End 18998 18999 Geometry = BOX 19000 GeometryMajorRadius = 15.0 19001 GeometryMinorRadius = 10.0 19002 GeometryHeight = 11.0 ; Height set to allow clear clipping of projectile stream 19003 GeometryIsSmall = Yes 19004 Shadow = SHADOW_VOLUME 19005 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 19006 19007 End 19008 19009 ;------------------------------------------------------------------------------ 19010 Object ChinaTankDragonDeadHull 19011 19012 ; *** ART Parameters *** 19013 Draw = W3DModelDraw ModuleTag_01 19014 OkToChangeModelColor = Yes 19015 19016 ConditionState = NONE 19017 Model = NVDragon_D1 19018 End 19019 End 19020 19021 ; ***DESIGN parameters *** 19022 DisplayName = OBJECT:Overlord 19023 Side = China 19024 EditorSorting = SYSTEM 19025 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 19026 19027 ; *** AUDIO Parameters *** 19028 ; *** ENGINEERING Parameters *** 19029 RadarPriority = UNIT 19030 KindOf = CAN_CAST_REFLECTIONS NO_COLLIDE HULK 19031 19032 Body = ActiveBody ModuleTag_02 19033 MaxHealth = 1.0 19034 InitialHealth = 1.0 19035 End 19036 19037 19038 Behavior = PhysicsBehavior ModuleTag_03 19039 Mass = 50 19040 AllowBouncing = Yes 19041 End 19042 19043 Behavior = LifetimeUpdate ModuleTag_04 19044 MinLifetime = 0 ; min lifetime in msec 19045 MaxLifetime = 0 ; max lifetime in msec 19046 End 19047 19048 19049 Behavior = SlowDeathBehavior ModuleTag_05 19050 SinkDelay = 14000 19051 SinkRate = 2 ; in Dist/Sec 19052 DestructionDelay = 20000 19053 End 19054 19055 Behavior = TransitionDamageFX ModuleTag_06 19056 RubbleParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 19057 End 19058 19059 Geometry = BOX 19060 GeometryMajorRadius = 9.0 19061 GeometryMinorRadius = 6.0 19062 GeometryHeight = 7.5 19063 GeometryIsSmall = Yes 19064 19065 End 19066 19067 ;------------------------------------------------------------------------------ 19068 Object DragonTankFlameProjectile 19069 19070 ; Explanation - Particles can't do damage, so this is a fast shooting low 19071 ; damage invisible missile launcher with a flame trail for exhaust 19072 19073 ; *** ART Parameters *** 19074 Draw = W3DModelDraw ModuleTag_01 19075 OkToChangeModelColor = Yes 19076 ConditionState = NONE 19077 Model = NULL 19078 End 19079 End 19080 ; Must have a draw module to be allowed to draw detonation FX 19081 19082 ; ***DESIGN parameters *** 19083 EditorSorting = SYSTEM 19084 VisionRange = 0.0 19085 ArmorSet 19086 Conditions = None 19087 Armor = ProjectileArmor 19088 DamageFX = None 19089 End 19090 19091 ; *** ENGINEERING Parameters *** 19092 KindOf = PROJECTILE 19093 Body = ActiveBody ModuleTag_02 19094 MaxHealth = 100.0 19095 InitialHealth = 100.0 19096 End 19097 19098 Behavior = DestroyDie ModuleTag_03 19099 ;nothing 19100 End 19101 19102 Behavior = PhysicsBehavior ModuleTag_04 19103 Mass = 1 19104 AllowCollideForce = No ; flames collide, but never apply forces when they do so 19105 End 19106 Behavior = MissileAIUpdate ModuleTag_05 19107 TryToFollowTarget = No 19108 FuelLifetime = 350 19109 DetonateOnNoFuel = Yes 19110 InitialVelocity = 120 ; in dist/sec 19111 IgnitionDelay = 0 19112 DistanceToTravelBeforeTurning = 2 19113 GarrisonHitKillRequiredKindOf = INFANTRY 19114 GarrisonHitKillForbiddenKindOf = NONE 19115 GarrisonHitKillCount = 2 19116 GarrisonHitKillFX = FX_DragonFlameGarrisonBuildingHit 19117 DistanceToTargetForLock = 0 ; If it gets within 100 of the target, it kills the target. 19118 19119 End 19120 Locomotor = SET_NORMAL DragonTankFlameLocomotor 19121 19122 Behavior = BoneFXUpdate ModuleTag_06 19123 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail01 ; Covers gap at beginning of line 19124 PristineParticleSystem2 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail02 19125 PristineParticleSystem3 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail03 19126 PristineParticleSystem4 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail04 19127 PristineParticleSystem5 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail06 19128 19129 PristineParticleSystem6 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerSmoke01 19130 End 19131 19132 Behavior = BoneFXDamage ModuleTag_07 19133 ;nothing 19134 End 19135 19136 Geometry = Sphere 19137 GeometryIsSmall = Yes 19138 GeometryMajorRadius = 2.0 19139 19140 End 19141 19142 ;------------------------------------------------------------------------------ 19143 Object FlamethrowerProjectileStream 19144 19145 ; *** ART Parameters *** 19146 Draw = W3DProjectileStreamDraw ModuleTag_01 19147 Texture = EXfthrowerStream.tga 19148 Width = 1.5 19149 TileFactor = 3.0 ; put the texture on the line segment this many times 19150 ScrollRate = 2.0; scroll the texture offset this fast 19151 MaxSegments = 4 ; only play the first X if there are a ton of them. 0 means play all 19152 End 19153 19154 ; *** ENGINEERING Parameters *** 19155 KindOf = INERT 19156 Behavior = ProjectileStreamUpdate ModuleTag_02 19157 ;nothing 19158 End 19159 19160 End 19161 19162 ;------------------------------------------------------------------------------ 19163 Object DragonTankFlameProjectileUpgraded 19164 19165 ; Explanation - Particles can't do damage, so this is a fast shooting low 19166 ; damage invisible missile launcher with a flame trail for exhaust 19167 19168 ; *** ART Parameters *** 19169 Draw = W3DModelDraw ModuleTag_01 19170 OkToChangeModelColor = Yes 19171 ConditionState = NONE 19172 Model = NULL 19173 End 19174 End 19175 ; Must have a draw module to be allowed to draw detonation FX 19176 19177 ; ***DESIGN parameters *** 19178 EditorSorting = SYSTEM 19179 VisionRange = 0.0 19180 ArmorSet 19181 Conditions = None 19182 Armor = ProjectileArmor 19183 DamageFX = None 19184 End 19185 19186 ; *** ENGINEERING Parameters *** 19187 KindOf = PROJECTILE 19188 Body = ActiveBody ModuleTag_02 19189 MaxHealth = 100.0 19190 InitialHealth = 100.0 19191 End 19192 19193 Behavior = DestroyDie ModuleTag_03 19194 ;nothing 19195 End 19196 19197 Behavior = PhysicsBehavior ModuleTag_04 19198 Mass = 1 19199 AllowCollideForce = No ; flames collide, but never apply forces when they do so 19200 End 19201 Behavior = MissileAIUpdate ModuleTag_05 19202 TryToFollowTarget = No 19203 FuelLifetime = 350 19204 DetonateOnNoFuel = Yes 19205 InitialVelocity = 120 ; in dist/sec 19206 IgnitionDelay = 0 19207 DistanceToTravelBeforeTurning = 2 19208 GarrisonHitKillRequiredKindOf = INFANTRY 19209 GarrisonHitKillForbiddenKindOf = NONE 19210 GarrisonHitKillCount = 2 19211 GarrisonHitKillFX = FX_DragonFlameGarrisonBuildingHit 19212 DistanceToTargetForLock = 0 ; If it gets within 100 of the target, it kills the target. 19213 19214 End 19215 Locomotor = SET_NORMAL DragonTankFlameLocomotor 19216 19217 Behavior = BoneFXUpdate ModuleTag_06 19218 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail01Upgraded ; Covers gap at beginning of line 19219 PristineParticleSystem2 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail02Upgraded 19220 PristineParticleSystem3 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail03Upgraded 19221 PristineParticleSystem4 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail04Upgraded 19222 PristineParticleSystem5 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail06Upgraded 19223 19224 PristineParticleSystem6 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerSmoke01 19225 End 19226 19227 Behavior = BoneFXDamage ModuleTag_07 19228 ;nothing 19229 End 19230 19231 Geometry = Sphere 19232 GeometryIsSmall = Yes 19233 GeometryMajorRadius = 2.0 19234 19235 End 19236 19237 ;------------------------------------------------------------------------------ 19238 Object FlamethrowerProjectileStreamUpgraded 19239 19240 ; *** ART Parameters *** 19241 Draw = W3DProjectileStreamDraw ModuleTag_01 19242 Texture = EXfthrowerStreamUpgraded.tga 19243 Width = 1.5 19244 TileFactor = 3.0 ; put the texture on the line segment this many times 19245 ScrollRate = 2.0; scroll the texture offset this fast 19246 MaxSegments = 4 ; only play the first X if there are a ton of them. 0 means play all 19247 End 19248 19249 ; *** ENGINEERING Parameters *** 19250 KindOf = INERT 19251 Behavior = ProjectileStreamUpdate ModuleTag_02 19252 ;nothing 19253 End 19254 19255 End 19256 19257 ;------------------------------------------------------------------------------ 19258 Object PointDefenseLaserBeam 19259 ; *** ART Parameters *** 19260 Draw = W3DLaserDraw ModuleTag_01 19261 Texture = EXLaser.tga 19262 NumBeams = 3 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. 19263 19264 InnerBeamWidth = 0.4 ;The total width of beam 19265 InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) 19266 19267 OuterBeamWidth = 1.2 ;The total width of beam 19268 OuterColor = R:255 G:0 B:0 A:150 ;The outside color of the laser (cool) 19269 19270 ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. 19271 ;FadeLifetime = 0 ;Laser will fade and delete. 19272 19273 ;@todo -- add shot ability functionality (instead of instant point A to B) 19274 End 19275 19276 KindOf = IMMOBILE 19277 ClientUpdate = LaserUpdate ModuleTag_02 19278 MuzzleParticleSystem = PaladinPointDefenseLaserFlare 19279 ParentFireBoneName = Laser 19280 ParentFireBoneOnTurret = Yes 19281 End 19282 19283 ;Used as a weapon, this is essentially a fast pulse laser. Adjusting 19284 ;the lifetime values will determine how long it renders. The damage 19285 ;is applied immediately, so lifetime doesn't matter. 19286 Behavior = LifetimeUpdate ModuleTag_03 19287 MinLifetime = 95 ; min lifetime in msec 19288 MaxLifetime = 95 ; max lifetime in msec 19289 End 19290 End 19291 19292 19293 ;------------------------------------------------------------------------------ 19294 Object LaserBeam 19295 ; *** ART Parameters *** 19296 Draw = W3DLaserDraw ModuleTag_01 19297 Texture = EXLaser.tga 19298 NumBeams = 3 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. 19299 19300 InnerBeamWidth = 0.4 ;The total width of beam 19301 InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) 19302 19303 OuterBeamWidth = 1.2 ;The total width of beam 19304 OuterColor = R:255 G:0 B:0 A:150 ;The outside color of the laser (cool) 19305 19306 ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. 19307 ;FadeLifetime = 0 ;Laser will fade and delete. 19308 19309 ;@todo -- add shot ability functionality (instead of instant point A to B) 19310 End 19311 19312 KindOf = IMMOBILE 19313 ClientUpdate = LaserUpdate ModuleTag_02 19314 MuzzleParticleSystem = GenericLaserFlare 19315 ParentFireBoneName = Muzzle01 19316 TargetParticleSystem = GenericLaserFlare 19317 End 19318 End 19319 19320 ;------------------------------------------------------------------------------ 19321 Object ParticleUplinkCannon_MediumConnectorLaser 19322 ; *** ART Parameters *** 19323 Draw = W3DLaserDraw ModuleTag_01 19324 Texture = EXLaser.tga 19325 NumBeams = 4 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. 19326 19327 InnerBeamWidth = 0.4 ;The total width of beam 19328 InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) 19329 19330 OuterBeamWidth = 1.2 ;The total width of beam 19331 OuterColor = R:0 G:0 B:255 A:150 ;The outside color of the laser (cool) 19332 19333 ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. 19334 ;FadeLifetime = 0 ;Laser will fade and delete. 19335 19336 ;@todo -- add shot ability functionality (instead of instant point A to B) 19337 End 19338 19339 KindOf = IMMOBILE 19340 19341 ClientUpdate = LaserUpdate ModuleTag_02 19342 ;MuzzleParticleSystem = None 19343 ;TargetParticleSystem = None 19344 End 19345 End 19346 19347 ;------------------------------------------------------------------------------ 19348 Object ParticleUplinkCannon_IntenseConnectorLaser 19349 ; *** ART Parameters *** 19350 Draw = W3DLaserDraw ModuleTag_01 19351 Texture = EXLaser.tga 19352 NumBeams = 5 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. 19353 19354 InnerBeamWidth = 0.6 ;The total width of beam 19355 InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) 19356 19357 OuterBeamWidth = 2.0 ;The total width of beam 19358 OuterColor = R:0 G:0 B:255 A:150 ;The outside color of the laser (cool) 19359 19360 ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. 19361 ;FadeLifetime = 0 ;Laser will fade and delete. 19362 19363 ;@todo -- add shot ability functionality (instead of instant point A to B) 19364 End 19365 19366 KindOf = IMMOBILE 19367 19368 ClientUpdate = LaserUpdate ModuleTag_02 19369 ;MuzzleParticleSystem = None 19370 ;TargetParticleSystem = None 19371 End 19372 End 19373 19374 ;------------------------------------------------------------------------------ 19375 Object ParticleUplinkCannon_OrbitalLaser 19376 ; *** ART Parameters *** 19377 Draw = W3DLaserDraw ModuleTag_01 19378 Texture = EXNoise02.tga 19379 NumBeams = 12 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. 19380 19381 Tile = Yes ;The height of the texture will determine how many times to tile the texture to fit without scaling. 19382 ScrollRate = -1.75 ;Scrolls the texture offset this fast -- towards(-) away(+) 19383 TilingScalar = 0.15 ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural) 19384 19385 InnerBeamWidth = 0.6 ;The total width of beam 19386 InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) 19387 19388 OuterBeamWidth = 26.0 ;The total width of beam 19389 OuterColor = R:0 G:0 B:255 A:150 ;The outside color of the laser (cool) 19390 19391 ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. 19392 ;FadeLifetime = 0 ;Laser will fade and delete. 19393 19394 ;@todo -- add shot ability functionality (instead of instant point A to B) 19395 End 19396 19397 ; *** DESIGN Parameters *** 19398 VisionRange = 100 19399 ShroudClearingRange = 120 19400 19401 ; *** ENGINEERING Parameters *** 19402 KindOf = IMMOBILE 19403 19404 ClientUpdate = LaserUpdate ModuleTag_02 19405 ;MuzzleParticleSystem = None 19406 ;TargetParticleSystem = None 19407 End 19408 End 19409 19410 19411 19412 ;------------------------------------------------------------------------------ 19413 Object BinaryDataStream 19414 ; *** ART Parameters *** 19415 Draw = W3DLaserDraw ModuleTag_01 19416 Texture = EXBinaryStream.tga 19417 NumBeams = 1 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. Current max: 10 19418 InnerBeamWidth = 4 ;The total width of beam 19419 InnerColor = R:0 G:255 B:0 A:180 ;The inside color of the laser (hot) 19420 Tile = Yes ;The height of the texture will determine how many times to tile the texture to fit without scaling. 19421 ScrollRate = -0.25 ;Scrolls the texture offset this fast -- towards(-) away(+) 19422 Segments = 20 ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20 19423 ArcHeight = 30.0 ;The height of the arc 19424 SegmentOverlapRatio = 0.0000 ;This value overlaps(+) or separates(-) the segments by ratio 19425 TilingScalar = 0.25 ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural) 19426 End 19427 19428 KindOf = IMMOBILE 19429 ClientUpdate = LaserUpdate ModuleTag_02 19430 ;nothing 19431 End 19432 End 19433 19434 ;------------------------------------------------------------------------------ 19435 Object ChinaVehicleTroopCrawler 19436 19437 ; *** ART Parameters *** 19438 SelectPortrait = SNTransport_L 19439 ButtonImage = SNTransport 19440 19441 ;UpgradeCameo1 = NONE 19442 ;UpgradeCameo2 = NONE 19443 ;UpgradeCameo3 = NONE 19444 ;UpgradeCameo4 = NONE 19445 ;UpgradeCameo5 = NONE 19446 19447 Draw = W3DTruckDraw ModuleTag_01 19448 OkToChangeModelColor = Yes 19449 ConditionState = NONE 19450 Model = NVTCrawler 19451 ;note, the IRSonar particle system is added in StealthDetectorUpdate.cpp, not here 19452 End 19453 ConditionState = REALLYDAMAGED RUBBLE ; THIS IS VERY IMPORTANT... DO NOT REMOVE 'RUBBLE' UNDER PENALTY OF DEATH MLorenzen 19454 ; @todo find out why a non-animating model like this has such trouble matching 19455 ; reallydamaged against moving against rubble, etc. 19456 Model = NVTCrawler_D 19457 End 19458 19459 TrackMarks = EXTireTrack.tga 19460 19461 Dust = RocketBuggyDust 19462 DirtSpray = RocketBuggyDirtSpray 19463 ; PowerslideSpray = RocketBuggyDirtPowerSlide doesn't powerslide 19464 19465 ; These parameters are only used if the model has a separate suspension, 19466 ; and the locomotor has HasSuspension = Yes. 19467 LeftFrontTireBone = Wheel01 19468 RightFrontTireBone = Wheel08 19469 LeftRearTireBone = Wheel03 19470 RightRearTireBone = Wheel05 19471 MidLeftFrontTireBone = Wheel02 19472 MidRightFrontTireBone = Wheel07 19473 MidLeftRearTireBone = Wheel04 19474 MidRightRearTireBone = Wheel06 19475 19476 TireRotationMultiplier = 0.2 ; this * speed = rotation. 19477 PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. 19478 19479 End 19480 19481 19482 ; ***DESIGN parameters *** 19483 DisplayName = OBJECT:TroopCrawler 19484 Side = China 19485 EditorSorting = VEHICLE 19486 TransportSlotCount = 8 ;Just enough to fit into a Chinook. 19487 WeaponSet 19488 Conditions = None 19489 Weapon = PRIMARY TroopCrawlerAssault 19490 End 19491 ArmorSet 19492 Conditions = None 19493 Armor = TankArmor 19494 DamageFX = TankDamageFX 19495 End 19496 BuildCost = 1400 19497 BuildTime = 15.0 ;in seconds 19498 VisionRange = 175 ;Needs to see farther and match it's weapon range -- else troop crawlers will get slaughtered against tanks! 19499 ShroudClearingRange = 400 19500 Prerequisites 19501 Object = ChinaWarFactory 19502 End 19503 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 19504 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 19505 CommandSet = ChinaTroopCrawlerCommandSet 19506 19507 ; *** AUDIO Parameters *** 19508 VoiceSelect = TroopCrawlerVoiceSelect 19509 VoiceMove = TroopCrawlerVoiceMove 19510 VoiceGuard = TroopCrawlerVoiceMove 19511 VoiceAttack = TroopCrawlerVoiceAttack 19512 SoundMoveStart = TroopCrawlerMoveStart 19513 SoundMoveStartDamaged = TroopCrawlerMoveStart 19514 SoundEnter = HumveeEnter 19515 SoundExit = HumveeExit 19516 UnitSpecificSounds 19517 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 19518 VoiceCreate = TroopCrawlerVoiceCreate 19519 TurretMoveStart = NoSound 19520 TurretMoveLoop = TurretMoveLoop 19521 TruckLandingSound = NoSound ;RocketBuggyLand 19522 TruckPowerslideSound = NoSound ;RocketBuggyPowerslide 19523 VoiceCrush = TroopCrawlerVoiceCrush 19524 VoiceUnload = TroopCrawlerVoiceUnload 19525 VoiceEnter = TroopCrawlerVoiceMove 19526 End 19527 19528 19529 ; *** ENGINEERING Parameters *** 19530 RadarPriority = UNIT 19531 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS TRANSPORT VEHICLE SCORE 19532 19533 Body = ActiveBody ModuleTag_02 19534 MaxHealth = 240.0 19535 InitialHealth = 240.0 19536 End 19537 Behavior = StealthDetectorUpdate ModuleTag_03 19538 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) 19539 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 19540 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 19541 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 19542 PingSound = IRPing 19543 LoudPingSound = IRPingLoud 19544 IRParticleSysName = IRDetectSonar 19545 IRBrightParticleSysName = IRDetectSonarBright 19546 IRGridParticleSysName = IRDetectGrid 19547 IRBeaconParticleSysName = IRLenzflare 19548 IRParticleSysBone = IRFX 19549 End 19550 19551 ;OBSOLETE 19552 ; Behavior = AIUpdateInterface ModuleTag_04 19553 ; Turret 19554 ; ControlledWeaponSlots = PRIMARY 19555 ; End 19556 ; End 19557 Behavior = AssaultTransportAIUpdate ModuleTag_NewAI 19558 MembersGetHealedAtLifeRatio = 0.5 19559 End 19560 19561 Locomotor = SET_NORMAL TroopCrawlerLocomotor 19562 Behavior = PhysicsBehavior ModuleTag_05 19563 Mass = 50.0 19564 End 19565 Behavior = TransportContain ModuleTag_06 19566 Slots = 8 19567 InitialPayload = ChinaInfantryRedguard 8 19568 ScatterNearbyOnExit = No 19569 HealthRegen%PerSec = 10 19570 DamagePercentToUnits = 10% 19571 AllowInsideKindOf = INFANTRY 19572 AllowAlliesInside = Yes 19573 AllowNeutralInside = No 19574 AllowEnemiesInside = No 19575 ExitDelay = 250 19576 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn 19577 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 19578 End 19579 19580 Behavior = SlowDeathBehavior ModuleTag_07 19581 DeathTypes = ALL -CRUSHED -SPLATTED 19582 DestructionDelay = 1 19583 FX = FINAL FX_SupplyTruckExplosionOneFinal 19584 OCL = FINAL OCL_FinalTroopCrawlerDebris 19585 End 19586 19587 Behavior = TransitionDamageFX ModuleTag_08 19588 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 19589 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition 19590 End 19591 19592 Behavior = DestroyDie ModuleTag_09 19593 DeathTypes = NONE +CRUSHED +SPLATTED 19594 End 19595 19596 Behavior = FXListDie ModuleTag_10 19597 DeathTypes = NONE +CRUSHED +SPLATTED 19598 DeathFX = FX_CarCrush 19599 End 19600 19601 ; A crushing defeat 19602 Behavior = FXListDie ModuleTag_11 19603 DeathTypes = NONE +CRUSHED +SPLATTED 19604 DeathFX = FX_CarCrush 19605 End 19606 19607 Behavior = CreateCrateDie ModuleTag_12 19608 CrateData = SalvageCrateData 19609 ;CrateData = EliteTankCrateData 19610 ;CrateData = HeroicTankCrateData 19611 End 19612 19613 Behavior = FlammableUpdate ModuleTag_21 19614 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 19615 AflameDamageAmount = 3 ; taking this much damage... 19616 AflameDamageDelay = 500 ; this often. 19617 End 19618 19619 Geometry = BOX 19620 GeometryMajorRadius = 22.0 19621 GeometryMinorRadius = 9.0 19622 GeometryHeight = 13.0 19623 GeometryIsSmall = No 19624 Shadow = SHADOW_VOLUME 19625 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 19626 19627 End 19628 19629 ;------------------------------------------------------------------------------ 19630 Object ChinaVehicleTroopCrawlerDeadHull 19631 19632 ; *** ART Parameters *** 19633 Draw = W3DModelDraw ModuleTag_01 19634 OkToChangeModelColor = Yes 19635 19636 ConditionState = NONE 19637 Model = NVTCrawler_D1 19638 End 19639 End 19640 19641 ; ***DESIGN parameters *** 19642 Side = China 19643 EditorSorting = SYSTEM 19644 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 19645 19646 ; *** AUDIO Parameters *** 19647 ; *** ENGINEERING Parameters *** 19648 RadarPriority = UNIT 19649 KindOf = CAN_CAST_REFLECTIONS IMMOBILE NO_COLLIDE HULK 19650 19651 Body = ActiveBody ModuleTag_02 19652 MaxHealth = 1.0 19653 InitialHealth = 1.0 19654 End 19655 19656 Behavior = PhysicsBehavior ModuleTag_Hulk03 19657 Mass = 100.0 19658 AllowBouncing = Yes 19659 KillWhenRestingOnGround = Yes 19660 End 19661 Behavior = LifetimeUpdate ModuleTag_Hulk04 19662 MinLifetime = 1500 ; min lifetime in msec 19663 MaxLifetime = 1600 ; max lifetime in msec 19664 End 19665 19666 Behavior = SlowDeathBehavior ModuleTag_Hulk05 19667 SinkDelay = 1500 19668 SinkRate = 2 ; in Dist/Sec 19669 DestructionDelay = 8000 19670 End 19671 19672 19673 Geometry = BOX 19674 GeometryMajorRadius = 9.0 19675 GeometryMinorRadius = 6.0 19676 GeometryHeight = 7.5 19677 GeometryIsSmall = Yes 19678 19679 End 19680 19681 ;------------------------------------------------------------------------------ 19682 Object ChinaVehicleTroopCrawlerEmpty 19683 19684 ; *** ART Parameters *** 19685 SelectPortrait = SNTransport_L 19686 ButtonImage = SNTransport 19687 Draw = W3DTankDraw ModuleTag_01 19688 OkToChangeModelColor = Yes 19689 TrackMarks = EXTireTrack.tga 19690 ConditionState = NONE 19691 Model = NVTCrawler 19692 End 19693 ConditionState = REALLYDAMAGED 19694 Model = NVTCrawler_D 19695 End 19696 ConditionState = RUBBLE 19697 Model = NVTCrawler_D 19698 End 19699 End 19700 19701 ; ***DESIGN parameters *** 19702 DisplayName = OBJECT:TroopCrawler 19703 Side = China 19704 EditorSorting = VEHICLE 19705 TransportSlotCount = 8 ;how many "slots" we take in a transport (0 == not transportable) 19706 WeaponSet 19707 Conditions = None 19708 Weapon = PRIMARY TroopCrawlerAssault 19709 End 19710 ArmorSet 19711 Conditions = None 19712 Armor = TankArmor 19713 DamageFX = TankDamageFX 19714 End 19715 BuildCost = 700 19716 BuildTime = 1.0 ;in seconds 19717 VisionRange = 150 19718 ShroudClearingRange = 150 19719 Prerequisites 19720 Object = ChinaWarFactory 19721 End 19722 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 19723 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 19724 CommandSet = ChinaTroopCrawlerCommandSet 19725 19726 ; *** AUDIO Parameters *** 19727 VoiceSelect = TroopCrawlerVoiceSelect 19728 VoiceMove = TroopCrawlerVoiceMove 19729 VoiceGuard = TroopCrawlerVoiceMove 19730 VoiceAttack = TroopCrawlerVoiceAttack 19731 SoundMoveStart = TroopCrawlerMoveStart 19732 SoundMoveStartDamaged = TroopCrawlerMoveStart 19733 19734 UnitSpecificSounds 19735 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 19736 VoiceCreate = TroopCrawlerVoiceCreate 19737 TurretMoveStart = NoSound 19738 TurretMoveLoop = TurretMoveLoop 19739 VoiceUnload = TroopCrawlerVoiceUnload 19740 VoiceEnter = TroopCrawlerVoiceMove 19741 End 19742 19743 19744 ; *** ENGINEERING Parameters *** 19745 RadarPriority = UNIT 19746 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS TRANSPORT VEHICLE SCORE 19747 19748 Body = ActiveBody ModuleTag_02 19749 MaxHealth = 200.0 19750 InitialHealth = 200.0 19751 End 19752 Behavior = AIUpdateInterface ModuleTag_03 19753 Turret 19754 ControlledWeaponSlots = PRIMARY 19755 End 19756 End 19757 Locomotor = SET_NORMAL TroopCrawlerLocomotor 19758 Behavior = PhysicsBehavior ModuleTag_04 19759 Mass = 50.0 19760 End 19761 19762 19763 Behavior = SlowDeathBehavior ModuleTag_05 19764 DeathTypes = ALL -CRUSHED -SPLATTED 19765 ProbabilityModifier = 5 19766 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 19767 DestructionDelay = 0 19768 DestructionDelayVariance = 200 19769 FX = FINAL FX_BuggyNewDeathExplosion 19770 OCL = FINAL OCL_FinalTroopCrawlerDebris 19771 End 19772 19773 Behavior = TransportContain ModuleTag_06 19774 Slots = 8 19775 HealthRegen%PerSec = 10 19776 DamagePercentToUnits = 10% 19777 AllowInsideKindOf = INFANTRY 19778 AllowAlliesInside = Yes 19779 AllowNeutralInside = No 19780 AllowEnemiesInside = No 19781 End 19782 19783 19784 ; A crushing defeat 19785 Behavior = FXListDie ModuleTag_07 19786 DeathTypes = NONE +CRUSHED +SPLATTED 19787 DeathFX = FX_CarCrush 19788 End 19789 Behavior = CreateObjectDie ModuleTag_08 19790 DeathTypes = NONE +CRUSHED +SPLATTED 19791 CreationList = OCL_CrusaderTank_CrushEffect 19792 End 19793 Behavior = CreateCrateDie ModuleTag_09 19794 CrateData = SalvageCrateData 19795 ;CrateData = EliteTankCrateData 19796 ;CrateData = HeroicTankCrateData 19797 End 19798 19799 Behavior = FlammableUpdate ModuleTag_21 19800 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 19801 AflameDamageAmount = 3 ; taking this much damage... 19802 AflameDamageDelay = 500 ; this often. 19803 End 19804 19805 Geometry = BOX 19806 GeometryMajorRadius = 22.0 19807 GeometryMinorRadius = 9.0 19808 GeometryHeight = 13.0 19809 GeometryIsSmall = No 19810 Shadow = SHADOW_VOLUME 19811 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 19812 19813 End 19814 19815 19816 ;------------------------------------------------------------------------------ 19817 Object ChinaVehicleInfernoCannon 19818 19819 ; *** ART Parameters *** 19820 SelectPortrait = SNInferno_L 19821 ButtonImage = SNInferno 19822 19823 UpgradeCameo1 = Upgrade_ChinaBlackNapalm 19824 ;UpgradeCameo2 = NONE 19825 ;UpgradeCameo3 = NONE 19826 ;UpgradeCameo4 = NONE 19827 ;UpgradeCameo5 = NONE 19828 19829 Draw = W3DTankDraw ModuleTag_01 19830 OkToChangeModelColor = Yes 19831 ConditionState = NONE 19832 Model = NVInferno 19833 Turret = Turret 19834 TurretPitch = TurretEL 19835 WeaponFireFXBone = PRIMARY Muzzle 19836 WeaponRecoilBone = PRIMARY Barrel 19837 WeaponMuzzleFlash = PRIMARY MuzzleFX 19838 WeaponLaunchBone = PRIMARY Muzzle 19839 End 19840 19841 ConditionState = RUBBLE REALLYDAMAGED 19842 Model = NVInferno_D 19843 Turret = Turret 19844 TurretPitch = TurretEL 19845 WeaponFireFXBone = PRIMARY Muzzle 19846 WeaponRecoilBone = PRIMARY Barrel 19847 WeaponMuzzleFlash = PRIMARY MuzzleFX 19848 WeaponLaunchBone = PRIMARY Muzzle 19849 End 19850 19851 TrackMarks = EXTnkTrack.tga 19852 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 19853 End 19854 19855 ; ***DESIGN parameters *** 19856 DisplayName = OBJECT:InfernoCannon 19857 Side = China 19858 EditorSorting = VEHICLE 19859 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 19860 WeaponSet 19861 Conditions = None 19862 Weapon = PRIMARY InfernoCannonGun 19863 End 19864 WeaponSet 19865 Conditions = PLAYER_UPGRADE 19866 Weapon = PRIMARY InfernoCannonGunUpgraded 19867 End 19868 ArmorSet 19869 Conditions = None 19870 Armor = TankArmor 19871 DamageFX = TankDamageFX 19872 End 19873 BuildCost = 900 19874 BuildTime = 15.0 ;in seconds 19875 VisionRange = 180 19876 ShroudClearingRange = 300 19877 Prerequisites 19878 Object = ChinaWarFactory 19879 Object = ChinaPropagandaCenter 19880 End 19881 19882 ExperienceValue = 50 50 100 150 ;Experience point value at each level 19883 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 19884 IsTrainable = Yes ;Can gain experience 19885 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 19886 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 19887 CommandSet = ChinaVehicleInfernoCannonCommandSet 19888 19889 ; *** AUDIO Parameters *** 19890 VoiceSelect = InfernoCannonVoiceSelect 19891 VoiceMove = InfernoCannonVoiceMove 19892 VoiceGuard = InfernoCannonVoiceMove 19893 VoiceAttack = InfernoCannonVoiceAttack 19894 SoundMoveStart = InfernoCannonMoveStart 19895 SoundMoveStartDamaged = InfernoCannonMoveStart 19896 UnitSpecificSounds 19897 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 19898 VoiceCreate = InfernoCannonVoiceCreate 19899 TurretMoveStart = NoSound 19900 TurretMoveLoop = NoSound 19901 VoiceCrush = InfernoCannonVoiceCrush 19902 VoiceEnter = InfernoCannonVoiceMove 19903 End 19904 19905 19906 ; *** ENGINEERING Parameters *** 19907 RadarPriority = UNIT 19908 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 19909 19910 Body = ActiveBody ModuleTag_02 19911 MaxHealth = 120.0 19912 InitialHealth = 120.0 19913 End 19914 19915 Behavior = VeterancyGainCreate ModuleTag_03 19916 StartingLevel = VETERAN 19917 ScienceRequired = SCIENCE_ArtilleryTraining 19918 End 19919 19920 Behavior = AIUpdateInterface ModuleTag_04 19921 Turret 19922 TurretTurnRate = 100 19923 TurretPitchRate = 100 19924 AllowsPitch = Yes 19925 FirePitch = 45 19926 ControlledWeaponSlots = PRIMARY 19927 End 19928 AutoAcquireEnemiesWhenIdle = No NotWhileAttacking 19929 End 19930 Locomotor = SET_NORMAL InfernoLocomotor 19931 Behavior = PhysicsBehavior ModuleTag_05 19932 Mass = 50.0 19933 End 19934 19935 ; A crushing defeat 19936 Behavior = FXListDie ModuleTag_06 19937 DeathTypes = NONE +CRUSHED +SPLATTED 19938 DeathFX = FX_CarCrush 19939 End 19940 Behavior = CreateObjectDie ModuleTag_07 19941 DeathTypes = NONE +CRUSHED +SPLATTED 19942 CreationList = OCL_CrusaderTank_CrushEffect 19943 End 19944 Behavior = SlowDeathBehavior ModuleTag_08 19945 DeathTypes = ALL -CRUSHED -SPLATTED 19946 ProbabilityModifier = 50 19947 DestructionDelay = 2000 19948 DestructionDelayVariance = 300 19949 FX = INITIAL FX_CrusaderCatchFire 19950 FX = FINAL FX_GenericTankDeathExplosion 19951 OCL = FINAL OCL_InfernoCannonDeathEffect 19952 End 19953 19954 Behavior = TransitionDamageFX ModuleTag_09 19955 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 19956 ReallyDamagedFXList1 = Loc: X:-7 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 19957 End 19958 19959 Behavior = CreateCrateDie ModuleTag_10 19960 CrateData = SalvageCrateData 19961 ;CrateData = EliteTankCrateData 19962 ;CrateData = HeroicTankCrateData 19963 End 19964 19965 Behavior = WeaponSetUpgrade ModuleTag_11 19966 TriggeredBy = Upgrade_ChinaBlackNapalm 19967 End 19968 19969 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 19970 DetectionRate = 500 19971 DetectionRange = 75 19972 CanDetectWhileGarrisoned = No 19973 CanDetectWhileContained = No 19974 ExtraRequiredKindOf = BOAT 19975 End 19976 19977 Behavior = FlammableUpdate ModuleTag_21 19978 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 19979 AflameDamageAmount = 3 ; taking this much damage... 19980 AflameDamageDelay = 500 ; this often. 19981 End 19982 19983 Behavior = DestroyDie ModuleTag_22 19984 DeathTypes = NONE +CRUSHED +SPLATTED 19985 End 19986 19987 Geometry = BOX 19988 GeometryMajorRadius = 15.0 19989 GeometryMinorRadius = 10.0 19990 GeometryHeight = 15.0 19991 GeometryIsSmall = Yes 19992 Shadow = SHADOW_VOLUME 19993 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 19994 19995 End 19996 19997 ;------------------------------------------------------------------------------ 19998 ;Also called NukeCannon 19999 Object ChinaVehicleNukeLauncher 20000 20001 ; *** ART Parameters *** 20002 SelectPortrait = SNNukeCannon_L 20003 ButtonImage = SNNukeCannon2 20004 20005 ;UpgradeCameo1 = NONE 20006 ;UpgradeCameo2 = NONE 20007 ;UpgradeCameo3 = NONE 20008 ;UpgradeCameo4 = NONE 20009 ;UpgradeCameo5 = NONE 20010 20011 Draw = W3DTankDraw ModuleTag_01 20012 20013 InitialRecoilSpeed = 120 20014 MaxRecoilDistance = 8 20015 RecoilSettleSpeed = 6 20016 20017 OkToChangeModelColor = Yes 20018 20019 ExtraPublicBone = Turret01 20020 20021 DefaultConditionState 20022 Model = NVNukeCn 20023 WeaponLaunchBone = PRIMARY Muzzle 20024 WeaponMuzzleFlash = PRIMARY MuzzleFX 20025 WeaponFireFXBone = PRIMARY Muzzle 20026 WeaponRecoilBone = PRIMARY Barrel 20027 HideSubObject = TURRET01 ;Hide controlled turret 20028 ShowSubObject = TURRETFRONT TURRETBACK ;Show pack/unpack animated turret 20029 Turret = Turret01 20030 TurretPitch = TurretEL 20031 End 20032 20033 ConditionState = RUBBLE 20034 Model = NVNukeCn_D 20035 WeaponLaunchBone = PRIMARY Muzzle 20036 WeaponMuzzleFlash = PRIMARY MuzzleFX 20037 WeaponRecoilBone = PRIMARY Barrel 20038 HideSubObject = TURRET01 ;Hide controlled turret 20039 ShowSubObject = TURRETFRONT TURRETBACK ;Show pack/unpack animated turret 20040 Turret = Turret01 20041 TurretPitch = TurretEL 20042 End 20043 20044 ;*** PACKED STATE -- ready to move *** 20045 ConditionState = MOVING 20046 Animation = NVNukeCn.NVNukeCn 20047 AnimationMode = ONCE_BACKWARDS 20048 Flags = START_FRAME_FIRST 20049 End 20050 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving 20051 AliasConditionState = BETWEEN_FIRING_SHOTS_A 20052 ;*** 20053 ConditionState = REALLYDAMAGED MOVING 20054 Model = NVNukeCn_D 20055 Animation = NVNukeCn_D.NVNukeCn_D 20056 AnimationMode = ONCE_BACKWARDS 20057 Flags = START_FRAME_FIRST 20058 End 20059 AliasConditionState = REALLYDAMAGED MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving 20060 20061 20062 ;*** UNPACKING STATE -- preparing to fire *** 20063 ConditionState = UNPACKING 20064 Animation = NVNukeCn.NVNukeCn 20065 AnimationMode = ONCE 20066 End 20067 AliasConditionState = UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 20068 ;*** 20069 ConditionState = REALLYDAMAGED UNPACKING 20070 Model = NVNukeCn_D 20071 Animation = NVNukeCn_D.NVNukeCn_D 20072 AnimationMode = ONCE 20073 End 20074 AliasConditionState = REALLYDAMAGED UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 20075 20076 ;*** PACKING STATE -- preparing to move *** 20077 ConditionState = PACKING 20078 Animation = NVNukeCn.NVNukeCn 20079 AnimationMode = ONCE_BACKWARDS 20080 Flags = START_FRAME_LAST 20081 End 20082 20083 AliasConditionState = PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 20084 ;*** 20085 ConditionState = REALLYDAMAGED PACKING 20086 Model = NVNukeCn_D 20087 Animation = NVNukeCn_D.NVNukeCn_D 20088 AnimationMode = ONCE_BACKWARDS 20089 Flags = START_FRAME_LAST 20090 End 20091 AliasConditionState = REALLYDAMAGED PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 20092 20093 ;*** DEPLOYED STATE -- ready to fire *** 20094 ConditionState = DEPLOYED 20095 Animation = NVNukeCn.NVNukeCn 20096 AnimationMode = ONCE 20097 Flags = START_FRAME_LAST 20098 TransitionKey = TRANS_FIRING_A 20099 HideSubObject = TURRETFRONT TURRETBACK ;Hide pack/unpack animated turret 20100 ShowSubObject = TURRET01 ;Show controlled turret 20101 End 20102 AliasConditionState = DEPLOYED FIRING_A 20103 AliasConditionState = DEPLOYED BETWEEN_FIRING_SHOTS_A 20104 AliasConditionState = DEPLOYED RELOADING_A 20105 AliasConditionState = DEPLOYED MOVING 20106 20107 ConditionState = DEPLOYED REALLYDAMAGED 20108 Model = NVNukeCn_D 20109 Animation = NVNukeCn_D.NVNukeCn_D 20110 AnimationMode = ONCE 20111 Flags = START_FRAME_LAST 20112 TransitionKey = TRANS_FIRING_A 20113 HideSubObject = TURRETFRONT TURRETBACK ;Hide pack/unpack animated turret 20114 ShowSubObject = TURRET01 ;Show controlled turret 20115 End 20116 AliasConditionState = DEPLOYED REALLYDAMAGED FIRING_A 20117 AliasConditionState = DEPLOYED REALLYDAMAGED BETWEEN_FIRING_SHOTS_A 20118 AliasConditionState = DEPLOYED REALLYDAMAGED RELOADING_A 20119 AliasConditionState = DEPLOYED REALLYDAMAGED MOVING 20120 20121 TrackMarks = EXTnkTrack.tga 20122 TreadAnimationRate = 4.0 ; amount of tread texture to move per second 20123 End 20124 20125 ; ***DESIGN parameters *** 20126 DisplayName = OBJECT:NukeLauncher 20127 Side = China 20128 EditorSorting = VEHICLE 20129 TransportSlotCount = 10 ;how many "slots" we take in a transport (0 == not transportable) 20130 WeaponSet 20131 Conditions = None 20132 Weapon = PRIMARY NukeCannonGun 20133 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 20134 End 20135 ArmorSet 20136 Conditions = None 20137 Armor = TankArmor 20138 DamageFX = TankDamageFX 20139 End 20140 BuildCost = 1600 20141 BuildTime = 20.0 ;in seconds 20142 VisionRange = 180 20143 ShroudClearingRange = 350 20144 Prerequisites 20145 Object = ChinaWarFactory 20146 Object = ChinaPropagandaCenter 20147 Science = SCIENCE_NukeLauncher 20148 End 20149 20150 ExperienceValue = 50 100 200 400 ;Experience point value at each level 20151 ExperienceRequired = 0 400 600 1000 ;Experience points needed to gain each level 20152 IsTrainable = Yes ;Can gain experience 20153 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 20154 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 20155 CommandSet = ChinaVehicleNukeCannonCommandSet 20156 20157 ; *** AUDIO Parameters *** 20158 VoiceSelect = NukeCannonVoiceSelect 20159 VoiceMove = NukeCannonVoiceMove 20160 VoiceGuard = NukeCannonVoiceMove 20161 VoiceAttack = NukeCannonVoiceAttack 20162 SoundMoveStart = NukeCannonMoveStart 20163 SoundMoveStartDamaged = NukeCannonMoveStart 20164 UnitSpecificSounds 20165 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 20166 VoiceCreate = NukeCannonVoiceCreate 20167 TurretMoveStart = NoSound 20168 TurretMoveLoop = NukeCannonTurretMoveLoop 20169 VoiceEnter = NukeCannonVoiceMove 20170 Deploy = NukeCannonDeploy 20171 Undeploy = NukeCannonUnDeploy 20172 End 20173 20174 20175 ; *** ENGINEERING Parameters *** 20176 RadarPriority = UNIT 20177 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 20178 20179 Body = ActiveBody ModuleTag_02 20180 MaxHealth = 240.0 20181 InitialHealth = 240.0 20182 End 20183 20184 Behavior = VeterancyGainCreate ModuleTag_03 20185 StartingLevel = VETERAN 20186 ScienceRequired = SCIENCE_ArtilleryTraining 20187 End 20188 20189 Behavior = DeployStyleAIUpdate ModuleTag_04 20190 Turret 20191 TurretTurnRate = 80 20192 TurretPitchRate = 80 20193 FirePitch = 0 ; Instead of aiming pitchwise at the target, it will aim here 20194 AllowsPitch = Yes 20195 RecenterTime = 5000 ; how long to wait during idle before recentering 20196 ControlledWeaponSlots = PRIMARY 20197 NaturalTurretAngle = 0 20198 InitiallyDisabled = Yes 20199 End 20200 AutoAcquireEnemiesWhenIdle = No 20201 PackTime = 3333 20202 UnpackTime = 3333 20203 TurretsFunctionOnlyWhenDeployed = Yes 20204 TurretsMustCenterBeforePacking = Yes 20205 End 20206 20207 Locomotor = SET_NORMAL ChinaNukeCannonLocomotor 20208 Behavior = PhysicsBehavior ModuleTag_05 20209 Mass = 50.0 20210 End 20211 20212 Behavior = SlowDeathBehavior ModuleTag_06 20213 DeathTypes = ALL -CRUSHED -SPLATTED 20214 DestructionDelay = 500 20215 DestructionDelayVariance = 100 20216 FX = INITIAL FX_BattleMasterExplosionOneFinal 20217 OCL = INITIAL OCL_RadiationFieldSmall 20218 OCL = MIDPOINT OCL_ChinaVehicleNukeCannonDie 20219 OCL = FINAL OCL_RadiationFieldSmall 20220 FX = FINAL FX_ChinaVehicleNukeCannonDeathExplosion 20221 End 20222 20223 ; A crushing defeat 20224 Behavior = FXListDie ModuleTag_07 20225 DeathTypes = NONE +CRUSHED +SPLATTED 20226 DeathFX = FX_CarCrush 20227 End 20228 Behavior = CreateObjectDie ModuleTag_08 20229 DeathTypes = NONE +CRUSHED +SPLATTED 20230 CreationList = OCL_CrusaderTank_CrushEffect 20231 End 20232 Behavior = CreateCrateDie ModuleTag_09 20233 CrateData = SalvageCrateData 20234 ;CrateData = EliteTankCrateData 20235 ;CrateData = HeroicTankCrateData 20236 End 20237 20238 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 20239 DetectionRate = 500 20240 DetectionRange = 75 20241 CanDetectWhileGarrisoned = No 20242 CanDetectWhileContained = No 20243 ExtraRequiredKindOf = BOAT 20244 End 20245 20246 Behavior = TransitionDamageFX ModuleTag_10 20247 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 20248 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition 20249 End 20250 20251 Behavior = DestroyDie ModuleTag_11 20252 DeathTypes = NONE +CRUSHED +SPLATTED 20253 End 20254 20255 Behavior = FlammableUpdate ModuleTag_21 20256 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 20257 AflameDamageAmount = 3 ; taking this much damage... 20258 AflameDamageDelay = 500 ; this often. 20259 End 20260 20261 Geometry = BOX 20262 GeometryMajorRadius = 32.0 20263 GeometryMinorRadius = 10.0 20264 GeometryHeight = 17.0 20265 GeometryIsSmall = No 20266 Shadow = SHADOW_VOLUME 20267 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 20268 20269 End 20270 20271 ;------------------------------------------------------------------------------ 20272 Object ChinaTankGattling 20273 20274 ; *** ART Parameters *** 20275 SelectPortrait = SNGatlingTank_L 20276 ButtonImage = SNGatlingTank 20277 20278 ;UpgradeCameo1 = Upgrade_Nationalism 20279 UpgradeCameo1 = Upgrade_ChinaChainGuns 20280 ;UpgradeCameo3 = NONE 20281 ;UpgradeCameo4 = NONE 20282 ;UpgradeCameo5 = NONE 20283 20284 Draw = W3DTankDraw ModuleTag_01 20285 OkToChangeModelColor = Yes 20286 20287 DefaultConditionState 20288 Model = NVGattTank 20289 Animation = NVGattTank.NVGattTank 20290 AnimationMode = MANUAL 20291 Turret = TURRET01 20292 TurretPitch = TURRETEL01 20293 WeaponMuzzleFlash = PRIMARY MuzzleFX 20294 WeaponFireFXBone = PRIMARY Muzzle 20295 WeaponMuzzleFlash = SECONDARY MuzzleFX 20296 WeaponFireFXBone = SECONDARY Muzzle 20297 End 20298 20299 ConditionState = REALLYDAMAGED RUBBLE 20300 Model = NVGattTank_D 20301 End 20302 20303 20304 ;-----pristine attacking---------------------- 20305 ConditionState = ATTACKING 20306 Model = NVGattTank 20307 Animation = NVGattTank.NVGattTank 20308 AnimationMode = LOOP 20309 AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y 20310 End 20311 20312 ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING 20313 Model = NVGattTank 20314 Animation = NVGattTank.NVGattTank 20315 AnimationMode = LOOP 20316 AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y 20317 End 20318 20319 ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING 20320 Model = NVGattTank 20321 Animation = NVGattTank.NVGattTank 20322 AnimationMode = LOOP 20323 AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast 20324 End 20325 20326 ConditionState = CONTINUOUS_FIRE_FAST ATTACKING 20327 Model = NVGattTank 20328 Animation = NVGattTank.NVGattTank 20329 AnimationMode = LOOP 20330 ParticleSysBone = Muzzle01 GattlingMuzzleSmoke 20331 AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst 20332 End 20333 20334 ;-----damaged attacking---------------------- 20335 ConditionState REALLYDAMAGED ATTACKING 20336 Model = NVGattTank_D 20337 Animation = NVGattTank_D.NVGattTank_D 20338 AnimationMode = LOOP 20339 AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely sloowly 20340 End 20341 ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING 20342 Model = NVGattTank_D 20343 Animation = NVGattTank_D.NVGattTank_D 20344 AnimationMode = LOOP 20345 AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y 20346 End 20347 20348 ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING 20349 Model = NVGattTank_D 20350 Animation = NVGattTank_D.NVGattTank_D 20351 AnimationMode = LOOP 20352 AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast 20353 End 20354 20355 ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING 20356 Model = NVGattTank_D 20357 Animation = NVGattTank_D.NVGattTank_D 20358 AnimationMode = LOOP 20359 ParticleSysBone = Muzzle01 GattlingMuzzleSmoke 20360 AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst 20361 End 20362 20363 20364 20365 20366 TrackMarks = EXTnkTrack.tga 20367 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 20368 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 20369 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 20370 End 20371 20372 ; ***DESIGN parameters *** 20373 DisplayName = OBJECT:GattlingTank 20374 Side = China 20375 EditorSorting = VEHICLE 20376 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 20377 20378 WeaponSet 20379 Conditions = None 20380 Weapon = PRIMARY GattlingTankGun 20381 PreferredAgainst = PRIMARY AIRCRAFT 20382 Weapon = SECONDARY GattlingTankGunAir 20383 End 20384 20385 ArmorSet 20386 Conditions = None 20387 Armor = AntiAirVehicle 20388 DamageFX = TankDamageFX 20389 End 20390 BuildCost = 800 20391 BuildTime = 10.0 ;in seconds 20392 VisionRange = 150 20393 ShroudClearingRange = 360 20394 Prerequisites 20395 Object = ChinaWarFactory 20396 End 20397 20398 ExperienceValue = 50 50 100 150 ;Experience point value at each level 20399 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 20400 IsTrainable = Yes ;Can gain experience 20401 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 20402 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 20403 CommandSet = ChinaVehicleGattlingTankCommandSet 20404 20405 Behavior = AIUpdateInterface ModuleTag_20 20406 AutoAcquireEnemiesWhenIdle = Yes 20407 MoodAttackCheckRate = 250 20408 End 20409 20410 ; *** AUDIO Parameters *** 20411 VoiceSelect = GattlingTankVoiceSelect 20412 VoiceMove = GattlingTankVoiceMove 20413 VoiceGuard = GattlingTankVoiceMove 20414 VoiceAttack = GattlingTankVoiceAttack 20415 SoundMoveStart = GattlingTankMoveStart 20416 SoundMoveStartDamaged = GattlingTankMoveStart 20417 20418 UnitSpecificSounds 20419 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 20420 VoiceCreate = GattlingTankVoiceCreate 20421 TurretMoveStart = NoSound 20422 TurretMoveLoop = TurretMoveLoopLoud 20423 VoiceCrush = GattlingTankVoiceCrush 20424 VoiceEnter = GattlingTankVoiceMove 20425 VoiceRapidFire = GattlingTankVoiceRapid 20426 End 20427 20428 ; *** ENGINEERING Parameters *** 20429 RadarPriority = UNIT 20430 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 20431 20432 Body = ActiveBody ModuleTag_02 20433 MaxHealth = 300.0 20434 InitialHealth = 300.0 20435 End 20436 Behavior = AIUpdateInterface ModuleTag_03 20437 Turret 20438 ControlledWeaponSlots = PRIMARY SECONDARY 20439 TurretTurnRate = 180 // turn rate, in degrees per sec 20440 TurretPitchRate = 180 20441 AllowsPitch = Yes 20442 FiresWhileTurning = Yes 20443 NaturalTurretPitch = 45 ; this keeps it aimed half way between land and sky 20444 ; since you never know from whence cometh danger 20445 End 20446 AutoAcquireEnemiesWhenIdle = Yes 20447 End 20448 Locomotor = SET_NORMAL GattlingTankLocomotor 20449 Behavior = PhysicsBehavior ModuleTag_04 20450 Mass = 40.0 20451 End 20452 20453 ; Behavior = DestroyDie 20454 ; ;nothing 20455 ; End 20456 20457 ; Just explode death 20458 Behavior = SlowDeathBehavior ModuleTag_05 20459 ProbabilityModifier = 19 20460 DestructionDelay = 200 20461 DestructionDelayVariance = 100 20462 SinkRate = 0.5 ; in Dist/Sec 20463 OCL = FINAL OCL_ChinaTankGattlingDebris 20464 FX = FINAL FX_GattlingExplosionOneFinal 20465 End 20466 20467 Behavior = CreateCrateDie ModuleTag_06 20468 CrateData = SalvageCrateData 20469 ;CrateData = EliteTankCrateData 20470 ;CrateData = HeroicTankCrateData 20471 End 20472 20473 Behavior = TransitionDamageFX ModuleTag_07 20474 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 20475 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 20476 End 20477 20478 Behavior = FlammableUpdate ModuleTag_21 20479 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 20480 AflameDamageAmount = 3 ; taking this much damage... 20481 AflameDamageDelay = 500 ; this often. 20482 End 20483 20484 Behavior = WeaponBonusUpgrade ModuleTag_22 20485 TriggeredBy = Upgrade_ChinaChainGuns 20486 End 20487 20488 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 20489 DetectionRate = 500 20490 DetectionRange = 75 20491 CanDetectWhileGarrisoned = No 20492 CanDetectWhileContained = No 20493 ExtraRequiredKindOf = BOAT 20494 End 20495 20496 Geometry = BOX 20497 GeometryMajorRadius = 15.0 20498 GeometryMinorRadius = 10.0 20499 GeometryHeight = 15.0 20500 GeometryIsSmall = Yes 20501 Shadow = SHADOW_VOLUME 20502 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 20503 20504 End 20505 20506 ;------------------------------------------------------------------------------ 20507 Object GLALightTank 20508 20509 ; *** ART Parameters *** 20510 Draw = W3DTankDraw ModuleTag_01 20511 OkToChangeModelColor = Yes 20512 20513 DefaultConditionState 20514 Model = UVLiteTank 20515 WeaponMuzzleFlash = PRIMARY MuzzleFX 20516 End 20517 20518 TrackMarks = EXTnkTrack.tga 20519 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 20520 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 20521 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 20522 End 20523 20524 ; ***DESIGN parameters *** 20525 DisplayName = OBJECT:Scorpion 20526 Side = GLA 20527 EditorSorting = VEHICLE 20528 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 20529 WeaponSet 20530 Conditions = None 20531 Weapon = PRIMARY CrusaderTankGun 20532 End 20533 ArmorSet 20534 Conditions = None 20535 Armor = TruckArmor 20536 DamageFX = TankDamageFX 20537 End 20538 BuildCost = 900 20539 BuildTime = 10.0 ;in seconds 20540 VisionRange = 200 20541 ShroudClearingRange = 200 20542 Prerequisites 20543 Object = GLAArmsDealer 20544 End 20545 20546 ExperienceValue = 50 100 150 400 ;Experience point value at each level 20547 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 20548 IsTrainable = Yes ;Can gain experience 20549 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 20550 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 20551 20552 ; *** AUDIO Parameters *** 20553 20554 VoiceSelect = ScorpionTankVoiceSelect 20555 VoiceMove = ScorpionTankVoiceMove 20556 VoiceGuard = ScorpionTankVoiceMove 20557 VoiceAttack = ScorpionTankVoiceAttack 20558 SoundMoveStart = ScorpionTankMoveStart 20559 SoundMoveStartDamaged = ScorpionTankMoveStart 20560 20561 UnitSpecificSounds 20562 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 20563 VoiceCreate = ScorpionTankVoiceCreate 20564 TurretMoveStart = NoSound 20565 TurretMoveLoop = TurretMoveLoop 20566 VoiceCrush = ScorpionTankVoiceCrush 20567 VoiceEnter = ScorpionTankVoiceMove 20568 End 20569 20570 ; *** ENGINEERING Parameters *** 20571 RadarPriority = UNIT 20572 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 20573 20574 Body = ActiveBody ModuleTag_02 20575 MaxHealth = 200.0 20576 InitialHealth = 200.0 20577 End 20578 Behavior = AIUpdateInterface ModuleTag_03 20579 Turret 20580 ControlledWeaponSlots = PRIMARY 20581 End 20582 AutoAcquireEnemiesWhenIdle = Yes 20583 End 20584 Locomotor = SET_NORMAL BasicTankLocomotor 20585 Behavior = PhysicsBehavior ModuleTag_04 20586 Mass = 40.0 20587 End 20588 20589 Behavior = DestroyDie ModuleTag_05 20590 ;nothing 20591 End 20592 20593 ; A crushing defeat 20594 Behavior = FXListDie ModuleTag_06 20595 DeathTypes = NONE +CRUSHED +SPLATTED 20596 DeathFX = FX_CarCrush 20597 End 20598 Behavior = CreateObjectDie ModuleTag_07 20599 DeathTypes = NONE +CRUSHED +SPLATTED 20600 CreationList = OCL_CrusaderTank_CrushEffect 20601 End 20602 Behavior = CreateCrateDie ModuleTag_08 20603 CrateData = SalvageCrateData 20604 ;CrateData = EliteTankCrateData 20605 ;CrateData = HeroicTankCrateData 20606 End 20607 20608 Behavior = FlammableUpdate ModuleTag_21 20609 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 20610 AflameDamageAmount = 3 ; taking this much damage... 20611 AflameDamageDelay = 500 ; this often. 20612 End 20613 20614 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 20615 DetectionRate = 500 20616 DetectionRange = 75 20617 CanDetectWhileGarrisoned = No 20618 CanDetectWhileContained = No 20619 ExtraRequiredKindOf = BOAT 20620 End 20621 20622 Geometry = BOX 20623 GeometryMajorRadius = 15.0 20624 GeometryMinorRadius = 10.0 20625 20626 GeometryHeight = 15.0 20627 GeometryIsSmall = Yes 20628 Shadow = SHADOW_VOLUME 20629 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 20630 20631 End 20632 20633 ;------------------------------------------------------------------------------ 20634 ;China Supply Truck 20635 Object ChinaVehicleSupplyTruck 20636 20637 ; *** ART Parameters *** 20638 20639 SelectPortrait = SNSupplyTruck_L 20640 ButtonImage = SNSupplyTruck 20641 20642 ;UpgradeCameo1 = NONE 20643 ;UpgradeCameo2 = NONE 20644 ;UpgradeCameo3 = NONE 20645 ;UpgradeCameo4 = NONE 20646 ;UpgradeCameo5 = NONE 20647 20648 Draw = W3DTruckDraw ModuleTag_01 20649 OkToChangeModelColor = Yes 20650 20651 DefaultConditionState 20652 Model = NVSSUPPLYTK 20653 HideSubObject = Cargo01 20654 End 20655 20656 ConditionState = REALLYDAMAGED 20657 Model = NVSSUPPLYTK_D 20658 End 20659 20660 ConditionState = RUBBLE 20661 Model = NVSSUPPLYTK_D 20662 End 20663 20664 ConditionState = CARRYING 20665 ShowSubObject = Cargo01 20666 End 20667 20668 ConditionState = REALLYDAMAGED CARRYING 20669 Model = NVSSUPPLYTK_D 20670 ShowSubObject = Cargo01 20671 End 20672 20673 ConditionState = RUBBLE CARRYING 20674 Model = NVSSUPPLYTK_D 20675 ShowSubObject = Cargo01 20676 End 20677 20678 TrackMarks = EXTireTrack.tga 20679 20680 LeftFrontTireBone = Tire01 20681 RightFrontTireBone = Tire02 20682 MidLeftRearTireBone = Tire03 20683 MidRightRearTireBone = Tire04 20684 LeftRearTireBone = Tire05 20685 RightRearTireBone = Tire06 20686 TireRotationMultiplier = 0.2 ; this * speed = rotation. 20687 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 20688 20689 Dust = RocketBuggyDust 20690 DirtSpray = RocketBuggyDirtSpray 20691 PowerslideSpray = RocketBuggyDirtPowerSlide 20692 20693 End 20694 20695 ; ***DESIGN parameters *** 20696 DisplayName = OBJECT:SupplyTruck 20697 Side = China 20698 EditorSorting = VEHICLE 20699 TransportSlotCount = 2 ;how many "slots" we take in a transport (0 == not transportable) 20700 BuildCost = 600 20701 BuildTime = 10.0 ;in seconds 20702 VisionRange = 150 20703 ShroudClearingRange = 300 20704 Prerequisites 20705 Object = ChinaSupplyCenter 20706 End 20707 20708 ArmorSet 20709 Conditions = None 20710 Armor = TruckArmor 20711 DamageFX = TankDamageFX 20712 End 20713 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 20714 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 20715 CommandSet = ChinaSupplyTruckCommandSet 20716 ; *** AUDIO Parameters *** 20717 VoiceSelect = SupplyTruckVoiceSelect 20718 VoiceMove = SupplyTruckVoiceMove 20719 VoiceAttack = SupplyTruckVoiceAttack 20720 SoundMoveStart = SupplyTruckMoveStart 20721 SoundMoveStartDamaged = SupplyTruckMoveStart 20722 UnitSpecificSounds 20723 VoiceCreate = SupplyTruckVoiceCreate 20724 TruckLandingSound = NoSound 20725 TruckPowerslideSound = NoSound 20726 VoiceSupply = SupplyTruckVoiceSupply 20727 VoiceCrush = SupplyTruckVoiceCrush 20728 VoiceEnter = SupplyTruckVoiceMove 20729 20730 End 20731 20732 ; *** ENGINEERING Parameters *** 20733 RadarPriority = UNIT 20734 ;@todo lorenzen removed the CAN_ATTACK from the chinasupplytruck... ok? 20735 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE HARVESTER SCORE 20736 20737 Body = ActiveBody ModuleTag_02 20738 MaxHealth = 300.0 20739 InitialHealth = 300.0 20740 End 20741 Behavior = SupplyTruckAIUpdate ModuleTag_03 20742 MaxBoxes = 4 20743 SupplyCenterActionDelay = 400 ; ms for whole thing (one transaction) 20744 SupplyWarehouseActionDelay = 1000 ; ms per box (many small transactions) 20745 SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) 20746 SuppliesDepletedVoice = SupplyTruckVoiceSuppliesDepleted 20747 End 20748 Locomotor = SET_NORMAL SupplyTruckLocomotor 20749 Behavior = PhysicsBehavior ModuleTag_04 20750 Mass = 5.0 20751 End 20752 20753 ExperienceValue = 50 50 50 50 ;Experience point value at each level 20754 20755 Behavior = SlowDeathBehavior ModuleTag_05 20756 DeathTypes = ALL -CRUSHED -SPLATTED 20757 DestructionDelay = 200 20758 DestructionDelayVariance = 100 20759 FX = FINAL FX_SupplyTruckExplosionOneFinal 20760 OCL = FINAL OCL_ChinaSupplyTruckDeathEffect 20761 End 20762 20763 Behavior = FXListDie ModuleTag_06 20764 DeathTypes = NONE +CRUSHED +SPLATTED 20765 DeathFX = FX_CarCrush 20766 End 20767 20768 Behavior = CreateObjectDie ModuleTag_07 20769 DeathTypes = NONE +CRUSHED +SPLATTED 20770 CreationList = OCL_ChinaSupplyTruck_CrushEffect 20771 End 20772 20773 Behavior = TransitionDamageFX ModuleTag_08 20774 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 20775 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition 20776 End 20777 20778 Behavior = FlammableUpdate ModuleTag_10 20779 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 20780 AflameDamageAmount = 3 ; taking this much damage... 20781 AflameDamageDelay = 500 ; this often. 20782 End 20783 20784 ; A crushing defeat 20785 Behavior = DestroyDie ModuleTag_11 20786 DeathTypes = NONE +CRUSHED +SPLATTED 20787 End 20788 20789 Behavior = CreateCrateDie ModuleTag_12 20790 CrateData = SalvageCrateData 20791 End 20792 20793 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 20794 DetectionRate = 500 20795 DetectionRange = 75 20796 CanDetectWhileGarrisoned = No 20797 CanDetectWhileContained = No 20798 ExtraRequiredKindOf = BOAT 20799 End 20800 20801 Geometry = BOX 20802 GeometryMajorRadius = 17.0 20803 GeometryMinorRadius = 7.0 20804 GeometryHeight = 14.0 20805 GeometryIsSmall = No 20806 Shadow = SHADOW_VOLUME 20807 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 20808 20809 End 20810 20811 ;------------------------------------------------------------------------------ 20812 ;USA Construction Dozer or USDozer 20813 Object AmericaVehicleDozer 20814 20815 ; *** ART Parameters *** 20816 SelectPortrait = SACDozer_L 20817 ButtonImage = SACDozer 20818 20819 Draw = W3DTruckDraw ModuleTag_01 20820 20821 OkToChangeModelColor = Yes 20822 20823 ConditionState = NONE 20824 Model = AVCONSTDOZ_A 20825 ParticleSysBone = EXHAUSTFX01 DozerSmokeLight 20826 WaitForStateToFinishIfPossible = TRANS_DIGGING 20827 End 20828 20829 ConditionState = REALLYDAMAGED RUBBLE 20830 Model = AVCONSTDOZ_AD 20831 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 20832 WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED 20833 End 20834 20835 ConditionState = MOVING 20836 Model = AVCONSTDOZ_A 20837 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 20838 WaitForStateToFinishIfPossible = TRANS_DIGGING 20839 End 20840 20841 ConditionState = MOVING REALLYDAMAGED RUBBLE 20842 Model = AVCONSTDOZ_AD 20843 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 20844 WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED 20845 End 20846 20847 ConditionState = PREATTACK_A 20848 Model = AVCONSTDOZ_A 20849 Animation = AVCONSTDOZ_A.AVCONSTDOZ_A 20850 AnimationMode = ONCE 20851 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 20852 ParticleSysBone = DIRTFX01 DozerDirtFall ;gush of dirt 20853 TransitionKey = TRANS_DIGGING 20854 End 20855 20856 ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE 20857 Model = AVCONSTDOZ_AD 20858 Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD 20859 AnimationMode = ONCE 20860 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 20861 TransitionKey = TRANS_DIGGING_DAMAGED 20862 End 20863 20864 ConditionState = ACTIVELY_CONSTRUCTING 20865 Model = AVCONSTDOZ_A 20866 Animation = AVCONSTDOZ_A.AVCONSTDOZ_A 20867 AnimationMode = ONCE 20868 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 20869 ParticleSysBone = DIRTFX01 DozerDirtFall 20870 WaitForStateToFinishIfPossible = TRANS_DIGGING 20871 End 20872 20873 ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE 20874 Model = AVCONSTDOZ_AD 20875 Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD 20876 AnimationMode = ONCE 20877 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 20878 ParticleSysBone = DIRTFX01 DozerDirtFall 20879 WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED 20880 End 20881 20882 TrackMarks = EXTireTrack2.tga 20883 Dust = RocketBuggyDust 20884 DirtSpray = RocketBuggyDirtSpray 20885 20886 ; These parameters are only used if the model has a separate suspension, 20887 ; and the locomotor has HasSuspension = Yes. 20888 20889 LeftFrontTireBone = TIRE01 20890 RightFrontTireBone = TIRE02 20891 LeftRearTireBone = TIRE03 20892 RightRearTireBone = TIRE04 20893 20894 TireRotationMultiplier = 0.2 ; this * speed = rotation. 20895 PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. 20896 20897 End 20898 20899 ; ***DESIGN parameters *** 20900 DisplayName = OBJECT:Dozer 20901 Side = America 20902 EditorSorting = VEHICLE 20903 TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) 20904 BuildCost = 1000 20905 BuildTime = 5.0 ; in seconds 20906 VisionRange = 200 20907 ShroudClearingRange = 200 20908 20909 WeaponSet 20910 Conditions = None 20911 Weapon = PRIMARY None 20912 End 20913 WeaponSet 20914 Conditions = MINE_CLEARING_DETAIL 20915 Weapon = PRIMARY DozerMineDisarmingWeapon 20916 End 20917 20918 ArmorSet 20919 Conditions = None 20920 Armor = DozerArmor ;Special Explosion-Proof Armor 20921 DamageFX = TankDamageFX 20922 End 20923 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 20924 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 20925 CommandSet = AmericaDozerCommandSet 20926 20927 ; *** AUDIO Parameters *** 20928 VoiceSelect = DozerUSAVoiceSelect 20929 VoiceMove = DozerUSAVoiceMove 20930 VoiceGuard = DozerUSAVoiceMove 20931 VoiceTaskComplete = DozerUSAVoiceBuildComplete 20932 SoundMoveStart = DozerUSAMoveStart 20933 SoundMoveStartDamaged = DozerUSAMoveStart 20934 UnitSpecificSounds 20935 VoiceCreate = DozerUSAVoiceCreate 20936 VoiceNoBuild = DozerUSAVoiceBuildNot 20937 VoiceCrush = DozerUSAVoiceCrush 20938 VoiceRepair = DozerUSAVoiceRepair 20939 VoiceDisarm = DozerUSAVoiceClearMine 20940 TruckLandingSound = NoSound 20941 TruckPowerslideSound = NoSound 20942 VoiceEnter = DozerUSAVoiceMove 20943 VoiceBuildResponse = DozerUSAVoiceBuild 20944 End 20945 20946 ; *** ENGINEERING Parameters *** 20947 RadarPriority = UNIT 20948 KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER 20949 20950 Body = ActiveBody ModuleTag_02 20951 MaxHealth = 250.0 20952 InitialHealth = 250.0 20953 End 20954 20955 Behavior = DozerAIUpdate ModuleTag_03 20956 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second 20957 BoredTime = 5000 ; in milliseconds 20958 BoredRange = 150 ; when bored, we look this far away to do something 20959 AutoAcquireEnemiesWhenIdle = Yes 20960 End 20961 20962 Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor 20963 20964 Behavior = PhysicsBehavior ModuleTag_04 20965 Mass = 75.0 20966 End 20967 20968 Behavior = StealthDetectorUpdate ModuleTag_05 20969 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 20970 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 20971 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 20972 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 20973 ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things 20974 End 20975 20976 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 20977 DetectionRate = 500 20978 DetectionRange = 75 20979 CanDetectWhileGarrisoned = No 20980 CanDetectWhileContained = No 20981 ExtraRequiredKindOf = BOAT 20982 End 20983 20984 Behavior = TransitionDamageFX ModuleTag_06 20985 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 20986 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 20987 End 20988 20989 ; Catch fire, and explode death 20990 Behavior = SlowDeathBehavior ModuleTag_07 20991 DeathTypes = ALL -CRUSHED -SPLATTED 20992 ProbabilityModifier = 100 20993 DestructionDelay = 1500 20994 DestructionDelayVariance = 600 20995 FX = INITIAL FX_CrusaderCatchFire 20996 OCL = FINAL OCL_AmericaDozerExplode 20997 FX = FINAL FX_BattleMasterExplosionOneFinal 20998 End 20999 21000 Behavior = CreateCrateDie ModuleTag_CratesChange 21001 CrateData = SalvageCrateData 21002 End 21003 21004 Behavior = FlammableUpdate ModuleTag_21 21005 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 21006 AflameDamageAmount = 3 ; taking this much damage... 21007 AflameDamageDelay = 500 ; this often. 21008 End 21009 21010 ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 21011 End 21012 21013 Behavior = FXListDie ModuleTag_23 21014 DeathTypes = NONE +CRUSHED +SPLATTED 21015 DeathFX = FX_CarCrush 21016 End 21017 21018 Behavior = DestroyDie ModuleTag_24 21019 DeathTypes = NONE +CRUSHED +SPLATTED 21020 End 21021 21022 ;----------------------- Command Set Changes ----------------------- 21023 Behavior = CommandSetUpgrade ModuleTag_commandup 21024 CommandSet = AmericaDozerCommandSetTech 21025 TriggeredBy = Upgrade_AmericaDozerUpgrade 21026 End 21027 Behavior = CommandSetUpgrade ModuleTag_commandup2 21028 CommandSet = AmericaDozerCommandSet 21029 TriggeredBy = Upgrade_AmericaDozerUpgradeDefault 21030 End 21031 ; releases the upgrade otherwise you cannot switch between them since they've already been purchased 21032 Behavior = ObjectCreationUpgrade ModuleTag_commandup3 21033 UpgradeObject = OCL_AmericaCommandsetupgraderelease 21034 TriggeredBy = Upgrade_AmericaDozerUpgrade Upgrade_AmericaDozerUpgradeDefault 21035 End 21036 ;------------------------------------------------------------------ 21037 21038 Behavior = ProductionUpdate ModuleTag_25 21039 ;MaxQueueEntries = 1 21040 End 21041 21042 Geometry = BOX 21043 GeometryMajorRadius = 15.0 21044 GeometryMinorRadius = 10.0 21045 GeometryHeight = 15.0 21046 GeometryIsSmall = Yes 21047 Shadow = SHADOW_VOLUME 21048 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 21049 21050 End 21051 21052 ;------------------------------------------------------------------------------ 21053 ; Note, this is really a Civ dozer that's used only for eye-candy purposes. 21054 ; It doesn't have mine-disarming ability. It probably shouldn't even have Dozer 21055 ; ability, but I have left that in for now. But don't use this for true Dozer purposes. 21056 ; 21057 Object GLAVehicleDozer 21058 21059 ; *** ART Parameters *** 21060 SelectPortrait = SNDozer_L 21061 ButtonImage = SNDozer 21062 Draw = W3DModelDraw ModuleTag_01 21063 OkToChangeModelColor = Yes 21064 DefaultConditionState 21065 Model = AVCONSTDOZ 21066 End 21067 End 21068 21069 ; ***DESIGN parameters *** 21070 DisplayName = OBJECT:Dozer 21071 Side = GLA 21072 EditorSorting = VEHICLE 21073 TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) 21074 BuildCost = 100 21075 BuildTime = 5.0 ;in seconds 21076 VisionRange = 150 21077 ShroudClearingRange = 300 21078 21079 ArmorSet 21080 Conditions = None 21081 Armor = TankArmor 21082 DamageFX = TankDamageFX 21083 End 21084 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 21085 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 21086 CommandSet = GLADozerCommandSet 21087 21088 ; *** AUDIO Parameters *** 21089 SoundMoveStart = NoSound 21090 21091 ; *** ENGINEERING Parameters *** 21092 RadarPriority = UNIT 21093 KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER 21094 21095 Body = ActiveBody ModuleTag_02 21096 MaxHealth = 1000.0 21097 InitialHealth = 1000.0 21098 End 21099 Behavior = DozerAIUpdate ModuleTag_03 21100 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second 21101 BoredTime = 5000 ; in milliseconds 21102 BoredRange = 150 ; when bored, we look this far away to do something 21103 End 21104 Locomotor = SET_NORMAL BasicTankLocomotor 21105 Behavior = PhysicsBehavior ModuleTag_04 21106 Mass = 75.0 21107 End 21108 21109 Behavior = DestroyDie ModuleTag_05 21110 ;nothing 21111 End 21112 21113 Behavior = FlammableUpdate ModuleTag_21 21114 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 21115 AflameDamageAmount = 3 ; taking this much damage... 21116 AflameDamageDelay = 500 ; this often. 21117 End 21118 21119 Geometry = BOX 21120 GeometryMajorRadius = 15.0 21121 GeometryMinorRadius = 10.0 21122 GeometryHeight = 15.0 21123 GeometryIsSmall = Yes 21124 Shadow = SHADOW_VOLUME 21125 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 21126 21127 End 21128 21129 ;------------------------------------------------------------------------------ 21130 ;China Construction Dozer 21131 Object ChinaVehicleDozer 21132 21133 ; *** ART Parameters *** 21134 SelectPortrait = SNDozer_L 21135 ButtonImage = SNDozer 21136 21137 Draw = W3DTankDraw ModuleTag_01 21138 OkToChangeModelColor = Yes 21139 21140 ConditionState = NONE 21141 Model = NVCONSTDOZ_A 21142 ParticleSysBone = EXHAUST01 DozerSmokeLight 21143 WaitForStateToFinishIfPossible = TRANS_DIGGING 21144 End 21145 21146 ConditionState = REALLYDAMAGED RUBBLE 21147 Model = NVCONSTDOZ_AD 21148 ParticleSysBone = EXHAUST01 DozerSmokeHeavy 21149 WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED 21150 End 21151 21152 ConditionState = MOVING 21153 Model = NVCONSTDOZ_A 21154 ParticleSysBone = EXHAUST01 DozerSmokeHeavy 21155 WaitForStateToFinishIfPossible = TRANS_DIGGING 21156 End 21157 21158 ConditionState = MOVING REALLYDAMAGED RUBBLE 21159 Model = NVCONSTDOZ_AD 21160 ParticleSysBone = EXHAUST01 DozerSmokeHeavy 21161 WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED 21162 End 21163 21164 ConditionState = PREATTACK_A 21165 Model = NVCONSTDOZ_A 21166 Animation = NVCONSTDOZ_A.NVCONSTDOZ_A 21167 AnimationMode = ONCE 21168 ParticleSysBone = EXHAUST01 DozerSmokeHeavy 21169 ParticleSysBone = DIRTFX01 DozerDirtFall ;gush of dirt 21170 TransitionKey = TRANS_DIGGING 21171 End 21172 21173 ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE 21174 Model = NVCONSTDOZ_AD 21175 Animation = NVCONSTDOZ_AD.NVCONSTDOZ_AD 21176 AnimationMode = ONCE 21177 ParticleSysBone = EXHAUST01 DozerSmokeHeavy 21178 TransitionKey = TRANS_DIGGING_DAMAGED 21179 End 21180 21181 ConditionState = ACTIVELY_CONSTRUCTING 21182 Model = NVCONSTDOZ_A 21183 Animation = NVCONSTDOZ_A.NVCONSTDOZ_A 21184 AnimationMode = ONCE 21185 ParticleSysBone = EXHAUST01 DozerSmokeHeavy 21186 ParticleSysBone = DIRTFX01 DozerDirtFall 21187 WaitForStateToFinishIfPossible = TRANS_DIGGING 21188 End 21189 21190 ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE 21191 Model = NVCONSTDOZ_AD 21192 Animation = NVCONSTDOZ_AD.NVCONSTDOZ_AD 21193 AnimationMode = ONCE 21194 ParticleSysBone = EXHAUST01 DozerSmokeHeavy 21195 ParticleSysBone = DIRTFX01 DozerDirtFall 21196 WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED 21197 End 21198 21199 TrackMarks = EXTnkTrack.tga 21200 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 21201 End 21202 21203 ; ***DESIGN parameters *** 21204 DisplayName = OBJECT:Dozer 21205 Side = China 21206 EditorSorting = VEHICLE 21207 TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) 21208 BuildCost = 1000 21209 BuildTime = 5.0 ;in seconds 21210 VisionRange = 150 21211 ShroudClearingRange = 300 21212 21213 WeaponSet 21214 Conditions = None 21215 Weapon = PRIMARY None 21216 End 21217 WeaponSet 21218 Conditions = MINE_CLEARING_DETAIL 21219 Weapon = PRIMARY DozerMineDisarmingWeapon 21220 End 21221 21222 ArmorSet 21223 Conditions = None 21224 Armor = DozerArmor ;Special Explosion-Proof Armor 21225 DamageFX = TankDamageFX 21226 End 21227 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 21228 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 21229 CommandSet = ChinaDozerCommandSet 21230 21231 ; *** AUDIO Parameters *** 21232 VoiceSelect = DozerChinaVoiceSelect 21233 VoiceMove = DozerChinaVoiceMove 21234 VoiceEnter = DozerChinaVoiceMove 21235 VoiceTaskComplete = DozerChinaVoiceBuildComplete 21236 SoundMoveStart = DozerChinaMoveStart 21237 SoundMoveStartDamaged = DozerChinaMoveStart 21238 21239 UnitSpecificSounds 21240 VoiceCreate = DozerChinaVoiceCreate 21241 VoiceCrush = DozerChinaVoiceCrush 21242 VoiceNoBuild = DozerChinaVoiceBuildNot 21243 VoiceRepair = DozerChinaVoiceRepair 21244 VoiceDisarm = DozerChinaVoiceClearMine 21245 VoiceEnter = DozerChinaVoiceMove 21246 VoiceBuildResponse = DozerChinaVoiceBuild 21247 End 21248 21249 ; *** ENGINEERING Parameters *** 21250 RadarPriority = UNIT 21251 KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER 21252 21253 Body = ActiveBody ModuleTag_02 21254 MaxHealth = 250.0 21255 InitialHealth = 250.0 21256 End 21257 21258 Behavior = DozerAIUpdate ModuleTag_03 21259 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second 21260 BoredTime = 5000 ; in milliseconds 21261 BoredRange = 150 ; when bored, we look this far away to do something 21262 AutoAcquireEnemiesWhenIdle = Yes 21263 End 21264 21265 Locomotor = SET_NORMAL ChinaVehicleDozerLocomotor 21266 21267 Behavior = PhysicsBehavior ModuleTag_04 21268 Mass = 75.0 21269 End 21270 21271 Behavior = StealthDetectorUpdate ModuleTag_05 21272 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 21273 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 21274 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 21275 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 21276 ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things 21277 End 21278 21279 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 21280 DetectionRate = 500 21281 DetectionRange = 75 21282 CanDetectWhileGarrisoned = No 21283 CanDetectWhileContained = No 21284 ExtraRequiredKindOf = BOAT 21285 End 21286 21287 Behavior = TransitionDamageFX ModuleTag_06 21288 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 21289 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 21290 End 21291 21292 ; Catch fire, and explode death 21293 Behavior = SlowDeathBehavior ModuleTag_07 21294 DeathTypes = ALL -CRUSHED -SPLATTED 21295 ProbabilityModifier = 100 21296 DestructionDelay = 1500 21297 DestructionDelayVariance = 600 21298 FX = INITIAL FX_CrusaderCatchFire 21299 OCL = FINAL OCL_ChinaDozerExplode 21300 FX = FINAL FX_BattleMasterExplosionOneFinal 21301 End 21302 21303 Behavior = CreateCrateDie ModuleTag_09 21304 CrateData = SalvageCrateData 21305 End 21306 21307 Behavior = FlammableUpdate ModuleTag_21 21308 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 21309 AflameDamageAmount = 3 ; taking this much damage... 21310 AflameDamageDelay = 500 ; this often. 21311 End 21312 21313 Behavior = FXListDie ModuleTag_22 21314 DeathTypes = NONE +CRUSHED +SPLATTED 21315 DeathFX = FX_CarCrush 21316 End 21317 21318 Behavior = DestroyDie ModuleTag_23 21319 DeathTypes = NONE +CRUSHED +SPLATTED 21320 End 21321 21322 ;----------------------- Command Set Changes ----------------------- 21323 Behavior = CommandSetUpgrade ModuleTag_commandup 21324 CommandSet = ChinaDozerCommandSetTech 21325 TriggeredBy = Upgrade_ChinaDozerUpgrade 21326 End 21327 Behavior = CommandSetUpgrade ModuleTag_commandup2 21328 CommandSet = ChinaDozerCommandSet 21329 TriggeredBy = Upgrade_ChinaDozerUpgradeDefault 21330 End 21331 ; releases the upgrade otherwise you cannot switch between them since they've already been purchased 21332 Behavior = ObjectCreationUpgrade ModuleTag_commandup3 21333 UpgradeObject = OCL_ChinaCommandsetupgraderelease 21334 TriggeredBy = Upgrade_ChinaDozerUpgrade Upgrade_ChinaDozerUpgradeDefault 21335 End 21336 ;------------------------------------------------------------------ 21337 21338 Behavior = ProductionUpdate ModuleTag_24 21339 ;MaxQueueEntries = 1 21340 End 21341 21342 Geometry = BOX 21343 GeometryMajorRadius = 17.0;new radius to align mine sweeping position 21344 ;GeometryMajorRadius = 21.0;old radius 21345 GeometryMinorRadius = 10.0 21346 GeometryHeight = 15.0 21347 GeometryIsSmall = NO 21348 Shadow = SHADOW_VOLUME 21349 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 21350 21351 End 21352 21353 ;------------------------------------------------------------------------------ 21354 Object ScorpionMissile 21355 21356 ; *** ART Parameters *** 21357 Draw = W3DModelDraw ModuleTag_01 21358 OkToChangeModelColor = Yes 21359 ConditionState = NONE 21360 Model = UVScorpion_m 21361 End 21362 End 21363 21364 ; ***DESIGN parameters *** 21365 DisplayName = OBJECT:Missile 21366 EditorSorting = SYSTEM 21367 VisionRange = 0.0 21368 ArmorSet 21369 Conditions = None 21370 Armor = ProjectileArmor 21371 DamageFX = None 21372 End 21373 21374 ; *** ENGINEERING Parameters *** 21375 KindOf = PROJECTILE SMALL_MISSILE 21376 Body = ActiveBody ModuleTag_02 21377 MaxHealth = 100.0 21378 InitialHealth = 100.0 21379 End 21380 21381 ; ---- begin Projectile death behaviors 21382 Behavior = InstantDeathBehavior DeathModuleTag_01 21383 DeathTypes = NONE +DETONATED 21384 ; we detonated normally. 21385 ; no FX, just quiet destroy ourselves 21386 End 21387 Behavior = InstantDeathBehavior DeathModuleTag_02 21388 DeathTypes = NONE +LASERED 21389 ; shot down by laser. 21390 FX = FX_GenericMissileDisintegrate 21391 OCL = OCL_GenericMissileDisintegrate 21392 End 21393 Behavior = InstantDeathBehavior DeathModuleTag_03 21394 DeathTypes = ALL -LASERED -DETONATED 21395 ; shot down by nonlaser. 21396 FX = FX_GenericMissileDeath 21397 End 21398 ; ---- end Projectile death behaviors 21399 21400 Behavior = PhysicsBehavior ModuleTag_06 21401 Mass = 1 21402 End 21403 Behavior = MissileAIUpdate ModuleTag_07 21404 TryToFollowTarget = Yes 21405 FuelLifetime = 4000 21406 InitialVelocity = 150 ; in dist/sec 21407 IgnitionDelay = 0 21408 DistanceToTravelBeforeTurning = 30 21409 IgnitionFX = FX_JetMissileIgnition 21410 End 21411 Locomotor = SET_NORMAL ScorpionMissileLocomotor 21412 21413 21414 Behavior = WeaponBonusUpgrade ModuleTag_08 21415 TriggeredBy = Upgrade_GLAAPRockets 21416 End 21417 21418 Geometry = Sphere 21419 GeometryIsSmall = Yes 21420 GeometryMajorRadius = 1.0 21421 21422 21423 End 21424 21425 ;------------------------------------------------------------------------------ 21426 Object RangerFlashBangGrenade 21427 21428 ; *** ART Parameters *** 21429 Draw = W3DModelDraw ModuleTag_01 21430 OkToChangeModelColor = Yes 21431 ConditionState = NONE 21432 Model = NVMBuggy_m 21433 End 21434 End 21435 21436 ; ***DESIGN parameters *** 21437 DisplayName = OBJECT:FlashBangGrenade 21438 EditorSorting = SYSTEM 21439 ArmorSet 21440 Armor = ProjectileArmor 21441 End 21442 VisionRange = 0.0 21443 21444 ; *** ENGINEERING Parameters *** 21445 KindOf = PROJECTILE 21446 Body = ActiveBody ModuleTag_02 21447 MaxHealth = 100.0 21448 InitialHealth = 100.0 21449 End 21450 21451 Behavior = DestroyDie ModuleTag_03 21452 ;nothing 21453 End 21454 21455 Behavior = PhysicsBehavior ModuleTag_04 21456 Mass = 1 21457 End 21458 21459 Behavior = DumbProjectileBehavior ModuleTag_05 21460 ; To tweak a Bezier path, please see GS 21461 FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 21462 SecondHeight = 150 21463 FirstPercentIndent = 30% ; Percentage of shot distance control points are placed 21464 SecondPercentIndent = 70% 21465 GarrisonHitKillRequiredKindOf = INFANTRY 21466 GarrisonHitKillForbiddenKindOf = NONE 21467 GarrisonHitKillCount = 10 ; ensure that a single grenade clears out all garrisoned buildings. 21468 GarrisonHitKillFX = FX_FlashBangGarrisonBuildingHit 21469 FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 21470 End 21471 21472 Geometry = Sphere 21473 GeometryIsSmall = Yes 21474 GeometryMajorRadius = 1.0 21475 21476 End 21477 21478 ;------------------------------------------------------------------------------ 21479 Object ScorpionTankShell 21480 21481 ; *** ART Parameters *** 21482 Draw = W3DModelDraw ModuleTag_01 21483 ConditionState = NONE 21484 Model = AVTankShel 21485 End 21486 End 21487 21488 ; ***DESIGN parameters *** 21489 DisplayName = OBJECT:TankShell 21490 EditorSorting = SYSTEM 21491 ArmorSet 21492 Armor = ProjectileArmor 21493 End 21494 VisionRange = 0.0 21495 21496 ; *** ENGINEERING Parameters *** 21497 KindOf = PROJECTILE 21498 Body = ActiveBody ModuleTag_02 21499 MaxHealth = 100.0 21500 InitialHealth = 100.0 21501 End 21502 21503 Behavior = DestroyDie ModuleTag_03 21504 ;nothing 21505 End 21506 21507 Behavior = FireWeaponWhenDeadBehavior ModuleTag_04 21508 DeathWeapon = ToxinShellWeapon 21509 StartsActive = No ; turned on by upgrade 21510 TriggeredBy = Upgrade_GLAToxinShells 21511 ConflictsWith = Upgrade_GLAAnthraxBeta 21512 End 21513 21514 Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 21515 DeathWeapon = ToxinShellWeaponUpgraded 21516 StartsActive = No ; turned on by upgrade 21517 TriggeredBy = Upgrade_GLAToxinShells Upgrade_GLAAnthraxBeta 21518 RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is 21519 End 21520 21521 Behavior = DumbProjectileBehavior ModuleTag_06 21522 DetonateCallsKill = Yes 21523 ; To tweak a Bezier path, please see GS 21524 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 21525 SecondHeight = 10 21526 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 21527 SecondPercentIndent = 90% 21528 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 21529 End 21530 21531 Behavior = PhysicsBehavior ModuleTag_07 21532 Mass = 0.01 ; can't be zero, but we want it tiny so that it travels nearly straight 21533 End 21534 21535 ; The Toxin explosions don't want to double up on particles, so only play this effect if we don't have Toxin 21536 Behavior = FireWeaponWhenDeadBehavior ModuleTag_08 21537 DeathWeapon = ScoprionTankGunFXWeapon 21538 StartsActive = Yes 21539 ConflictsWith = Upgrade_GLAToxinShells 21540 End 21541 21542 Geometry = Sphere 21543 GeometryIsSmall = Yes 21544 GeometryMajorRadius = 1.0 21545 21546 End 21547 21548 ;------------------------------------------------------------------------------ 21549 Object MarauderTankShell 21550 21551 ; *** ART Parameters *** 21552 Draw = W3DModelDraw ModuleTag_01 21553 ConditionState = NONE 21554 Model = AVTankShel 21555 End 21556 End 21557 21558 ; ***DESIGN parameters *** 21559 DisplayName = OBJECT:TankShell 21560 EditorSorting = SYSTEM 21561 ArmorSet 21562 Armor = ProjectileArmor 21563 End 21564 VisionRange = 0.0 21565 21566 ; *** ENGINEERING Parameters *** 21567 KindOf = PROJECTILE 21568 Body = ActiveBody ModuleTag_02 21569 MaxHealth = 100.0 21570 InitialHealth = 100.0 21571 End 21572 21573 Behavior = DestroyDie ModuleTag_03 21574 ;nothing 21575 End 21576 21577 Behavior = FireWeaponWhenDeadBehavior ModuleTag_04 21578 DeathWeapon = ToxinShellWeapon 21579 StartsActive = No ; turned on by upgrade 21580 TriggeredBy = Upgrade_GLAToxinShells 21581 ConflictsWith = Upgrade_GLAAnthraxBeta 21582 End 21583 21584 Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 21585 DeathWeapon = ToxinShellWeaponUpgraded 21586 StartsActive = No ; turned on by upgrade 21587 TriggeredBy = Upgrade_GLAToxinShells Upgrade_GLAAnthraxBeta 21588 RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is 21589 End 21590 21591 Behavior = DumbProjectileBehavior ModuleTag_06 21592 DetonateCallsKill = Yes 21593 ; To tweak a Bezier path, please see GS 21594 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 21595 SecondHeight = 10 21596 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 21597 SecondPercentIndent = 90% 21598 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 21599 End 21600 21601 Behavior = PhysicsBehavior ModuleTag_07 21602 Mass = 0.01 ; can't be zero, but we want it tiny so that it travels nearly straight 21603 End 21604 21605 Geometry = Sphere 21606 GeometryIsSmall = Yes 21607 GeometryMajorRadius = 1.0 21608 21609 End 21610 21611 ;------------------------------------------------------------------------------ 21612 Object GenericTankShell 21613 21614 ; *** ART Parameters *** 21615 Draw = W3DModelDraw ModuleTag_01 21616 ConditionState = NONE 21617 Model = AVTankShel 21618 End 21619 End 21620 21621 ; ***DESIGN parameters *** 21622 DisplayName = OBJECT:TankShell 21623 EditorSorting = SYSTEM 21624 ArmorSet 21625 Armor = ProjectileArmor 21626 End 21627 VisionRange = 0.0 21628 21629 ; *** ENGINEERING Parameters *** 21630 KindOf = PROJECTILE 21631 Body = ActiveBody ModuleTag_02 21632 MaxHealth = 100.0 21633 InitialHealth = 100.0 21634 End 21635 21636 Behavior = DestroyDie ModuleTag_03 21637 ;nothing 21638 End 21639 21640 Behavior = DumbProjectileBehavior ModuleTag_04 21641 ; To tweak a Bezier path, please see GS 21642 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 21643 SecondHeight = 10 21644 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 21645 SecondPercentIndent = 90% 21646 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 21647 End 21648 21649 Behavior = PhysicsBehavior ModuleTag_05 21650 Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny... 21651 End 21652 21653 Geometry = Sphere 21654 GeometryIsSmall = Yes 21655 GeometryMajorRadius = 1.0 21656 21657 End 21658 21659 ;------------------------------------------------------------------------------ 21660 Object BattleMasterTankShell 21661 21662 ; *** ART Parameters *** 21663 Draw = W3DModelDraw ModuleTag_01 21664 ConditionState = NONE 21665 Model = AVTankShel 21666 End 21667 End 21668 21669 ; ***DESIGN parameters *** 21670 DisplayName = OBJECT:TankShell 21671 EditorSorting = SYSTEM 21672 ArmorSet 21673 Armor = ProjectileArmor 21674 End 21675 VisionRange = 0.0 21676 21677 ; *** ENGINEERING Parameters *** 21678 KindOf = PROJECTILE 21679 Body = ActiveBody ModuleTag_02 21680 MaxHealth = 100.0 21681 InitialHealth = 100.0 21682 End 21683 21684 Behavior = DestroyDie ModuleTag_03 21685 ;nothing 21686 End 21687 21688 Behavior = DumbProjectileBehavior ModuleTag_04 21689 ; To tweak a Bezier path, please see GS 21690 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 21691 SecondHeight = 10 21692 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 21693 SecondPercentIndent = 90% 21694 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 21695 End 21696 21697 Behavior = PhysicsBehavior ModuleTag_05 21698 Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny... 21699 End 21700 21701 Behavior = WeaponBonusUpgrade ModuleTag_06 21702 TriggeredBy = Upgrade_ChinaUraniumShells 21703 End 21704 21705 Geometry = Sphere 21706 GeometryIsSmall = Yes 21707 GeometryMajorRadius = 1.0 21708 21709 End 21710 21711 ;------------------------------------------------------------------------------ 21712 Object OverlordTankShell 21713 21714 ; *** ART Parameters *** 21715 Draw = W3DModelDraw ModuleTag_01 21716 ConditionState = NONE 21717 Model = AVTankShel 21718 End 21719 End 21720 21721 ; ***DESIGN parameters *** 21722 DisplayName = OBJECT:TankShell 21723 EditorSorting = SYSTEM 21724 ArmorSet 21725 Armor = ProjectileArmor 21726 End 21727 VisionRange = 0.0 21728 21729 ; *** ENGINEERING Parameters *** 21730 KindOf = PROJECTILE 21731 Body = ActiveBody ModuleTag_02 21732 MaxHealth = 100.0 21733 InitialHealth = 100.0 21734 End 21735 21736 Behavior = DestroyDie ModuleTag_03 21737 ;nothing 21738 End 21739 21740 Behavior = DumbProjectileBehavior ModuleTag_04 21741 ; To tweak a Bezier path, please see GS 21742 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 21743 SecondHeight = 10 21744 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 21745 SecondPercentIndent = 90% 21746 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 21747 End 21748 21749 Behavior = PhysicsBehavior ModuleTag_05 21750 Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny... 21751 End 21752 21753 Behavior = WeaponBonusUpgrade ModuleTag_06 21754 TriggeredBy = Upgrade_ChinaUraniumShells 21755 End 21756 21757 Geometry = Sphere 21758 GeometryIsSmall = Yes 21759 GeometryMajorRadius = 1.0 21760 21761 End 21762 21763 21764 21765 21766 ;------------------------------------------------------------------------------ 21767 Object NukeCannonShell 21768 21769 ; *** ART Parameters *** 21770 Draw = W3DModelDraw ModuleTag_01 21771 ConditionState = NONE 21772 Model = AVTankShel 21773 End 21774 End 21775 21776 ; ***DESIGN parameters *** 21777 DisplayName = OBJECT:TankShell 21778 EditorSorting = SYSTEM 21779 ArmorSet 21780 Armor = ProjectileArmor 21781 End 21782 VisionRange = 0.0 21783 21784 21785 ; *** AUDIO Parameters *** 21786 SoundAmbient = NukeCannonIncomingWhistle 21787 21788 ; *** ENGINEERING Parameters *** 21789 KindOf = PROJECTILE 21790 Body = ActiveBody ModuleTag_02 21791 MaxHealth = 100.0 21792 InitialHealth = 100.0 21793 End 21794 21795 Behavior = DestroyDie ModuleTag_03 21796 ;nothing 21797 End 21798 21799 Behavior = DumbProjectileBehavior ModuleTag_04 21800 ; To tweak a Bezier path, please see GS 21801 FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 21802 SecondHeight = 150 21803 FirstPercentIndent = 30% ; Percentage of shot distance control points are placed 21804 SecondPercentIndent = 70% 21805 FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 21806 End 21807 21808 Behavior = PhysicsBehavior ModuleTag_05 21809 Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny... 21810 End 21811 21812 Geometry = Sphere 21813 GeometryIsSmall = Yes 21814 GeometryMajorRadius = 1.0 21815 21816 End 21817 21818 ;------------------------------------------------------------------------------ 21819 Object InfernoTankShell 21820 21821 ; *** ART Parameters *** 21822 Draw = W3DModelDraw ModuleTag_01 21823 ConditionState = NONE 21824 Model = AVTankShel 21825 ParticleSysBone = None InfernoTrail 21826 End 21827 End 21828 21829 ; *** AUDIO Parameters *** 21830 SoundAmbient = InfernoCannonIncomingWhistle 21831 21832 ; ***DESIGN parameters *** 21833 DisplayName = OBJECT:TankShell 21834 EditorSorting = SYSTEM 21835 ArmorSet 21836 Armor = ProjectileArmor 21837 End 21838 VisionRange = 0.0 21839 21840 ; *** ENGINEERING Parameters *** 21841 KindOf = PROJECTILE 21842 Body = ActiveBody ModuleTag_02 21843 MaxHealth = 100.0 21844 InitialHealth = 100.0 21845 End 21846 21847 Behavior = DestroyDie ModuleTag_03 21848 ;nothing 21849 End 21850 21851 Behavior = DumbProjectileBehavior ModuleTag_09 21852 DetonateCallsKill = Yes 21853 ; To tweak a Bezier path, please see GS 21854 FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 21855 SecondHeight = 150 21856 FirstPercentIndent = 20% ; Percentage of shot distance control points are placed 21857 SecondPercentIndent = 90% 21858 FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 21859 End 21860 21861 Behavior = PhysicsBehavior ModuleTag_05 21862 Mass = 10 21863 End 21864 21865 Behavior = HeightDieUpdate ModuleTag_06 21866 TargetHeight = 1.0 21867 TargetHeightIncludesStructures = Yes 21868 OnlyWhenMovingDown = Yes 21869 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 21870 End 21871 21872 Behavior = FireWeaponWhenDeadBehavior ModuleTag_07 21873 DeathWeapon = SmallFireFieldCreationWeapon 21874 StartsActive = Yes 21875 End 21876 21877 Geometry = Sphere 21878 GeometryIsSmall = Yes 21879 GeometryMajorRadius = 1.0 21880 21881 End 21882 21883 21884 ;------------------------------------------------------------------------------ 21885 Object InfernoTankShellUpgraded 21886 21887 ; *** ART Parameters *** 21888 Draw = W3DModelDraw ModuleTag_01 21889 ConditionState = NONE 21890 Model = AVTankShel 21891 ParticleSysBone = None InfernoTrailUpgraded 21892 End 21893 End 21894 21895 ; *** AUDIO Parameters *** 21896 SoundAmbient = InfernoCannonIncomingWhistle 21897 21898 ; ***DESIGN parameters *** 21899 DisplayName = OBJECT:TankShell 21900 EditorSorting = SYSTEM 21901 ArmorSet 21902 Armor = ProjectileArmor 21903 End 21904 VisionRange = 0.0 21905 21906 ; *** ENGINEERING Parameters *** 21907 KindOf = PROJECTILE 21908 Body = ActiveBody ModuleTag_02 21909 MaxHealth = 100.0 21910 InitialHealth = 100.0 21911 End 21912 21913 Behavior = DestroyDie ModuleTag_03 21914 ;nothing 21915 End 21916 21917 Behavior = DumbProjectileBehavior ModuleTag_09 21918 DetonateCallsKill = Yes 21919 ; To tweak a Bezier path, please see GS 21920 FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 21921 SecondHeight = 150 21922 FirstPercentIndent = 20% ; Percentage of shot distance control points are placed 21923 SecondPercentIndent = 90% 21924 FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 21925 End 21926 21927 Behavior = PhysicsBehavior ModuleTag_05 21928 Mass = 10 21929 End 21930 21931 Behavior = HeightDieUpdate ModuleTag_06 21932 TargetHeight = 1.0 21933 TargetHeightIncludesStructures = Yes 21934 OnlyWhenMovingDown = Yes 21935 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 21936 End 21937 21938 Behavior = FireWeaponWhenDeadBehavior ModuleTag_08 21939 DeathWeapon = SmallFireFieldUpgradedCreationWeapon 21940 StartsActive = Yes 21941 End 21942 21943 21944 Geometry = Sphere 21945 GeometryIsSmall = Yes 21946 GeometryMajorRadius = 1.0 21947 21948 End 21949 21950 ;------------------------------------------------------------------------------ 21951 Object DeadTankHulk 21952 21953 ; *** ART Parameters *** 21954 Draw = W3DModelDraw ModuleTag_01 21955 DefaultConditionState 21956 Model = GXMammoth_CH 21957 End 21958 End 21959 21960 ; ***DESIGN parameters *** 21961 EditorSorting = DEBRIS 21962 21963 ; *** ENGINEERING Parameters *** 21964 KindOf = NO_COLLIDE HULK 21965 21966 Behavior = PhysicsBehavior ModuleTag_03 21967 Mass = 100.0 21968 AllowBouncing = Yes 21969 KillWhenRestingOnGround = Yes 21970 End 21971 Behavior = LifetimeUpdate ModuleTag_04 21972 MinLifetime = 1500 ; min lifetime in msec 21973 MaxLifetime = 1600 ; max lifetime in msec 21974 End 21975 21976 Behavior = SlowDeathBehavior ModuleTag_05 21977 SinkDelay = 1500 21978 SinkRate = 2 ; in Dist/Sec 21979 DestructionDelay = 8000 21980 End 21981 21982 End 21983 21984 ;------------------------------------------------------------------------------ 21985 Object InfernoCannonHulk 21986 21987 ; *** ART Parameters *** 21988 Draw = W3DModelDraw ModuleTag_01 21989 DefaultConditionState 21990 Model = NVInferno_D1 21991 End 21992 End 21993 21994 ; ***DESIGN parameters *** 21995 EditorSorting = DEBRIS 21996 21997 ; *** ENGINEERING Parameters *** 21998 KindOf = NO_COLLIDE HULK 21999 22000 Behavior = PhysicsBehavior ModuleTag_03 22001 Mass = 100.0 22002 AllowBouncing = Yes 22003 KillWhenRestingOnGround = Yes 22004 End 22005 Behavior = LifetimeUpdate ModuleTag_04 22006 MinLifetime = 1500 ; min lifetime in msec 22007 MaxLifetime = 1600 ; max lifetime in msec 22008 End 22009 22010 Behavior = SlowDeathBehavior ModuleTag_05 22011 SinkDelay = 1500 22012 SinkRate = 2 ; in Dist/Sec 22013 DestructionDelay = 8000 22014 End 22015 22016 End 22017 22018 ;------------------------------------------------------------------------------ 22019 Object DeadChinaSupplyTruckHulk 22020 22021 ; *** ART Parameters *** 22022 Draw = W3DModelDraw ModuleTag_01 22023 DefaultConditionState 22024 Model = NVSSupplyTK_D1 22025 End 22026 End 22027 22028 ; ***DESIGN parameters *** 22029 EditorSorting = DEBRIS 22030 22031 ; *** ENGINEERING Parameters *** 22032 KindOf = NO_COLLIDE HULK 22033 22034 Behavior = PhysicsBehavior ModuleTag_03 22035 Mass = 100.0 22036 AllowBouncing = Yes 22037 KillWhenRestingOnGround = Yes 22038 End 22039 Behavior = LifetimeUpdate ModuleTag_04 22040 MinLifetime = 1500 ; min lifetime in msec 22041 MaxLifetime = 1600 ; max lifetime in msec 22042 End 22043 22044 Behavior = SlowDeathBehavior ModuleTag_05 22045 SinkDelay = 1500 22046 SinkRate = 2 ; in Dist/Sec 22047 DestructionDelay = 8000 22048 End 22049 22050 End 22051 22052 ;------------------------------------------------------------------------------ 22053 Object DeadChinaGattlingTankHulk 22054 22055 ; *** ART Parameters *** 22056 Draw = W3DModelDraw ModuleTag_01 22057 DefaultConditionState 22058 Model = NVGattTank_D1 22059 End 22060 End 22061 22062 ; ***DESIGN parameters *** 22063 EditorSorting = DEBRIS 22064 22065 ; *** ENGINEERING Parameters *** 22066 KindOf = NO_COLLIDE HULK 22067 22068 Behavior = PhysicsBehavior ModuleTag_03 22069 Mass = 100.0 22070 AllowBouncing = Yes 22071 KillWhenRestingOnGround = Yes 22072 End 22073 Behavior = LifetimeUpdate ModuleTag_04 22074 MinLifetime = 1500 ; min lifetime in msec 22075 MaxLifetime = 1600 ; max lifetime in msec 22076 End 22077 22078 Behavior = SlowDeathBehavior ModuleTag_05 22079 SinkDelay = 1500 22080 SinkDelayVariance = 1500 22081 SinkRate = 2 ; in Dist/Sec 22082 DestructionDelay = 12000 22083 DestructionDelayVariance = 4000 22084 End 22085 22086 End 22087 22088 ;------------------------------------------------------------------------------ 22089 Object AmericaVehicleAmbulanceDeadHull 22090 22091 ; *** ART Parameters *** 22092 Draw = W3DModelDraw ModuleTag_01 22093 ConditionState = NONE 22094 Model = AVAmbulance_D1 22095 End 22096 End 22097 22098 ; ***DESIGN parameters *** 22099 EditorSorting = DEBRIS 22100 22101 ; *** ENGINEERING Parameters *** 22102 KindOf = NO_COLLIDE HULK 22103 22104 Behavior = PhysicsBehavior ModuleTag_03 22105 Mass = 100.0 22106 AllowBouncing = Yes 22107 KillWhenRestingOnGround = Yes 22108 End 22109 Behavior = LifetimeUpdate ModuleTag_04 22110 MinLifetime = 1500 ; min lifetime in msec 22111 MaxLifetime = 1600 ; max lifetime in msec 22112 End 22113 22114 Behavior = SlowDeathBehavior ModuleTag_05 22115 SinkDelay = 1500 22116 SinkDelayVariance = 1500 22117 SinkRate = 2 ; in Dist/Sec 22118 DestructionDelay = 12000 22119 DestructionDelayVariance = 4000 22120 End 22121 22122 22123 End 22124 22125 ;------------------------------------------------------------------------------ 22126 Object DeadSCUDLauncherHulk 22127 22128 ; *** ART Parameters *** 22129 Draw = W3DModelDraw ModuleTag_01 22130 DefaultConditionState 22131 Model = UVScudLchr_d1 22132 End 22133 End 22134 22135 ; ***DESIGN parameters *** 22136 EditorSorting = DEBRIS 22137 22138 ; *** ENGINEERING Parameters *** 22139 KindOf = NO_COLLIDE HULK 22140 22141 Behavior = PhysicsBehavior ModuleTag_03 22142 Mass = 100.0 22143 AllowBouncing = Yes 22144 KillWhenRestingOnGround = Yes 22145 End 22146 Behavior = LifetimeUpdate ModuleTag_04 22147 MinLifetime = 1500 ; min lifetime in msec 22148 MaxLifetime = 1600 ; max lifetime in msec 22149 End 22150 22151 Behavior = SlowDeathBehavior ModuleTag_05 22152 SinkDelay = 1500 22153 SinkRate = 2 ; in Dist/Sec 22154 DestructionDelay = 8000 22155 End 22156 22157 End 22158 22159 ;------------------------------------------------------------------------------ 22160 Object DeadToxinTractorHulk 22161 22162 ; *** ART Parameters *** 22163 Draw = W3DModelDraw ModuleTag_01 22164 DefaultConditionState 22165 Model = UVToxinTrk_d1 22166 End 22167 End 22168 22169 ; ***DESIGN parameters *** 22170 EditorSorting = DEBRIS 22171 22172 ; *** ENGINEERING Parameters *** 22173 KindOf = NO_COLLIDE HULK 22174 22175 Behavior = PhysicsBehavior ModuleTag_03 22176 Mass = 100.0 22177 AllowBouncing = Yes 22178 KillWhenRestingOnGround = Yes 22179 End 22180 Behavior = LifetimeUpdate ModuleTag_04 22181 MinLifetime = 1500 ; min lifetime in msec 22182 MaxLifetime = 1600 ; max lifetime in msec 22183 End 22184 22185 Behavior = SlowDeathBehavior ModuleTag_05 22186 SinkDelay = 1500 22187 SinkRate = 2 ; in Dist/Sec 22188 DestructionDelay = 16000 22189 End 22190 22191 End 22192 22193 ;------------------------------------------------------------------------------ 22194 Object DeadQuadCannonHulk 22195 22196 ; *** ART Parameters *** 22197 Draw = W3DModelDraw ModuleTag_01 22198 DefaultConditionState 22199 Model = UVQuadCann_d1 22200 End 22201 End 22202 22203 ; ***DESIGN parameters *** 22204 EditorSorting = DEBRIS 22205 22206 ; *** ENGINEERING Parameters *** 22207 KindOf = NO_COLLIDE HULK 22208 22209 Behavior = PhysicsBehavior ModuleTag_03 22210 Mass = 100.0 22211 AllowBouncing = Yes 22212 KillWhenRestingOnGround = Yes 22213 End 22214 Behavior = LifetimeUpdate ModuleTag_04 22215 MinLifetime = 1500 ; min lifetime in msec 22216 MaxLifetime = 1600 ; max lifetime in msec 22217 End 22218 22219 Behavior = SlowDeathBehavior ModuleTag_05 22220 SinkDelay = 1500 22221 SinkRate = 2 ; in Dist/Sec 22222 DestructionDelay = 16000 22223 End 22224 22225 End 22226 22227 ;------------------------------------------------------------------------------ 22228 Object DeadBombTruckHulk 22229 22230 ; *** ART Parameters *** 22231 Draw = W3DModelDraw ModuleTag_01 22232 DefaultConditionState 22233 Model = UVBmbTruk_d1 22234 End 22235 End 22236 22237 ; ***DESIGN parameters *** 22238 EditorSorting = DEBRIS 22239 22240 ; *** ENGINEERING Parameters *** 22241 KindOf = NO_COLLIDE HULK 22242 22243 Behavior = PhysicsBehavior ModuleTag_03 22244 Mass = 100.0 22245 AllowBouncing = Yes 22246 KillWhenRestingOnGround = Yes 22247 End 22248 Behavior = LifetimeUpdate ModuleTag_04 22249 MinLifetime = 1500 ; min lifetime in msec 22250 MaxLifetime = 1600 ; max lifetime in msec 22251 End 22252 22253 Behavior = SlowDeathBehavior ModuleTag_05 22254 SinkDelay = 1500 22255 SinkRate = 2 ; in Dist/Sec 22256 DestructionDelay = 16000 22257 End 22258 22259 End 22260 22261 ;------------------------------------------------------------------------------ 22262 Object DeadTechnicalVanHulk 22263 22264 ; *** ART Parameters *** 22265 Draw = W3DModelDraw ModuleTag_01 22266 DefaultConditionState 22267 Model = UVTECHVAN_d1 22268 End 22269 End 22270 22271 ; ***DESIGN parameters *** 22272 EditorSorting = DEBRIS 22273 22274 ; *** ENGINEERING Parameters *** 22275 KindOf = NO_COLLIDE HULK 22276 22277 Behavior = PhysicsBehavior ModuleTag_03 22278 Mass = 100.0 22279 AllowBouncing = Yes 22280 KillWhenRestingOnGround = Yes 22281 End 22282 Behavior = LifetimeUpdate ModuleTag_04 22283 MinLifetime = 1500 ; min lifetime in msec 22284 MaxLifetime = 1600 ; max lifetime in msec 22285 End 22286 22287 Behavior = SlowDeathBehavior ModuleTag_05 22288 SinkDelay = 1500 22289 SinkRate = 2 ; in Dist/Sec 22290 DestructionDelay = 16000 22291 End 22292 22293 End 22294 22295 ;------------------------------------------------------------------------------ 22296 Object DeadTechnicalJeepHulk 22297 22298 ; *** ART Parameters *** 22299 Draw = W3DModelDraw ModuleTag_01 22300 DefaultConditionState 22301 Model = UVTECHJEEP_d1 22302 End 22303 End 22304 22305 ; ***DESIGN parameters *** 22306 EditorSorting = DEBRIS 22307 22308 ; *** ENGINEERING Parameters *** 22309 KindOf = NO_COLLIDE HULK 22310 22311 Behavior = PhysicsBehavior ModuleTag_03 22312 Mass = 100.0 22313 AllowBouncing = Yes 22314 KillWhenRestingOnGround = Yes 22315 End 22316 Behavior = LifetimeUpdate ModuleTag_04 22317 MinLifetime = 1500 ; min lifetime in msec 22318 MaxLifetime = 1600 ; max lifetime in msec 22319 End 22320 22321 Behavior = SlowDeathBehavior ModuleTag_05 22322 SinkDelay = 1500 22323 SinkRate = 2 ; in Dist/Sec 22324 DestructionDelay = 16000 22325 End 22326 22327 End 22328 22329 ;------------------------------------------------------------------------------ 22330 Object DeadTechnicalTruckHulk 22331 22332 ; *** ART Parameters *** 22333 Draw = W3DModelDraw ModuleTag_01 22334 DefaultConditionState 22335 Model = UVTECHTRCK_d1 22336 End 22337 End 22338 22339 ; ***DESIGN parameters *** 22340 EditorSorting = DEBRIS 22341 22342 ; *** ENGINEERING Parameters *** 22343 KindOf = NO_COLLIDE HULK 22344 22345 Behavior = PhysicsBehavior ModuleTag_03 22346 Mass = 100.0 22347 AllowBouncing = Yes 22348 KillWhenRestingOnGround = Yes 22349 End 22350 Behavior = LifetimeUpdate ModuleTag_04 22351 MinLifetime = 1500 ; min lifetime in msec 22352 MaxLifetime = 1600 ; max lifetime in msec 22353 End 22354 22355 Behavior = SlowDeathBehavior ModuleTag_05 22356 SinkDelay = 1500 22357 SinkRate = 2 ; in Dist/Sec 22358 DestructionDelay = 16000 22359 End 22360 22361 End 22362 22363 ;------------------------------------------------------------------------------ 22364 Object DeadRocketBuggyHulk 22365 22366 ; *** ART Parameters *** 22367 Draw = W3DModelDraw ModuleTag_01 22368 DefaultConditionState 22369 Model = UVRockBug_D1 22370 End 22371 End 22372 22373 ; ***DESIGN parameters *** 22374 EditorSorting = DEBRIS 22375 22376 ; *** ENGINEERING Parameters *** 22377 KindOf = NO_COLLIDE HULK 22378 22379 Behavior = PhysicsBehavior ModuleTag_03 22380 Mass = 100.0 22381 AllowBouncing = Yes 22382 KillWhenRestingOnGround = Yes 22383 End 22384 Behavior = LifetimeUpdate ModuleTag_04 22385 MinLifetime = 1500 ; min lifetime in msec 22386 MaxLifetime = 1600 ; max lifetime in msec 22387 End 22388 22389 Behavior = SlowDeathBehavior ModuleTag_05 22390 SinkDelay = 1500 22391 SinkRate = 2 ; in Dist/Sec 22392 DestructionDelay = 16000 22393 End 22394 22395 End 22396 22397 ;------------------------------------------------------------------------------ 22398 Object DeadGLAPOWTruckHulk 22399 ; *** ART Parameters *** 22400 Draw = W3DModelDraw ModuleTag_01 22401 DefaultConditionState 22402 Model = UVPOWTruck_d1 22403 End 22404 End 22405 ; ***DESIGN parameters *** 22406 EditorSorting = DEBRIS 22407 ; *** ENGINEERING Parameters *** 22408 KindOf = NO_COLLIDE HULK 22409 Behavior = PhysicsBehavior ModuleTag_03 22410 Mass = 100.0 22411 AllowBouncing = Yes 22412 KillWhenRestingOnGround = Yes 22413 End 22414 Behavior = LifetimeUpdate ModuleTag_04 22415 MinLifetime = 1500 ; min lifetime in msec 22416 MaxLifetime = 1600 ; max lifetime in msec 22417 End 22418 Behavior = SlowDeathBehavior ModuleTag_05 22419 SinkDelay = 1500 22420 SinkRate = 2 ; in Dist/Sec 22421 DestructionDelay = 16000 22422 End 22423 End 22424 22425 ;--------------------------------------------------------------------------- 22426 Object DeadChinaPOWTruckHulk 22427 ; *** ART Parameters *** 22428 Draw = W3DModelDraw ModuleTag_01 22429 ConditionState = NONE 22430 Model = NVPOWTrck_d1 22431 End 22432 End 22433 22434 ; ***DESIGN parameters *** 22435 EditorSorting = DEBRIS 22436 ; *** ENGINEERING Parameters *** 22437 KindOf = NO_COLLIDE HULK 22438 Behavior = PhysicsBehavior ModuleTag_03 22439 Mass = 100.0 22440 AllowBouncing = Yes 22441 KillWhenRestingOnGround = Yes 22442 End 22443 Behavior = LifetimeUpdate ModuleTag_04 22444 MinLifetime = 1500 ; min lifetime in msec 22445 MaxLifetime = 1600 ; max lifetime in msec 22446 End 22447 Behavior = SlowDeathBehavior ModuleTag_05 22448 SinkDelay = 1500 22449 SinkRate = 2 ; in Dist/Sec 22450 DestructionDelay = 16000 22451 End 22452 End 22453 22454 ;--------------------------------------------------------------------------- 22455 Object DeadCrusaderHulk 22456 22457 ; *** ART Parameters *** 22458 Draw = W3DModelDraw ModuleTag_01 22459 ConditionState = NONE 22460 Model = AVLeopard_D1 22461 End 22462 End 22463 22464 ; ***DESIGN parameters *** 22465 EditorSorting = DEBRIS 22466 22467 ; *** ENGINEERING Parameters *** 22468 KindOf = NO_COLLIDE HULK 22469 22470 Behavior = PhysicsBehavior ModuleTag_03 22471 Mass = 100.0 22472 AllowBouncing = Yes 22473 KillWhenRestingOnGround = Yes 22474 End 22475 Behavior = LifetimeUpdate ModuleTag_04 22476 MinLifetime = 1500 ; min lifetime in msec 22477 MaxLifetime = 1600 ; max lifetime in msec 22478 End 22479 22480 Behavior = SlowDeathBehavior ModuleTag_05 22481 SinkDelay = 1500 22482 SinkRate = 2 ; in Dist/Sec 22483 DestructionDelay = 8000 22484 End 22485 End 22486 22487 ;------------------------------------------------------------------------------ 22488 Object DeadPaladinHulk 22489 22490 ; *** ART Parameters *** 22491 Draw = W3DModelDraw ModuleTag_01 22492 ConditionState = NONE 22493 Model = AVPaladin_D1 22494 End 22495 End 22496 22497 ; ***DESIGN parameters *** 22498 EditorSorting = DEBRIS 22499 22500 ; *** ENGINEERING Parameters *** 22501 KindOf = NO_COLLIDE HULK 22502 22503 Behavior = PhysicsBehavior ModuleTag_03 22504 Mass = 100.0 22505 AllowBouncing = Yes 22506 KillWhenRestingOnGround = Yes 22507 End 22508 Behavior = LifetimeUpdate ModuleTag_04 22509 MinLifetime = 1500 ; min lifetime in msec 22510 MaxLifetime = 1600 ; max lifetime in msec 22511 End 22512 22513 Behavior = SlowDeathBehavior ModuleTag_05 22514 SinkDelay = 1500 22515 SinkRate = 2 ; in Dist/Sec 22516 DestructionDelay = 8000 22517 End 22518 End 22519 22520 ;------------------------------------------------------------------------------ 22521 Object DeadMarauderHulk 22522 22523 ; *** ART Parameters *** 22524 Draw = W3DModelDraw ModuleTag_01 22525 ConditionState = NONE 22526 Model = UVMarauder_D1 22527 End 22528 End 22529 22530 ; ***DESIGN parameters *** 22531 EditorSorting = DEBRIS 22532 22533 ; *** ENGINEERING Parameters *** 22534 KindOf = NO_COLLIDE HULK 22535 22536 Behavior = PhysicsBehavior ModuleTag_03 22537 Mass = 100.0 22538 AllowBouncing = Yes 22539 KillWhenRestingOnGround = Yes 22540 End 22541 Behavior = LifetimeUpdate ModuleTag_04 22542 MinLifetime = 1500 ; min lifetime in msec 22543 MaxLifetime = 1600 ; max lifetime in msec 22544 End 22545 22546 Behavior = SlowDeathBehavior ModuleTag_05 22547 SinkDelay = 1500 22548 SinkRate = 2 ; in Dist/Sec 22549 DestructionDelay = 12000 22550 End 22551 End 22552 22553 ;------------------------------------------------------------------------------ 22554 Object DeadScorpionHulk 22555 22556 ; *** ART Parameters *** 22557 Draw = W3DModelDraw ModuleTag_01 22558 ConditionState = NONE 22559 Model = UVLiteTank_D1 22560 End 22561 End 22562 22563 ; ***DESIGN parameters *** 22564 EditorSorting = DEBRIS 22565 22566 ; *** ENGINEERING Parameters *** 22567 KindOf = NO_COLLIDE HULK 22568 22569 Behavior = PhysicsBehavior ModuleTag_03 22570 Mass = 100.0 22571 AllowBouncing = Yes 22572 KillWhenRestingOnGround = Yes 22573 End 22574 Behavior = LifetimeUpdate ModuleTag_04 22575 MinLifetime = 1500 ; min lifetime in msec 22576 MaxLifetime = 1600 ; max lifetime in msec 22577 End 22578 22579 Behavior = SlowDeathBehavior ModuleTag_05 22580 SinkDelay = 1500 22581 SinkRate = 2 ; in Dist/Sec 22582 DestructionDelay = 12000 22583 End 22584 End 22585 22586 ;------------------------------------------------------------------------------ 22587 Object DeadAmericanPOWTruckHulk 22588 ; *** ART Parameters *** 22589 Draw = W3DModelDraw ModuleTag_01 22590 ConditionState = NONE 22591 Model = AVPOWTruck_D1 22592 End 22593 End 22594 ; ***DESIGN parameters *** 22595 EditorSorting = DEBRIS 22596 ; *** ENGINEERING Parameters *** 22597 KindOf = NO_COLLIDE HULK 22598 Behavior = PhysicsBehavior ModuleTag_03 22599 Mass = 100.0 22600 AllowBouncing = Yes 22601 KillWhenRestingOnGround = Yes 22602 End 22603 Behavior = LifetimeUpdate ModuleTag_04 22604 MinLifetime = 1500 ; min lifetime in msec 22605 MaxLifetime = 1600 ; max lifetime in msec 22606 End 22607 Behavior = SlowDeathBehavior ModuleTag_05 22608 SinkDelay = 1500 22609 SinkRate = 2 ; in Dist/Sec 22610 DestructionDelay = 12000 22611 End 22612 End 22613 22614 ;------------------------------------------------------------------------------ 22615 Object DestroyedMilitiaTank 22616 22617 ; *** ART Parameters *** 22618 Draw = W3DModelDraw ModuleTag_01 22619 ConditionState = NONE 22620 Model = CVTank_D1 22621 End 22622 End 22623 22624 ; ***DESIGN parameters *** 22625 EditorSorting = DEBRIS 22626 22627 ; *** ENGINEERING Parameters *** 22628 KindOf = NONE HULK 22629 22630 Behavior = PhysicsBehavior ModuleTag_03 22631 Mass = 100.0 22632 AllowBouncing = Yes 22633 KillWhenRestingOnGround = Yes 22634 End 22635 Behavior = LifetimeUpdate ModuleTag_04 22636 MinLifetime = 10000 ; min lifetime in msec 22637 MaxLifetime = 15000 ; max lifetime in msec 22638 End 22639 22640 Behavior = SlowDeathBehavior ModuleTag_05 22641 SinkDelay = 4000 22642 SinkRate = 2 ; in Dist/Sec 22643 DestructionDelay = 8000 22644 End 22645 End 22646 22647 ;------------------------------------------------------------------------------ 22648 Object DeadRadarVanHulk 22649 22650 ; *** ART Parameters *** 22651 Draw = W3DModelDraw ModuleTag_01 22652 ConditionState = NONE 22653 Model = UVRadarVan_D1 22654 End 22655 End 22656 22657 ; ***DESIGN parameters *** 22658 EditorSorting = DEBRIS 22659 22660 ; *** ENGINEERING Parameters *** 22661 KindOf = NO_COLLIDE HULK 22662 22663 Behavior = PhysicsBehavior ModuleTag_03 22664 Mass = 100.0 22665 AllowBouncing = Yes 22666 KillWhenRestingOnGround = Yes 22667 End 22668 Behavior = LifetimeUpdate ModuleTag_04 22669 MinLifetime = 1500 ; min lifetime in msec 22670 MaxLifetime = 1600 ; max lifetime in msec 22671 End 22672 22673 Behavior = SlowDeathBehavior ModuleTag_05 22674 SinkDelay = 1500 22675 SinkRate = 2 ; in Dist/Sec 22676 DestructionDelay = 16000 22677 End 22678 22679 End 22680 22681 ;------------------------------------------------------------------------------ 22682 Object ChinaDeadDozerHulk 22683 22684 ; *** ART Parameters *** 22685 Draw = W3DModelDraw ModuleTag_01 22686 ConditionState = NONE 22687 Model = nvconstdoz_D1 22688 End 22689 End 22690 22691 ; ***DESIGN parameters *** 22692 EditorSorting = DEBRIS 22693 22694 ; *** ENGINEERING Parameters *** 22695 KindOf = NO_COLLIDE HULK 22696 22697 Behavior = PhysicsBehavior ModuleTag_03 22698 Mass = 100.0 22699 AllowBouncing = Yes 22700 KillWhenRestingOnGround = Yes 22701 End 22702 Behavior = LifetimeUpdate ModuleTag_04 22703 MinLifetime = 1500 ; min lifetime in msec 22704 MaxLifetime = 1600 ; max lifetime in msec 22705 End 22706 22707 Behavior = SlowDeathBehavior ModuleTag_05 22708 SinkDelay = 1500 22709 SinkRate = 2 ; in Dist/Sec 22710 DestructionDelay = 8000 22711 End 22712 22713 End 22714 22715 ;------------------------------------------------------------------------------ 22716 Object AmericaDeadDozerHulk 22717 22718 ; *** ART Parameters *** 22719 Draw = W3DModelDraw ModuleTag_01 22720 ConditionState = NONE 22721 Model = avconstdoz_D1 22722 End 22723 End 22724 22725 ; ***DESIGN parameters *** 22726 EditorSorting = DEBRIS 22727 22728 ; *** ENGINEERING Parameters *** 22729 KindOf = NO_COLLIDE HULK 22730 22731 Behavior = PhysicsBehavior ModuleTag_03 22732 Mass = 100.0 22733 AllowBouncing = Yes 22734 KillWhenRestingOnGround = Yes 22735 End 22736 Behavior = LifetimeUpdate ModuleTag_04 22737 MinLifetime = 1500 ; min lifetime in msec 22738 MaxLifetime = 1600 ; max lifetime in msec 22739 End 22740 22741 Behavior = SlowDeathBehavior ModuleTag_05 22742 SinkDelay = 1500 22743 SinkRate = 2 ; in Dist/Sec 22744 DestructionDelay = 8000 22745 End 22746 22747 End 22748 22749 ;------------------------------------------------------------------------------ 22750 Object AmericaScoutDroneHulk 22751 ; *** ART Parameters *** 22752 Draw = W3DModelDraw ModuleTag_01 22753 ConditionState = NONE 22754 Model = AVScoutDr_D1 22755 End 22756 End 22757 22758 ; ***DESIGN parameters *** 22759 EditorSorting = DEBRIS 22760 22761 ; *** ENGINEERING Parameters *** 22762 KindOf = NO_COLLIDE HULK 22763 22764 Behavior = PhysicsBehavior ModuleTag_03 22765 Mass = 10.0 22766 AllowBouncing = Yes 22767 KillWhenRestingOnGround = Yes 22768 End 22769 Behavior = LifetimeUpdate ModuleTag_04 22770 MinLifetime = 1500 ; min lifetime in msec 22771 MaxLifetime = 1600 ; max lifetime in msec 22772 End 22773 22774 Behavior = SlowDeathBehavior ModuleTag_05 22775 SinkDelay = 1500 22776 SinkRate = 2 ; in Dist/Sec 22777 DestructionDelay = 8000 22778 End 22779 End 22780 22781 ;------------------------------------------------------------------------------ 22782 Object AmericaBattleDroneHulk 22783 ; *** ART Parameters *** 22784 Draw = W3DModelDraw ModuleTag_01 22785 ConditionState = NONE 22786 Model = AVBattleDr_D1 22787 End 22788 End 22789 22790 ; ***DESIGN parameters *** 22791 EditorSorting = DEBRIS 22792 22793 ; *** ENGINEERING Parameters *** 22794 KindOf = NO_COLLIDE HULK 22795 22796 Behavior = PhysicsBehavior ModuleTag_03 22797 Mass = 10.0 22798 AllowBouncing = Yes 22799 KillWhenRestingOnGround = Yes 22800 End 22801 Behavior = LifetimeUpdate ModuleTag_04 22802 MinLifetime = 1500 ; min lifetime in msec 22803 MaxLifetime = 1600 ; max lifetime in msec 22804 End 22805 22806 Behavior = SlowDeathBehavior ModuleTag_05 22807 SinkDelay = 1500 22808 SinkRate = 2 ; in Dist/Sec 22809 DestructionDelay = 8000 22810 End 22811 End 22812 22813 ;------------------------------------------------------------------------------ 22814 Object AmericaJetA10Thunderbolt 22815 22816 ; *** ART Parameters *** 22817 SelectPortrait = SAWarthog_L 22818 ButtonImage = SAWarthog 22819 22820 Draw = W3DModelDraw ModuleTag_01 22821 22822 OkToChangeModelColor = Yes 22823 22824 ExtraPublicBone = WeaponA01 22825 ExtraPublicBone = WeaponA02 22826 ExtraPublicBone = WeaponA03 22827 ExtraPublicBone = WeaponA04 22828 ExtraPublicBone = WeaponA05 22829 ExtraPublicBone = WeaponA06 22830 22831 DefaultConditionState 22832 Model = AVWarthog 22833 WeaponMuzzleFlash = PRIMARY MuzzleFX01 22834 WeaponFireFXBone = PRIMARY Muzzle01 22835 ParticleSysBone = Engine01 JetBlackTrailThin 22836 ParticleSysBone = Engine02 JetBlackTrailThin 22837 ParticleSysBone = Wingtip01 JetContrailThin 22838 ParticleSysBone = Wingtip02 JetContrailThin 22839 End 22840 22841 ConditionState = REALLYDAMAGED 22842 Model = AVWarthog_D 22843 WeaponMuzzleFlash = PRIMARY MuzzleFX01 22844 WeaponFireFXBone = PRIMARY Muzzle01 22845 End 22846 AliasConditionState = RUBBLE 22847 22848 End 22849 22850 ; ***DESIGN parameters *** 22851 DisplayName = OBJECT:A10Thunderbolt 22852 EditorSorting = VEHICLE 22853 Side = America 22854 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 22855 VisionRange = 300.0 22856 ShroudClearingRange = 300 22857 Prerequisites 22858 Object = AmericaAirfield 22859 End 22860 WeaponSet 22861 Conditions = None 22862 Weapon = PRIMARY A10ThunderboltVulcan 22863 End 22864 ArmorSet 22865 Conditions = None 22866 Armor = AirplaneArmor 22867 DamageFX = None 22868 End 22869 22870 ExperienceValue = 50 100 150 400 ;Experience point value at each level 22871 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 22872 IsTrainable = Yes ;Can gain experience 22873 22874 ; *** AUDIO Parameters *** 22875 SoundAmbient = A10ThunderboltAmbientLoop 22876 SoundAmbientRubble = NoSound 22877 UnitSpecificSounds 22878 SoundEject = PilotSoundEject 22879 VoiceEject = PilotVoiceEject 22880 StartDive = A10ThunderboltDive 22881 End 22882 22883 ; *** ENGINEERING Parameters *** 22884 RadarPriority = UNIT 22885 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI 22886 Body = ActiveBody ModuleTag_02 22887 MaxHealth = 600.0 22888 InitialHealth = 600.0 22889 End 22890 22891 ExperienceValue = 40 40 40 40 ; Experience point value at each level 22892 22893 Behavior = JetSlowDeathBehavior ModuleTag_03 22894 DestructionDelay = 99999999 ; destruction will happen when we 22895 RollRate = 0.0 22896 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 22897 PitchRate = 0.0 22898 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 22899 FXInitialDeath = FX_JetDeathInitial 22900 OCLInitialDeath = None 22901 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 22902 FXSecondary = FX_JetDeathSecondary 22903 OCLSecondary = None 22904 FXHitGround = FX_JetDeathHitGround 22905 OCLHitGround = OCL_A10DeathHitGround 22906 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 22907 FXFinalBlowUp = FX_JetDeathFinalBlowUp 22908 OCLFinalBlowUp = OCL_A10DeathFinalBlowUp 22909 End 22910 22911 Behavior = PhysicsBehavior ModuleTag_05 22912 Mass = 500.0 22913 End 22914 22915 ;SCRIPTED SUPPORT: These special power is triggered directly 22916 ;from the transport without creating a transport. This is done 22917 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 22918 ;which also prevents creating the payload transport. 22919 Behavior = OCLSpecialPower ModuleTag_06 22920 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike ;@@KRIS@@ 22921 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 22922 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 22923 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 22924 CreateLocation = USE_OWNER_OBJECT 22925 End 22926 22927 Behavior = DeliverPayloadAIUpdate ModuleTag_07 22928 End 22929 Locomotor = SET_NORMAL A10ThunderboltLocomotor 22930 22931 Behavior = FlammableUpdate ModuleTag_21 22932 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 22933 AflameDamageAmount = 3 ; taking this much damage... 22934 AflameDamageDelay = 500 ; this often. 22935 End 22936 22937 ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 22938 End 22939 22940 Geometry = Cylinder 22941 GeometryIsSmall = Yes 22942 GeometryMajorRadius = 10.0 22943 GeometryMinorRadius = 10.0 22944 GeometryHeight = 10.0 22945 Shadow = SHADOW_VOLUME 22946 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 22947 22948 End 22949 22950 ;------------------------------------------------------------------------------ 22951 Object AmericaVehicleChinook 22952 22953 ; *** ART Parameters *** 22954 SelectPortrait = SAChinook_L 22955 ButtonImage = SAChinook 22956 22957 ;UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 22958 ;UpgradeCameo2 = NONE 22959 ;UpgradeCameo3 = NONE 22960 ;UpgradeCameo4 = NONE 22961 ;UpgradeCameo5 = NONE 22962 22963 Draw = W3DModelDraw ModuleTag_01 ; Helicopter 22964 22965 ExtraPublicBone = RopeStart 22966 ExtraPublicBone = RopeEnd 22967 22968 DefaultConditionState 22969 Model = AVChinook 22970 Animation = AVChinook.AVChinook 22971 AnimationMode = LOOP 22972 End 22973 22974 ConditionState = REALLYDAMAGED 22975 Model = AVChinook_d 22976 Animation = AVChinook_d.AVChinook_d 22977 AnimationMode = LOOP 22978 End 22979 22980 ConditionState = RUBBLE 22981 Model = AVChinook_d 22982 Animation = AVChinook_d.AVChinook_d 22983 AnimationMode = LOOP 22984 End 22985 22986 ConditionState = RUBBLE SPECIAL_DAMAGED 22987 Model = AVChinook_d 22988 HideSubObject = Props01 22989 HideSubObject = Props02 22990 End 22991 22992 OkToChangeModelColor = Yes 22993 End 22994 22995 Draw = W3DModelDraw ModuleTag_02 ; Cargo net 22996 ConditionState = NONE 22997 Model = None ; Nothing here 22998 TransitionKey = TRANS_Empty 22999 WaitForStateToFinishIfPossible = TRANS_Unloading 23000 End 23001 23002 ConditionState = DYING 23003 Model = None ; Nothing here 23004 End 23005 AliasConditionState = RUBBLE 23006 AliasConditionState = CARRYING RUBBLE 23007 AliasConditionState = DOCKING RUBBLE 23008 AliasConditionState = DOCKING CARRYING RUBBLE 23009 23010 ConditionState = CARRYING 23011 Model = AVChinook_A ;Carrying a full wobbly net of stuff 23012 Animation = AVChinook_A.AVChinook_A 23013 AnimationMode = LOOP 23014 TransitionKey = TRANS_Full 23015 WaitForStateToFinishIfPossible = TRANS_PickingUp 23016 End 23017 23018 ConditionState = DOCKING 23019 Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff 23020 Animation = AVChinook_A1SK.AVChinook_A1 23021 AnimationMode = ONCE_BACKWARDS 23022 Flags = START_FRAME_LAST 23023 AnimationSpeedFactorRange = .75 .75 23024 TransitionKey = TRANS_PickingUp 23025 WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 23026 End 23027 23028 ConditionState = DOCKING CARRYING 23029 Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net 23030 Animation = AVChinook_A1SK.AVChinook_A1 23031 AnimationMode = ONCE 23032 AnimationSpeedFactorRange = 2.75 2.75 23033 TransitionKey = TRANS_Unloading 23034 WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 23035 End 23036 End 23037 23038 ; ***DESIGN parameters *** 23039 DisplayName = OBJECT:Chinook 23040 EditorSorting = VEHICLE 23041 Side = America 23042 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 23043 VisionRange = 300.0 23044 ShroudClearingRange = 600 23045 BuildCost = 1200 23046 BuildTime = 10.0 ;in seconds 23047 Prerequisites 23048 Object = AmericaSupplyCenter 23049 End 23050 ExperienceValue = 50 50 50 50 ;Experience point value at each level 23051 IsTrainable = No 23052 CommandSet = AmericaVehicleChinookCommandSet 23053 ArmorSet 23054 Conditions = None 23055 Armor = ChinookArmor 23056 DamageFX = None 23057 End 23058 23059 ; *** AUDIO Parameters *** 23060 VoiceSelect = ChinookVoiceSelect 23061 VoiceMove = ChinookVoiceMove 23062 VoiceAttack = ChinookVoiceAttack 23063 SoundAmbient = ChinookAmbientLoop 23064 SoundAmbientRubble = NoSound 23065 SoundDie = ChinookVoiceFalling 23066 SoundEnter = HumveeEnter 23067 SoundExit = HumveeExit 23068 UnitSpecificSounds 23069 VoiceCreate = ChinookVoiceCreate 23070 VoiceSupply = ChinookVoiceSupply 23071 VoiceUnload = ChinookVoiceUnload 23072 VoiceCombatDrop = ChinookVoiceCombatDrop 23073 VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! 23074 VoiceGarrison = ChinookVoiceMove 23075 End 23076 23077 ; *** ENGINEERING Parameters *** 23078 RadarPriority = UNIT 23079 ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at 23080 ; (well, "near" actually) an Airfield to get healed... 23081 ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. 23082 KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD 23083 23084 Body = ActiveBody ModuleTag_03 23085 MaxHealth = 300.0 23086 InitialHealth = 300.0 23087 End 23088 23089 Behavior = FXListDie ModuleTag_05 23090 DeathFX = FX_HelicopterStartDeath 23091 End 23092 23093 Behavior = TransitionDamageFX ModuleTag_06 23094 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 23095 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 23096 End 23097 23098 Behavior = ChinookAIUpdate ModuleTag_07 23099 MaxBoxes = 8 23100 SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction) 23101 SupplyWarehouseActionDelay = 1250 ; 875 ; ms per box (many small transactions) 23102 SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) 23103 SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted 23104 NumRopes = 4 23105 ; these define how long we can wait, once a guy is on-rope, before throwing another 23106 ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely 23107 ; and we'll wait for each guy to clear before spawning another. 23108 PerRopeDelayMin = 900 23109 PerRopeDelayMax = 1500 23110 RopeWidth = 0.5 23111 RopeColor = R:0 G:0 B:0 23112 RopeWobbleLen = 10 23113 RopeWobbleAmplitude = 0.25 23114 RopeWobbleRate = 180 23115 RopeFinalHeight = 10 ; stop this far above ground 23116 RappelSpeed = 30 23117 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it 23118 23119 End 23120 Locomotor = SET_NORMAL ChinookLocomotor 23121 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 23122 23123 Behavior = TransportContain ModuleTag_08 23124 Slots = 8 23125 DamagePercentToUnits = 100% 23126 AllowInsideKindOf = INFANTRY VEHICLE 23127 ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE 23128 AllowAlliesInside = Yes 23129 AllowNeutralInside = No 23130 AllowEnemiesInside = No 23131 ExitDelay = 100 23132 NumberOfExitPaths = 1 23133 End 23134 Behavior = PhysicsBehavior ModuleTag_09 23135 Mass = 50.0 23136 End 23137 Behavior = HelicopterSlowDeathBehavior ModuleTag_10 23138 DestructionDelay = 99999999 ; the destruction delay 23139 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 23140 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 23141 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 23142 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 23143 SoundDeathLoop = ComancheDamagedLoop 23144 MinSelfSpin = 100 ; in degrees per second 23145 MaxSelfSpin = 300 ; in degrees per second 23146 SelfSpinUpdateDelay = 100 ; in milliseconds 23147 SelfSpinUpdateAmount = 10 ; in degrees 23148 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 23149 MinBladeFlyOffDelay = 1500 ; in milliseconds 23150 MaxBladeFlyOffDelay = 1500 ; in milliseconds 23151 AttachParticle = SootySmokeTrail 23152 AttachParticleBone = Propeller02 23153 BladeObjectName = ComancheBlades 23154 BladeBoneName = Propeller01 23155 FXBlade = FX_HelicopterBladeExplosion 23156 OCLBlade = OCL_HelicopterBladeExplosion 23157 FXHitGround = FX_HelicopterHitGround 23158 OCLHitGround = OCL_HelicopterHitGround 23159 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 23160 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 23161 DelayFromGroundToFinalDeath = 30 23162 FinalRubbleObject = ChinookRubbleHull 23163 End 23164 23165 Behavior = FlammableUpdate ModuleTag_21 23166 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 23167 AflameDamageAmount = 3 ; taking this much damage... 23168 AflameDamageDelay = 500 ; this often. 23169 End 23170 23171 Geometry = BOX 23172 GeometryMajorRadius = 20.0 23173 GeometryMinorRadius = 6.0 23174 GeometryHeight = 12.0 23175 GeometryIsSmall = No 23176 Shadow = SHADOW_VOLUME 23177 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 23178 23179 End 23180 23181 ;------------------------------------------------------------------------------ 23182 Object AmericaTankPaladin 23183 23184 ; *** ART Parameters *** 23185 SelectPortrait = SAPaladin_L 23186 ButtonImage = SAPaladin 23187 23188 UpgradeCameo1 = Upgrade_AmericaBattleDrone 23189 UpgradeCameo2 = Upgrade_AmericaScoutDrone 23190 UpgradeCameo3 = Upgrade_AmericaAdvancedTraining 23191 UpgradeCameo4 = Upgrade_AmericaCompositeArmor 23192 ;UpgradeCameo5 = NONE 23193 23194 Draw = W3DTankDraw ModuleTag_01 23195 23196 ExtraPublicBone = Laser 23197 23198 ConditionState = NONE 23199 Model = AVPaladiu ;AVPaladin 23200 Turret = Turret01 23201 ;AltTurret = Turret02 23202 ;AltTurretPitch = TurretEL02 23203 WeaponFireFXBone = PRIMARY TurretMS 23204 WeaponRecoilBone = PRIMARY Barrel 23205 WeaponMuzzleFlash = PRIMARY TurretFX 23206 WeaponLaunchBone = PRIMARY TurretMS 23207 End 23208 23209 ConditionState = REALLYDAMAGED 23210 Model = AVPaladiu_d ;AVPaladin_D 23211 Turret = Turret01 23212 ;AltTurret = Turret02 23213 ;AltTurretPitch = TurretEL02 23214 WeaponFireFXBone = PRIMARY TurretMS 23215 WeaponRecoilBone = PRIMARY Barrel 23216 WeaponMuzzleFlash = PRIMARY TurretFX 23217 WeaponLaunchBone = PRIMARY TurretMS 23218 End 23219 23220 ConditionState = RUBBLE 23221 Model = AVPaladiu_d ;AVPaladin_D 23222 Turret = Turret01 23223 ;AltTurret = Turret02 23224 ;AltTurretPitch = TurretEL02 23225 WeaponFireFXBone = PRIMARY TurretMS 23226 WeaponRecoilBone = PRIMARY Barrel 23227 WeaponMuzzleFlash = PRIMARY TurretFX 23228 WeaponLaunchBone = PRIMARY TurretMS 23229 End 23230 23231 TrackMarks = EXTnkTrack.tga 23232 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 23233 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 23234 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 23235 OkToChangeModelColor = Yes 23236 End 23237 23238 ; ***DESIGN parameters *** 23239 DisplayName = OBJECT:Paladin 23240 Side = America 23241 EditorSorting = VEHICLE 23242 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 23243 WeaponSet 23244 Conditions = None 23245 Weapon = PRIMARY PaladinTankGun 23246 End 23247 ArmorSet 23248 Conditions = None 23249 Armor = TankArmor 23250 DamageFX = TankDamageFX 23251 End 23252 ;ArmorSet 23253 ; Conditions = PLAYER_UPGRADE 23254 ; Armor = UpgradedTankArmor 23255 ; DamageFX = TankDamageFX 23256 ;End 23257 BuildCost = 1250 ;1100 23258 BuildTime = 14.0 ;12.0 ;in seconds 23259 VisionRange = 150 23260 ShroudClearingRange = 300 23261 Prerequisites 23262 Object = AmericaWarFactory 23263 Science = SCIENCE_PaladinTank 23264 End 23265 23266 ExperienceValue = 100 100 200 400 ;Experience point value at each level 23267 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 23268 23269 IsTrainable = Yes ;Can gain experience 23270 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 23271 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 23272 CommandSet = AmericaTankPaladinCommandSet 23273 23274 ; *** AUDIO Parameters *** 23275 VoiceSelect = PaladinTankVoiceSelect 23276 VoiceMove = PaladinTankVoiceMove 23277 VoiceGuard = PaladinTankVoiceMove 23278 VoiceAttack = PaladinTankVoiceAttack 23279 SoundMoveStart = PaladinTankMoveStart 23280 SoundMoveStartDamaged = PaladinTankMoveStart 23281 23282 UnitSpecificSounds 23283 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 23284 VoiceCreate = PaladinTankVoiceCreate 23285 TurretMoveLoop = TurretMoveLoop 23286 SoundEject = PilotSoundEject 23287 VoiceEject = PilotVoiceEject 23288 VoiceCrush = PaladinTankVoiceCrush 23289 VoiceEnter = PaladinTankVoiceMove 23290 End 23291 23292 ; *** ENGINEERING Parameters *** 23293 RadarPriority = UNIT 23294 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 23295 23296 Body = ActiveBody ModuleTag_02 23297 MaxHealth = 600.0 23298 InitialHealth = 600.0 23299 End 23300 23301 Behavior = AIUpdateInterface ModuleTag_03 23302 Turret 23303 TurretTurnRate = 180 ;60 // turn rate, in degrees per sec 23304 ControlledWeaponSlots = PRIMARY 23305 End 23306 ;AltTurret 23307 ; TurretTurnRate = 900 23308 ; ControlledWeaponSlots = SECONDARY 23309 ;End 23310 AutoAcquireEnemiesWhenIdle = Yes 23311 End 23312 Locomotor = SET_NORMAL CrusaderLocomotor 23313 Behavior = PhysicsBehavior ModuleTag_04 23314 Mass = 50.0 23315 End 23316 23317 ; Turret fly off death 23318 Behavior = SlowDeathBehavior ModuleTag_05 23319 DeathTypes = ALL -CRUSHED -SPLATTED 23320 ProbabilityModifier = 50 23321 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely 23322 DestructionDelay = 500 23323 DestructionDelayVariance = 100 23324 FX = INITIAL FX_GenericTankDeathEffect 23325 FX = FINAL FX_GenericTankDeathExplosion 23326 OCL = FINAL OCL_PaladinTankDeathEffect 23327 End 23328 23329 ; Catch fire, and explode death 23330 Behavior = SlowDeathBehavior ModuleTag_06 23331 DeathTypes = ALL -CRUSHED -SPLATTED 23332 ProbabilityModifier = 50 23333 DestructionDelay = 2000 23334 DestructionDelayVariance = 300 23335 FX = INITIAL FX_CrusaderCatchFire 23336 OCL = FINAL OCL_PaladinTankDeathEffect 23337 FX = FINAL FX_GenericTankDeathExplosion 23338 End 23339 23340 Behavior = PointDefenseLaserUpdate ModuleTag_07 23341 WeaponTemplate = PaladinPointDefenseLaser 23342 PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ;AIRCRAFT 23343 SecondaryTargetTypes = INFANTRY 23344 ScanRate = 500 23345 ScanRange = 120.0 23346 PredictTargetVelocityFactor = 3.0 23347 End 23348 23349 Behavior = ObjectCreationUpgrade ModuleTag_08 23350 UpgradeObject = OCL_AmericanBattleDrone 23351 TriggeredBy = Upgrade_AmericaBattleDrone 23352 ConflictsWith = Upgrade_AmericaScoutDrone 23353 End 23354 Behavior = ObjectCreationUpgrade ModuleTag_09 23355 UpgradeObject = OCL_AmericanScoutDrone 23356 TriggeredBy = Upgrade_AmericaScoutDrone 23357 ConflictsWith = Upgrade_AmericaBattleDrone 23358 End 23359 Behavior = ProductionUpdate ModuleTag_10 23360 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 23361 End 23362 23363 Behavior = ExperienceScalarUpgrade ModuleTag_11 23364 TriggeredBy = Upgrade_AmericaAdvancedTraining 23365 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 23366 End 23367 23368 Behavior = TransitionDamageFX ModuleTag_12 23369 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 23370 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 23371 End 23372 23373 Behavior = FXListDie ModuleTag_13 23374 DeathTypes = NONE +CRUSHED +SPLATTED 23375 DeathFX = FX_CarCrush 23376 End 23377 Behavior = CreateObjectDie ModuleTag_14 23378 DeathTypes = NONE +CRUSHED +SPLATTED 23379 CreationList = OCL_CrusaderTank_CrushEffect 23380 End 23381 Behavior = DestroyDie ModuleTag_15 23382 DeathTypes = NONE +CRUSHED +SPLATTED 23383 End 23384 Behavior = CreateCrateDie ModuleTag_16 23385 CrateData = SalvageCrateData 23386 ;CrateData = EliteTankCrateData 23387 ;CrateData = HeroicTankCrateData 23388 End 23389 Behavior = EjectPilotDie ModuleTag_17 23390 DeathTypes = ALL -CRUSHED -SPLATTED 23391 ExemptStatus = HIJACKED 23392 GroundCreationList = OCL_EjectPilotOnGround 23393 AirCreationList = OCL_EjectPilotViaParachute 23394 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 23395 End 23396 23397 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 23398 DetectionRate = 500 23399 DetectionRange = 75 23400 CanDetectWhileGarrisoned = No 23401 CanDetectWhileContained = No 23402 ExtraRequiredKindOf = BOAT 23403 End 23404 23405 Behavior = MaxHealthUpgrade ModuleTag_18 23406 TriggeredBy = Upgrade_AmericaCompositeArmor 23407 AddMaxHealth = 100.0 23408 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 23409 End 23410 23411 Behavior = FlammableUpdate ModuleTag_21 23412 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 23413 AflameDamageAmount = 3 ; taking this much damage... 23414 AflameDamageDelay = 500 ; this often. 23415 End 23416 23417 Geometry = BOX 23418 GeometryMajorRadius = 15.0 23419 GeometryMinorRadius = 10.0 23420 GeometryHeight = 10.0 23421 GeometryIsSmall = Yes 23422 Shadow = SHADOW_VOLUME 23423 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 23424 23425 End 23426 23427 ;------------------------------------------------------------------------------ 23428 Object AmericaTankLeopard ;careful not to confuse with Crusader which was at one time the Leopard 23429 23430 ; *** ART Parameters *** 23431 SelectPortrait = NONE 23432 ButtonImage = SCTempDefaultCommand 23433 23434 UpgradeCameo1 = Upgrade_AmericaBattleDrone 23435 UpgradeCameo2 = Upgrade_AmericaScoutDrone 23436 UpgradeCameo3 = Upgrade_AmericaAdvancedTraining 23437 UpgradeCameo4 = Upgrade_AmericaCompositeArmor 23438 23439 Draw = W3DTankDraw ModuleTag_01 23440 ConditionState = NONE 23441 Model = gxmammoth_a 23442 Animation = gxmammoth_a.gxmammoth_a 23443 AnimationMode = LOOP 23444 Turret = Turret01 23445 WeaponFireFXBone = PRIMARY Muzzle 23446 WeaponRecoilBone = PRIMARY Barrel 23447 WeaponMuzzleFlash = PRIMARY MuzzleFX 23448 WeaponLaunchBone = PRIMARY Muzzle 23449 End 23450 ConditionState = REALLYDAMAGED 23451 Model = gxmammoth_Hi 23452 Animation = gxmammoth_Hi.gxmammoth_Hi 23453 AnimationMode = LOOP 23454 Turret = Turret01 23455 WeaponFireFXBone = PRIMARY Muzzle 23456 WeaponRecoilBone = PRIMARY Barrel 23457 WeaponMuzzleFlash = PRIMARY MuzzleFX 23458 WeaponLaunchBone = PRIMARY Muzzle 23459 End 23460 23461 ConditionState = RUBBLE 23462 Model = gxmammoth_Hi 23463 Turret = Turret01 23464 WeaponFireFXBone = PRIMARY Muzzle 23465 WeaponRecoilBone = PRIMARY Barrel 23466 WeaponMuzzleFlash = PRIMARY MuzzleFX 23467 WeaponLaunchBone = PRIMARY Muzzle 23468 End 23469 23470 TrackMarks = EXTnkTrack.tga 23471 OkToChangeModelColor = Yes 23472 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 23473 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 23474 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 23475 End 23476 23477 ; ***DESIGN parameters *** 23478 DisplayName = OBJECT:Leopard 23479 Side = America 23480 EditorSorting = VEHICLE 23481 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 23482 23483 WeaponSet 23484 Conditions = None 23485 Weapon = PRIMARY MammothTankGun 23486 End 23487 ArmorSet 23488 Conditions = None 23489 Armor = TankArmor 23490 DamageFX = TankDamageFX 23491 End 23492 23493 BuildCost = 1700 23494 BuildTime = 20.0 ;in seconds 23495 VisionRange = 150 23496 ShroudClearingRange = 200 23497 Prerequisites 23498 Object = AmericaWarFactory 23499 Object = AmericaDetentionCamp 23500 ;Science = SCIENCE_LeopardTank 23501 End 23502 23503 ExperienceValue = 175 175 250 400 ;Experience point value at each level 23504 ExperienceRequired = 0 200 300 450 ;Experience points needed to gain each level 23505 IsTrainable = Yes ;Can gain experience 23506 CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 23507 CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 23508 CommandSet = AmericaTankMammothCommandSet 23509 23510 ; *** AUDIO Parameters *** 23511 VoiceSelect = PaladinTankVoiceSelect 23512 VoiceMove = PaladinTankVoiceMove 23513 VoiceGuard = PaladinTankVoiceMove 23514 VoiceAttack = PaladinTankVoiceAttack 23515 SoundMoveStart = OverlordTankMoveStart 23516 SoundMoveStartDamaged = OverlordTankMoveStart 23517 23518 UnitSpecificSounds 23519 VoiceCreate = PaladinTankVoiceCreate 23520 TurretMoveLoop = OverlordTankTurretMoveLoop 23521 SoundEject = PilotSoundEject 23522 VoiceEject = PilotVoiceEject 23523 VoiceCrush = PaladinTankVoiceCrush 23524 VoiceEnter = PaladinTankVoiceMove 23525 End 23526 23527 ; *** ENGINEERING Parameters *** 23528 RadarPriority = UNIT 23529 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE ;HUGE_VEHICLE 23530 23531 Body = ActiveBody ModuleTag_02 23532 MaxHealth = 850.0 23533 InitialHealth = 850.0 23534 End 23535 23536 Behavior = TransportAIUpdate ModuleTag_03 23537 Turret 23538 TurretTurnRate = 90 23539 ControlledWeaponSlots = PRIMARY 23540 End 23541 AutoAcquireEnemiesWhenIdle = Yes 23542 End 23543 23544 Locomotor = SET_NORMAL MammothLocomotor 23545 23546 Behavior = ProductionUpdate ModuleTag_10 23547 MaxQueueEntries = 1 ; So you can't build multiple upgrades in the same frame 23548 End 23549 23550 Behavior = PhysicsBehavior ModuleTag_14 23551 Mass = 50.0 23552 End 23553 23554 ; Catch fire, smoke and explode death 23555 Behavior = SlowDeathBehavior ModuleTag_16 23556 ProbabilityModifier = 30 23557 DestructionDelay = 2500 23558 DestructionDelayVariance = 500 23559 FX = INITIAL FX_CrusaderCatchFire 23560 FX = INITIAL FX_OverlordSmoke 23561 OCL = FINAL OCL_PaladinTankDeathEffect 23562 FX = FINAL FX_OverlordExplosionOneFinal 23563 End 23564 23565 Behavior = CreateCrateDie ModuleTag_17 23566 CrateData = SalvageCrateData 23567 End 23568 23569 Behavior = ObjectCreationUpgrade ModuleTag_19 23570 UpgradeObject = OCL_AmericanBattleDrone 23571 TriggeredBy = Upgrade_AmericaBattleDrone 23572 ConflictsWith = Upgrade_AmericaScoutDrone 23573 End 23574 Behavior = ObjectCreationUpgrade ModuleTag_20 23575 UpgradeObject = OCL_AmericanScoutDrone 23576 TriggeredBy = Upgrade_AmericaScoutDrone 23577 ConflictsWith = Upgrade_AmericaBattleDrone 23578 End 23579 23580 Behavior = EjectPilotDie ModuleTag_22 23581 DeathTypes = ALL 23582 ExemptStatus = HIJACKED 23583 GroundCreationList = OCL_EjectPilotOnGround 23584 AirCreationList = OCL_EjectPilotViaParachute 23585 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 23586 End 23587 23588 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 23589 DetectionRate = 500 23590 DetectionRange = 75 23591 CanDetectWhileGarrisoned = No 23592 CanDetectWhileContained = No 23593 ExtraRequiredKindOf = BOAT 23594 End 23595 23596 Behavior = MaxHealthUpgrade ModuleTag_23 23597 TriggeredBy = Upgrade_AmericaCompositeArmor 23598 AddMaxHealth = 100.0 23599 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 23600 End 23601 Behavior = ExperienceScalarUpgrade ModuleTag_24 23602 TriggeredBy = Upgrade_AmericaAdvancedTraining 23603 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 23604 End 23605 23606 Behavior = TransitionDamageFX ModuleTag_18 23607 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 23608 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_OverlordDamageTransition 23609 End 23610 23611 Behavior = FlammableUpdate ModuleTag_21 23612 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 23613 AflameDamageAmount = 3 ; taking this much damage... 23614 AflameDamageDelay = 500 ; this often. 23615 End 23616 23617 Geometry = BOX 23618 GeometryMajorRadius = 26.0 23619 GeometryMinorRadius = 13.0 23620 GeometryHeight = 12.0 23621 GeometryIsSmall = No 23622 Shadow = SHADOW_VOLUME 23623 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 23624 23625 End 23626 23627 ;------------------------------------------------------------------------------ 23628 ; 23629 ; Jason Bender sez: 23630 ; This unit is used in GLA04. It is part of a secondary objective. The player gets a medal for capturing him. 23631 ; This unit is never human-controllable! 23632 ; 23633 Object ChinaAmbassador 23634 23635 ; *** ART Parameters *** 23636 Draw = W3DModelDraw ModuleTag_01 23637 OkToChangeModelColor = Yes 23638 23639 DefaultConditionState 23640 Model = NIAMBSDR_SKN 23641 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 23642 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 23643 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 23644 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 23645 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 23646 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 23647 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 23648 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_IDA 23649 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_IDB 23650 AnimationMode = ONCE 23651 TransitionKey = TRANS_Stand 23652 End 23653 23654 ConditionState = MOVING 23655 Animation = NIAMBSDR_SKL.NIAMBSDR_RNA ;***was using WKA but it doesn't exist so I changed it to kill the assert -- Kris 23656 AnimationMode = LOOP 23657 Flags = RANDOMSTART 23658 End 23659 23660 ConditionState = MOVING PANICKING 23661 Animation = NIAMBSDR_SKL.NIAMBSDR_RNA 23662 AnimationMode = LOOP 23663 Flags = RANDOMSTART 23664 End 23665 23666 ConditionState = DYING 23667 Animation = NIAMBSDR_SKL.NIAMBSDR_DTA 23668 Animation = NIAMBSDR_SKL.NIAMBSDR_DTB 23669 AnimationMode = ONCE 23670 TransitionKey = TRANS_Dying 23671 End 23672 23673 ;TransitionState = TRANS_Dying TRANS_Flailing 23674 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD1 23675 ; AnimationMode = ONCE 23676 ;End 23677 23678 ;ConditionState = DYING EXPLODED_FLAILING 23679 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD2 23680 ; AnimationMode = LOOP 23681 ; TransitionKey = TRANS_Flailing 23682 ;End 23683 23684 ;ConditionState = DYING EXPLODED_BOUNCING 23685 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD3 23686 ; AnimationMode = ONCE 23687 ; TransitionKey = None 23688 ;End 23689 End 23690 23691 ; ***DESIGN parameters *** 23692 Buildable = No 23693 DisplayName = OBJECT:Ambassador 23694 Side = China 23695 EditorSorting = INFANTRY 23696 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 23697 WeaponSet 23698 ; no weapons 23699 End 23700 ArmorSet 23701 Conditions = None 23702 Armor = HumanArmor 23703 DamageFX = InfantryDamageFX 23704 End 23705 VisionRange = 150 23706 ShroudClearingRange = 150 23707 23708 ExperienceValue = 50 100 150 400 ;Experience point value at each level 23709 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 23710 IsTrainable = Yes ;Can gain experience 23711 23712 ; *** AUDIO Parameters *** 23713 SoundDie = RedGuardVoiceDie 23714 23715 ; *** ENGINEERING Parameters *** 23716 RadarPriority = UNIT 23717 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 23718 23719 Body = ActiveBody ModuleTag_02 23720 MaxHealth = 50.0 23721 InitialHealth = 50.0 23722 End 23723 23724 Behavior = AIUpdateInterface ModuleTag_03 23725 AutoAcquireEnemiesWhenIdle = Yes 23726 End 23727 Locomotor = SET_NORMAL BasicHumanLocomotor 23728 Behavior = PhysicsBehavior ModuleTag_04 23729 Mass = 5.0 23730 End 23731 Behavior = SlowDeathBehavior ModuleTag_05 23732 SinkDelay = 3000 23733 SinkRate = 0.5 ; in Dist/Sec 23734 DestructionDelay = 8000 23735 End 23736 23737 Behavior = SquishCollide ModuleTag_06 23738 ;nothing 23739 End 23740 23741 Behavior = FXListDie ModuleTag_07 23742 DeathTypes = ALL -CRUSHED -SPLATTED 23743 DeathFX = FX_GIDie 23744 End 23745 Behavior = FXListDie ModuleTag_08 23746 DeathTypes = NONE +CRUSHED +SPLATTED 23747 DeathFX = FX_GIDieCrushed 23748 End 23749 23750 Behavior = PoisonedBehavior ModuleTag_09 23751 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 23752 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 23753 End 23754 23755 Geometry = CYLINDER 23756 GeometryMajorRadius = 10.0 23757 GeometryMinorRadius = 10.0 23758 GeometryHeight = 12.0 23759 GeometryIsSmall = Yes 23760 Shadow = SHADOW_DECAL 23761 ShadowSizeX = 14 23762 ShadowSizeY = 14 23763 ShadowTexture = ShadowI 23764 BuildCompletion = APPEARS_AT_RALLY_POINT 23765 23766 End 23767 23768 ;------------------------------------------------------------------------------ 23769 Object AmericaInfantryBiohazardTech 23770 23771 ; This unit is by default NOT buildable. In GLA06 this is buildable from the 23772 ; barracks of the enemy AI. (The map.ini file is overridden there make it 23773 ; buildable = Yes (jkmcd) 23774 Buildable = No 23775 23776 ; *** ART Parameters *** 23777 Draw = W3DModelDraw ModuleTag_01 23778 OkToChangeModelColor = Yes 23779 23780 ;NORMAL STANDING 23781 DefaultConditionState 23782 Model = AITECH_SKN 23783 IdleAnimation = AITECH_SKL.AITECH_STA 0 21 23784 ;Regular spice animations 23785 IdleAnimation = AITECH_SKL.AITECH_IDA 23786 IdleAnimation = AITECH_SKL.AITECH_IDB 23787 AnimationMode = ONCE 23788 WeaponLaunchBone = PRIMARY BIOGUNFX 23789 TransitionKey = TRANS_Stand 23790 End 23791 23792 ; NORMAL ATTACK 23793 ConditionState = FIRING_A 23794 Animation = AITECH_SKL.AITECH_STA 23795 AnimationMode = LOOP 23796 TransitionKey = TRANS_FiringA 23797 End 23798 AliasConditionState = BETWEEN_FIRING_SHOTS_A 23799 AliasConditionState = RELOADING_A 23800 AliasConditionState = FIRING_A REALLYDAMAGED 23801 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 23802 AliasConditionState = RELOADING_A REALLYDAMAGED 23803 23804 23805 ConditionState = MOVING FIRING_A 23806 Animation = AITECH_SKL.AITECH_WKB 15 23807 AnimationMode = LOOP 23808 Flags = RANDOMSTART 23809 TransitionKey = None 23810 ParticleSysBone = None InfantryDustTrails 23811 End 23812 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 23813 AliasConditionState = MOVING RELOADING_A 23814 23815 ConditionState = MOVING 23816 Animation = AITECH_SKL.AITECH_WKA 15 23817 AnimationMode = LOOP 23818 Flags = RANDOMSTART 23819 TransitionKey = None 23820 ParticleSysBone = None InfantryDustTrails 23821 End 23822 23823 ConditionState = DYING 23824 Animation = AITECH_SKL.AITECH_DTA 23825 Animation = AITECH_SKL.AITECH_DTB 23826 AnimationMode = ONCE 23827 TransitionKey = TRANS_Dying 23828 End 23829 23830 TransitionState = TRANS_Dying TRANS_Flailing 23831 Animation = AITECH_SKL.AITECH_ADTD1 23832 AnimationMode = ONCE 23833 End 23834 23835 ConditionState = DYING EXPLODED_FLAILING 23836 Animation = AITECH_SKL.AITECH_ADTD2 23837 AnimationMode = LOOP 23838 TransitionKey = TRANS_Flailing 23839 End 23840 23841 ConditionState = DYING EXPLODED_BOUNCING 23842 Animation = AITECH_SKL.AITECH_ADTD3 23843 AnimationMode = ONCE 23844 TransitionKey = None 23845 End 23846 23847 ConditionState = SPECIAL_CHEERING 23848 Animation = AITECH_SKL.AITECH_CHA 23849 AnimationMode = LOOP 23850 End 23851 23852 ;PARACHUTING ANIMATIONS 23853 ConditionState = FREEFALL 23854 Animation = AITECH_SKL.AITECH_PFL 23855 AnimationMode = LOOP 23856 TransitionKey = TRANS_Falling 23857 End 23858 AliasConditionState = FREEFALL REALLYDAMAGED 23859 AliasConditionState = FREEFALL DYING 23860 ConditionState = PARACHUTING 23861 Animation = AITECH_SKL.AITECH_PHG 23862 AnimationMode = LOOP 23863 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 23864 TransitionKey = TRANS_Chute 23865 End 23866 AliasConditionState = PARACHUTING REALLYDAMAGED 23867 AliasConditionState = PARACHUTING DYING 23868 TransitionState = TRANS_Falling TRANS_Chute 23869 Animation = AITECH_SKL.AITECH_POP 23870 AnimationMode = ONCE 23871 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 23872 End 23873 TransitionState = TRANS_Chute TRANS_Stand 23874 Animation = AITECH_SKL.AITECH_PDN 23875 AnimationMode = ONCE 23876 End 23877 23878 ;SURRENDER ANIMATIONS 23879 ; surrender is cut. sorry. (srj) 23880 ; ConditionState = SURRENDER 23881 ; Animation = AITECH_SKL.AITECH_SST 23882 ; AnimationMode = ONCE 23883 ; TransitionKey = TRANS_SurrenderKneeling 23884 ; End 23885 ; ConditionState = SURRENDER MOVING 23886 ; Animation = AITECH_SKL.AITECH_SWK 23887 ; AnimationMode = ONCE 23888 ; TransitionKey = TRANS_SurrenderMoving 23889 ; End 23890 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 23891 ; Animation = AITECH_SKL.AITECH_SUR 23892 ; AnimationMode = ONCE 23893 ; End 23894 23895 End 23896 23897 ; ***DESIGN parameters *** 23898 DisplayName = OBJECT:BioHazardTech 23899 Side = America 23900 EditorSorting = INFANTRY 23901 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 23902 23903 WeaponSet 23904 ;*** Fully automated and driven by the CleanupHazardUpdate *** 23905 Conditions = None 23906 Weapon = PRIMARY BioHazardTechCleanHazardWeapon 23907 AutoChooseSources = PRIMARY NONE 23908 End 23909 ArmorSet 23910 Conditions = None 23911 Armor = HazMatHumanArmor 23912 DamageFX = InfantryDamageFX 23913 End 23914 23915 VisionRange = 100 23916 ShroudClearingRange = 400 23917 Prerequisites 23918 Object = AmericaBarracks 23919 End 23920 BuildCost = 200 23921 BuildTime = 5.0 ;in seconds 23922 23923 ExperienceValue = 50 100 150 400 ;Experience point value at each level 23924 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 23925 IsTrainable = Yes ;Can gain experience 23926 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 23927 CommandSet = AmericaInfantryHazMatCommandSet 23928 23929 ; *** AUDIO Parameters *** 23930 VoiceSelect = NoSound 23931 VoiceMove = NoSound 23932 VoiceAttack = NoSound 23933 SoundDie = RebelVoiceDie 23934 UnitSpecificFX 23935 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 23936 End 23937 23938 ; *** ENGINEERING Parameters *** 23939 RadarPriority = UNIT 23940 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 23941 23942 Body = ActiveBody ModuleTag_02 23943 23944 MaxHealth = 100.0 23945 InitialHealth = 100.0 23946 End 23947 23948 Behavior = CleanupHazardUpdate ModuleTag_03 23949 WeaponSlot = PRIMARY 23950 ScanRate = 1000 23951 ScanRange = 100.0 23952 End 23953 23954 ;Can be ordered to clean up a larger area with the ability to move around at an extended range. 23955 Behavior = CleanupAreaPower ModuleTag_04 23956 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea 23957 MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up 23958 End 23959 23960 Behavior = AIUpdateInterface ModuleTag_05 23961 AutoAcquireEnemiesWhenIdle = No 23962 End 23963 Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba 23964 ScanRate = 1000 ; once a second. 23965 ScanRange = 300 ; 23966 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 23967 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 23968 End 23969 23970 Locomotor = SET_NORMAL HazMatHumanLocomotor 23971 23972 Behavior = ExperienceScalarUpgrade ModuleTag_07 23973 TriggeredBy = Upgrade_AmericaAdvancedTraining 23974 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 23975 End 23976 23977 Behavior = PhysicsBehavior ModuleTag_08 23978 Mass = 5.0 23979 End 23980 Behavior = ProductionUpdate ModuleTag_09 23981 ; nothing 23982 End 23983 23984 Behavior = SquishCollide ModuleTag_10 23985 ;nothing 23986 End 23987 23988 ; --- begin Death modules --- 23989 Behavior = SlowDeathBehavior ModuleTag_Death01 23990 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 23991 SinkDelay = 3000 23992 SinkRate = 0.5 ; in Dist/Sec 23993 DestructionDelay = 8000 23994 FX = INITIAL FX_GIDie 23995 End 23996 Behavior = SlowDeathBehavior ModuleTag_Death02 23997 DeathTypes = NONE +CRUSHED +SPLATTED 23998 SinkDelay = 3000 23999 SinkRate = 0.5 ; in Dist/Sec 24000 DestructionDelay = 8000 24001 FX = INITIAL FX_GIDieCrushed 24002 End 24003 Behavior = SlowDeathBehavior ModuleTag_Death03 24004 DeathTypes = NONE +EXPLODED 24005 SinkDelay = 3000 24006 SinkRate = 0.5 ; in Dist/Sec 24007 DestructionDelay = 8000 24008 FX = INITIAL FX_GIDie 24009 FlingForce = 8 24010 FlingForceVariance = 3 24011 FlingPitch = 60 24012 FlingPitchVariance = 10 24013 End 24014 Behavior = SlowDeathBehavior ModuleTag_Death04 24015 DeathTypes = NONE +BURNED 24016 DestructionDelay = 0 24017 FX = INITIAL FX_GIDie 24018 OCL = INITIAL OCL_FlamingInfantry 24019 End 24020 Behavior = SlowDeathBehavior ModuleTag_Death05 24021 DeathTypes = NONE +POISONED 24022 DestructionDelay = 0 24023 FX = INITIAL FX_GIDie 24024 OCL = INITIAL OCL_ToxicInfantry 24025 End 24026 ; --- end Death modules --- 24027 24028 Geometry = CYLINDER 24029 GeometryMajorRadius = 10.0 24030 GeometryMinorRadius = 10.0 24031 GeometryHeight = 13.0 24032 24033 GeometryIsSmall = Yes 24034 Shadow = SHADOW_DECAL 24035 ShadowSizeX = 14; 24036 ShadowSizeY = 14; 24037 ShadowTexture = ShadowI; 24038 BuildCompletion = APPEARS_AT_RALLY_POINT 24039 End 24040 24041 ;------------------------------------------------------------------------------ 24042 Object CINE_AmericaInfantryBiohazardTech 24043 24044 ; This unit is by default NOT buildable. In GLA06 this is buildable from the 24045 ; barracks of the enemy AI. (The map.ini file is overridden there make it 24046 ; buildable = Yes (jkmcd) 24047 Buildable = No 24048 24049 ; *** ART Parameters *** 24050 Draw = W3DModelDraw ModuleTag_01 24051 OkToChangeModelColor = Yes 24052 24053 ;NORMAL STANDING 24054 DefaultConditionState 24055 Model = AITECH_SKN 24056 IdleAnimation = AITECH_SKL.AITECH_STA 0 21 24057 ;Regular spice animations 24058 IdleAnimation = AITECH_SKL.AITECH_IDA 24059 IdleAnimation = AITECH_SKL.AITECH_IDB 24060 AnimationMode = ONCE 24061 WeaponLaunchBone = PRIMARY BIOGUNFX 24062 TransitionKey = TRANS_Stand 24063 End 24064 24065 ; NORMAL ATTACK 24066 ConditionState = FIRING_A 24067 Animation = AITECH_SKL.AITECH_ATA 24068 AnimationMode = LOOP 24069 TransitionKey = TRANS_FiringA 24070 End 24071 AliasConditionState = BETWEEN_FIRING_SHOTS_A 24072 AliasConditionState = RELOADING_A 24073 AliasConditionState = FIRING_A REALLYDAMAGED 24074 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 24075 AliasConditionState = RELOADING_A REALLYDAMAGED 24076 24077 24078 ConditionState = MOVING FIRING_A 24079 Animation = AITECH_SKL.AITECH_WKB 15 24080 AnimationMode = LOOP 24081 Flags = RANDOMSTART 24082 TransitionKey = None 24083 ParticleSysBone = None InfantryDustTrails 24084 End 24085 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 24086 AliasConditionState = MOVING RELOADING_A 24087 24088 ConditionState = MOVING 24089 Animation = AITECH_SKL.AITECH_WKA 15 24090 AnimationMode = LOOP 24091 Flags = RANDOMSTART 24092 TransitionKey = None 24093 ParticleSysBone = None InfantryDustTrails 24094 End 24095 24096 ConditionState = DYING 24097 Animation = AITECH_SKL.AITECH_DTA 24098 Animation = AITECH_SKL.AITECH_DTB 24099 AnimationMode = ONCE 24100 TransitionKey = TRANS_Dying 24101 End 24102 24103 TransitionState = TRANS_Dying TRANS_Flailing 24104 Animation = AITECH_SKL.AITECH_ADTD1 24105 AnimationMode = ONCE 24106 End 24107 24108 ConditionState = DYING EXPLODED_FLAILING 24109 Animation = AITECH_SKL.AITECH_ADTD2 24110 AnimationMode = LOOP 24111 TransitionKey = TRANS_Flailing 24112 End 24113 24114 ConditionState = DYING EXPLODED_BOUNCING 24115 Animation = AITECH_SKL.AITECH_ADTD3 24116 AnimationMode = ONCE 24117 TransitionKey = None 24118 End 24119 24120 ConditionState = SPECIAL_CHEERING 24121 Animation = AITECH_SKL.AITECH_CHA 24122 AnimationMode = LOOP 24123 End 24124 24125 ;PARACHUTING ANIMATIONS 24126 ConditionState = FREEFALL 24127 Animation = AITECH_SKL.AITECH_PFL 24128 AnimationMode = LOOP 24129 TransitionKey = TRANS_Falling 24130 End 24131 AliasConditionState = FREEFALL REALLYDAMAGED 24132 AliasConditionState = FREEFALL DYING 24133 ConditionState = PARACHUTING 24134 Animation = AITECH_SKL.AITECH_PHG 24135 AnimationMode = LOOP 24136 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 24137 TransitionKey = TRANS_Chute 24138 End 24139 AliasConditionState = PARACHUTING REALLYDAMAGED 24140 AliasConditionState = PARACHUTING DYING 24141 TransitionState = TRANS_Falling TRANS_Chute 24142 Animation = AITECH_SKL.AITECH_POP 24143 AnimationMode = ONCE 24144 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 24145 End 24146 TransitionState = TRANS_Chute TRANS_Stand 24147 Animation = AITECH_SKL.AITECH_PDN 24148 AnimationMode = ONCE 24149 End 24150 24151 ;SURRENDER ANIMATIONS 24152 ; surrender is cut. sorry. (srj) 24153 ; ConditionState = SURRENDER 24154 ; Animation = AITECH_SKL.AITECH_SST 24155 ; AnimationMode = ONCE 24156 ; TransitionKey = TRANS_SurrenderKneeling 24157 ; End 24158 ; ConditionState = SURRENDER MOVING 24159 ; Animation = AITECH_SKL.AITECH_SWK 24160 ; AnimationMode = ONCE 24161 ; TransitionKey = TRANS_SurrenderMoving 24162 ; End 24163 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 24164 ; Animation = AITECH_SKL.AITECH_SUR 24165 ; AnimationMode = ONCE 24166 ; End 24167 24168 End 24169 24170 ; ***DESIGN parameters *** 24171 DisplayName = OBJECT:BioHazardTech 24172 Side = America 24173 EditorSorting = INFANTRY 24174 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 24175 24176 WeaponSet 24177 ;*** Fully automated and driven by the CleanupHazardUpdate *** 24178 Conditions = None 24179 Weapon = PRIMARY BioHazardTechCleanHazardWeapon 24180 AutoChooseSources = PRIMARY NONE 24181 End 24182 ArmorSet 24183 Conditions = None 24184 Armor = HazMatHumanArmor 24185 DamageFX = InfantryDamageFX 24186 End 24187 24188 VisionRange = 100 24189 ShroudClearingRange = 400 24190 Prerequisites 24191 Object = AmericaBarracks 24192 End 24193 BuildCost = 200 24194 BuildTime = 5.0 ;in seconds 24195 24196 ExperienceValue = 50 100 150 400 ;Experience point value at each level 24197 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 24198 IsTrainable = Yes ;Can gain experience 24199 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 24200 CommandSet = AmericaInfantryHazMatCommandSet 24201 24202 ; *** AUDIO Parameters *** 24203 VoiceSelect = NoSound 24204 VoiceMove = NoSound 24205 VoiceAttack = NoSound 24206 SoundDie = RebelVoiceDie 24207 UnitSpecificFX 24208 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 24209 End 24210 24211 ; *** ENGINEERING Parameters *** 24212 RadarPriority = UNIT 24213 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 24214 24215 Body = ActiveBody ModuleTag_02 24216 24217 MaxHealth = 100.0 24218 InitialHealth = 100.0 24219 End 24220 24221 Behavior = CleanupHazardUpdate ModuleTag_03 24222 WeaponSlot = PRIMARY 24223 ScanRate = 1000 24224 ScanRange = 100.0 24225 End 24226 24227 ;Can be ordered to clean up a larger area with the ability to move around at an extended range. 24228 Behavior = CleanupAreaPower ModuleTag_04 24229 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea 24230 MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up 24231 End 24232 24233 Behavior = AIUpdateInterface ModuleTag_05 24234 AutoAcquireEnemiesWhenIdle = No 24235 End 24236 Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba 24237 ScanRate = 1000 ; once a second. 24238 ScanRange = 300 ; 24239 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 24240 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 24241 End 24242 24243 Locomotor = SET_NORMAL CINE_HazMatHumanLocomotor 24244 24245 Behavior = ExperienceScalarUpgrade ModuleTag_07 24246 TriggeredBy = Upgrade_AmericaAdvancedTraining 24247 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 24248 End 24249 24250 Behavior = PhysicsBehavior ModuleTag_08 24251 Mass = 5.0 24252 End 24253 Behavior = ProductionUpdate ModuleTag_09 24254 ; nothing 24255 End 24256 24257 Behavior = SquishCollide ModuleTag_10 24258 ;nothing 24259 End 24260 24261 ; --- begin Death modules --- 24262 Behavior = SlowDeathBehavior ModuleTag_Death01 24263 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 24264 SinkDelay = 3000 24265 SinkRate = 0.5 ; in Dist/Sec 24266 DestructionDelay = 8000 24267 FX = INITIAL FX_GIDie 24268 End 24269 Behavior = SlowDeathBehavior ModuleTag_Death02 24270 DeathTypes = NONE +CRUSHED +SPLATTED 24271 SinkDelay = 3000 24272 SinkRate = 0.5 ; in Dist/Sec 24273 DestructionDelay = 8000 24274 FX = INITIAL FX_GIDieCrushed 24275 End 24276 Behavior = SlowDeathBehavior ModuleTag_Death03 24277 DeathTypes = NONE +EXPLODED 24278 SinkDelay = 3000 24279 SinkRate = 0.5 ; in Dist/Sec 24280 DestructionDelay = 8000 24281 FX = INITIAL FX_GIDie 24282 FlingForce = 8 24283 FlingForceVariance = 3 24284 FlingPitch = 60 24285 FlingPitchVariance = 10 24286 End 24287 Behavior = SlowDeathBehavior ModuleTag_Death04 24288 DeathTypes = NONE +BURNED 24289 DestructionDelay = 0 24290 FX = INITIAL FX_GIDie 24291 OCL = INITIAL OCL_FlamingInfantry 24292 End 24293 Behavior = SlowDeathBehavior ModuleTag_Death05 24294 DeathTypes = NONE +POISONED 24295 DestructionDelay = 0 24296 FX = INITIAL FX_GIDie 24297 OCL = INITIAL OCL_ToxicInfantry 24298 End 24299 ; --- end Death modules --- 24300 24301 Geometry = CYLINDER 24302 GeometryMajorRadius = 10.0 24303 GeometryMinorRadius = 10.0 24304 GeometryHeight = 13.0 24305 24306 GeometryIsSmall = Yes 24307 Shadow = SHADOW_DECAL 24308 ShadowSizeX = 14; 24309 ShadowSizeY = 14; 24310 ShadowTexture = ShadowI; 24311 BuildCompletion = APPEARS_AT_RALLY_POINT 24312 End 24313 24314 ;------------------------------------------------------------------------------ 24315 ; 24316 ; 24317 ; Jason Bender sez: 24318 ; This unit is used in a mission for "color". 24319 ; This unit is never human-controllable! 24320 ; 24321 Object ChinaInfantryOfficer 24322 24323 ; *** ART Parameters *** 24324 Draw = W3DModelDraw ModuleTag_01 24325 OkToChangeModelColor = Yes 24326 24327 ;NORMAL STANDING 24328 DefaultConditionState 24329 Model = NIOFCR_SKN 24330 IdleAnimation = NIOFCR_SKL.NIOFCR_STA 0 21 24331 ;Regular spice animations 24332 IdleAnimation = NIOFCR_SKL.NIOFCR_IDA 24333 IdleAnimation = NIOFCR_SKL.NIOFCR_IDB 24334 AnimationMode = ONCE 24335 WeaponFireFXBone = PRIMARY Muzzle 24336 WeaponMuzzleFlash = PRIMARY MuzzleFX 24337 TransitionKey = TRANS_STAND 24338 End 24339 24340 ConditionState = MOVING 24341 Animation = NIOFCR_SKL.NIOFCR_RNA 24342 AnimationMode = LOOP 24343 ParticleSysBone = None InfantryDustTrails 24344 End 24345 24346 ; NORMAL ATTACK 24347 ;-------------------------------------------------------- 24348 ; Drawing gun 24349 ConditionState = PREATTACK_A 24350 Animation = NIOFCR_SKL.NIOFCR_ATAST 24351 AnimationMode = ONCE 24352 End 24353 AliasConditionState = PREATTACK_A MOVING 24354 AliasConditionState = PREATTACK_A FIRING_A 24355 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 24356 24357 ; Firing gun 24358 ConditionState = FIRING_A 24359 Animation = NIOFCR_SKL.NIOFCR_ATALP 24360 AnimationMode = LOOP 24361 TransitionKey = TRANS_FIRING_A 24362 End 24363 ConditionState = BETWEEN_FIRING_SHOTS_A 24364 Animation = NIOFCR_SKL.NIOFCR_ATALP 24365 AnimationMode = LOOP 24366 TransitionKey = TRANS_FIRING_A 24367 End 24368 AliasConditionState = RELOADING_A 24369 AliasConditionState = MOVING FIRING_A 24370 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 24371 AliasConditionState = MOVING RELOADING_A 24372 24373 ; This transition allows him to put his gun away when he's finished attacking. 24374 TransitionState = TRANS_FIRING_A TRANS_STAND 24375 Animation = NIOFCR_SKL.NIOFCR_ATAED 24376 AnimationMode = ONCE 24377 End 24378 ;-------------------------------------------------------- 24379 24380 ConditionState = DYING 24381 Animation = NIOFCR_SKL.NIOFCR_DTA 24382 Animation = NIOFCR_SKL.NIOFCR_DTB 24383 AnimationMode = ONCE 24384 TransitionKey = TRANS_Dying 24385 End 24386 24387 TransitionState = TRANS_Dying TRANS_Flailing 24388 Animation = NIOFCR_SKL.NIOFCR_ADTE1 24389 AnimationMode = ONCE 24390 End 24391 24392 ConditionState = DYING EXPLODED_FLAILING 24393 Animation = NIOFCR_SKL.NIOFCR_ADTE2 24394 AnimationMode = LOOP 24395 TransitionKey = TRANS_Flailing 24396 End 24397 24398 ConditionState = DYING EXPLODED_BOUNCING 24399 Animation = NIOFCR_SKL.NIOFCR_ADTE3 24400 AnimationMode = ONCE 24401 TransitionKey = None 24402 End 24403 24404 ConditionState = SPECIAL_CHEERING 24405 Animation = NIOFCR_SKL.NIOFCR_CHA 24406 AnimationMode = LOOP 24407 End 24408 24409 ;PARACHUTING ANIMATIONS 24410 24411 ;@TODO - MISSING ANIMATION FILE 24412 ;ConditionState = FREEFALL 24413 ; Animation = NIOFCR_SKL.NIOFCR_PFL 24414 ; AnimationMode = LOOP 24415 ; TransitionKey = TRANS_Falling 24416 ;End 24417 ;AliasConditionState = FREEFALL REALLYDAMAGED 24418 ;AliasConditionState = FREEFALL DYING 24419 ConditionState = PARACHUTING 24420 Animation = NIOFCR_SKL.NIOFCR_PHG 24421 AnimationMode = LOOP 24422 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 24423 TransitionKey = TRANS_Chute 24424 End 24425 AliasConditionState = PARACHUTING REALLYDAMAGED 24426 AliasConditionState = PARACHUTING DYING 24427 TransitionState = TRANS_Falling TRANS_Chute 24428 Animation = NIOFCR_SKL.NIOFCR_POP 24429 AnimationMode = ONCE 24430 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 24431 End 24432 TransitionState = TRANS_Chute TRANS_STAND 24433 Animation = NIOFCR_SKL.NIOFCR_PTD 24434 AnimationMode = ONCE 24435 End 24436 24437 ;SURRENDER ANIMATIONS 24438 ; surrender is cut. sorry. (srj) 24439 ; ConditionState = SURRENDER 24440 ; Animation = NIOFCR_SKL.NIOFCR_SLP 24441 ; AnimationMode = LOOP 24442 ; TransitionKey = TRANS_SurrenderStand 24443 ; End 24444 ; ConditionState = SURRENDER MOVING 24445 ; Animation = NIOFCR_SKL.NIOFCR_SWKLP 24446 ; AnimationMode = LOOP 24447 ; TransitionKey = TRANS_SurrenderMoving 24448 ; End 24449 ; TransitionState = TRANS_SurrenderStand TRANS_SurrenderMoving 24450 ; Animation = NIOFCR_SKL.NIOFCR_SWKST 24451 ; AnimationMode = ONCE 24452 ; End 24453 ; TransitionState = TRANS_STAND TRANS_SurrenderStand 24454 ; Animation = NIOFCR_SKL.NIOFCR_SST 24455 ; AnimationMode = ONCE 24456 ; End 24457 24458 End 24459 24460 ; ***DESIGN parameters *** 24461 DisplayName = OBJECT:Officer 24462 Side = China 24463 EditorSorting = INFANTRY 24464 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 24465 WeaponSet 24466 Conditions = None 24467 Weapon = PRIMARY ChinaOfficerMachineGun 24468 End 24469 ArmorSet 24470 Conditions = None 24471 Armor = HumanArmor 24472 DamageFX = InfantryDamageFX 24473 End 24474 VisionRange = 150 24475 ShroudClearingRange = 150 24476 Prerequisites 24477 Object = ChinaBarracks 24478 End 24479 24480 BuildCost = 400 24481 BuildTime = 10.0 ;in seconds 24482 24483 ; *** AUDIO Parameters *** 24484 VoiceSelect = RedGuardVoiceSelect 24485 VoiceGroupSelect = BattleCrySound 24486 VoiceMove = RedGuardVoiceMove 24487 VoiceAttack = RedGuardVoiceAttack 24488 SoundDie = RedGuardVoiceDie 24489 SoundDieFire = DieByFireChina 24490 SoundDieToxin = DieByToxinChina 24491 24492 ; *** ENGINEERING Parameters *** 24493 RadarPriority = UNIT 24494 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY 24495 Body = ActiveBody ModuleTag_02 24496 MaxHealth = 100.0 24497 InitialHealth = 100.0 24498 End 24499 24500 Behavior = AIUpdateInterface ModuleTag_03 24501 AutoAcquireEnemiesWhenIdle = Yes 24502 End 24503 Locomotor = SET_NORMAL BasicHumanLocomotor 24504 Behavior = PhysicsBehavior ModuleTag_04 24505 Mass = 5.0 24506 End 24507 24508 Behavior = SquishCollide ModuleTag_06 24509 ;nothing 24510 End 24511 24512 24513 ; --- begin Death modules --- 24514 Behavior = SlowDeathBehavior ModuleTag_Death01 24515 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 24516 SinkDelay = 3000 24517 SinkRate = 0.5 ; in Dist/Sec 24518 DestructionDelay = 8000 24519 FX = INITIAL FX_GIDie 24520 End 24521 Behavior = SlowDeathBehavior ModuleTag_Death02 24522 DeathTypes = NONE +CRUSHED +SPLATTED 24523 SinkDelay = 3000 24524 SinkRate = 0.5 ; in Dist/Sec 24525 DestructionDelay = 8000 24526 FX = INITIAL FX_GIDieCrushed 24527 End 24528 Behavior = SlowDeathBehavior ModuleTag_Death03 24529 DeathTypes = NONE +EXPLODED 24530 SinkDelay = 3000 24531 SinkRate = 0.5 ; in Dist/Sec 24532 DestructionDelay = 8000 24533 FX = INITIAL FX_GIDie 24534 FlingForce = 8 24535 FlingForceVariance = 3 24536 FlingPitch = 60 24537 FlingPitchVariance = 10 24538 End 24539 Behavior = SlowDeathBehavior ModuleTag_Death04 24540 DeathTypes = NONE +BURNED 24541 DestructionDelay = 0 24542 FX = INITIAL FX_GIDie 24543 OCL = INITIAL OCL_FlamingInfantry 24544 End 24545 Behavior = SlowDeathBehavior ModuleTag_Death05 24546 DeathTypes = NONE +POISONED 24547 DestructionDelay = 0 24548 FX = INITIAL FX_GIDie 24549 OCL = INITIAL OCL_ 24550 End 24551 ; --- end Death modules --- 24552 24553 Behavior = PoisonedBehavior ModuleTag_09 24554 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 24555 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 24556 End 24557 24558 Geometry = CYLINDER 24559 GeometryMajorRadius = 10.0 24560 GeometryMinorRadius = 10.0 24561 GeometryHeight = 12.0 24562 GeometryIsSmall = Yes 24563 Shadow = SHADOW_DECAL 24564 ShadowSizeX = 14; 24565 ShadowSizeY = 14; 24566 ShadowTexture = ShadowI; 24567 BuildCompletion = APPEARS_AT_RALLY_POINT 24568 24569 End 24570 24571 ;------------------------------------------------------------------------------ 24572 ; 24573 ; ??? This unit is used in a mission for "color". 24574 ; This unit is never human-controllable! 24575 ; 24576 Object AmericaInfantryOfficer 24577 ; *** ART Parameters *** 24578 Draw = W3DModelDraw ModuleTag_01 24579 OkToChangeModelColor = Yes 24580 24581 ;NORMAL STANDING 24582 DefaultConditionState 24583 Model = AIOFCR_SKN 24584 IdleAnimation = AIOFCR_SKL.AIOFCR_STA 0 21 24585 ;Regular spice animations 24586 IdleAnimation = AIOFCR_SKL.AIOFCR_IDA 24587 IdleAnimation = AIOFCR_SKL.AIOFCR_IDB 24588 AnimationMode = ONCE 24589 WeaponFireFXBone = PRIMARY Muzzle 24590 WeaponMuzzleFlash = PRIMARY MuzzleFX 24591 TransitionKey = TRANS_STAND 24592 End 24593 24594 ConditionState = MOVING 24595 Animation = AIOFCR_SKL.AIOFCR_RNA 24596 AnimationMode = LOOP 24597 ParticleSysBone = None InfantryDustTrails 24598 End 24599 24600 ; NORMAL ATTACK 24601 ;-------------------------------------------------------- 24602 ; Drawing gun 24603 ConditionState = PREATTACK_A 24604 Animation = AIOFCR_SKL.AIOFCR_ATAST 24605 AnimationMode = ONCE 24606 End 24607 AliasConditionState = PREATTACK_A MOVING 24608 AliasConditionState = PREATTACK_A FIRING_A 24609 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 24610 24611 ; Firing gun 24612 ConditionState = FIRING_A 24613 Animation = AIOFCR_SKL.AIOFCR_ATALP 24614 AnimationMode = LOOP 24615 TransitionKey = TRANS_FIRING_A 24616 End 24617 ConditionState = BETWEEN_FIRING_SHOTS_A 24618 Animation = AIOFCR_SKL.AIOFCR_ATALP 24619 AnimationMode = LOOP 24620 TransitionKey = TRANS_FIRING_A 24621 End 24622 AliasConditionState = RELOADING_A 24623 AliasConditionState = MOVING FIRING_A 24624 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 24625 AliasConditionState = MOVING RELOADING_A 24626 24627 ; This transition allows him to put his gun away when he's finished attacking. 24628 TransitionState = TRANS_FIRING_A TRANS_STAND 24629 Animation = AIOFCR_SKL.AIOFCR_ATAED 24630 AnimationMode = ONCE 24631 End 24632 ;-------------------------------------------------------- 24633 24634 ConditionState = DYING 24635 Animation = AIOFCR_SKL.AIOFCR_DTA 24636 Animation = AIOFCR_SKL.AIOFCR_DTB 24637 AnimationMode = ONCE 24638 TransitionKey = TRANS_Dying 24639 End 24640 24641 TransitionState = TRANS_Dying TRANS_Flailing 24642 Animation = AIOFCR_SKL.AIOFCR_ADTE1 24643 AnimationMode = ONCE 24644 End 24645 24646 ConditionState = DYING EXPLODED_FLAILING 24647 Animation = AIOFCR_SKL.AIOFCR_ADTE2 24648 AnimationMode = LOOP 24649 TransitionKey = TRANS_Flailing 24650 End 24651 24652 ConditionState = DYING EXPLODED_BOUNCING 24653 Animation = AIOFCR_SKL.AIOFCR_ADTE3 24654 AnimationMode = ONCE 24655 TransitionKey = None 24656 End 24657 24658 ConditionState = SPECIAL_CHEERING 24659 Animation = AIOFCR_SKL.AIOFCR_CHA 24660 AnimationMode = LOOP 24661 End 24662 24663 ;PARACHUTING ANIMATIONS 24664 24665 ;@TODO - MISSING ANIMATION FILE 24666 ;ConditionState = FREEFALL 24667 ; Animation = AIOFCR_SKL.AIOFCR_PFL 24668 ; AnimationMode = LOOP 24669 ; TransitionKey = TRANS_Falling 24670 ;End 24671 ;AliasConditionState = FREEFALL REALLYDAMAGED 24672 ;AliasConditionState = FREEFALL DYING 24673 ConditionState = PARACHUTING 24674 Animation = AIOFCR_SKL.AIOFCR_PHG 24675 AnimationMode = LOOP 24676 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 24677 TransitionKey = TRANS_Chute 24678 24679 End 24680 AliasConditionState = PARACHUTING REALLYDAMAGED 24681 AliasConditionState = PARACHUTING DYING 24682 TransitionState = TRANS_Falling TRANS_Chute 24683 Animation = AIOFCR_SKL.AIOFCR_POP 24684 AnimationMode = ONCE 24685 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 24686 End 24687 TransitionState = TRANS_Chute TRANS_Stand 24688 Animation = AIOFCR_SKL.AIOFCR_PTD 24689 AnimationMode = ONCE 24690 End 24691 24692 ;SURRENDER ANIMATIONS 24693 ; surrender is cut. sorry. (srj) 24694 ; ConditionState = SURRENDER 24695 ; Animation = AIOFCR_SKL.AIOFCR_SLP 24696 ; AnimationMode = LOOP 24697 ; TransitionKey = TRANS_SurrenderStand 24698 ; End 24699 ; ConditionState = SURRENDER MOVING 24700 ; Animation = AIOFCR_SKL.AIOFCR_SWKLP 24701 ; AnimationMode = LOOP 24702 ; TransitionKey = TRANS_SurrenderMoving 24703 ; End 24704 ; TransitionState = TRANS_SurrenderStand TRANS_SurrenderMoving 24705 ; Animation = AIOFCR_SKL.AIOFCR_SWKST 24706 ; AnimationMode = ONCE 24707 ; End 24708 ; TransitionState = TRANS_Stand TRANS_SurrenderStand 24709 ; Animation = AIOFCR_SKL.AIOFCR_SST 24710 ; AnimationMode = ONCE 24711 ; End 24712 24713 End 24714 24715 ; ***DESIGN parameters *** 24716 DisplayName = OBJECT:Officer 24717 Side = America 24718 EditorSorting = INFANTRY 24719 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 24720 WeaponSet 24721 Conditions = None 24722 Weapon = PRIMARY AmericaOfficerMachineGun 24723 End 24724 ArmorSet 24725 Conditions = None 24726 Armor = HumanArmor 24727 DamageFX = InfantryDamageFX 24728 End 24729 VisionRange = 150 24730 ShroudClearingRange = 150 24731 24732 BuildCost = 400 24733 BuildTime = 10.0 ;in seconds 24734 24735 ; *** AUDIO Parameters *** 24736 VoiceSelect = RangerVoiceSelect 24737 VoiceGroupSelect = BattleCrySound 24738 VoiceMove = RangerVoiceMove 24739 VoiceAttack = RangerVoiceAttack 24740 SoundDie = RangerVoiceDie 24741 SoundDieFire = DieByFireUSA 24742 SoundDieToxin = DieByToxinChina 24743 24744 ; *** ENGINEERING Parameters *** 24745 RadarPriority = UNIT 24746 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 24747 24748 Body = ActiveBody ModuleTag_02 24749 MaxHealth = 100.0 24750 InitialHealth = 100.0 24751 End 24752 24753 Behavior = AIUpdateInterface ModuleTag_03 24754 AutoAcquireEnemiesWhenIdle = Yes 24755 End 24756 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 24757 ScanRate = 1000 ; once a second. 24758 ScanRange = 300 ; 24759 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 24760 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 24761 End 24762 24763 Locomotor = SET_NORMAL BasicHumanLocomotor 24764 Behavior = PhysicsBehavior ModuleTag_05 24765 Mass = 5.0 24766 End 24767 24768 Behavior = SquishCollide ModuleTag_07 24769 ;nothing 24770 End 24771 24772 ; --- begin Death modules --- 24773 Behavior = SlowDeathBehavior ModuleTag_Death01 24774 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 24775 SinkDelay = 3000 24776 SinkRate = 0.5 ; in Dist/Sec 24777 DestructionDelay = 8000 24778 FX = INITIAL FX_GIDie 24779 End 24780 Behavior = SlowDeathBehavior ModuleTag_Death02 24781 DeathTypes = NONE +CRUSHED +SPLATTED 24782 SinkDelay = 3000 24783 SinkRate = 0.5 ; in Dist/Sec 24784 DestructionDelay = 8000 24785 FX = INITIAL FX_GIDieCrushed 24786 End 24787 Behavior = SlowDeathBehavior ModuleTag_Death03 24788 DeathTypes = NONE +EXPLODED 24789 SinkDelay = 3000 24790 SinkRate = 0.5 ; in Dist/Sec 24791 DestructionDelay = 8000 24792 FX = INITIAL FX_GIDie 24793 FlingForce = 8 24794 FlingForceVariance = 3 24795 FlingPitch = 60 24796 FlingPitchVariance = 10 24797 End 24798 Behavior = SlowDeathBehavior ModuleTag_Death04 24799 DeathTypes = NONE +BURNED 24800 DestructionDelay = 0 24801 FX = INITIAL FX_GIDie 24802 OCL = INITIAL OCL_FlamingInfantry 24803 End 24804 Behavior = SlowDeathBehavior ModuleTag_Death05 24805 DeathTypes = NONE +POISONED 24806 DestructionDelay = 0 24807 FX = INITIAL FX_GIDie 24808 OCL = INITIAL OCL_ToxicInfantry 24809 End 24810 ; --- end Death modules --- 24811 24812 Behavior = PoisonedBehavior ModuleTag_10 24813 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 24814 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 24815 End 24816 24817 Geometry = CYLINDER 24818 GeometryMajorRadius = 10.0 24819 GeometryMinorRadius = 10.0 24820 GeometryHeight = 12.0 24821 GeometryIsSmall = Yes 24822 Shadow = SHADOW_DECAL 24823 ShadowSizeX = 14; 24824 ShadowSizeY = 14; 24825 ShadowTexture = ShadowI; 24826 BuildCompletion = APPEARS_AT_RALLY_POINT 24827 24828 End 24829 24830 24831 ;------------------------------------------------------------------------------ 24832 Object AmericaInfantrySecretService 24833 24834 ; *** ART Parameters *** 24835 Draw = W3DModelDraw ModuleTag_01 24836 OkToChangeModelColor = Yes 24837 24838 DefaultConditionState 24839 Model = AISSRV_SKN 24840 IdleAnimation = AISSRV_SKL.AISSRV_STA 24841 AnimationMode = ONCE 24842 TransitionKey = TRANS_Stand 24843 End 24844 End 24845 24846 ; ***DESIGN parameters *** 24847 DisplayName = OBJECT:BioHazardTech 24848 Side = America 24849 EditorSorting = INFANTRY 24850 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 24851 WeaponSet 24852 Conditions = None 24853 Weapon = PRIMARY None 24854 End 24855 ArmorSet 24856 Conditions = None 24857 Armor = HumanArmor 24858 DamageFX = InfantryDamageFX 24859 End 24860 VisionRange = 150 24861 ShroudClearingRange = 150 24862 Prerequisites 24863 Object = AmericaBarracks 24864 End 24865 BuildCost = 100 24866 BuildTime = 1.0 ;in seconds 24867 24868 ; *** AUDIO Parameters *** 24869 VoiceSelect = RangerVoiceSelect 24870 VoiceMove = RangerVoiceMove 24871 VoiceAttack = RangerVoiceAttack 24872 SoundDie = RangerVoiceDie 24873 SoundDieFire = DieByFireUSA 24874 SoundDieToxin = DieByToxinUSA 24875 24876 ; *** ENGINEERING Parameters *** 24877 RadarPriority = UNIT 24878 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 24879 24880 Body = ActiveBody ModuleTag_02 24881 MaxHealth = 50.0 24882 InitialHealth = 50.0 24883 End 24884 24885 Behavior = AIUpdateInterface ModuleTag_03 24886 AutoAcquireEnemiesWhenIdle = Yes 24887 End 24888 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 24889 ScanRate = 1000 ; once a second. 24890 ScanRange = 300 ; 24891 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 24892 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 24893 End 24894 24895 Locomotor = SET_NORMAL BasicHumanLocomotor 24896 Behavior = PhysicsBehavior ModuleTag_05 24897 Mass = 5.0 24898 End 24899 Behavior = SlowDeathBehavior ModuleTag_06 24900 SinkDelay = 3000 24901 SinkRate = 0.5 ; in Dist/Sec 24902 DestructionDelay = 8000 24903 End 24904 24905 Behavior = ExperienceScalarUpgrade ModuleTag_07 24906 TriggeredBy = Upgrade_AmericaAdvancedTraining 24907 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 24908 End 24909 24910 Behavior = SquishCollide ModuleTag_08 24911 ;nothing 24912 End 24913 24914 24915 Behavior = FXListDie ModuleTag_09 24916 DeathTypes = ALL -CRUSHED -SPLATTED 24917 DeathFX = FX_GIDie 24918 End 24919 Behavior = FXListDie ModuleTag_10 24920 DeathTypes = NONE +CRUSHED +SPLATTED 24921 DeathFX = FX_GIDieCrushed 24922 End 24923 24924 Behavior = PoisonedBehavior ModuleTag_11 24925 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 24926 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 24927 End 24928 24929 Geometry = CYLINDER 24930 GeometryMajorRadius = 10.0 24931 GeometryMinorRadius = 10.0 24932 GeometryHeight = 12.0 24933 GeometryIsSmall = Yes 24934 Shadow = SHADOW_DECAL 24935 ShadowSizeX = 14; 24936 ShadowSizeY = 14; 24937 ShadowTexture = ShadowI; 24938 BuildCompletion = APPEARS_AT_RALLY_POINT 24939 24940 End 24941 24942 ;------------------------------------------------------------------------------ 24943 ; 24944 ; ??? This unit is used in a mission for "color". 24945 ; This unit is never human-controllable! 24946 ; @todo srj -- is this used for ANYTHING? 24947 ; 24948 Object ChinaInfantryAgent 24949 24950 ; *** ART Parameters *** 24951 Draw = W3DModelDraw ModuleTag_01 24952 OkToChangeModelColor = Yes 24953 24954 ;NORMAL STANDING 24955 DefaultConditionState 24956 Model = AIRngr_SKN 24957 IdleAnimation = AIRngr_SKL.AIRngr_STA 0 21 24958 ;Regular spice animations 24959 IdleAnimation = AIRngr_SKL.AIRngr_IDA 24960 IdleAnimation = AIRngr_SKL.AIRngr_IDB 24961 AnimationMode = ONCE 24962 WeaponFireFXBone = PRIMARY Muzzle 24963 WeaponMuzzleFlash = PRIMARY MuzzleFX 24964 TransitionKey = TRANS_Stand 24965 End 24966 24967 ; NORMAL ATTACK (Cutting fence via wirecutters) 24968 ConditionState = PREATTACK_A 24969 Animation = AIRngr_SKL.AIRngr_ATA 24970 AnimationMode = ONCE 24971 TransitionKey = TRANS_FiringA 24972 End 24973 AliasConditionState = FIRING_A 24974 AliasConditionState = BETWEEN_FIRING_SHOTS_A 24975 AliasConditionState = RELOADING_A 24976 AliasConditionState = MOVING FIRING_A 24977 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 24978 AliasConditionState = MOVING RELOADING_A 24979 AliasConditionState = FIRING_A REALLYDAMAGED 24980 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 24981 AliasConditionState = RELOADING_A REALLYDAMAGED 24982 24983 ; SECONDARY ATTACK (Flash-bang grenades) 24984 ConditionState = FIRING_B 24985 Animation = AIRngr_SKL.AIRngr_ATB 24986 AnimationMode = ONCE 24987 WeaponFireFXBone = SECONDARY Muzzle 24988 WeaponLaunchBone = SECONDARY Muzzle 24989 TransitionKey = TRANS_FiringB 24990 End 24991 24992 AliasConditionState = BETWEEN_FIRING_SHOTS_B 24993 AliasConditionState = RELOADING_B 24994 24995 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 24996 AliasConditionState = MOVING FIRING_B 24997 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B 24998 AliasConditionState = MOVING RELOADING_B 24999 25000 ConditionState = MOVING 25001 Animation = AIRngr_SKL.AIRngr_RNA 15 25002 AnimationMode = LOOP 25003 Flags = RANDOMSTART 25004 TransitionKey = None 25005 ParticleSysBone = None InfantryDustTrails 25006 End 25007 25008 ConditionState = MOVING REALLYDAMAGED 25009 ; 25010 ; there is a new, optional number following the animation... 25011 ; it represents the distance that a single loop the animation would 25012 ; cover. (ie, maybe it has the solder taking three strides, for a 25013 ; distance of 30 or so) 25014 ; 25015 ; how to tweak the number: 25016 ; -- "skidding"? reduce the number 25017 ; -- "running in place"? increase the number 25018 ; 25019 ; note that playing animations at abormal speeds may look odd in some cases. 25020 ; (e.g., a "limping" animation played too fast looks really odd.) 25021 ; 25022 Animation = AIRngr_SKL.AIRngr_RNB 30 25023 AnimationMode = LOOP 25024 Flags = RANDOMSTART 25025 TransitionKey = None 25026 ParticleSysBone = None InfantryDustTrails 25027 End 25028 25029 ConditionState = DYING 25030 Animation = AIRngr_SKL.AIRngr_DTA 25031 Animation = AIRngr_SKL.AIRngr_DTB 25032 AnimationMode = ONCE 25033 TransitionKey = None 25034 End 25035 25036 ConditionState = SPECIAL_CHEERING 25037 Animation = AIRngr_SKL.AIRngr_CHA 25038 AnimationMode = LOOP 25039 End 25040 25041 ;PARACHUTING ANIMATIONS 25042 ConditionState = FREEFALL 25043 Animation = AIRngr_SKL.AIRngr_PFL 25044 AnimationMode = LOOP 25045 TransitionKey = TRANS_Falling 25046 End 25047 AliasConditionState = FREEFALL REALLYDAMAGED 25048 AliasConditionState = FREEFALL DYING 25049 ConditionState = PARACHUTING 25050 Animation = AIRngr_SKL.AIRngr_PHG 25051 AnimationMode = LOOP 25052 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 25053 TransitionKey = TRANS_Chute 25054 End 25055 AliasConditionState = PARACHUTING REALLYDAMAGED 25056 AliasConditionState = PARACHUTING DYING 25057 TransitionState = TRANS_Falling TRANS_Chute 25058 Animation = AIRngr_SKL.AIRngr_POP 25059 AnimationMode = ONCE 25060 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 25061 End 25062 TransitionState = TRANS_Chute TRANS_Stand 25063 Animation = AIRngr_SKL.AIRngr_PTD 25064 AnimationMode = ONCE 25065 End 25066 25067 ;SURRENDER ANIMATIONS 25068 ; surrender is cut. sorry. (srj) 25069 ; ConditionState = SURRENDER 25070 ; Animation = AIRngr_SKL.AIRngr_SST 25071 ; AnimationMode = ONCE 25072 ; TransitionKey = TRANS_SurrenderKneeling 25073 ; End 25074 ; ConditionState = SURRENDER MOVING 25075 ; Animation = AIRngr_SKL.AIRngr_SWKB 25076 ; AnimationMode = ONCE 25077 ; TransitionKey = TRANS_SurrenderMoving 25078 ; ParticleSysBone = None InfantryDustTrails 25079 ; End 25080 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 25081 ; Animation = AIRngr_SKL.AIRngr_SUR 25082 ; AnimationMode = ONCE 25083 ; End 25084 25085 ; RAPPELLING ANIMATIONS 25086 ConditionState = RAPPELLING 25087 Animation = AIRngr_SKL.AIRngr_RPL1 ;30 25088 AnimationMode = LOOP 25089 Flags = RANDOMSTART 25090 TransitionKey = TRANS_Rappelling 25091 End 25092 AliasConditionState = MOVING RAPPELLING 25093 25094 TransitionState = TRANS_Rappelling TRANS_Stand 25095 Animation = AIRngr_SKL.AIRngr_RPL2 25096 AnimationMode = ONCE 25097 End 25098 25099 End 25100 25101 ; ***DESIGN parameters *** 25102 DisplayName = OBJECT:Agent 25103 Side = China 25104 EditorSorting = INFANTRY 25105 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 25106 WeaponSet 25107 Conditions = None 25108 Weapon = PRIMARY RedguardMachineGun 25109 End 25110 ; sorry, no stun bullets, cut for this version (srj) 25111 ; WeaponSet 25112 ; Conditions = PLAYER_UPGRADE 25113 ; Weapon = PRIMARY RedguardStunBulletsMachineGun 25114 ; End 25115 ArmorSet 25116 Conditions = None 25117 Armor = HumanArmor 25118 DamageFX = InfantryDamageFX 25119 End 25120 VisionRange = 150 25121 ShroudClearingRange = 150 25122 Prerequisites 25123 Object = ChinaBarracks 25124 Object = ChinaPropagandaCenter 25125 End 25126 25127 BuildCost = 600 25128 BuildTime = 20.0 ;in seconds 25129 25130 ExperienceValue = 50 100 150 400 ;Experience point value at each level 25131 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 25132 IsTrainable = Yes ;Can gain experience 25133 25134 ; *** AUDIO Parameters *** 25135 VoiceSelect = RedGuardVoiceSelect 25136 VoiceGroupSelect = BattleCrySound 25137 VoiceMove = RedGuardVoiceMove 25138 VoiceAttack = RedGuardVoiceAttack 25139 SoundDie = RedGuardVoiceDie 25140 SoundDieFire = DieByFireChina 25141 SoundDieToxin = DieByToxinChina 25142 25143 ; *** ENGINEERING Parameters *** 25144 RadarPriority = UNIT 25145 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE 25146 25147 Body = ActiveBody ModuleTag_02 25148 MaxHealth = 100.0 25149 InitialHealth = 100.0 25150 End 25151 25152 Behavior = VeterancyGainCreate ModuleTag_03 25153 StartingLevel = VETERAN 25154 End 25155 25156 Behavior = StealthUpdate ModuleTag_04 25157 StealthDelay = 2000 ; msec 25158 StealthForbiddenConditions = ATTACKING 25159 FriendlyOpacityMin = 50.0% 25160 InnateStealth = Yes 25161 OrderIdleEnemiesToAttackMeUponReveal = Yes 25162 End 25163 25164 Behavior = AIUpdateInterface ModuleTag_05 25165 AutoAcquireEnemiesWhenIdle = Yes 25166 End 25167 Locomotor = SET_NORMAL BasicHumanLocomotor 25168 Behavior = PhysicsBehavior ModuleTag_06 25169 Mass = 5.0 25170 End 25171 Behavior = SlowDeathBehavior ModuleTag_07 25172 SinkDelay = 3000 25173 SinkRate = 0.5 ; in Dist/Sec 25174 DestructionDelay = 8000 25175 End 25176 25177 25178 Behavior = SquishCollide ModuleTag_08 25179 ;nothing 25180 End 25181 25182 25183 Behavior = FXListDie ModuleTag_09 25184 DeathTypes = ALL -CRUSHED -SPLATTED 25185 DeathFX = FX_GIDie 25186 End 25187 Behavior = FXListDie ModuleTag_10 25188 DeathTypes = NONE +CRUSHED +SPLATTED 25189 DeathFX = FX_GIDieCrushed 25190 End 25191 25192 Behavior = PoisonedBehavior ModuleTag_11 25193 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 25194 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 25195 End 25196 25197 Geometry = CYLINDER 25198 GeometryMajorRadius = 10.0 25199 GeometryMinorRadius = 10.0 25200 GeometryHeight = 12.0 25201 GeometryIsSmall = Yes 25202 Shadow = SHADOW_DECAL 25203 ShadowSizeX = 14; 25204 ShadowSizeY = 14; 25205 ShadowTexture = ShadowI; 25206 BuildCompletion = APPEARS_AT_RALLY_POINT 25207 25208 End 25209 25210 ;------------------------------------------------------------------------------ 25211 ;The Marauder Tank, for the Warlord General. 25212 Object GLATankMarauder 25213 25214 ; *** ART Parameters *** 25215 SelectPortrait = SUMarauder_L 25216 ButtonImage = SUMarauder 25217 25218 UpgradeCameo1 = Upgrade_GLAToxinShells 25219 UpgradeCameo2 = Upgrade_GLAJunkRepair 25220 ;UpgradeCameo3 = NONE 25221 ;UpgradeCameo4 = NONE 25222 ;UpgradeCameo5 = NONE 25223 25224 Draw = W3DTankDraw ModuleTag_01 25225 OkToChangeModelColor = Yes 25226 25227 ; no crate upgrade 25228 ConditionState = NONE 25229 Model = UVMarauder 25230 Turret = Turret 25231 ShowSubObject = Turret 25232 HideSubObject = TurretUp01 TurretUp02 BarrelFX01 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash 25233 WeaponFireFXBone = PRIMARY BarrelMS 25234 WeaponRecoilBone = PRIMARY Barrel 25235 WeaponMuzzleFlash = PRIMARY BarrelFX 25236 WeaponLaunchBone = PRIMARY BarrelMS 25237 End 25238 25239 ConditionState = REALLYDAMAGED 25240 Model = UVMarauder_d 25241 Turret = Turret 25242 ShowSubObject = Turret 25243 HideSubObject = TurretUp01 TurretUp02 BarrelFX01 25244 WeaponFireFXBone = PRIMARY BarrelMS 25245 WeaponRecoilBone = PRIMARY Barrel 25246 WeaponMuzzleFlash = PRIMARY BarrelFX 25247 WeaponLaunchBone = PRIMARY BarrelMS 25248 End 25249 25250 ConditionState = RUBBLE 25251 Model = UVMarauder_d 25252 Turret = Turret 25253 ShowSubObject = Turret 25254 HideSubObject = TurretUp01 TurretUp02 BarrelFX01 25255 WeaponFireFXBone = PRIMARY BarrelMS 25256 WeaponRecoilBone = PRIMARY Barrel 25257 WeaponMuzzleFlash = PRIMARY BarrelFX 25258 WeaponLaunchBone = PRIMARY BarrelMS 25259 End 25260 25261 ; crate upgrade 1 25262 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 25263 Model = UVMarauder 25264 Turret = TurretUp01 25265 ShowSubObject = TurretUp01 25266 HideSubObject = Turret TurretUp02 BarrelUp01FX01 25267 WeaponFireFXBone = PRIMARY BarrelUp01MS 25268 WeaponRecoilBone = PRIMARY BarrelUp01 25269 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 25270 WeaponLaunchBone = PRIMARY BarrelUp01MS 25271 End 25272 25273 ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE 25274 Model = UVMarauder_d 25275 Turret = TurretUp01 25276 ShowSubObject = TurretUp01 25277 HideSubObject = Turret TurretUp02 BarrelUp01FX01 25278 WeaponFireFXBone = PRIMARY BarrelUp01MS 25279 WeaponRecoilBone = PRIMARY BarrelUp01 25280 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 25281 WeaponLaunchBone = PRIMARY BarrelUp01MS 25282 End 25283 25284 ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_ONE 25285 Model = UVMarauder_d 25286 Turret = TurretUp01 25287 ShowSubObject = TurretUp01 25288 HideSubObject = Turret TurretUp02 BarrelUp01FX01 25289 WeaponFireFXBone = PRIMARY BarrelUp01MS 25290 WeaponRecoilBone = PRIMARY BarrelUp01 25291 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 25292 WeaponLaunchBone = PRIMARY BarrelUp01MS 25293 End 25294 25295 ; crate upgrade 2 25296 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 25297 Model = UVMarauder 25298 Turret = TurretUp02 25299 ShowSubObject = TurretUp02 25300 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 25301 WeaponFireFXBone = PRIMARY BarrelUp02MS 25302 WeaponRecoilBone = PRIMARY BarrelUp02 25303 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 25304 WeaponLaunchBone = PRIMARY BarrelUp02MS 25305 End 25306 25307 ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO 25308 Model = UVMarauder_d 25309 Turret = TurretUp02 25310 ShowSubObject = TurretUp02 25311 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 25312 WeaponFireFXBone = PRIMARY BarrelUp02MS 25313 WeaponRecoilBone = PRIMARY BarrelUp02 25314 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 25315 WeaponLaunchBone = PRIMARY BarrelUp02MS 25316 End 25317 25318 ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_TWO 25319 Model = UVMarauder_d 25320 Turret = TurretUp02 25321 ShowSubObject = TurretUp02 25322 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 25323 WeaponFireFXBone = PRIMARY BarrelUp02MS 25324 WeaponRecoilBone = PRIMARY BarrelUp02 25325 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 25326 WeaponLaunchBone = PRIMARY BarrelUp02MS 25327 End 25328 25329 TrackMarks = EXTnkTrack.tga 25330 TreadAnimationRate = 2.0; amount of tread texture to move per second 25331 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 25332 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 25333 25334 End 25335 25336 ; ***DESIGN parameters *** 25337 DisplayName = OBJECT:Marauder 25338 Side = GLA 25339 EditorSorting = VEHICLE 25340 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 25341 WeaponSet 25342 Conditions = None 25343 Weapon = PRIMARY MarauderTankGun 25344 End 25345 WeaponSet 25346 Conditions = CRATEUPGRADE_ONE 25347 Weapon = PRIMARY MarauderTankGunUpgradeOne 25348 25349 End 25350 WeaponSet 25351 Conditions = CRATEUPGRADE_TWO 25352 Weapon = PRIMARY MarauderTankGunUpgradeTwo 25353 End 25354 ArmorSet 25355 Conditions = None 25356 Armor = TankArmor 25357 DamageFX = TankDamageFX 25358 End 25359 BuildCost = 800 25360 BuildTime = 10.0 ;in seconds 25361 VisionRange = 125 25362 ShroudClearingRange = 300 25363 Prerequisites 25364 Object = GLAArmsDealer 25365 Science = SCIENCE_MarauderTank 25366 End 25367 25368 ExperienceValue = 100 100 200 300 ;Experience point value at each level 25369 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 25370 IsTrainable = Yes ;Can gain experience 25371 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 25372 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 25373 CommandSet = GLATankMarauderCommandSet 25374 25375 ; *** AUDIO Parameters *** 25376 VoiceSelect = MarauderTankVoiceSelect 25377 VoiceMove = MarauderTankVoiceMove 25378 VoiceGuard = MarauderTankVoiceMove 25379 VoiceAttack = MarauderTankVoiceAttack 25380 SoundMoveStart = MarauderTankMoveStart 25381 SoundMoveStartDamaged = MarauderTankMoveStart 25382 25383 UnitSpecificSounds 25384 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 25385 VoiceCreate = MarauderTankVoiceCreate 25386 ;TurretMoveStart = NoSound 25387 TurretMoveLoop = TurretMoveLoop 25388 VoiceSalvage = MarauderTankVoiceSalvage 25389 VoiceCrush = MarauderTankVoiceCrush 25390 VoiceEnter = MarauderTankVoiceMove 25391 End 25392 25393 ; *** ENGINEERING Parameters *** 25394 RadarPriority = UNIT 25395 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE 25396 25397 Body = ActiveBody ModuleTag_02 25398 MaxHealth = 490.0 ;was 430.0 25399 InitialHealth = 490.0 25400 End 25401 25402 Behavior = AIUpdateInterface ModuleTag_03 25403 AutoAcquireEnemiesWhenIdle = Yes 25404 End 25405 Locomotor = SET_NORMAL MarauderLocomotor 25406 Behavior = PhysicsBehavior ModuleTag_04 25407 Mass = 50.0 25408 End 25409 Behavior = AutoHealBehavior ModuleTag_05 25410 HealingAmount = 2 25411 HealingDelay = 1000 ; msec 25412 TriggeredBy = Upgrade_GLAJunkRepair 25413 End 25414 25415 ; Catch fire, and explode death 25416 Behavior = SlowDeathBehavior ModuleTag_06 25417 DeathTypes = ALL -CRUSHED -SPLATTED 25418 ProbabilityModifier = 50 25419 DestructionDelay = 1000 25420 DestructionDelayVariance = 300 25421 FX = INITIAL FX_CrusaderCatchFire 25422 OCL = FINAL OCL_MaruaderTankDeathEffect 25423 FX = FINAL FX_BattleMasterExplosionOneFinal 25424 End 25425 25426 Behavior = CreateCrateDie ModuleTag_07 25427 CrateData = SalvageCrateData 25428 ;CrateData = EliteTankCrateData 25429 ;CrateData = HeroicTankCrateData 25430 End 25431 25432 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 25433 DetectionRate = 500 25434 DetectionRange = 75 25435 CanDetectWhileGarrisoned = No 25436 CanDetectWhileContained = No 25437 ExtraRequiredKindOf = BOAT 25438 End 25439 25440 Behavior = TransitionDamageFX ModuleTag_08 25441 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 25442 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 25443 End 25444 25445 ; A crushing defeat 25446 Behavior = FXListDie ModuleTag_09 25447 DeathTypes = NONE +CRUSHED +SPLATTED 25448 DeathFX = FX_CarCrush 25449 End 25450 25451 Behavior = FlammableUpdate ModuleTag_21 25452 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 25453 AflameDamageAmount = 3 ; taking this much damage... 25454 AflameDamageDelay = 500 ; this often. 25455 End 25456 25457 Geometry = BOX 25458 GeometryMajorRadius = 17.0 25459 GeometryMinorRadius = 10.0 25460 GeometryHeight = 9.5 25461 GeometryIsSmall = Yes 25462 Shadow = SHADOW_VOLUME 25463 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 25464 25465 End 25466 25467 ;------------------------------------------------------------------------------ 25468 Object ChinaInfantryHacker 25469 25470 ; *** ART Parameters *** 25471 SelectPortrait = SNHacker2_L 25472 ButtonImage = SNHacker2 25473 25474 ;UpgradeCameo1 = NONE 25475 ;UpgradeCameo2 = NONE 25476 ;UpgradeCameo3 = NONE 25477 ;UpgradeCameo4 = NONE 25478 ;UpgradeCameo5 = NONE 25479 25480 Draw = W3DModelDraw ModuleTag_01 25481 OkToChangeModelColor = Yes 25482 25483 ;NORMAL STANDING 25484 DefaultConditionState 25485 Model = NIHCKR_SKN 25486 IdleAnimation = NIHCKR_SKL.NIHCKR_STA 0 25 25487 ;Regular spice animations 25488 IdleAnimation = NIHCKR_SKL.NIHCKR_IDA 25489 IdleAnimation = NIHCKR_SKL.NIHCKR_IDB 25490 AnimationMode = ONCE 25491 WeaponFireFXBone = PRIMARY Bone_SatCom 25492 TransitionKey = TRANS_Stand 25493 End 25494 AliasConditionState = REALLYDAMAGED 25495 25496 ConditionState = MOVING 25497 Animation = NIHCKR_SKL.NIHCKR_RNA 14 25498 AnimationMode = LOOP 25499 Flags = RANDOMSTART 25500 TransitionKey = None 25501 ParticleSysBone = None InfantryDustTrails 25502 End 25503 AliasConditionState = MOVING UNPACKING 25504 AliasConditionState = MOVING UNPACKING REALLYDAMAGED 25505 25506 ConditionState = UNPACKING 25507 Animation = NIHCKR_SKL.NIHCKR_ATB1 25508 AnimationMode = ONCE 25509 End 25510 AliasConditionState = UNPACKING FIRING_A 25511 AliasConditionState = UNPACKING REALLYDAMAGED 25512 AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED 25513 25514 ;HACKING ATTACK 25515 ConditionState = FIRING_A 25516 Animation = NIHCKR_SKL.NIHCKR_ATB2 25517 AnimationMode = LOOP 25518 TransitionKey = TRANS_FiringA 25519 End 25520 AliasConditionState = FIRING_A REALLYDAMAGED 25521 25522 ConditionState = PACKING 25523 Animation = NIHCKR_SKL.NIHCKR_ATB3 25524 AnimationMode = ONCE 25525 End 25526 AliasConditionState = PACKING FIRING_A 25527 AliasConditionState = PACKING REALLYDAMAGED 25528 AliasConditionState = PACKING FIRING_A REALLYDAMAGED 25529 25530 25531 25532 TransitionState = TRANS_FiringA TRANS_Stand ; I was stopped by a stop command, so I get no proper PACKING state 25533 Animation = NIHCKR_SKL.NIHCKR_ATB3 25534 AnimationMode = ONCE 25535 End 25536 25537 25538 ConditionState = FREEFALL 25539 Animation = NIHCKR_SKL.NIHCKR_PFL 25540 AnimationMode = LOOP 25541 TransitionKey = TRANS_Falling 25542 End 25543 AliasConditionState = FREEFALL REALLYDAMAGED 25544 AliasConditionState = FREEFALL DYING 25545 25546 ConditionState = PARACHUTING 25547 Animation = NIHCKR_SKL.NIHCKR_PHG 25548 AnimationMode = LOOP 25549 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 25550 TransitionKey = TRANS_Chute 25551 End 25552 AliasConditionState = PARACHUTING REALLYDAMAGED 25553 AliasConditionState = PARACHUTING DYING 25554 25555 25556 ConditionState = DYING 25557 Animation = NIHCKR_SKL.NIHCKR_DTA 25558 Animation = NIHCKR_SKL.NIHCKR_DTB 25559 AnimationMode = ONCE 25560 TransitionKey = TRANS_Dying 25561 End 25562 25563 TransitionState = TRANS_Dying TRANS_Flailing 25564 Animation = NIHCKR_SKL.NIHCKR_ADTG1 25565 AnimationMode = ONCE 25566 End 25567 25568 ConditionState = DYING EXPLODED_FLAILING 25569 Animation = NIHCKR_SKL.NIHCKR_ADTG2 25570 AnimationMode = LOOP 25571 TransitionKey = TRANS_Flailing 25572 End 25573 25574 ConditionState = DYING EXPLODED_BOUNCING 25575 Animation = NIHCKR_SKL.NIHCKR_ADTG3 25576 AnimationMode = ONCE 25577 TransitionKey = None 25578 End 25579 25580 ConditionState = SPECIAL_CHEERING 25581 Animation = NIHCKR_SKL.NIHCKR_CHA 25582 AnimationMode = LOOP 25583 End 25584 25585 ; surrender is cut. sorry. (srj) 25586 ; ConditionState = SURRENDER 25587 ; Animation = NIHCKR_SKL.NIHCKR_SST 25588 ; AnimationMode = ONCE 25589 ; TransitionKey = TRANS_SurrenderKneeling 25590 ; End 25591 ; ;@TODO -- ANIMATION FILE MISSING 25592 ; ;ConditionState = SURRENDER MOVING 25593 ; ; Animation = NIHCKR_SKL.NIHCKR_SWKB 25594 ; ; AnimationMode = ONCE 25595 ; ; TransitionKey = TRANS_SurrenderMoving 25596 ; ;End 25597 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 25598 ; Animation = NIHCKR_SKL.NIHCKR_SUR 25599 ; AnimationMode = ONCE 25600 ; End 25601 25602 25603 TransitionState = TRANS_Falling TRANS_Chute 25604 Animation = NIHCKR_SKL.NIHCKR_POP 25605 AnimationMode = ONCE 25606 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 25607 End 25608 25609 TransitionState = TRANS_Chute TRANS_Stand 25610 Animation = NIHCKR_SKL.NIHCKR_PTD 25611 AnimationMode = ONCE 25612 End 25613 25614 End 25615 25616 ; ***DESIGN parameters *** 25617 DisplayName = OBJECT:Hacker 25618 Side = China 25619 EditorSorting = INFANTRY 25620 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 25621 25622 ArmorSet 25623 Conditions = None 25624 Armor = HumanArmor 25625 DamageFX = InfantryDamageFX 25626 End 25627 VisionRange = 150 25628 ShroudClearingRange = 300 25629 Prerequisites 25630 Object = ChinaBarracks 25631 Object = ChinaPropagandaCenter 25632 End 25633 BuildCost = 625 25634 BuildTime = 20.0 ;in seconds 25635 ExperienceValue = 50 100 150 400 ;Experience point value at each level 25636 ExperienceRequired = 0 100 300 500 ;Experience points needed to gain each level 25637 IsTrainable = Yes ;Can gain experience 25638 25639 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 25640 CommandSet = ChinaInfantryHackerCommandSet 25641 25642 ; *** AUDIO Parameters *** 25643 VoiceSelect = HackerVoiceSelect 25644 VoiceMove = HackerVoiceMove 25645 VoiceAttack = HackerVoiceAttack 25646 SoundDie = HackerVoiceDie 25647 SoundDieFire = DieByFireChina 25648 SoundDieToxin = DieByToxinChina 25649 VoiceGuard = HackerVoiceMove 25650 ; surrender is cut. sorry. (srj) 25651 ; VoiceSurrender = HackerVoiceMove 25652 VoiceFear = HackerVoiceFear 25653 VoiceTaskComplete = HackerVoiceHackComplete 25654 UnitSpecificSounds 25655 VoiceGarrison = HackerVoiceGarrison 25656 VoiceCreate = HackerVoiceCreate 25657 UnitPack = HackerPack 25658 UnitUnpack = HackerUnpack 25659 UnitCashPing = HackerCashPing 25660 VoiceEnter = HackerVoiceMove 25661 VoiceEnterHostile = HackerVoiceMove 25662 VoiceGetHealed = HackerVoiceMove 25663 VoiceHackInternet = HackerVoiceModeInternet 25664 End 25665 25666 ; *** ENGINEERING Parameters *** 25667 RadarPriority = UNIT 25668 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE IGNORES_SELECT_ALL 25669 25670 Body = ActiveBody ModuleTag_02 25671 MaxHealth = 100.0 25672 InitialHealth = 100.0 25673 End 25674 25675 Behavior = HackInternetAIUpdate ModuleTag_03 25676 UnpackTime = 7300 ;animation time is 7300 (changing this will scale anim speed) 25677 PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) 25678 CashUpdateDelay = 2000 25679 RegularCashAmount = 5 25680 VeteranCashAmount = 6 25681 EliteCashAmount = 8 25682 HeroicCashAmount = 10 25683 XpPerCashUpdate = 1 25684 PackUnpackVariationFactor = 0.5 ;Adds + or - 20% to pack and unpack time randomly. 25685 End 25686 Locomotor = SET_NORMAL BasicHumanLocomotor 25687 25688 Behavior = SpecialAbility ModuleTag_04 25689 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding 25690 UpdateModuleStartsAttack = Yes 25691 InitiateSound = HackerVoiceHack 25692 End 25693 25694 Behavior = SpecialAbilityUpdate ModuleTag_05 25695 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding 25696 StartAbilityRange = 150.0 25697 UnpackTime = 7300 ;animation time is 7300 (changing this will scale anim speed) 25698 PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) 25699 PreparationTime = 3000 25700 25701 ;PersistentPrepTime = 500 ; old setting 25702 PersistentPrepTime = 333 ; NOTE! This drives how often the disable effect gets triggered 25703 ; This is also how often a new particle system effect is spawned 25704 EffectDuration = 2000 25705 SpecialObject = BinaryDataStream 25706 DisableFXParticleSystem = DisabledEffectBinaryShower0 25707 PackSound = HackerPack 25708 UnpackSound = HackerUnpack 25709 PrepSoundLoop = HackerPrepLoop 25710 AwardXPForTriggering = 0 ;Careful, this is persistant so it's a DoT xp gain! 25711 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 25712 End 25713 25714 25715 Behavior = PhysicsBehavior ModuleTag_06 25716 Mass = 5.0 25717 End 25718 25719 Behavior = SquishCollide ModuleTag_08 25720 ;nothing 25721 End 25722 25723 25724 ; --- begin Death modules --- 25725 Behavior = SlowDeathBehavior ModuleTag_Death01 25726 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 25727 SinkDelay = 3000 25728 SinkRate = 0.5 ; in Dist/Sec 25729 DestructionDelay = 8000 25730 FX = INITIAL FX_GIDie 25731 End 25732 Behavior = SlowDeathBehavior ModuleTag_Death02 25733 DeathTypes = NONE +CRUSHED +SPLATTED 25734 SinkDelay = 3000 25735 SinkRate = 0.5 ; in Dist/Sec 25736 DestructionDelay = 8000 25737 FX = INITIAL FX_GIDieCrushed 25738 End 25739 Behavior = SlowDeathBehavior ModuleTag_Death03 25740 DeathTypes = NONE +EXPLODED 25741 SinkDelay = 3000 25742 SinkRate = 0.5 ; in Dist/Sec 25743 DestructionDelay = 8000 25744 FX = INITIAL FX_GIDie 25745 FlingForce = 8 25746 FlingForceVariance = 3 25747 FlingPitch = 60 25748 FlingPitchVariance = 10 25749 End 25750 Behavior = SlowDeathBehavior ModuleTag_Death04 25751 DeathTypes = NONE +BURNED 25752 DestructionDelay = 0 25753 FX = INITIAL FX_GIDie 25754 OCL = INITIAL OCL_FlamingInfantry 25755 End 25756 Behavior = SlowDeathBehavior ModuleTag_Death05 25757 DeathTypes = NONE +POISONED 25758 DestructionDelay = 0 25759 FX = INITIAL FX_GIDie 25760 OCL = INITIAL OCL_ToxicInfantry 25761 End 25762 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 25763 DeathTypes = NONE +POISONED_BETA 25764 DestructionDelay = 0 25765 FX = INITIAL FX_GIDie 25766 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 25767 End 25768 ; --- end Death modules --- 25769 25770 Behavior = PoisonedBehavior ModuleTag_11 25771 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 25772 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 25773 End 25774 25775 Geometry = CYLINDER 25776 GeometryMajorRadius = 10.0 25777 GeometryMinorRadius = 10.0 25778 GeometryHeight = 12.0 25779 GeometryIsSmall = Yes 25780 Shadow = SHADOW_DECAL 25781 ShadowSizeX = 14; 25782 ShadowSizeY = 14; 25783 ShadowTexture = ShadowI; 25784 BuildCompletion = APPEARS_AT_RALLY_POINT 25785 25786 End 25787 25788 ;------------------------------------------------------------------------------ 25789 ;GLA Radar Van 25790 Object GLAVehicleRadarVan 25791 25792 ; *** ART Parameters *** 25793 SelectPortrait = SURadarVan_L 25794 ButtonImage = SURadarVan 25795 25796 UpgradeCameo1 = Upgrade_GLARadarVanScan 25797 UpgradeCameo2 = Upgrade_GLAJunkRepair 25798 ;UpgradeCameo3 = NONE 25799 ;UpgradeCameo4 = NONE 25800 ;UpgradeCameo5 = NONE 25801 25802 Draw = W3DTruckDraw ModuleTag_01 25803 OkToChangeModelColor = Yes 25804 25805 DefaultConditionState 25806 Model = UVRadarVan 25807 Animation = UVRadarVan.UVRadarVan 25808 AnimationMode = LOOP 25809 End 25810 25811 ConditionState = REALLYDAMAGED 25812 Model = UVRadarVan_D 25813 Animation = UVRadarVan_D.UVRadarVan_D 25814 AnimationMode = LOOP 25815 End 25816 25817 ConditionState = RUBBLE 25818 Model = UVRadarVan_D 25819 Animation = UVRadarVan_D.UVRadarVan_D 25820 AnimationMode = LOOP 25821 End 25822 25823 TrackMarks = EXTireTrack.tga 25824 Dust = TechnicalDust 25825 DirtSpray = RocketBuggyDirtSpray 25826 PowerslideSpray = RocketBuggyDirtPowerSlide 25827 25828 ; These parameters are only used if the model has a separate suspension, 25829 ; and the locomotor has HasSuspension = Yes. 25830 LeftFrontTireBone = Tire01 25831 RightFrontTireBone = Tire02 25832 LeftRearTireBone = Tire03 25833 RightRearTireBone = Tire04 25834 TireRotationMultiplier = 0.2 ; this * speed = rotation. 25835 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 25836 End 25837 25838 ; ***DESIGN parameters *** 25839 DisplayName = OBJECT:RadarVan 25840 Side = GLA 25841 EditorSorting = VEHICLE 25842 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 25843 ArmorSet 25844 Conditions = None 25845 Armor = TruckArmor 25846 DamageFX = TankDamageFX 25847 End 25848 BuildCost = 500 25849 BuildTime = 10.0 ;in seconds 25850 VisionRange = 200 25851 ShroudClearingRange = 500 25852 Prerequisites 25853 Object = GLAArmsDealer 25854 End 25855 IsTrainable = No 25856 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 25857 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 25858 CommandSet = GLAVehicleRadarVanCommandSet 25859 25860 ; *** AUDIO Parameters *** 25861 VoiceSelect = RadarVanVoiceSelect 25862 VoiceMove = RadarVanVoiceMove 25863 VoiceAttack = RadarVanVoiceMove 25864 SoundMoveStart = RadarVanMoveStart 25865 SoundMoveStartDamaged = RadarVanMoveStart 25866 25867 UnitSpecificSounds 25868 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 25869 VoiceCreate = RadarVanVoiceCreate 25870 TurretMoveStart = NoSound 25871 TurretMoveLoop = TurretMoveLoop 25872 ; Required for the W3DTruckDraw module 25873 TruckLandingSound = NoSound ;RocketBuggyLand 25874 TruckPowerslideSound = NoSound ;RocketBuggyPowerslide 25875 VoiceCrush = RadarVanVoiceCrush 25876 VoiceEnter = RadarVanVoiceMove 25877 End 25878 25879 ; *** ENGINEERING Parameters *** 25880 RadarPriority = UNIT 25881 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE IGNORES_SELECT_ALL 25882 25883 Body = ActiveBody ModuleTag_02 25884 MaxHealth = 200 25885 InitialHealth = 200 25886 End 25887 25888 ExperienceValue = 20 20 20 20 ; Experience point value at each level 25889 25890 Behavior = GrantUpgradeCreate ModuleTag_03 25891 UpgradeToGrant = Upgrade_GLARadar 25892 End 25893 Behavior = RadarUpgrade ModuleTag_05 25894 TriggeredBy = Upgrade_GLARadar 25895 DisableProof = Yes ; Won't be disabled by power low 25896 End 25897 25898 Behavior = OCLSpecialPower ModuleTag_06 25899 SpecialPowerTemplate = SpecialPowerRadarVanScan 25900 OCL = SUPERWEAPON_RadarVanScan 25901 CreateLocation = CREATE_AT_LOCATION 25902 StartsPaused = Yes ; Unpaused by upgrade module 25903 End 25904 25905 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_07 25906 SpecialPowerTemplate = SpecialPowerRadarVanScan 25907 TriggeredBy = Upgrade_GLARadarVanScan 25908 End 25909 25910 ;Of course, the developers HAD to remove the code :| 25911 ;Behavior = TechRadioStationRadioJam ModuleTag_12 25912 ; SpecialPowerTemplate = SpecialWeaponRadioJam 25913 ; StunDistance = 200.0 ; distance to stun from center of click 25914 ; HeldTime = 15000 25915 ;End 25916 25917 Behavior = AutoHealBehavior ModuleTag_08 25918 HealingAmount = 2 25919 HealingDelay = 1000 ; msec 25920 TriggeredBy = Upgrade_GLAJunkRepair 25921 End 25922 25923 Behavior = AIUpdateInterface ModuleTag_09 25924 Turret 25925 TurretTurnRate = 100 25926 ControlledWeaponSlots = PRIMARY 25927 End 25928 End 25929 Locomotor = SET_NORMAL RadarVanLocomotor 25930 25931 Behavior = PhysicsBehavior ModuleTag_10 25932 Mass = 50.0 25933 End 25934 25935 ; The default explosion 25936 Behavior = SlowDeathBehavior ModuleTag_11 25937 DeathTypes = ALL -CRUSHED -SPLATTED 25938 ProbabilityModifier = 5 25939 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 25940 DestructionDelay = 0 25941 DestructionDelayVariance = 200 25942 FX = FINAL FX_BuggyNewDeathExplosion 25943 OCL = FINAL OCL_RadarVanDeathEffect 25944 End 25945 25946 25947 Behavior = FlammableUpdate ModuleTag_13 25948 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 25949 AflameDamageAmount = 3 ; taking this much damage... 25950 AflameDamageDelay = 500 ; this often. 25951 End 25952 25953 Behavior = DestroyDie ModuleTag_14 25954 DeathTypes = NONE +CRUSHED +SPLATTED 25955 End 25956 Behavior = CreateCrateDie ModuleTag_15 25957 CrateData = SalvageCrateData 25958 ;CrateData = EliteTankCrateData 25959 ;CrateData = HeroicTankCrateData 25960 End 25961 25962 Behavior = StealthDetectorUpdate ModuleTag_16 25963 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 25964 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 25965 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 25966 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 25967 End 25968 25969 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 25970 DetectionRate = 500 25971 DetectionRange = 75 25972 CanDetectWhileGarrisoned = No 25973 CanDetectWhileContained = No 25974 ExtraRequiredKindOf = BOAT 25975 End 25976 25977 ; A crushing defeat 25978 Behavior = FXListDie ModuleTag_17 25979 DeathTypes = NONE +CRUSHED +SPLATTED 25980 DeathFX = FX_CarCrush 25981 End 25982 Behavior = CreateObjectDie ModuleTag_18 25983 DeathTypes = NONE +CRUSHED +SPLATTED 25984 CreationList = OCL_CrusaderTank_CrushEffect 25985 End 25986 25987 Behavior = TransitionDamageFX ModuleTag_19 25988 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 25989 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_CrusaderDamageTransition 25990 End 25991 25992 Geometry = BOX 25993 GeometryMajorRadius = 16.0 25994 GeometryMinorRadius = 6.0 25995 GeometryHeight = 12.5 25996 GeometryIsSmall = Yes 25997 Shadow = SHADOW_VOLUME 25998 ShadowSizeX = 45 ;minimum elevation angle above horizon. Used to limit shadow length 25999 26000 End 26001 26002 26003 ;------------------------------------------------------------------------------ 26004 Object AmericaVehicleBattleShip 26005 26006 ; *** ART Parameters *** 26007 Draw = W3DTankDraw ModuleTag_01 26008 OkToChangeModelColor = Yes 26009 InitialRecoilSpeed = 120 26010 MaxRecoilDistance = 8 26011 RecoilSettleSpeed = 6 26012 ConditionState = NONE 26013 Model = AVBattleSh 26014 Animation = AVBattleSh.AVBattleSh 26015 AnimationMode = LOOP 26016 Turret = Turret01 26017 TurretPitch = TurretEL01 26018 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 26019 AltTurret = Turret02 26020 AltTurretPitch = TurretEL02 26021 WeaponFireFXBone = PRIMARY Tur1Muzzle 26022 WeaponRecoilBone = PRIMARY Tur1Barrel 26023 WeaponFireFXBone = SECONDARY Tur2Muzzle 26024 WeaponRecoilBone = SECONDARY Tur2Barrel 26025 ; ParticleSysBone = TreadFX01 WaveSpray01 26026 ; ParticleSysBone = TreadFX02 WaveSpray01 26027 ; ParticleSysBone = TreadFX03 WaveSpray01 26028 ; ParticleSysBone = TreadFX04 WaveSpray01 26029 ; ParticleSysBone = TreadFX05 WaveSpray01 26030 ; ParticleSysBone = TreadFX06 WaveSpray01 26031 ; ParticleSysBone = TreadFX07 WaveSpray01 26032 ; ParticleSysBone = TreadFX08 WaveSpray01 26033 ; ParticleSysBone = TreadFX09 WaveSpray01 26034 ; ParticleSysBone = TreadFX10 WaveSpray01 26035 ; ParticleSysBone = TreadFX11 WaveSpray01 26036 ; ParticleSysBone = TreadFX12 WaveSpray01 26037 End 26038 End 26039 26040 ; ***DESIGN parameters *** 26041 DisplayName = OBJECT:Battleship 26042 Side = America 26043 EditorSorting = VEHICLE 26044 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 26045 WeaponSet 26046 Conditions = None 26047 Weapon = PRIMARY BattleshipBogusGun 26048 Weapon = SECONDARY BattleshipBogusGun 26049 End 26050 ArmorSet 26051 Conditions = None 26052 Armor = InvulnerableArmor 26053 End 26054 VisionRange = 300 26055 ShroudClearingRange = 300 26056 26057 ; *** AUDIO Parameters *** 26058 SoundAmbient = BattleshipAmbientLoop 26059 26060 UnitSpecificSounds 26061 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 26062 TurretMoveLoop = TurretMoveLoop 26063 End 26064 26065 ; *** ENGINEERING Parameters *** 26066 RadarPriority = UNIT 26067 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE SELECTABLE 26068 26069 Body = ActiveBody ModuleTag_02 26070 MaxHealth = 99999.0 26071 InitialHealth = 99999.0 26072 End 26073 Behavior = AIUpdateInterface ModuleTag_03 26074 Turret 26075 TurretTurnRate = 80 26076 TurretPitchRate = 80 26077 FirePitch = 12 ; Instead of aiming pitchwise at the target, it will aim here 26078 AllowsPitch = Yes 26079 RecenterTime = 5000 ; how long to wait during idle before recentering 26080 ControlledWeaponSlots = PRIMARY 26081 NaturalTurretAngle = 180 ; this turret points backwards normally 26082 End 26083 AltTurret 26084 TurretTurnRate = 80 26085 TurretPitchRate = 80 26086 FirePitch = 15 ; Instead of aiming pitchwise at the target, it will aim here 26087 AllowsPitch = Yes 26088 RecenterTime = 5000 ; how long to wait during idle before recentering 26089 ControlledWeaponSlots = SECONDARY 26090 End 26091 End 26092 Locomotor = SET_NORMAL None 26093 26094 Behavior = PhysicsBehavior ModuleTag_04 26095 Mass = 5000.0 26096 End 26097 26098 Geometry = BOX 26099 GeometryMajorRadius = 200.0 26100 GeometryMinorRadius = 20.0 26101 GeometryHeight = 40 26102 GeometryIsSmall = No 26103 Shadow = SHADOW_VOLUME 26104 26105 End 26106 26107 ;------------------------------------------------------------------------------ 26108 ; an invisible object that exists solely for the Battleship to target. 26109 Object AmericaBattleshipBogusTarget 26110 26111 ; *** ART Parameters *** 26112 Draw = W3DModelDraw ModuleTag_01 26113 DefaultConditionState 26114 Model = None 26115 End 26116 End 26117 26118 ; ***DESIGN parameters *** 26119 EditorSorting = STRUCTURE 26120 Side = America 26121 ArmorSet 26122 Conditions = None 26123 Armor = InvulnerableArmor 26124 DamageFX = None 26125 End 26126 26127 ; *** ENGINEERING Parameters *** 26128 RadarPriority = NOT_ON_RADAR 26129 KindOf = IMMOBILE 26130 26131 Body = ImmortalBody ModuleTag_02 26132 MaxHealth = 99999.0 26133 InitialHealth = 99999.0 26134 End 26135 26136 Behavior = FireWeaponWhenDamagedBehavior ModuleTag_03 26137 StartsActive = Yes 26138 ReactionWeaponPristine = BattleshipTargetDamagedWeapon 26139 ReactionWeaponDamaged = BattleshipTargetDamagedWeapon 26140 ReactionWeaponReallyDamaged = BattleshipTargetDamagedWeapon 26141 DamageTypes = ALL 26142 ; 26143 ; want this object to "explode" (ie, fire BattleshipTargetDamagedWeapon) 26144 ; when targeted by the gun? change DamageAmount to zero. (normally the gun 26145 ; does a nonzero but tiny damage, due to the InvulnerableArmor we wear, so 26146 ; this weapon isn't fired... to trigger it, you must do damage under Script 26147 ; control, which ignores our armor.) 26148 ; 26149 DamageAmount = 1 ; if damage is >= this value, fire the weapon 26150 End 26151 26152 Geometry = SPHERE 26153 GeometryMajorRadius = 10.0 26154 GeometryIsSmall = Yes 26155 26156 End 26157 26158 26159 ;------------------------------------------------------------------------------ 26160 ; **data here is a copy and paste of AmericaVehicleBattleDrone** 26161 Object AmericaVehicleRepairDrone 26162 26163 ; *** ART Parameters *** 26164 Draw = W3DTankDraw ModuleTag_01 26165 ConditionState = NONE 26166 Model = AVRepairDr 26167 End 26168 TrackMarks = EXTireTrack.tga 26169 OkToChangeModelColor = Yes 26170 End 26171 26172 ; ***DESIGN parameters *** 26173 DisplayName = OBJECT:RepairDrone 26174 Side = America 26175 EditorSorting = VEHICLE 26176 26177 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 26178 WeaponSet 26179 Conditions = None 26180 Weapon = PRIMARY CrusaderTankGun 26181 End 26182 ArmorSet 26183 Conditions = None 26184 Armor = TankArmor 26185 DamageFX = TankDamageFX 26186 End 26187 BuildCost = 700 26188 BuildTime = 5.0 ;in seconds 26189 VisionRange = 150 26190 ShroudClearingRange = 150 26191 Prerequisites 26192 Object = AmericaWarFactory 26193 End 26194 ExperienceValue = 50 100 150 400 ;Experience point value at each level 26195 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 26196 IsTrainable = Yes ;Can gain experience 26197 26198 ; *** AUDIO Parameters *** 26199 VoiceSelect = NoSound 26200 VoiceMove = NoSound 26201 VoiceAttack = NoSound 26202 SoundMoveStart = NoSound 26203 26204 UnitSpecificSounds 26205 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 26206 TurretMoveStart = NoSound 26207 TurretMoveLoop = NoSound 26208 End 26209 26210 26211 ; *** ENGINEERING Parameters *** 26212 RadarPriority = UNIT 26213 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE 26214 26215 Body = ActiveBody ModuleTag_02 26216 MaxHealth = 100.0 26217 InitialHealth = 100.0 26218 End 26219 26220 Behavior = AIUpdateInterface ModuleTag_03 26221 Turret 26222 TurretTurnRate = 60 // turn rate, in degrees per sec 26223 ControlledWeaponSlots = PRIMARY 26224 End 26225 AutoAcquireEnemiesWhenIdle = Yes 26226 End 26227 Locomotor = SET_NORMAL BasicTankLocomotor 26228 26229 Behavior = PhysicsBehavior ModuleTag_04 26230 Mass = 50.0 26231 End 26232 Behavior = SlowDeathBehavior ModuleTag_05 26233 DestructionDelay = 500 26234 FX = FINAL FX_GenericTankDeathExplosion 26235 End 26236 26237 Behavior = MaxHealthUpgrade ModuleTag_06 26238 TriggeredBy = Upgrade_AmericaDroneArmor 26239 AddMaxHealth = 50.0 26240 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 26241 End 26242 26243 Behavior = FXListDie ModuleTag_07 26244 DeathFX = FX_GenericTankDeathEffect 26245 End 26246 Behavior = CreateObjectDie ModuleTag_08 26247 CreationList = OCL_GenericTankDeathEffect 26248 End 26249 Behavior = CreateCrateDie ModuleTag_09 26250 CrateData = SalvageCrateData 26251 ;CrateData = EliteTankCrateData 26252 ;CrateData = HeroicTankCrateData 26253 End 26254 26255 Behavior = FlammableUpdate ModuleTag_21 26256 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 26257 AflameDamageAmount = 3 ; taking this much damage... 26258 AflameDamageDelay = 500 ; this often. 26259 End 26260 26261 Geometry = BOX 26262 GeometryMajorRadius = 11.0 26263 GeometryMinorRadius = 7.0 26264 GeometryHeight = 10.0 26265 GeometryIsSmall = Yes 26266 Shadow = SHADOW_VOLUME 26267 26268 End 26269 26270 ;------------------------------------------------------------------------------ 26271 Object AmericaJetCargoPlane 26272 26273 ; *** ART Parameters *** 26274 Draw = W3DModelDraw ModuleTag_01 26275 DefaultConditionState 26276 Model = AVCargoPln 26277 Animation = AVCargoPln.AVCargoPln 26278 AnimationMode = LOOP 26279 ParticleSysBone = Propeller01 JetBlackTrailThin 26280 ParticleSysBone = Propeller02 JetBlackTrailThin 26281 ParticleSysBone = Propeller03 JetBlackTrailThin 26282 ParticleSysBone = Propeller04 JetBlackTrailThin 26283 ParticleSysBone = WingTip01 JetContrailThin 26284 ParticleSysBone = WingTip02 JetContrailThin 26285 End 26286 26287 ConditionState = DAMAGED 26288 Model = AVCargoPln_D 26289 Animation = AVCargoPln_D.AVCargoPln_D 26290 AnimationMode = LOOP 26291 ;Flags = START_FRAME_FIRST 26292 ParticleSysBone = Smoke01 JetFireLarge 26293 ParticleSysBone = Smoke02 JetFireLarge 26294 ParticleSysBone = Propeller03 JetBlackTrailThin 26295 ParticleSysBone = Propeller04 JetBlackTrailThin 26296 ParticleSysBone = Smoke01 JetSmokeLarge 26297 ParticleSysBone = Smoke02 JetSmokeLarge 26298 End 26299 26300 ConditionState = REALLYDAMAGED 26301 Model = AVCargoPln_D 26302 Animation = AVCargoPln_D.AVCargoPln_D 26303 AnimationMode = LOOP 26304 ;Flags = START_FRAME_FIRST 26305 ParticleSysBone = Smoke01 JetFireLarge 26306 ParticleSysBone = Smoke02 JetFireLarge 26307 ParticleSysBone = Smoke03 JetFireLarge 26308 ParticleSysBone = Smoke05 JetFireLarge 26309 ParticleSysBone = Propeller03 JetBlackTrailThin 26310 ParticleSysBone = Propeller04 JetBlackTrailThin 26311 ParticleSysBone = Smoke01 JetSmokeLarge 26312 ParticleSysBone = Smoke02 JetSmokeLarge 26313 ParticleSysBone = Smoke03 JetSmokeLarge 26314 ParticleSysBone = Smoke05 JetSmokeLarge 26315 End 26316 26317 ConditionState = RUBBLE 26318 Model = AVCargoPln_D1 26319 Animation = AVCargoPln_D.AVCargoPln_D 26320 AnimationMode = LOOP 26321 ;Flags = START_FRAME_FIRST 26322 ParticleSysBone = Smoke01 JetFireLarge 26323 ParticleSysBone = Smoke06 JetFireLarge 26324 ParticleSysBone = Smoke03 JetFireLarge 26325 ParticleSysBone = Smoke05 JetFireLarge 26326 ParticleSysBone = Smoke01 JetSmokeLarge 26327 ParticleSysBone = Smoke06 JetSmokeLarge 26328 ParticleSysBone = Smoke03 JetSmokeLarge 26329 ParticleSysBone = Smoke05 JetSmokeLarge 26330 End 26331 26332 OkToChangeModelColor = Yes 26333 End 26334 26335 Draw = W3DModelDraw ModuleTag_02 26336 DefaultConditionState 26337 Model = AVCargoPln_A2 26338 Animation = AVCargoPln_A2.AVCargoPln_A2 26339 AnimationMode = MANUAL 26340 Flags = START_FRAME_FIRST 26341 End 26342 ConditionState = DOOR_1_OPENING 26343 Model = AVCargoPln_A2 26344 Animation = AVCargoPln_A2.AVCargoPln_A2 26345 AnimationMode = ONCE 26346 Flags = START_FRAME_FIRST 26347 End 26348 ConditionState = DOOR_1_CLOSING 26349 Model = AVCargoPln_A2 26350 Animation = AVCargoPln_A2.AVCargoPln_A2 26351 AnimationMode = ONCE_BACKWARDS 26352 Flags = START_FRAME_LAST 26353 End 26354 End 26355 26356 ; ***DESIGN parameters *** 26357 DisplayName = OBJECT:CargoPlane 26358 EditorSorting = VEHICLE 26359 Side = America 26360 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 26361 VisionRange = 150.0 ;0.0 26362 ArmorSet 26363 Conditions = None 26364 Armor = AirplaneArmor 26365 DamageFX = TankDamageFX 26366 End 26367 CommandSet = Command_ScriptedTransportDrops 26368 26369 ; *** AUDIO Parameters *** 26370 SoundAmbient = C130AmbientLoop 26371 SoundAmbientRubble = NoSound 26372 26373 ; *** ENGINEERING Parameters *** 26374 RadarPriority = UNIT 26375 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI 26376 Body = ActiveBody ModuleTag_03 26377 MaxHealth = 1000.0 26378 InitialHealth = 1000.0 26379 End 26380 26381 ExperienceValue = 40 40 40 40 ; Experience point value at each level 26382 26383 Behavior = PhysicsBehavior ModuleTag_04 26384 Mass = 500.0 26385 End 26386 26387 ;SCRIPTED SUPPORT: These special powers are triggered directly 26388 ;from the transport without creating a transport. This is done 26389 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 26390 ;which also prevents creating the payload transport. 26391 Behavior = OCLSpecialPower ModuleTag_05 26392 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ 26393 OCL = SUPERWEAPON_DaisyCutter 26394 CreateLocation = USE_OWNER_OBJECT 26395 End 26396 Behavior = OCLSpecialPower ModuleTag_06 26397 SpecialPowerTemplate = SuperweaponParadropAmerica 26398 UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 26399 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 26400 OCL = SUPERWEAPON_Paradrop1 26401 CreateLocation = USE_OWNER_OBJECT 26402 End 26403 Behavior = OCLSpecialPower ModuleTag_07 26404 SpecialPowerTemplate = SuperweaponCarpetBomb 26405 OCL = SUPERWEAPON_CarpetBomb 26406 CreateLocation = USE_OWNER_OBJECT 26407 End 26408 Behavior = OCLSpecialPower ModuleTag_08 26409 SpecialPowerTemplate = SuperweaponCrateDrop 26410 OCL = SUPERWEAPON_CrateDrop 26411 CreateLocation = USE_OWNER_OBJECT 26412 End 26413 26414 Behavior = DeliverPayloadAIUpdate ModuleTag_09 26415 DoorDelay = 500 26416 MaxAttempts = 4 26417 DropOffset = X:0 Y:0 Z:-10 26418 DropDelay = 300 ; time in between each item dropped (if more than one) 26419 PutInContainer = AmericaParachute 26420 DeliveryDistance = 150 26421 End 26422 Locomotor = SET_NORMAL B52Locomotor 26423 26424 Behavior = TransportContain ModuleTag_10 26425 Slots = 100 ; hey, it's a BIG transport 26426 ScatterNearbyOnExit = No 26427 OrientLikeContainerOnExit = Yes 26428 KeepContainerVelocityOnExit = Yes 26429 ExitPitchRate = 30 26430 ExitBone = WeaponA01 26431 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE 26432 ;gs I added parachutable as a catch all to prevent making new kindofs (like CRATE) 26433 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 26434 NumberOfExitPaths = 0 26435 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' 26436 End 26437 26438 Behavior = JetSlowDeathBehavior ModuleTag_11 26439 DestructionDelay = 2000 26440 RollRate = 0.0 26441 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 26442 PitchRate = 0 26443 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 26444 FXInitialDeath = FX_JetBigDeathInitial 26445 OCLInitialDeath = OCL_AmericaJetCargoDeathStart 26446 DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time 26447 OCLSecondary = OCL_AmericaJetCargoHulkDeath 26448 FXSecondary = FX_BigPlaneDeath 26449 ; FXFinalBlowUp = FX_JetDeathFinalBlowUp 26450 ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp 26451 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 26452 End 26453 26454 ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_12 26455 End 26456 26457 Behavior = TransitionDamageFX ModuleTag_17 26458 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 26459 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 26460 End 26461 26462 26463 Geometry = Box 26464 GeometryIsSmall = No 26465 GeometryMajorRadius = 40.0 26466 GeometryMinorRadius = 10.0 26467 GeometryHeight = 10.0 26468 Shadow = SHADOW_VOLUME 26469 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 26470 End 26471 26472 ;---------------------------------------------------------- 26473 Object AmericaJetCargoHulk 26474 ; *** ART Parameters *** 26475 Draw = W3DModelDraw ModuleTag_01 26476 ConditionState = NONE 26477 Model = AVCargoPln_D1 26478 End 26479 End 26480 26481 ; ***DESIGN parameters *** 26482 EditorSorting = DEBRIS 26483 26484 ; *** ENGINEERING Parameters *** 26485 KindOf = NO_COLLIDE HULK 26486 26487 Behavior = PhysicsBehavior ModuleTag_03 26488 Mass = 1.0 26489 AllowBouncing = Yes 26490 KillWhenRestingOnGround = No 26491 End 26492 Behavior = LifetimeUpdate ModuleTag_04 26493 MinLifetime = 500 ; min lifetime in msec 26494 MaxLifetime = 1500 ; max lifetime in msec 26495 End 26496 26497 Behavior = InstantDeathBehavior ModuleTag_05 26498 DeathTypes = ALL 26499 ; FX = FX_BigPlaneDeath 26500 ; OCL = OCL_AmericaJetCargoHulkDeath 26501 End 26502 26503 End 26504 26505 ;------------------------------------------------------------------------------ 26506 Object GLAJetCargoPlane 26507 26508 ; *** ART Parameters *** 26509 Draw = W3DModelDraw ModuleTag_01 26510 DefaultConditionState 26511 Model = UVCargoPln 26512 Animation = UVCargoPln.UVCargoPln 26513 AnimationMode = LOOP 26514 ParticleSysBone = Engine01 JetBlackTrail 26515 ParticleSysBone = Engine02 JetBlackTrail 26516 ParticleSysBone = Engine03 JetBlackTrail 26517 ParticleSysBone = Engine04 JetBlackTrail 26518 End 26519 ConditionState = DAMAGED 26520 Model = UVCargoPln_D 26521 Animation = UVCargoPln_D.UVCargoPln_D 26522 AnimationMode = LOOP 26523 ;Flags = START_FRAME_FIRST 26524 ParticleSysBone = Smoke01 JetFireLarge 26525 ParticleSysBone = Smoke02 JetFireLarge 26526 ParticleSysBone = Propeller03 JetBlackTrailThin 26527 ParticleSysBone = Propeller04 JetBlackTrailThin 26528 ParticleSysBone = Smoke01 JetSmokeLarge 26529 ParticleSysBone = Smoke02 JetSmokeLarge 26530 ParticleSysBone = Smoke03 JetSmokeLarge 26531 End 26532 ConditionState = REALLYDAMAGED 26533 Model = UVCargoPln_D 26534 Animation = UVCargoPln_D.UVCargoPln_D 26535 AnimationMode = LOOP 26536 ;Flags = START_FRAME_FIRST 26537 ParticleSysBone = Smoke01 JetFireLarge 26538 ParticleSysBone = Smoke02 JetFireLarge 26539 ParticleSysBone = Propeller03 JetBlackTrailThin 26540 ParticleSysBone = Propeller04 JetBlackTrailThin 26541 ParticleSysBone = Smoke01 JetSmokeLarge 26542 ParticleSysBone = Smoke02 JetSmokeLarge 26543 ParticleSysBone = Smoke03 JetSmokeLarge 26544 End 26545 ConditionState = RUBBLE 26546 Model = UVCargoPln_D1 26547 ParticleSysBone = Smoke01 JetFireLarge 26548 ParticleSysBone = Smoke02 JetFireLarge 26549 ParticleSysBone = Smoke03 JetFireLarge 26550 ParticleSysBone = Smoke04 JetFireLarge 26551 ParticleSysBone = Smoke01 JetSmokeLarge 26552 ParticleSysBone = Smoke02 JetSmokeLarge 26553 ParticleSysBone = Smoke03 JetSmokeLarge 26554 ParticleSysBone = Smoke04 JetSmokeLarge 26555 End 26556 26557 OkToChangeModelColor = Yes 26558 End 26559 26560 Draw = W3DModelDraw ModuleTag_02 26561 DefaultConditionState 26562 Model = UVCargoPln_A2 26563 Animation = UVCargoPln_A2.UVCargoPln_A2 26564 AnimationMode = MANUAL 26565 Flags = START_FRAME_FIRST 26566 End 26567 ConditionState = DOOR_1_OPENING 26568 Model = UVCargoPln_A2 26569 Animation = UVCargoPln_A2.UVCargoPln_A2 26570 AnimationMode = ONCE 26571 Flags = START_FRAME_FIRST 26572 End 26573 ConditionState = DOOR_1_CLOSING 26574 Model = UVCargoPln_A2 26575 Animation = UVCargoPln_A2.UVCargoPln_A2 26576 AnimationMode = ONCE_BACKWARDS 26577 Flags = START_FRAME_LAST 26578 End 26579 End 26580 26581 ; ***DESIGN parameters *** 26582 DisplayName = OBJECT:CargoPlane 26583 EditorSorting = VEHICLE 26584 Side = GLA 26585 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 26586 VisionRange = 150.0 ;0.0 26587 ArmorSet 26588 Conditions = None 26589 Armor = AirplaneArmor 26590 DamageFX = None 26591 End 26592 CommandSet = Command_ScriptedTransportDrops 26593 26594 ; *** AUDIO Parameters *** 26595 SoundAmbient = C130AmbientLoop 26596 SoundAmbientRubble = NoSound 26597 26598 ; *** ENGINEERING Parameters *** 26599 RadarPriority = UNIT 26600 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI 26601 Body = ActiveBody ModuleTag_03 26602 MaxHealth = 1000.0 26603 InitialHealth = 1000.0 26604 End 26605 26606 ExperienceValue = 40 40 40 40 ; Experience point value at each level 26607 26608 Behavior = PhysicsBehavior ModuleTag_04 26609 Mass = 500.0 26610 End 26611 26612 Behavior = DeliverPayloadAIUpdate ModuleTag_05 26613 DoorDelay = 500 26614 MaxAttempts = 4 26615 DropOffset = X:0 Y:0 Z:-10 26616 DropDelay = 300 ;500 ; time in between each item dropped (if more than one) 26617 PutInContainer = AmericaParachute 26618 DeliveryDistance = 150 26619 End 26620 Locomotor = SET_NORMAL B52Locomotor 26621 26622 Behavior = TransportContain ModuleTag_06 26623 Slots = 100 ; hey, it's a BIG transport 26624 ScatterNearbyOnExit = No 26625 OrientLikeContainerOnExit = Yes 26626 KeepContainerVelocityOnExit = Yes 26627 ExitPitchRate = 30 26628 ExitBone = WeaponA01 26629 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE FORCEATTACKABLE 26630 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 26631 NumberOfExitPaths = 0 26632 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' 26633 End 26634 26635 ;SCRIPTED SUPPORT: These special powers are triggered directly 26636 ;from the transport without creating a transport. This is done 26637 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 26638 ;which also prevents creating the payload transport. 26639 Behavior = OCLSpecialPower ModuleTag_07 26640 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ 26641 OCL = SUPERWEAPON_DaisyCutter 26642 CreateLocation = USE_OWNER_OBJECT 26643 End 26644 Behavior = OCLSpecialPower ModuleTag_08 26645 SpecialPowerTemplate = SuperweaponParadropAmerica 26646 UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 26647 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 26648 OCL = SUPERWEAPON_Paradrop1 26649 CreateLocation = USE_OWNER_OBJECT 26650 End 26651 Behavior = OCLSpecialPower ModuleTag_09 26652 SpecialPowerTemplate = SuperweaponCarpetBomb 26653 OCL = SUPERWEAPON_CarpetBomb 26654 CreateLocation = USE_OWNER_OBJECT 26655 End 26656 26657 Behavior = JetSlowDeathBehavior ModuleTag_10 26658 DestructionDelay = 2000 26659 RollRate = 0.0 26660 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 26661 PitchRate = 0 26662 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 26663 FXInitialDeath = FX_JetBigDeathInitial 26664 OCLInitialDeath = OCL_AmericaJetCargoDeathStart 26665 DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time 26666 OCLSecondary = OCL_AmericaJetCargoHulkDeath 26667 FXSecondary = FX_BigPlaneDeath 26668 End 26669 26670 ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_11 26671 End 26672 26673 Behavior = TransitionDamageFX ModuleTag_12 26674 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 26675 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 26676 End 26677 26678 Geometry = Box 26679 GeometryIsSmall = No 26680 GeometryMajorRadius = 40.0 26681 GeometryMinorRadius = 10.0 26682 GeometryHeight = 10.0 26683 Shadow = SHADOW_VOLUME 26684 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 26685 26686 End 26687 26688 ;------------------------------------------------------------------------------ 26689 Object ChinaJetCargoPlane 26690 26691 ; *** ART Parameters *** 26692 Draw = W3DModelDraw ModuleTag_01 26693 DefaultConditionState 26694 Model = NVCargoPln 26695 Animation = NVCargoPln.NVCargoPln 26696 AnimationMode = LOOP 26697 ParticleSysBone = Propeller01 JetBlackTrailThin 26698 ParticleSysBone = Propeller02 JetBlackTrailThin 26699 ParticleSysBone = Propeller03 JetBlackTrailThin 26700 ParticleSysBone = Propeller04 JetBlackTrailThin 26701 ParticleSysBone = WingTip01 JetContrailThin 26702 ParticleSysBone = WingTip02 JetContrailThin 26703 End 26704 ConditionState = DAMAGED 26705 Model = NVCargoPln_D 26706 Animation = NVCargoPln_D.NVCargoPln_D 26707 AnimationMode = LOOP 26708 ;Flags = START_FRAME_FIRST 26709 ParticleSysBone = Smoke01 JetFireLarge 26710 ParticleSysBone = Smoke03 JetFireLarge 26711 ParticleSysBone = Propeller01 JetBlackTrailThin 26712 ParticleSysBone = Propeller02 JetBlackTrailThin 26713 ParticleSysBone = Propeller03 JetBlackTrailThin 26714 ParticleSysBone = Propeller04 JetBlackTrailThin 26715 ParticleSysBone = Smoke01 JetSmokeLarge 26716 ParticleSysBone = Smoke03 JetSmokeLarge 26717 ParticleSysBone = WingTip01 JetContrailThin 26718 ParticleSysBone = WingTip02 JetContrailThin 26719 End 26720 ConditionState = REALLYDAMAGED 26721 Model = NVCargoPln_D 26722 Animation = NVCargoPln_D.NVCargoPln_D 26723 AnimationMode = LOOP 26724 ;Flags = START_FRAME_FIRST 26725 ParticleSysBone = Smoke01 JetFireLarge 26726 ParticleSysBone = Smoke03 JetFireLarge 26727 ParticleSysBone = Smoke04 JetFireLarge 26728 ParticleSysBone = Propeller03 JetBlackTrailThin 26729 ParticleSysBone = Propeller04 JetBlackTrailThin 26730 ParticleSysBone = Smoke01 JetSmokeLarge 26731 ParticleSysBone = Smoke03 JetSmokeLarge 26732 ParticleSysBone = Smoke04 JetSmokeLarge 26733 ParticleSysBone = WingTip01 JetContrailThin 26734 ParticleSysBone = WingTip02 JetContrailThin 26735 End 26736 ConditionState = RUBBLE 26737 Model = NVCargoPln_D1 26738 ParticleSysBone = Smoke01 JetFireLarge 26739 ParticleSysBone = Smoke06 JetFireLarge 26740 ParticleSysBone = Smoke03 JetFireLarge 26741 ParticleSysBone = Smoke04 JetFireLarge 26742 ParticleSysBone = Smoke01 JetSmokeLarge 26743 ParticleSysBone = Smoke06 JetSmokeLarge 26744 ParticleSysBone = Smoke03 JetSmokeLarge 26745 ParticleSysBone = Smoke04 JetSmokeLarge 26746 End 26747 26748 OkToChangeModelColor = Yes 26749 End 26750 26751 Draw = W3DModelDraw ModuleTag_02 26752 DefaultConditionState 26753 Model = NVCargoPln_A2 26754 Animation = NVCargoPln_A2.NVCargoPln_A2 26755 AnimationMode = MANUAL 26756 Flags = START_FRAME_FIRST 26757 End 26758 ConditionState = DOOR_1_OPENING 26759 Model = NVCargoPln_A2 26760 Animation = NVCargoPln_A2.NVCargoPln_A2 26761 AnimationMode = ONCE 26762 Flags = START_FRAME_FIRST 26763 End 26764 ConditionState = DOOR_1_CLOSING 26765 Model = NVCargoPln_A2 26766 Animation = NVCargoPln_A2.NVCargoPln_A2 26767 AnimationMode = ONCE_BACKWARDS 26768 Flags = START_FRAME_LAST 26769 End 26770 End 26771 26772 26773 ; ***DESIGN parameters *** 26774 DisplayName = OBJECT:CargoPlane 26775 EditorSorting = VEHICLE 26776 Side = China 26777 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 26778 VisionRange = 150.0 ;0.0 26779 ArmorSet 26780 Conditions = None 26781 Armor = AirplaneArmor 26782 DamageFX = None 26783 End 26784 CommandSet = Command_ScriptedTransportDrops 26785 26786 ; *** AUDIO Parameters *** 26787 SoundAmbient = C130AmbientLoop 26788 SoundAmbientRubble = NoSound 26789 26790 ; *** ENGINEERING Parameters *** 26791 RadarPriority = UNIT 26792 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI 26793 Body = ActiveBody ModuleTag_03 26794 MaxHealth = 1000.0 26795 InitialHealth = 1000.0 26796 End 26797 26798 ExperienceValue = 40 40 40 40 ; Experience point value at each level 26799 26800 Behavior = PhysicsBehavior ModuleTag_04 26801 Mass = 500.0 26802 End 26803 26804 Behavior = DeliverPayloadAIUpdate ModuleTag_05 26805 DoorDelay = 500 26806 MaxAttempts = 4 26807 DropOffset = X:0 Y:0 Z:-10 26808 DropDelay = 300 ;500 ; time in between each item dropped (if more than one) 26809 PutInContainer = AmericaParachute 26810 DeliveryDistance = 150 26811 End 26812 Locomotor = SET_NORMAL B52Locomotor 26813 26814 Behavior = TransportContain ModuleTag_06 26815 Slots = 100 ; hey, it's a BIG transport 26816 ScatterNearbyOnExit = No 26817 OrientLikeContainerOnExit = Yes 26818 KeepContainerVelocityOnExit = Yes 26819 ExitPitchRate = 30 26820 ExitBone = WeaponA01 26821 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE 26822 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 26823 NumberOfExitPaths = 0 26824 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' 26825 End 26826 26827 ;SCRIPTED SUPPORT: These special powers are triggered directly 26828 ;from the transport without creating a transport. This is done 26829 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 26830 ;which also prevents creating the payload transport. 26831 Behavior = OCLSpecialPower ModuleTag_07 26832 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ 26833 OCL = SUPERWEAPON_DaisyCutter 26834 CreateLocation = USE_OWNER_OBJECT 26835 End 26836 Behavior = OCLSpecialPower ModuleTag_08 26837 SpecialPowerTemplate = SuperweaponParadropAmerica 26838 UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 26839 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 26840 OCL = SUPERWEAPON_Paradrop1 26841 CreateLocation = USE_OWNER_OBJECT 26842 End 26843 Behavior = OCLSpecialPower ModuleTag_09 26844 SpecialPowerTemplate = SuperweaponCarpetBomb 26845 OCL = SUPERWEAPON_CarpetBomb 26846 CreateLocation = USE_OWNER_OBJECT 26847 End 26848 Behavior = OCLSpecialPower ModuleTag_10 26849 SpecialPowerTemplate = SuperweaponClusterMines 26850 OCL = SUPERWEAPON_ClusterMines 26851 CreateLocation = USE_OWNER_OBJECT 26852 End 26853 Behavior = OCLSpecialPower ModuleTag_11 26854 SpecialPowerTemplate = SuperweaponEMPPulse 26855 OCL = SUPERWEAPON_EMPPulse 26856 CreateLocation = USE_OWNER_OBJECT 26857 End 26858 26859 Behavior = JetSlowDeathBehavior ModuleTag_12 26860 DestructionDelay = 2000 26861 RollRate = 0.0 26862 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 26863 PitchRate = 0 26864 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 26865 FXInitialDeath = FX_JetBigDeathInitial 26866 OCLInitialDeath = OCL_AmericaJetCargoDeathStart 26867 DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time 26868 OCLSecondary = OCL_AmericaJetCargoHulkDeath 26869 FXSecondary = FX_BigPlaneDeath 26870 End 26871 26872 ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_13 26873 End 26874 26875 Behavior = TransitionDamageFX ModuleTag_14 26876 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 26877 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 26878 End 26879 26880 Geometry = Box 26881 GeometryIsSmall = No 26882 GeometryMajorRadius = 40.0 26883 GeometryMinorRadius = 10.0 26884 GeometryHeight = 10.0 26885 Shadow = SHADOW_VOLUME 26886 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 26887 26888 End 26889 26890 ;------------------------------------------------------------------------------ 26891 Object AmericaVehiclePOWTruck 26892 ; *** ART Parameters *** 26893 SelectPortrait = SAPowTruck 26894 ButtonImage = SAPowTruck 26895 26896 ;UpgradeCameo1 = NONE 26897 ;UpgradeCameo2 = NONE 26898 ;UpgradeCameo3 = NONE 26899 ;UpgradeCameo4 = NONE 26900 ;UpgradeCameo5 = NONE 26901 Draw = W3DTruckDraw ModuleTag_01 26902 OkToChangeModelColor = Yes 26903 ConditionState = NONE 26904 Model = AVPOWTRUCK 26905 End 26906 ConditionState = REALLYDAMAGED 26907 Model = AVPOWTRUCK_D 26908 End 26909 ConditionState = RUBBLE 26910 Model = AVPOWTruck_D 26911 End 26912 TrackMarks = EXTireTrack.tga 26913 Dust = RocketBuggyDust 26914 DirtSpray = RocketBuggyDirtSpray 26915 PowerslideSpray = RocketBuggyDirtPowerSlide 26916 ; These parameters are only used if the model has a separate suspension, 26917 ; and the locomotor has HasSuspension = Yes. 26918 LeftFrontTireBone = Tire01 26919 RightFrontTireBone = Tire02 26920 MidLeftRearTireBone = Tire03 26921 MidRightRearTireBone = Tire05 26922 LeftRearTireBone = Tire04 26923 RightRearTireBone = Tire06 26924 TireRotationMultiplier = 0.2 ; this * speed = rotation. 26925 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 26926 End 26927 ; ***DESIGN parameters *** 26928 DisplayName = OBJECT:POWTruck 26929 Side = America 26930 EditorSorting = VEHICLE 26931 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 26932 ArmorSet 26933 Conditions = None 26934 Armor = TruckArmor 26935 DamageFX = TankDamageFX 26936 End 26937 BuildCost = 500 26938 BuildTime = 10.0 ;in seconds 26939 VisionRange = 200 26940 ShroudClearingRange = 300 26941 ExperienceValue = 50 50 50 50 ;Experience point value at each level 26942 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 26943 IsTrainable = Yes ;Can gain experience 26944 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 26945 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 26946 26947 CommandSet = VehiclePOWTruckCommandSet 26948 26949 ; *** AUDIO Parameters *** 26950 VoiceSelect = POWTruckUSAVoiceSelect 26951 VoiceMove = POWTruckUSAVoiceMove 26952 VoiceGuard = POWTruckUSAVoiceMove 26953 SoundEnter = POWTruckEnter 26954 SoundExit = POWTruckExit 26955 UnitSpecificSounds 26956 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 26957 VoiceCreate = POWTruckUSAVoiceCreate 26958 TurretMoveLoop = TurretMoveLoop 26959 SoundMoveStart = POWTruckUSAMoveStart 26960 SoundMoveStartDamaged = POWTruckUSAMoveStart 26961 SoundEject = PilotSoundEject 26962 VoiceEject = PilotVoiceEject 26963 VoiceCrush = POWTruckUSAVoiceCrush 26964 ; Required for the W3DTruckDraw module 26965 TruckLandingSound = RocketBuggyLand 26966 TruckPowerslideSound = POWTruckUSAMoveStart 26967 VoiceEnter = POWTruckUSAVoiceMove 26968 End 26969 ; *** ENGINEERING Parameters *** 26970 RadarPriority = UNIT 26971 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE TRANSPORT SCORE ;POW_TRUCK 26972 Body = ActiveBody ModuleTag_02 26973 MaxHealth = 500.0 26974 InitialHealth = 500.0 26975 End 26976 26977 ;Behavior = POWTruckBehavior ModuleTag_03 26978 ; ContainMax = 10 26979 ; EnterSound = EnterPOWTruck 26980 ; ExitSound = ExitPOWTruck 26981 ;End 26982 26983 ;Behavior = POWTruckAIUpdate ModuleTag_04 26984 ; BoredTime = 10000 ; in milliseconds 26985 ; AtPrisonDistance = 160.0 ; This close to a prison is close enough to be doing nothing at 26986 ;End 26987 26988 Behavior = AIUpdateInterface ModuleTag_04 26989 ; no data 26990 End 26991 Locomotor = SET_NORMAL POWTruckLocomotor 26992 Behavior = PhysicsBehavior ModuleTag_05 26993 Mass = 50.0 26994 End 26995 Behavior = SlowDeathBehavior ModuleTag_06 26996 DeathTypes = ALL -CRUSHED -SPLATTED 26997 ProbabilityModifier = 25 26998 DestructionDelay = 1 26999 FX = FINAL FX_BattleMasterExplosionOneFinal 27000 OCL = FINAL OCL_AmericanPOWTruckDeathEffect 27001 End 27002 Behavior = FXListDie ModuleTag_07 27003 DeathTypes = NONE +CRUSHED +SPLATTED 27004 DeathFX = FX_CarCrush 27005 End 27006 Behavior = TransitionDamageFX ModuleTag_09 27007 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 27008 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 27009 End 27010 Behavior = ExperienceScalarUpgrade ModuleTag_10 27011 TriggeredBy = Upgrade_AmericaAdvancedTraining 27012 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 27013 End 27014 Behavior = FlammableUpdate ModuleTag_21 27015 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 27016 AflameDamageAmount = 3 ; taking this much damage... 27017 AflameDamageDelay = 500 ; this often. 27018 End 27019 Geometry = BOX 27020 GeometryMajorRadius = 15.0 27021 GeometryMinorRadius = 7.0 27022 GeometryHeight = 13.5 27023 GeometryIsSmall = Yes 27024 Shadow = SHADOW_VOLUME 27025 End 27026 27027 ;------------------------------------------------------------------------------ 27028 Object ChinaVehiclePOWTruck 27029 ; *** ART Parameters *** 27030 SelectPortrait = SNPowTruck 27031 ButtonImage = SNPowTruck 27032 27033 ;UpgradeCameo1 = NONE 27034 ;UpgradeCameo2 = NONE 27035 ;UpgradeCameo3 = NONE 27036 ;UpgradeCameo4 = NONE 27037 ;UpgradeCameo5 = NONE 27038 Draw = W3DTruckDraw ModuleTag_01 27039 OkToChangeModelColor = Yes 27040 ConditionState = NONE 27041 Model = NVPOWTRCK 27042 End 27043 ConditionState = REALLYDAMAGED 27044 Model = NVPOWTRCK_D 27045 End 27046 ConditionState = RUBBLE 27047 Model = NVPOWTRCK_D 27048 End 27049 TrackMarks = EXTireTrack.tga 27050 Dust = RocketBuggyDust 27051 DirtSpray = RocketBuggyDirtSpray 27052 PowerslideSpray = RocketBuggyDirtPowerSlide 27053 ; These parameters are only used if the model has a separate suspension, 27054 ; and the locomotor has HasSuspension = Yes. 27055 LeftFrontTireBone = Tire01 27056 RightFrontTireBone = Tire04 27057 MidLeftRearTireBone = Tire02 27058 MidRightRearTireBone = Tire05 27059 LeftRearTireBone = Tire03 27060 RightRearTireBone = Tire06 27061 TireRotationMultiplier = 0.2 ; this * speed = rotation. 27062 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 27063 End 27064 ; ***DESIGN parameters *** 27065 DisplayName = OBJECT:POWTruck 27066 Side = China 27067 EditorSorting = VEHICLE 27068 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 27069 ArmorSet 27070 Conditions = None 27071 Armor = TruckArmor 27072 DamageFX = TankDamageFX 27073 End 27074 BuildCost = 500 27075 BuildTime = 10.0 ;in seconds 27076 VisionRange = 200 27077 ShroudClearingRange = 300 27078 ExperienceValue = 50 50 50 50 ;Experience point value at each level 27079 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 27080 IsTrainable = Yes ;Can gain experience 27081 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 27082 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 27083 27084 CommandSet = VehiclePOWTruckCommandSet 27085 27086 ; *** AUDIO Parameters *** 27087 VoiceSelect = POWTruckChinaVoiceSelect 27088 VoiceMove = POWTruckChinaVoiceMove 27089 VoiceGuard = POWTruckChinaVoiceMove 27090 UnitSpecificSounds 27091 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 27092 ;TurretMoveStart = NoSound 27093 VoiceCreate = POWTruckChinaVoiceCreate 27094 TurretMoveLoop = TurretMoveLoop 27095 SoundMoveStart = POWTruckUSAMoveStart 27096 SoundMoveStartDamaged = POWTruckUSAMoveStart 27097 SoundEject = PilotSoundEject 27098 VoiceEject = PilotVoiceEject 27099 ; Required for the W3DTruckDraw module 27100 TruckLandingSound = RocketBuggyLand 27101 TruckPowerslideSound = POWTruckUSAMoveStart 27102 VoiceCrush = POWTruckChinaVoiceCrush 27103 ;VoicePickup = POWTruckChinaVoicePickup 27104 VoiceEnter = POWTruckChinaVoiceMove 27105 End 27106 ; *** ENGINEERING Parameters *** 27107 RadarPriority = UNIT 27108 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE TRANSPORT SCORE ;POW_TRUCK 27109 Body = ActiveBody ModuleTag_02 27110 MaxHealth = 500.0 27111 InitialHealth = 500.0 27112 End 27113 27114 ;Behavior = POWTruckBehavior ModuleTag_03 27115 ; ContainMax = 10 27116 ; EnterSound = EnterPOWTruck 27117 ; ExitSound = ExitPOWTruck 27118 ;End 27119 27120 ;Behavior = POWTruckAIUpdate ModuleTag_04 27121 ; BoredTime = 10000 ; in milliseconds 27122 ; AtPrisonDistance = 160.0 ; This close to a prison is close enough to be doing nothing at 27123 ;End 27124 27125 Behavior = AIUpdateInterface ModuleTag_04 27126 ; no data 27127 End 27128 27129 Locomotor = SET_NORMAL POWTruckLocomotor 27130 Behavior = PhysicsBehavior ModuleTag_05 27131 Mass = 50.0 27132 End 27133 Behavior = SlowDeathBehavior ModuleTag_06 27134 DeathTypes = ALL -CRUSHED -SPLATTED 27135 ProbabilityModifier = 25 27136 DestructionDelay = 1 27137 FX = FINAL FX_BattleMasterExplosionOneFinal 27138 OCL = FINAL OCL_ChinaPOWTruckDeathEffect 27139 End 27140 Behavior = FXListDie ModuleTag_07 27141 DeathTypes = NONE +CRUSHED +SPLATTED 27142 DeathFX = FX_CarCrush 27143 End 27144 Behavior = TransitionDamageFX ModuleTag_09 27145 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 27146 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 27147 End 27148 Behavior = FlammableUpdate ModuleTag_21 27149 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 27150 AflameDamageAmount = 3 ; taking this much damage... 27151 AflameDamageDelay = 500 ; this often. 27152 End 27153 Geometry = BOX 27154 GeometryMajorRadius = 15.0 27155 GeometryMinorRadius = 7.0 27156 GeometryHeight = 13.5 27157 GeometryIsSmall = Yes 27158 Shadow = SHADOW_VOLUME 27159 End 27160 27161 ;------------------------------------------------------------------------------ 27162 Object GLAVehiclePOWTruck 27163 ; *** ART Parameters *** 27164 SelectPortrait = SUPowTruck 27165 ButtonImage = SUPowTruck 27166 27167 ;UpgradeCameo1 = NONE 27168 ;UpgradeCameo2 = NONE 27169 ;UpgradeCameo3 = NONE 27170 ;UpgradeCameo4 = NONE 27171 ;UpgradeCameo5 = NONE 27172 Draw = W3DTruckDraw ModuleTag_01 27173 OkToChangeModelColor = Yes 27174 ConditionState = NONE 27175 Model = UVPOWTRUCK 27176 End 27177 ConditionState = REALLYDAMAGED 27178 Model = UVPOWTRUCK_D 27179 End 27180 TrackMarks = EXTireTrack.tga 27181 Dust = RocketBuggyDust 27182 DirtSpray = RocketBuggyDirtSpray 27183 PowerslideSpray = RocketBuggyDirtPowerSlide 27184 ; These parameters are only used if the model has a separate suspension, 27185 ; and the locomotor has HasSuspension = Yes. 27186 LeftFrontTireBone = Tire01 27187 RightFrontTireBone = Tire02 27188 MidLeftRearTireBone = Tire03 27189 MidRightRearTireBone = Tire04 27190 LeftRearTireBone = Tire05 27191 RightRearTireBone = Tire06 27192 TireRotationMultiplier = 0.2 ; this * speed = rotation. 27193 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 27194 End 27195 ; ***DESIGN parameters *** 27196 DisplayName = OBJECT:POWTruck 27197 Side = GLA 27198 EditorSorting = VEHICLE 27199 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 27200 ArmorSet 27201 Conditions = None 27202 Armor = TruckArmor 27203 DamageFX = TankDamageFX 27204 End 27205 BuildCost = 500 27206 BuildTime = 10.0 ;in seconds 27207 VisionRange = 200 27208 ShroudClearingRange = 300 27209 ExperienceValue = 50 50 50 50 ;Experience point value at each level 27210 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 27211 IsTrainable = Yes ;Can gain experience 27212 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 27213 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 27214 27215 CommandSet = VehiclePOWTruckCommandSet 27216 27217 ; *** AUDIO Parameters *** 27218 VoiceSelect = POWTruckGLAVoiceSelect 27219 VoiceMove = POWTruckGLAVoiceMove 27220 VoiceGuard = POWTruckGLAVoiceMove 27221 UnitSpecificSounds 27222 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 27223 ;TurretMoveStart = RocketBuggyLand 27224 VoiceCreate = POWTruckGLAVoiceCreate 27225 SoundMoveStart = POWTruckUSAMoveStart 27226 SoundMoveStartDamaged = POWTruckUSAMoveStart 27227 TurretMoveLoop = TurretMoveLoop 27228 SoundEject = PilotSoundEject 27229 VoiceEject = PilotVoiceEject 27230 ; Required for the W3DTruckDraw module 27231 TruckLandingSound = NoSound 27232 TruckPowerslideSound = POWTruckUSAMoveStart 27233 VoiceCrush = POWTruckGLAVoiceCrush 27234 ;VoicePickup = POWTruckGLAVoicePickup 27235 VoiceEnter = POWTruckGLAVoiceMove 27236 End 27237 ; *** ENGINEERING Parameters *** 27238 RadarPriority = UNIT 27239 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER TRANSPORT SCORE ;POW_TRUCK 27240 Body = ActiveBody ModuleTag_02 27241 MaxHealth = 500.0 27242 InitialHealth = 500.0 27243 End 27244 27245 ; Behavior = POWTruckBehavior ModuleTag_03 27246 ; ContainMax = 10 27247 ; EnterSound = EnterPOWTruck 27248 ; ExitSound = ExitPOWTruck 27249 ; End 27250 27251 ; Behavior = POWTruckAIUpdate ModuleTag_04 27252 ; BoredTime = 10000 ; in milliseconds 27253 ; AtPrisonDistance = 160.0 ; This close to a prison is close enough to be doing nothing at 27254 ; End 27255 27256 Behavior = AIUpdateInterface ModuleTag_04 27257 ; no data 27258 End 27259 27260 Locomotor = SET_NORMAL POWTruckLocomotor 27261 Behavior = PhysicsBehavior ModuleTag_05 27262 Mass = 50.0 27263 End 27264 Behavior = SlowDeathBehavior ModuleTag_06 27265 DeathTypes = ALL -CRUSHED -SPLATTED 27266 ProbabilityModifier = 25 27267 DestructionDelay = 1 27268 FX = FINAL FX_BattleMasterExplosionOneFinal 27269 OCL = FINAL OCL_GLAPOWTruckDeathEffect 27270 End 27271 Behavior = FXListDie ModuleTag_07 27272 DeathTypes = NONE +CRUSHED +SPLATTED 27273 DeathFX = FX_CarCrush 27274 End 27275 Behavior = TransitionDamageFX ModuleTag_08 27276 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 27277 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 27278 End 27279 Behavior = FlammableUpdate ModuleTag_21 27280 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 27281 AflameDamageAmount = 3 ; taking this much damage... 27282 AflameDamageDelay = 500 ; this often. 27283 End 27284 27285 Behavior = StealthDetectorUpdate ModuleTag_HijackerDetect 27286 DetectionRate = 500 27287 DetectionRange = 75 27288 CanDetectWhileGarrisoned = No 27289 CanDetectWhileContained = No 27290 ExtraRequiredKindOf = BOAT 27291 End 27292 27293 Geometry = BOX 27294 GeometryMajorRadius = 15.0 27295 GeometryMinorRadius = 7.0 27296 GeometryHeight = 13.5 27297 GeometryIsSmall = Yes 27298 Shadow = SHADOW_VOLUME 27299 End 27300 27301 ;------------------------------------------------------------------------------ 27302 Object GLAAngryMobRockProjectileObject 27303 27304 ; *** ART Parameters *** 27305 27306 Draw = W3DModelDraw ModuleTag_01 27307 ConditionState = NONE 27308 Model = Mob_Rock 27309 End 27310 End 27311 27312 ; ***DESIGN parameters *** 27313 DisplayName = OBJECT:GLARock 27314 EditorSorting = SYSTEM 27315 ArmorSet 27316 Armor = ProjectileArmor 27317 End 27318 VisionRange = 0.0 27319 27320 ; *** ENGINEERING Parameters *** 27321 KindOf = PROJECTILE 27322 Body = ActiveBody ModuleTag_02 27323 MaxHealth = 100.0 27324 InitialHealth = 100.0 27325 End 27326 27327 Behavior = DestroyDie ModuleTag_03 27328 ;nothing 27329 End 27330 27331 Behavior = DumbProjectileBehavior ModuleTag_04 27332 TumbleRandomly = Yes ; not implemented, alas 27333 DetonateCallsKill = Yes 27334 ; To tweak a Bezier path, please see GS 27335 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 27336 SecondHeight = 10 27337 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 27338 SecondPercentIndent = 90% 27339 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 27340 End 27341 27342 Behavior = PhysicsBehavior ModuleTag_05;lorenzen sez, please keep this, it allows tumbling 27343 Mass = 0.1 ; about the weight of a rock 27344 End 27345 27346 Geometry = Sphere 27347 GeometryIsSmall = Yes 27348 GeometryMajorRadius = 1.0 27349 27350 End 27351 27352 27353 ;------------------------------------------------------------------------------ 27354 Object GLAAngryMobMolotovCocktailProjectileObject 27355 27356 ; *** ART Parameters *** 27357 Draw = W3DModelDraw ModuleTag_01 27358 ConditionState = NONE 27359 Model = Mob_Botl 27360 ParticleSysBone = BONE_FX MolotovBurningRag 27361 End 27362 End 27363 27364 ; ***DESIGN parameters *** 27365 DisplayName = OBJECT:GLARock 27366 EditorSorting = SYSTEM 27367 ArmorSet 27368 Armor = ProjectileArmor 27369 End 27370 VisionRange = 0.0 27371 27372 ; *** ENGINEERING Parameters *** 27373 KindOf = PROJECTILE 27374 Body = ActiveBody ModuleTag_02 27375 MaxHealth = 100.0 27376 InitialHealth = 100.0 27377 End 27378 27379 27380 Behavior = DumbProjectileBehavior ModuleTag_03 27381 TumbleRandomly = Yes ; not implemented, alas 27382 DetonateCallsKill = Yes 27383 ; To tweak a Bezier path, please see GS 27384 FirstHeight = 30 //TALL ARC LOOK GOOD 27385 SecondHeight = 30 //TALL ARC LOOK GOOD 27386 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 27387 SecondPercentIndent = 90% 27388 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 27389 End 27390 27391 Behavior = PhysicsBehavior ModuleTag_04;lorenzen sez, please keep this, it allows tumbling 27392 Mass = 0.1 ; about the weight of a rock 27393 End 27394 27395 ; Behavior = FireWeaponWhenDeadBehavior 27396 ; DeathWeapon = GLAAngryMobMolotovCocktailPersistentFlameWeapon 27397 ; StartsActive = Yes 27398 ; End 27399 27400 Behavior = DestroyDie ModuleTag_05 27401 ;nothing 27402 End 27403 27404 27405 Geometry = Sphere 27406 GeometryIsSmall = Yes 27407 GeometryMajorRadius = 1.0 27408 27409 End 27410 27411 ;------------------------------------------------------------------------------ 27412 Object ChinaArtilleryCannon 27413 27414 ; *** ART Parameters *** 27415 ; Draw = W3DModelDraw 27416 ; DefaultConditionState 27417 ; Model = AVBomber_B 27418 ; End 27419 ; End 27420 27421 ; ***DESIGN parameters *** 27422 ;DisplayName = OBJECT:A10Thunderbolt 27423 EditorSorting = VEHICLE 27424 Side = China 27425 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 27426 VisionRange = 99999.0 27427 ShroudClearingRange = 0 27428 ArmorSet 27429 Conditions = None 27430 Armor = AirplaneArmor 27431 DamageFX = None 27432 End 27433 27434 27435 ; *** AUDIO Parameters *** 27436 ; In the Activation of the superweapon, where it plays only once instead of once per missile. 27437 ; SoundMoveStart = FireArtilleryCannonSound 27438 27439 27440 ; *** ENGINEERING Parameters *** 27441 RadarPriority = UNIT 27442 KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT UNATTACKABLE IGNORED_IN_GUI 27443 Body = ActiveBody ModuleTag_01 27444 MaxHealth = 200.0 27445 InitialHealth = 200.0 27446 End 27447 27448 Behavior = DestroyDie ModuleTag_02 27449 ;nothing 27450 End 27451 27452 Behavior = PhysicsBehavior ModuleTag_03 27453 Mass = 0.001 ; about the weight of grain of salt 27454 End 27455 27456 Behavior = DeliverPayloadAIUpdate ModuleTag_05 27457 End 27458 27459 Locomotor = SET_NORMAL ChinaArtilleryBarrageCannonLocomotor 27460 27461 Geometry = Cylinder 27462 GeometryIsSmall = Yes 27463 GeometryMajorRadius = 1.0 27464 GeometryMinorRadius = 1.0 27465 GeometryHeight = 1.0 27466 Shadow = SHADOW_DECAL 27467 ShadowSizeX = 1; 27468 ShadowSizeY = 1; 27469 ShadowTexture = ShadowI; 27470 27471 End 27472 27473 ;------------------------------------------------------------------------------ 27474 27475 27476 27477 ;------------------------------------------------------------------------------ 27478 Object ChinaArtilleryBarrageShell 27479 27480 ; *** ART Parameters *** 27481 Draw = W3DModelDraw ModuleTag_01 27482 OkToChangeModelColor = Yes 27483 ConditionState = NONE 27484 Model = AVTankShel 27485 ParticleSysBone = NONE ArtilleryBarrageTrail 27486 ParticleSysBone = NONE ArtilleryBarrageTrailRing 27487 End 27488 End 27489 27490 ; ***DESIGN parameters *** 27491 DisplayName = OBJECT:Missile 27492 Side = China 27493 EditorSorting = SYSTEM 27494 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 27495 VisionRange = 0.0 27496 ArmorSet 27497 Conditions = None 27498 Armor = ProjectileArmor 27499 DamageFX = None 27500 End 27501 27502 27503 ; *** AUDIO Parameters *** 27504 SoundAmbient = ArtilleryBarrageIncomingWhistle 27505 27506 27507 ; *** ENGINEERING Parameters *** 27508 KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE ;SMALL_MISSILE 27509 Body = ActiveBody ModuleTag_02 27510 MaxHealth = 100.0 27511 InitialHealth = 100.0 27512 End 27513 27514 ; ---- begin Projectile death behaviors 27515 Behavior = InstantDeathBehavior DeathModuleTag_01 27516 DeathTypes = NONE +DETONATED 27517 ; we detonated normally. No effect, since it is in weapon. Don't want to double. 27518 ; FX = FX_ArtilleryBarrage 27519 End 27520 Behavior = InstantDeathBehavior DeathModuleTag_02 27521 DeathTypes = NONE +LASERED 27522 ; shot down by laser. 27523 FX = FX_GenericMissileDisintegrate 27524 OCL = OCL_GenericMissileDisintegrate 27525 End 27526 Behavior = InstantDeathBehavior DeathModuleTag_03 27527 DeathTypes = ALL -LASERED -DETONATED 27528 ; shot down by nonlaser. 27529 FX = FX_GenericMissileDeath 27530 End 27531 ; ---- end Projectile death behaviors 27532 27533 ; Besides being the wrong weapon, the weapon is fired from the DeliverPayload listing in OCL.ini 27534 ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 27535 ; DeathWeapon = A10ThunderboltMissileWeapon 27536 ; StartsActive = Yes 27537 ; End 27538 27539 Behavior = PhysicsBehavior ModuleTag_08 27540 Mass = 1 27541 End 27542 Behavior = MissileAIUpdate ModuleTag_09 27543 TryToFollowTarget = Yes 27544 FuelLifetime = 10000 27545 InitialVelocity = 30 ; in dist/sec 27546 IgnitionDelay = 0 27547 End 27548 ; It's a missile, it needs to hit so it can +DETONATED 27549 ; Behavior = HeightDieUpdate ModuleTag_10 27550 ; TargetHeight = 1.0 27551 ; TargetHeightIncludesStructures = No 27552 ; End 27553 Locomotor = SET_NORMAL A10ThunderboltMissileLocomotor 27554 27555 Geometry = Sphere 27556 GeometryIsSmall = Yes 27557 GeometryMajorRadius = 1.0 27558 27559 Behavior = SpecialPowerCompletionDie ModuleTag_11 27560 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike 27561 End 27562 27563 End 27564 27565 ;------------------------------------------------------------------------------ 27566 ;*************************** Cinematic-only unit ****************************** 27567 Object CINE_AmericaInfantryOfficer 27568 ; *** ART Parameters *** 27569 Draw = W3DModelDraw ModuleTag_01 27570 OkToChangeModelColor = Yes 27571 27572 ;NORMAL STANDING 27573 DefaultConditionState 27574 Model = AIOFCR_SKN 27575 IdleAnimation = AIOFCR_SKL.AIOFCR_STA 0 21 27576 ;Regular spice animations 27577 IdleAnimation = AIOFCR_SKL.AIOFCR_IDA 27578 IdleAnimation = AIOFCR_SKL.AIOFCR_IDB 27579 AnimationMode = ONCE 27580 WeaponFireFXBone = PRIMARY Muzzle 27581 WeaponMuzzleFlash = PRIMARY MuzzleFX 27582 TransitionKey = TRANS_STAND 27583 End 27584 27585 ConditionState = MOVING 27586 Animation = AIOFCR_SKL.AIOFCR_RNA 27587 AnimationMode = LOOP 27588 ParticleSysBone = None InfantryDustTrails 27589 End 27590 27591 ; NORMAL ATTACK 27592 ;-------------------------------------------------------- 27593 ; Drawing gun 27594 ConditionState = PREATTACK_A 27595 Animation = AIOFCR_SKL.AIOFCR_ATAST 27596 AnimationMode = ONCE 27597 End 27598 AliasConditionState = PREATTACK_A MOVING 27599 AliasConditionState = PREATTACK_A FIRING_A 27600 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 27601 27602 ; Firing gun 27603 ConditionState = FIRING_A 27604 Animation = AIOFCR_SKL.AIOFCR_ATALP 27605 AnimationMode = LOOP 27606 TransitionKey = TRANS_FIRING_A 27607 End 27608 ConditionState = BETWEEN_FIRING_SHOTS_A 27609 Animation = AIOFCR_SKL.AIOFCR_ATALP 27610 AnimationMode = LOOP 27611 TransitionKey = TRANS_FIRING_A 27612 End 27613 AliasConditionState = RELOADING_A 27614 AliasConditionState = MOVING FIRING_A 27615 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 27616 AliasConditionState = MOVING RELOADING_A 27617 27618 ; This transition allows him to put his gun away when he's finished attacking. 27619 TransitionState = TRANS_FIRING_A TRANS_STAND 27620 Animation = AIOFCR_SKL.AIOFCR_ATAED 27621 AnimationMode = ONCE 27622 End 27623 ;-------------------------------------------------------- 27624 27625 ConditionState = DYING 27626 Animation = AIOFCR_SKL.AIOFCR_DTA 27627 Animation = AIOFCR_SKL.AIOFCR_DTB 27628 AnimationMode = ONCE 27629 TransitionKey = TRANS_Dying 27630 End 27631 27632 TransitionState = TRANS_Dying TRANS_Flailing 27633 Animation = AIOFCR_SKL.AIOFCR_ADTE1 27634 AnimationMode = ONCE 27635 End 27636 27637 ConditionState = DYING EXPLODED_FLAILING 27638 Animation = AIOFCR_SKL.AIOFCR_ADTE2 27639 AnimationMode = LOOP 27640 TransitionKey = TRANS_Flailing 27641 End 27642 27643 ConditionState = DYING EXPLODED_BOUNCING 27644 Animation = AIOFCR_SKL.AIOFCR_ADTE3 27645 AnimationMode = ONCE 27646 TransitionKey = None 27647 End 27648 27649 ConditionState = SPECIAL_CHEERING 27650 Animation = AIOFCR_SKL.AIOFCR_CHA 27651 AnimationMode = LOOP 27652 End 27653 27654 ;PARACHUTING ANIMATIONS 27655 27656 ;@TODO - MISSING ANIMATION FILE 27657 ;ConditionState = FREEFALL 27658 ; Animation = AIOFCR_SKL.AIOFCR_PFL 27659 ; AnimationMode = LOOP 27660 ; TransitionKey = TRANS_Falling 27661 ;End 27662 ;AliasConditionState = FREEFALL REALLYDAMAGED 27663 ;AliasConditionState = FREEFALL DYING 27664 ConditionState = PARACHUTING 27665 Animation = AIOFCR_SKL.AIOFCR_PHG 27666 AnimationMode = LOOP 27667 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 27668 TransitionKey = TRANS_Chute 27669 27670 End 27671 AliasConditionState = PARACHUTING REALLYDAMAGED 27672 AliasConditionState = PARACHUTING DYING 27673 TransitionState = TRANS_Falling TRANS_Chute 27674 Animation = AIOFCR_SKL.AIOFCR_POP 27675 AnimationMode = ONCE 27676 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 27677 End 27678 TransitionState = TRANS_Chute TRANS_Stand 27679 Animation = AIOFCR_SKL.AIOFCR_PTD 27680 AnimationMode = ONCE 27681 End 27682 27683 ;SURRENDER ANIMATIONS 27684 ; surrender is cut. sorry. (srj) 27685 ; ConditionState = SURRENDER 27686 ; Animation = AIOFCR_SKL.AIOFCR_SLP 27687 ; AnimationMode = LOOP 27688 ; TransitionKey = TRANS_SurrenderStand 27689 ; End 27690 ; ConditionState = SURRENDER MOVING 27691 ; Animation = AIOFCR_SKL.AIOFCR_SWKLP 27692 ; AnimationMode = LOOP 27693 ; TransitionKey = TRANS_SurrenderMoving 27694 ; End 27695 ; TransitionState = TRANS_SurrenderStand TRANS_SurrenderMoving 27696 ; Animation = AIOFCR_SKL.AIOFCR_SWKST 27697 ; AnimationMode = ONCE 27698 ; End 27699 ; TransitionState = TRANS_Stand TRANS_SurrenderStand 27700 ; Animation = AIOFCR_SKL.AIOFCR_SST 27701 ; AnimationMode = ONCE 27702 ; End 27703 27704 End 27705 27706 ; ***DESIGN parameters *** 27707 DisplayName = OBJECT:Officer 27708 Side = America 27709 EditorSorting = INFANTRY 27710 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 27711 WeaponSet 27712 Conditions = None 27713 Weapon = PRIMARY AmericaOfficerMachineGun 27714 End 27715 ArmorSet 27716 Conditions = None 27717 Armor = HumanArmor 27718 DamageFX = InfantryDamageFX 27719 End 27720 VisionRange = 150 27721 ShroudClearingRange = 150 27722 27723 BuildCost = 400 27724 BuildTime = 10.0 ;in seconds 27725 27726 ; *** AUDIO Parameters *** 27727 VoiceSelect = RangerVoiceSelect 27728 VoiceGroupSelect = BattleCrySound 27729 VoiceMove = RangerVoiceMove 27730 VoiceAttack = RangerVoiceAttack 27731 SoundDie = RangerVoiceDie 27732 SoundDieFire = DieByFireUSA 27733 SoundDieToxin = DieByToxinChina 27734 27735 ; *** ENGINEERING Parameters *** 27736 RadarPriority = UNIT 27737 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 27738 27739 Body = ActiveBody ModuleTag_02 27740 MaxHealth = 100.0 27741 InitialHealth = 100.0 27742 End 27743 27744 Behavior = AIUpdateInterface ModuleTag_03 27745 AutoAcquireEnemiesWhenIdle = Yes 27746 End 27747 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 27748 ScanRate = 1000 ; once a second. 27749 ScanRange = 300 ; 27750 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 27751 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 27752 End 27753 27754 Locomotor = SET_NORMAL CINE_BasicHumanLocomotor 27755 Behavior = PhysicsBehavior ModuleTag_05 27756 Mass = 5.0 27757 End 27758 27759 Behavior = SquishCollide ModuleTag_07 27760 ;nothing 27761 End 27762 27763 ; --- begin Death modules --- 27764 Behavior = SlowDeathBehavior ModuleTag_Death01 27765 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 27766 SinkDelay = 3000 27767 SinkRate = 0.5 ; in Dist/Sec 27768 DestructionDelay = 8000 27769 FX = INITIAL FX_GIDie 27770 End 27771 Behavior = SlowDeathBehavior ModuleTag_Death02 27772 DeathTypes = NONE +CRUSHED +SPLATTED 27773 SinkDelay = 3000 27774 SinkRate = 0.5 ; in Dist/Sec 27775 DestructionDelay = 8000 27776 FX = INITIAL FX_GIDieCrushed 27777 End 27778 Behavior = SlowDeathBehavior ModuleTag_Death03 27779 DeathTypes = NONE +EXPLODED 27780 SinkDelay = 3000 27781 SinkRate = 0.5 ; in Dist/Sec 27782 DestructionDelay = 8000 27783 FX = INITIAL FX_GIDie 27784 FlingForce = 8 27785 FlingForceVariance = 3 27786 FlingPitch = 60 27787 FlingPitchVariance = 10 27788 End 27789 Behavior = SlowDeathBehavior ModuleTag_Death04 27790 DeathTypes = NONE +BURNED 27791 DestructionDelay = 0 27792 FX = INITIAL FX_GIDie 27793 OCL = INITIAL OCL_FlamingInfantry 27794 End 27795 Behavior = SlowDeathBehavior ModuleTag_Death05 27796 DeathTypes = NONE +POISONED 27797 DestructionDelay = 0 27798 FX = INITIAL FX_GIDie 27799 OCL = INITIAL OCL_ToxicInfantry 27800 End 27801 ; --- end Death modules --- 27802 27803 Behavior = PoisonedBehavior ModuleTag_10 27804 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 27805 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 27806 End 27807 27808 Geometry = CYLINDER 27809 GeometryMajorRadius = 10.0 27810 GeometryMinorRadius = 10.0 27811 GeometryHeight = 12.0 27812 GeometryIsSmall = Yes 27813 Shadow = SHADOW_DECAL 27814 ShadowSizeX = 14; 27815 ShadowSizeY = 14; 27816 ShadowTexture = ShadowI; 27817 BuildCompletion = APPEARS_AT_RALLY_POINT 27818 27819 End 27820 27821 ;------------------------------------------------------------------------------ 27822 ;************************ Cinematic-only unit ********************************* 27823 Object CINE_ChinaAmbassador 27824 27825 ; *** ART Parameters *** 27826 Draw = W3DModelDraw ModuleTag_01 27827 OkToChangeModelColor = Yes 27828 27829 DefaultConditionState 27830 Model = NIAMBSDR_SKN 27831 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 27832 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 27833 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 27834 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 27835 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 27836 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 27837 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 27838 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_IDA 27839 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_IDB 27840 AnimationMode = ONCE 27841 TransitionKey = TRANS_Stand 27842 End 27843 27844 ConditionState = MOVING 27845 Animation = NIAMBSDR_SKL.NIAMBSDR_RNA ;***was using WKA but it doesn't exist so I changed it to kill the assert -- Kris 27846 AnimationMode = LOOP 27847 Flags = RANDOMSTART 27848 End 27849 27850 ConditionState = MOVING PANICKING 27851 Animation = NIAMBSDR_SKL.NIAMBSDR_RNA 27852 AnimationMode = LOOP 27853 Flags = RANDOMSTART 27854 End 27855 27856 ConditionState = DYING 27857 Animation = NIAMBSDR_SKL.NIAMBSDR_DTA 27858 Animation = NIAMBSDR_SKL.NIAMBSDR_DTB 27859 AnimationMode = ONCE 27860 TransitionKey = TRANS_Dying 27861 End 27862 27863 ;TransitionState = TRANS_Dying TRANS_Flailing 27864 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD1 27865 ; AnimationMode = ONCE 27866 ;End 27867 27868 ;ConditionState = DYING EXPLODED_FLAILING 27869 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD2 27870 ; AnimationMode = LOOP 27871 ; TransitionKey = TRANS_Flailing 27872 ;End 27873 27874 ;ConditionState = DYING EXPLODED_BOUNCING 27875 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD3 27876 ; AnimationMode = ONCE 27877 ; TransitionKey = None 27878 ;End 27879 End 27880 27881 ; ***DESIGN parameters *** 27882 Buildable = No 27883 DisplayName = OBJECT:Ambassador 27884 Side = China 27885 EditorSorting = INFANTRY 27886 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 27887 WeaponSet 27888 ; no weapons 27889 End 27890 ArmorSet 27891 Conditions = None 27892 Armor = HumanArmor 27893 DamageFX = InfantryDamageFX 27894 End 27895 VisionRange = 150 27896 ShroudClearingRange = 150 27897 27898 ExperienceValue = 50 100 150 400 ;Experience point value at each level 27899 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 27900 IsTrainable = Yes ;Can gain experience 27901 27902 ; *** AUDIO Parameters *** 27903 SoundDie = RedGuardVoiceDie 27904 27905 ; *** ENGINEERING Parameters *** 27906 RadarPriority = UNIT 27907 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 27908 27909 Body = ActiveBody ModuleTag_02 27910 MaxHealth = 50.0 27911 InitialHealth = 50.0 27912 End 27913 27914 Behavior = AIUpdateInterface ModuleTag_03 27915 AutoAcquireEnemiesWhenIdle = Yes 27916 End 27917 Locomotor = SET_NORMAL CINE_BasicHumanLocomotor 27918 Behavior = PhysicsBehavior ModuleTag_04 27919 Mass = 5.0 27920 End 27921 Behavior = SlowDeathBehavior ModuleTag_05 27922 SinkDelay = 3000 27923 SinkRate = 0.5 ; in Dist/Sec 27924 DestructionDelay = 8000 27925 End 27926 27927 Behavior = SquishCollide ModuleTag_06 27928 ;nothing 27929 End 27930 27931 Behavior = FXListDie ModuleTag_07 27932 DeathTypes = ALL -CRUSHED -SPLATTED 27933 DeathFX = FX_GIDie 27934 End 27935 Behavior = FXListDie ModuleTag_08 27936 DeathTypes = NONE +CRUSHED +SPLATTED 27937 DeathFX = FX_GIDieCrushed 27938 End 27939 27940 Behavior = PoisonedBehavior ModuleTag_09 27941 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 27942 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 27943 End 27944 27945 Geometry = CYLINDER 27946 GeometryMajorRadius = 10.0 27947 GeometryMinorRadius = 10.0 27948 GeometryHeight = 12.0 27949 GeometryIsSmall = Yes 27950 Shadow = SHADOW_DECAL 27951 ShadowSizeX = 14 27952 ShadowSizeY = 14 27953 ShadowTexture = ShadowI 27954 BuildCompletion = APPEARS_AT_RALLY_POINT 27955 27956 End 27957 27958 ;------------------------------------------------------------------------------ 27959 27960 ; ************** Nova Unit Objects ******************* 27961 27962 ;------------------------------------------------------------------------------ 27963 27964 Object NeutronMissileOP ; *note* is now hydrogen missile 27965 27966 ; *** ART Parameters *** 27967 Draw = W3DModelDraw ModuleTag_01 27968 OkToChangeModelColor = Yes 27969 ConditionState = NONE 27970 Model = NBNRocket 27971 End 27972 ConditionState = DAMAGED REALLYDAMAGED RUBBLE 27973 Model = NONE 27974 End 27975 27976 End 27977 27978 ; ***DESIGN parameters *** 27979 DisplayName = OBJECT:NeutronMissileOP 27980 KindOf = UNATTACKABLE 27981 EditorSorting = SYSTEM 27982 VisionRange = 300.0 27983 ShroudClearingRange = 0 27984 TransportSlotCount = 10 27985 ArmorSet 27986 Conditions = None 27987 Armor = ProjectileArmor 27988 DamageFX = None 27989 End 27990 27991 ; *** ENGINEERING Parameters *** 27992 Body = ActiveBody ModuleTag_02 27993 MaxHealth = 99999999.0 27994 InitialHealth = 99999999.0 27995 End 27996 27997 Behavior = NeutronMissileUpdate ModuleTag_03 27998 DistanceToTravelBeforeTurning = 300 ; goes straight up a long ways first 27999 MaxTurnRate = 7200 ; huge, since it turns off-camera 28000 ForwardDamping = 0.1 28001 RelativeSpeed = 2.0 28002 LaunchFX = FX_NeutronMissileLaunch 28003 IgnitionFX = FX_NeutronMissileIgnition 28004 TargetFromDirectlyAbove = 500 ; aim for an intermed spot directly above the target, so we come straight down onto it 28005 SpecialAccelFactor = 1 28006 SpecialSpeedTime = 1500 28007 SpecialSpeedHeight = 160 28008 SpecialJitterDistance = 0.4 28009 DeliveryDecalRadius = 210 28010 DeliveryDecal 28011 Texture = SCCNuclearMissile_China 28012 Style = SHADOW_ALPHA_DECAL 28013 OpacityMin = 25% 28014 OpacityMax = 50% 28015 OpacityThrobTime = 500 28016 Color = R:200 G:200 B:50 A:255 28017 OnlyVisibleToOwningPlayer = Yes 28018 End 28019 End 28020 28021 Behavior = HeightDieUpdate ModuleTag_04 28022 TargetHeight = 100.0 28023 TargetHeightIncludesStructures = No 28024 OnlyWhenMovingDown = Yes 28025 SnapToGroundOnDeath = Yes 28026 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 28027 End 28028 28029 Behavior = SpecialPowerCompletionDie ModuleTag_05 28030 SpecialPowerTemplate = SuperweaponNeutronMissile 28031 End 28032 28033 Behavior = NeutronMissileSlowDeathBehavior ModuleTag_06 28034 DestructionDelay = 3501 28035 ScorchMarkSize = 400 ;380 28036 FXList = FX_NukeOP 28037 28038 Blast1Enabled = Yes 28039 Blast1Delay = 580 ;in milliseconds 28040 Blast1ScorchDelay = 100 ;in milliseconds 28041 Blast1InnerRadius = 60.0 ;objects inside this get the full damage 28042 Blast1OuterRadius = 60.0 ;objects inside this get some of the full damage 28043 Blast1MaxDamage = 100.0 ;damage within inner radius of blast 28044 Blast1MinDamage = 20.0 ;always do at least this much damage to objects 28045 Blast1ToppleSpeed = 0.5 ;higher #'s topple faster 28046 Blast1PushForce = 30.0 ;higher #'s push more 28047 28048 Blast2Enabled = Yes 28049 Blast2Delay = 660 ;in milliseconds 28050 Blast2ScorchDelay = 180 ;in milliseconds 28051 Blast2InnerRadius = 90.0 ;objects inside this get the full damage 28052 Blast2OuterRadius = 90.0 ;objects inside this get some of the full damage 28053 Blast2MaxDamage = 100.0 ;damage within inner radius of blast 28054 Blast2MinDamage = 20.0 ;always do at least this much damage to objects 28055 Blast2ToppleSpeed = 0.45 ;higher #'s topple faster 28056 Blast2PushForce = 8.0 ;higher #'s push more 28057 28058 Blast3Enabled = Yes 28059 Blast3Delay = 720 ;in milliseconds 28060 Blast3ScorchDelay = 260 ;in milliseconds 28061 Blast3InnerRadius = 120.0 ;objects inside this get the full damage 28062 Blast3OuterRadius = 120.0 ;objects inside this get some of the full damage 28063 Blast3MaxDamage = 100.0 ;damage within inner radius of blast 28064 Blast3MinDamage = 20.0 ;always do at least this much damage to objects 28065 Blast3ToppleSpeed = 0.42 ;higher #'s topple faster 28066 Blast3PushForce = 6.0 ;higher #'s push more 28067 28068 Blast4Enabled = Yes 28069 Blast4Delay = 850 ;in milliseconds 28070 Blast4ScorchDelay = 340 ;in milliseconds 28071 Blast4InnerRadius = 150.0 ;objects inside this get the full damage 28072 Blast4OuterRadius = 150.0 ;objects inside this get some of the full damage 28073 Blast4MaxDamage = 100.0 ;damage within inner radius of blast 28074 Blast4MinDamage = 20.0 ;always do at least this much damage to objects 28075 Blast4ToppleSpeed = 0.40 ;higher #'s topple faster 28076 Blast4PushForce = 6.0 ;higher #'s push more 28077 28078 Blast5Enabled = Yes 28079 Blast5Delay = 1000 ;in milliseconds 28080 Blast5ScorchDelay = 420 ;in milliseconds 28081 Blast5InnerRadius = 180.0 ;objects inside this get the full damage 28082 Blast5OuterRadius = 180.0 ;objects inside this get some of the full damage 28083 Blast5MaxDamage = 100.0 ;damage within inner radius of blast 28084 Blast5MinDamage = 20.0 ;always do at least this much damage to objects 28085 Blast5ToppleSpeed = 0.38 ;higher #'s topple faster 28086 Blast5PushForce = 6.0 ;higher #'s push more 28087 28088 Blast6Enabled = Yes 28089 Blast6Delay = 1180 ;in milliseconds 28090 Blast6ScorchDelay = 500 ;in milliseconds 28091 Blast6InnerRadius = 80.0 ;objects inside this get the full damage 28092 Blast6OuterRadius = 260.0 ;objects inside this get some of the full damage 28093 Blast6MaxDamage = 3500.0 ;damage within inner radius of blast 28094 Blast6MinDamage = 300.0 ;always do at least this much damage to objects 28095 Blast6ToppleSpeed = 0.35 ;higher #'s topple faster 28096 Blast6PushForce = 4.0 ;higher #'s push more 28097 28098 Blast7Enabled = Yes 28099 Blast7Delay = 1600 ;in milliseconds, don't do the damage wave 28100 Blast7ScorchDelay = 620 ;in milliseconds 28101 Blast7InnerRadius = 80.0 ;objects inside this get the full damage 28102 Blast7OuterRadius = 260.0 ;objects inside this get some of the full damage 28103 Blast7MaxDamage = 300.0 ;damage within inner radius of blast 28104 Blast7MinDamage = 100.0 ;always do at least this much damage to objects 28105 Blast7ToppleSpeed = 0.38 ;higher #'s topple faster 28106 Blast7PushForce = 6.0 ;higher #'s push more 28107 28108 Blast8Enabled = Yes 28109 Blast8Delay = 2000 ;in milliseconds, don't do the damage wave 28110 Blast8ScorchDelay = 700 ;in milliseconds 28111 Blast8InnerRadius = 80.0 ;objects inside this get the full damage 28112 Blast8OuterRadius = 260.0 ;objects inside this get some of the full damage 28113 Blast8MaxDamage = 300.0 ;damage within inner radius of blast 28114 Blast8MinDamage = 100.0 ;always do at least this much damage to objects 28115 Blast8ToppleSpeed = 0.38 ;higher #'s topple faster 28116 Blast8PushForce = 6.0 ;higher #'s push more 28117 28118 Blast9Enabled = Yes 28119 Blast9Delay = 999999 ;in milliseconds, don't do the damage wave 28120 Blast9ScorchDelay = 800 ;in milliseconds 28121 Blast9OuterRadius = 250.0 ;objects inside this get some of the full damage 28122 28123 OCL = MIDPOINT OCL_RadiationFieldMedium 28124 28125 End 28126 28127 Geometry = CYLINDER 28128 GeometryIsSmall = Yes 28129 GeometryMajorRadius = 7.0 28130 GeometryHeight = 60.0 28131 28132 End 28133 28134 ;------------------------------------------------------------------------------ 28135 Object NeutronBomb 28136 28137 ; *** ART Parameters *** 28138 Draw = W3DModelDraw ModuleTag_01 28139 OkToChangeModelColor = Yes 28140 DefaultConditionState 28141 Model = AVBomber_B 28142 End 28143 End 28144 28145 ; ***DESIGN parameters *** 28146 DisplayName = OBJECT:NeutronBomb 28147 Side = GLA 28148 EditorSorting = SYSTEM 28149 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 28150 VisionRange = 300.0 28151 ShroudClearingRange = 0 28152 ArmorSet 28153 Conditions = None 28154 Armor = ProjectileArmor 28155 DamageFX = None 28156 End 28157 28158 ; *** AUDIO Parameters *** 28159 SoundFallingFromPlane = DaisyCutterWeapon 28160 28161 ; *** ENGINEERING Parameters *** 28162 KindOf = PROJECTILE 28163 Body = ActiveBody ModuleTag_02 28164 MaxHealth = 100.0 28165 InitialHealth = 100.0 28166 End 28167 28168 Behavior = AIUpdateInterface ModuleTag_03 28169 End 28170 Locomotor = SET_NORMAL None 28171 28172 Behavior = PhysicsBehavior ModuleTag_04 28173 Mass = 75.0 28174 AerodynamicFriction = 1 ; this is now friction-per-sec 28175 ForwardFriction = 33 ; this is now friction-per-sec 28176 CenterOfMassOffset = 1 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 28177 End 28178 28179 Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 28180 DeathWeapon = NeutronBombWeapon 28181 StartsActive = Yes 28182 End 28183 28184 Behavior = HeightDieUpdate ModuleTag_06 28185 TargetHeight = 40.0 28186 TargetHeightIncludesStructures = No 28187 End 28188 28189 Behavior = SpecialPowerCompletionDie ModuleTag_07 28190 SpecialPowerTemplate = SuperweaponNeutronBomb 28191 End 28192 Behavior = DestroyDie ModuleTag_08 28193 ;nothing 28194 End 28195 28196 Behavior = FXListDie ModuleTag_09 28197 DeathFX = FX_NeutronBomb 28198 End 28199 28200 ; Geometry = Sphere 28201 ; GeometryIsSmall = Yes 28202 ;GeometryMajorRadius = 12.0 28203 28204 End 28205 28206 ;------------------------------------------------------------------------------ 28207 Object NeutronEmissionField 28208 28209 ; *** ART Parameters *** 28210 Draw = W3DModelDraw ModuleTag_01 28211 DefaultConditionState 28212 Model = NONE 28213 End 28214 End 28215 28216 ; ***DESIGN parameters *** 28217 EditorSorting = SYSTEM 28218 KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE 28219 ArmorSet 28220 Conditions = None 28221 Armor = HazardousMaterialArmor 28222 End 28223 28224 ; ***AUDIO parameters *** 28225 SoundAmbient = AnthraxPoolAmbientLoop 28226 SoundDie = AnthraxPoolDie 28227 28228 ; *** ENGINEERING Parameters *** 28229 Body = ActiveBody ModuleTag_02 28230 MaxHealth = 120.0 28231 InitialHealth = 120.0 28232 End 28233 Behavior = FireWeaponUpdate ModuleTag_03 28234 Weapon = NeutronBombEmissionFieldWeapon 28235 End 28236 28237 Behavior = FireWeaponUpdate ModuleTag_04 28238 Weapon = NeutronBombEmissionFieldWeaponPoison 28239 End 28240 28241 Behavior = LifetimeUpdate ModuleTag_05 28242 MinLifetime = 20000 28243 MaxLifetime = 20000 28244 End 28245 28246 Behavior = FireWeaponUpdate ModuleTag_06 28247 Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup 28248 End 28249 28250 Behavior = DestroyDie ModuleTag_07 28251 End 28252 28253 Geometry = CYLINDER 28254 GeometryMajorRadius = 150.0 28255 GeometryHeight = 1.0 28256 GeometryIsSmall = No 28257 28258 End 28259 28260 ;------------------------------------------------------------------------------ 28261 Object TomahawkMissileFromB52 28262 28263 ; *** ART Parameters *** 28264 Draw = W3DModelDraw ModuleTag_01 28265 OkToChangeModelColor = Yes 28266 ConditionState = NONE 28267 Model = AVTomahawk_M 28268 End 28269 End 28270 28271 ; ***DESIGN parameters *** 28272 DisplayName = OBJECT:TomahawkMissile 28273 EditorSorting = SYSTEM 28274 VisionRange = 0.0 28275 TransportSlotCount = 1 28276 ArmorSet 28277 Conditions = None 28278 Armor = BallisticMissileArmor 28279 DamageFX = None 28280 End 28281 28282 ; *** AUDIO Parameters *** 28283 ;SoundFallingFromPlane = TomahawkWeapon 28284 28285 ; *** ENGINEERING Parameters *** 28286 KindOf = PROJECTILE SMALL_MISSILE 28287 Body = ActiveBody ModuleTag_02 28288 MaxHealth = 200.0 28289 InitialHealth = 200.0 28290 End 28291 28292 ; ---- begin Projectile death behaviors 28293 Behavior = InstantDeathBehavior DeathModuleTag_01 28294 DeathTypes = NONE +DETONATED 28295 ; we detonated normally. 28296 FX = WeaponFX_TomahawkMissileDetonation 28297 End 28298 Behavior = InstantDeathBehavior DeathModuleTag_02 28299 DeathTypes = NONE +LASERED 28300 ; shot down by laser. 28301 FX = FX_GenericMissileDisintegrate 28302 OCL = OCL_GenericMissileDisintegrate 28303 End 28304 Behavior = InstantDeathBehavior DeathModuleTag_03 28305 DeathTypes = ALL -LASERED -DETONATED 28306 ; shot down by nonlaser. 28307 FX = FX_GenericMissileDeath 28308 End 28309 ; ---- end Projectile death behaviors 28310 28311 Behavior = PhysicsBehavior ModuleTag_06 28312 Mass = 1 28313 End 28314 Behavior = MissileAIUpdate ModuleTag_07 28315 TryToFollowTarget = Yes 28316 FuelLifetime = 10000 28317 IgnitionDelay = 300 28318 IgnitionFX = FX_TomahawkIgnition 28319 InitialVelocity = 70 ; in dist/sec 28320 ;DistanceToTravelBeforeTurning = 80 28321 DistanceToTargetBeforeDiving = 100 28322 DistanceToTargetForLock = 20 28323 End 28324 28325 Locomotor = SET_NORMAL B52TomahawkMissileLocomotor 28326 28327 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 28328 GeometryMajorRadius = 8.0 28329 GeometryHeight = 4.0 28330 GeometryIsSmall = Yes 28331 28332 Shadow = SHADOW_DECAL 28333 End 28334 28335 ;------------------------------------------------------------------------------ 28336 Object GLAPlaneSuicide 28337 28338 ; *** ART Parameters *** 28339 SelectPortrait = 28340 ButtonImage = SCTempDefaultCommand 28341 28342 UpgradeCameo1 = Upgrade_GLAAnthraxBeta 28343 ;UpgradeCameo2 = 28344 ;UpgradeCameo3 = NONE 28345 ;UpgradeCameo4 = NONE 28346 ;UpgradeCameo5 = NONE 28347 28348 Draw = W3DModelDraw ModuleTag_01 28349 28350 DefaultConditionState 28351 Model = CVCDTPLN 28352 ;HideSubObject = BurnerFX01 BurnerFX02 28353 WeaponLaunchBone = PRIMARY WeaponA 28354 End 28355 28356 ConditionState = JETEXHAUST 28357 ParticleSysBone = Wingtip01 JetContrail 28358 ParticleSysBone = Wingtip02 JetContrail 28359 End 28360 28361 ;ConditionState = JETEXHAUST JETAFTERBURNER 28362 ; ParticleSysBone = Wingtip01 JetContrail 28363 ; ParticleSysBone = Wingtip02 JetContrail 28364 ; ShowSubObject = BurnerFX01 BurnerFX02 28365 ; ParticleSysBone = Engine01 JetLenzflare 28366 ; ParticleSysBone = Engine02 JetLenzflare 28367 ;End 28368 28369 ConditionState = REALLYDAMAGED 28370 Model = CVCDTPLN_D 28371 ParticleSysBone = Smoke01 JetSmoke 28372 ParticleSysBone = Engine01 JetEngineDamagedSmoke 28373 End 28374 28375 ConditionState = REALLYDAMAGED JETEXHAUST 28376 Model = CVCDTPLN_D 28377 ParticleSysBone = Smoke01 JetSmoke 28378 ParticleSysBone = Engine01 JetEngineDamagedSmoke 28379 ParticleSysBone = Wingtip01 JetContrail 28380 ParticleSysBone = Wingtip02 JetContrail 28381 End 28382 28383 ;ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 28384 ; Model = AVRaptor_D 28385 ; ; damage 28386 ; ParticleSysBone = Smoke01 JetSmoke 28387 ; ParticleSysBone = Engine01 JetEngineDamagedSmoke 28388 ; ; afterburner 28389 ; ShowSubObject = BurnerFX01 BurnerFX02 28390 ; ParticleSysBone = Engine01 JetLenzflare 28391 ; ParticleSysBone = Engine02 JetLenzflare 28392 ; ; exhaust 28393 ; ParticleSysBone = Wingtip01 JetContrail 28394 ; ParticleSysBone = Wingtip02 JetContrail 28395 ;End 28396 28397 ConditionState = RUBBLE 28398 Model = CVCDTPLN_D 28399 HideSubObject = None 28400 ShowSubObject = None 28401 End 28402 28403 ;ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 28404 ; Model = AVRaptor_D1B 28405 ; ;HideSubObject is needed cause there're inherited from default condition state 28406 ; HideSubObject = None 28407 ; ShowSubObject = None 28408 ; ParticleSysBone = Engine01 JetExhaust 28409 ; ParticleSysBone = Engine02 JetExhaust 28410 ; ; exhaust 28411 ; ParticleSysBone = Wingtip01 JetContrail 28412 ; ParticleSysBone = Wingtip02 JetContrail 28413 ;End 28414 28415 OkToChangeModelColor = Yes 28416 28417 End 28418 28419 ; ***DESIGN parameters *** 28420 DisplayName = OBJECT:GLASuicidePlane 28421 EditorSorting = VEHICLE 28422 Side = GLA 28423 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 28424 VisionRange = 180.0 28425 ShroudClearingRange = 400 28426 Prerequisites 28427 Object = GLAAirfield 28428 End 28429 28430 WeaponSet 28431 Conditions = None 28432 Weapon = PRIMARY SuicideWeapon 28433 End 28434 ArmorSet 28435 Conditions = None 28436 Armor = AirplaneArmor 28437 DamageFX = None 28438 End 28439 28440 BuildCost = 200 ;1000 28441 BuildTime = 2 ;12 28442 ExperienceValue = 50 50 50 50 ;Experience point value at each level 28443 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 28444 IsTrainable = No ;Can gain experience 28445 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 28446 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 28447 CommandSet = GLAPlaneSuicideCommandSet 28448 28449 ; *** AUDIO Parameters *** 28450 VoiceSelect = BombTruckVoiceSelect 28451 VoiceMove = BombTruckVoiceMove 28452 VoiceGuard = BombTruckVoiceMove 28453 VoiceAttack = BombTruckVoiceAttack 28454 VoiceAttackAir = BombTruckVoiceAttack 28455 ;SoundDie = 28456 SoundAmbient = CivPropPlaneAmbientLoop 28457 SoundAmbientRubble = NoSound 28458 28459 UnitSpecificSounds 28460 VoiceCreate = BombTruckVoiceCreate 28461 SoundEject = PilotSoundEject 28462 VoiceEject = PilotVoiceEject 28463 ;Afterburner = 28464 ;VoiceLowFuel = 28465 ;VoiceGarrison = 28466 End 28467 28468 ; *** ENGINEERING Parameters *** 28469 RadarPriority = UNIT 28470 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 28471 Body = ActiveBody ModuleTag_02 28472 MaxHealth = 120.0 28473 InitialHealth = 120.0 28474 End 28475 28476 Behavior = JetSlowDeathBehavior ModuleTag_05 28477 DeathTypes = ALL -SUICIDED 28478 FXOnGroundDeath = FX_JetOnGroundDeath 28479 OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp 28480 DestructionDelay = 99999999; destruction will happen when we 28481 RollRate = 0.2 28482 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 28483 PitchRate = 0.0 28484 FallHowFast = 90.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 28485 FXInitialDeath = FX_JetDeathInitial 28486 OCLInitialDeath = OCL_RaptorDeathInitial 28487 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 28488 FXSecondary = FX_JetDeathSecondary 28489 OCLSecondary = OCL_RaptorDeathSecondary 28490 FXHitGround = FX_JetDeathHitGround 28491 OCLHitGround = OCL_RaptorDeathHitGround 28492 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 28493 FXFinalBlowUp = FX_JetDeathFinalBlowUp 28494 OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp 28495 End 28496 28497 Behavior = InstantDeathBehavior DeathModuleTag_12 28498 DeathTypes = NONE +SUICIDED 28499 End 28500 28501 ;Behavior = EjectPilotDie ModuleTag_06 ; pilot sacrifices himself 28502 ; ExemptStatus = HIJACKED 28503 ; GroundCreationList = OCL_EjectPilotOnGround 28504 ; AirCreationList = OCL_EjectPilotViaParachute 28505 ; VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 28506 ;End 28507 28508 Behavior = PhysicsBehavior ModuleTag_07 28509 Mass = 400.0 28510 End 28511 28512 Behavior = TransitionDamageFX ModuleTag_08 28513 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 28514 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 28515 End 28516 28517 Behavior = FireWeaponWhenDeadBehavior ModuleTag_10 28518 DeathWeapon = SuicidePlaneBomb 28519 StartsActive = Yes 28520 ConflictsWith = Upgrade_GLAAnthraxBeta 28521 DeathTypes = NONE +SUICIDED 28522 End 28523 Behavior = FireWeaponWhenDeadBehavior ModuleTag_11 28524 DeathWeapon = SuicidePlaneBombUpgraded 28525 StartsActive = No 28526 TriggeredBy = Upgrade_GLAAnthraxBeta 28527 DeathTypes = NONE +SUICIDED 28528 End 28529 28530 Behavior = JetAIUpdate ModuleTag_09 28531 OutOfAmmoDamagePerSecond = 0% 28532 TakeoffSpeedForMaxLift = 80% ; smaller numbers give more lift sooner when taking off 28533 TakeoffPause = 500 28534 MinHeight = 1 28535 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors 28536 ReturnToBaseIdleTime = 20000 ; if idle for this long, return to base, even if not out of ammo 28537 End 28538 Locomotor = SET_NORMAL SuicidePlaneLocomotor 28539 Locomotor = SET_TAXIING SuicidePlaneTaxiLocomotor 28540 28541 Behavior = FlammableUpdate ModuleTag_21 28542 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 28543 AflameDamageAmount = 3 ; taking this much damage... 28544 AflameDamageDelay = 500 ; this often. 28545 End 28546 28547 Geometry = Box 28548 GeometryIsSmall = Yes 28549 GeometryMajorRadius = 14.0 28550 GeometryMinorRadius = 7.0 28551 GeometryHeight = 5.0 28552 Shadow = SHADOW_VOLUME 28553 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. 28554 28555 End 28556 28557 ;------------------------------------------------------------------------------------------------------ 28558 Object GLAPlaneSuicideHulk 28559 28560 ; *** ART Parameters *** 28561 Draw = W3DModelDraw ModuleTag_01 28562 DefaultConditionState 28563 Model = CVCDTPLN_D 28564 End 28565 End 28566 28567 ; ***DESIGN parameters *** 28568 EditorSorting = DEBRIS 28569 28570 ; *** ENGINEERING Parameters *** 28571 KindOf = NO_COLLIDE HULK 28572 28573 Behavior = PhysicsBehavior ModuleTag_03 28574 Mass = 2.0 28575 AllowBouncing = Yes 28576 KillWhenRestingOnGround = Yes 28577 End 28578 28579 Behavior = LifetimeUpdate ModuleTag_04 28580 MinLifetime = 1500 ; min lifetime in msec 28581 MaxLifetime = 1600 ; max lifetime in msec 28582 End 28583 28584 Behavior = SlowDeathBehavior ModuleTag_05 28585 SinkDelay = 1500 28586 SinkRate = 2 ; in Dist/Sec 28587 DestructionDelay = 8000 28588 End 28589 28590 End 28591 28592 ;------------------------------------------------------------------------------ 28593 Object JarmenKellSniperShell 28594 28595 ; *** ART Parameters *** 28596 Draw = W3DModelDraw ModuleTag_01 28597 ConditionState = NONE 28598 Model = none 28599 End 28600 End 28601 28602 ; ***DESIGN parameters *** 28603 DisplayName = OBJECT:TankShell 28604 EditorSorting = SYSTEM 28605 ArmorSet 28606 Armor = ProjectileArmor 28607 End 28608 VisionRange = 0.0 28609 28610 ; *** ENGINEERING Parameters *** 28611 KindOf = PROJECTILE 28612 Body = ActiveBody ModuleTag_02 28613 MaxHealth = 100.0 28614 InitialHealth = 100.0 28615 End 28616 28617 Behavior = DestroyDie ModuleTag_03 28618 ;nothing 28619 End 28620 28621 Behavior = MissileAIUpdate ModuleTag_04 28622 TryToFollowTarget = No 28623 FuelLifetime = 2000 28624 InitialVelocity = 9999 ; in dist/sec 28625 IgnitionDelay = 0 28626 DistanceToTravelBeforeTurning = 0 28627 GarrisonHitKillRequiredKindOf = INFANTRY 28628 GarrisonHitKillForbiddenKindOf = NONE 28629 GarrisonHitKillCount = 8 28630 ;GarrisonHitKillFX = none 28631 End 28632 28633 Behavior = PhysicsBehavior ModuleTag_05 28634 Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny... 28635 AllowCollideForce = no 28636 End 28637 28638 Geometry = Sphere 28639 GeometryIsSmall = Yes 28640 GeometryMajorRadius = 1.0 28641 28642 End
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sat Mar 28 08:18:23 2009 | Cross-referenced by PHPXref 0.7 |