[ 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 Object 12UMCruiserMissile 9 10 11 12 ; *** ART Parameters *** 13 Draw = W3DModelDraw ModuleTag_01 14 OkToChangeModelColor = Yes 15 DefaultConditionState 16 Model = 12UMCmi 17 End 18 End 19 20 ; ***DESIGN parameters *** 21 DisplayName = OBJECT:TomahawkMissile 22 EditorSorting = SYSTEM 23 VisionRange = 0.0 24 ArmorSet 25 Conditions = None 26 ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting 27 ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have 28 ;*AntiBallisticMissile = Yes set in the Weapon.ini. 29 Armor = BallisticMissileArmor 30 DamageFX = None 31 End 32 33 ; *** ENGINEERING Parameters *** 34 KindOf = PROJECTILE BALLISTIC_MISSILE 35 Body = ActiveBody ModuleTag_02 36 MaxHealth = 200.0 37 InitialHealth = 100.0 38 End 39 40 ; ---- begin Projectile death behaviors 41 Behavior = InstantDeathBehavior DeathModuleTag_01 42 DeathTypes = NONE +DETONATED 43 ; we detonated normally. 44 FX = WeaponFX_TomahawkMissileDetonation 45 End 46 Behavior = InstantDeathBehavior DeathModuleTag_02 47 DeathTypes = NONE +LASERED 48 ; shot down by laser. 49 FX = FX_GenericMissileDisintegrate 50 OCL = OCL_GenericMissileDisintegrate 51 End 52 Behavior = InstantDeathBehavior DeathModuleTag_03 53 DeathTypes = ALL -LASERED -DETONATED 54 ; shot down by nonlaser. 55 FX = FX_GenericMissileDeath 56 End 57 ; ---- end Projectile death behaviors 58 59 Behavior = PhysicsBehavior ModuleTag_06 60 Mass = 1 61 End 62 Behavior = MissileAIUpdate ModuleTag_07 63 TryToFollowTarget = Yes 64 FuelLifetime = 100000 65 IgnitionDelay = 0 66 IgnitionFX = FX_TomahawkIgnition 67 InitialVelocity = 50 ; in dist/sec 68 DistanceToTravelBeforeTurning = 10000 69 DistanceToTargetBeforeDiving = 10000 ; When I hit this close to target, I ignore PreferredHeight. 70 ; Note, if this is too small, the missile will turn too late to hit. And, since we have a 2D 71 ; heart, being over the target counts as "there", so we'll give up and just go straight. 72 73 DistanceToTargetForLock = 10000 ; Short lock on, as it looks better flying. jba. 74 End 75 Locomotor = SET_NORMAL TomahawkMissileLocomotor 76 77 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 78 GeometryMajorRadius = 8.0 79 GeometryHeight = 4.0 80 GeometryIsSmall = Yes 81 82 Shadow = SHADOW_DECAL 83 End 84 85 86 87 ; 88 ; 89 ; 90 ; 91 ; 92 ; 93 ; 94 Object AvengerPointDefenseLaserBeam 95 ; *** ART Parameters *** 96 Draw = W3DLaserDraw ModuleTag_01 97 Texture = EXLaser.tga 98 NumBeams = 4 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. 99 100 InnerBeamWidth = 0.4 ;The total width of beam 101 InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) 102 103 OuterBeamWidth = 1.2 ;The total width of beam 104 OuterColor = R:255 G:0 B:0 A:150 ;The outside color of the laser (cool) 105 106 ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. 107 ;FadeLifetime = 0 ;Laser will fade and delete. 108 109 ;@todo -- add shot ability functionality (instead of instant point A to B) 110 End 111 112 KindOf = IMMOBILE 113 ClientUpdate = LaserUpdate ModuleTag_02 114 MuzzleParticleSystem = PaladinPointDefenseLaserFlare 115 ParentFireBoneName = Laser 116 ParentFireBoneOnTurret = Yes 117 End 118 119 ;Used as a weapon, this is essentially a fast pulse laser. Adjusting 120 ;the lifetime values will determine how long it renders. The damage 121 ;is applied immediately, so lifetime doesn't matter. 122 Behavior = LifetimeUpdate ModuleTag_03 123 MinLifetime = 95 ; min lifetime in msec 124 MaxLifetime = 95 ; max lifetime in msec 125 End 126 End 127 128 129 ; 130 ; 131 ; 132 ; 133 ; 134 ; 135 ; 136 Object 12MissileCruiserHull 137 138 ; *** ART Parameters *** 139 Draw = W3DModelDraw ModuleTag_01 140 OkToChangeModelColor = Yes 141 142 DefaultConditionState 143 Model = 12UMC_E 144 End 145 End 146 147 ; ***DESIGN parameters *** 148 Side = America 149 EditorSorting = SYSTEM 150 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 151 152 ; *** AUDIO Parameters *** 153 ; *** ENGINEERING Parameters *** 154 RadarPriority = UNIT 155 KindOf = CAN_CAST_REFLECTIONS IMMOBILE NO_COLLIDE HULK 156 157 Body = ActiveBody ModuleTag_02 158 MaxHealth = 1.0 159 InitialHealth = 1.0 160 End 161 162 163 Behavior = PhysicsBehavior ModuleTag_03 164 Mass = 50 165 AllowBouncing = Yes 166 End 167 168 Behavior = LifetimeUpdate ModuleTag_04 169 MinLifetime = 0 ; min lifetime in msec 170 MaxLifetime = 0 ; max lifetime in msec 171 End 172 173 Behavior = SlowDeathBehavior ModuleTag_05 174 SinkDelay = 2000 175 SinkRate = 2 ; in Dist/Sec 176 DestructionDelay = 23000 177 End 178 179 Behavior = TransitionDamageFX ModuleTag_06 180 RubbleParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 181 End 182 183 Geometry = BOX 184 GeometryMajorRadius = 9.0 185 GeometryMinorRadius = 6.0 186 GeometryHeight = 7.5 187 GeometryIsSmall = Yes 188 189 End 190 191 192 193 ;------------------------------------------------------------------------------ 194 195 196 197 198 Object 12UMissileCruiser 199 SelectPortrait = SABattleship_L 200 201 Draw = W3DTankDraw ModuleTag_01 202 OkToChangeModelColor = Yes 203 204 ConditionState = NONE 205 Model = 12UMC 206 Turret = LTURRET 207 TurretPitch = LTURRETEL 208 AltTurret = MTURRET 209 AltTurretPitch = MTURRETEL 210 WeaponLaunchBone = TERTIARY WeaponC 211 WeaponFireFXBone = TERTIARY MUZZLEC 212 WeaponLaunchBone = PRIMARY WEAPONA 213 WeaponFireFXBone = PRIMARY WEAPONA 214 ParticleSysBone = STACK01 SteamVent 215 ParticleSysBone = STACK02 SteamVent 216 ParticleSysBone = STACK03 SteamVent 217 ParticleSysBone = TreadFX02 BattleShipWaterRipples 218 ParticleSysBone = TreadFX03 BattleShipWaterRipples 219 ParticleSysBone = TreadFX04 BattleShipWaterRipples 220 End 221 222 ConditionState = REALLYDAMAGED RUBBLE 223 Model = 12UMC_D 224 Turret = LTURRET 225 TurretPitch = LTURRETEL 226 AltTurret = MTURRET 227 AltTurretPitch = MTURRETEL 228 WeaponLaunchBone = TERTIARY WeaponC 229 WeaponFireFXBone = TERTIARY MUZZLEC 230 WeaponLaunchBone = PRIMARY WEAPONA 231 WeaponFireFXBone = PRIMARY WEAPONA 232 ParticleSysBone = STACK01 SteamVent 233 ParticleSysBone = STACK02 SteamVent 234 ParticleSysBone = STACK03 SteamVent 235 ParticleSysBone = TreadFX02 BattleShipWaterRipples 236 ParticleSysBone = TreadFX03 BattleShipWaterRipples 237 ParticleSysBone = TreadFX04 BattleShipWaterRipples 238 ParticleSysBone = SMOKE01 SmolderingSmoke 239 ParticleSysBone = SMOKE02 SmolderingSmoke 240 ParticleSysBone = SMOKE02 SmolderingFireLarge 241 ParticleSysBone = SMOKE03 SmolderingSmoke 242 ParticleSysBone = SMOKE04 SmolderingSmoke 243 ParticleSysBone = SMOKE05 SmolderingSmoke 244 ParticleSysBone = SMOKE05 SmolderingFireLarge 245 ParticleSysBone = SMOKE06 SmolderingSmoke 246 End 247 248 End 249 250 ; ***DESIGN parameters *** 251 DisplayName = OBJECT:Battleship 252 Side = America 253 EditorSorting = VEHICLE 254 TransportSlotCount = 0 255 CommandSet = GenericCommandSet 256 WeaponSet 257 Conditions = None 258 Weapon = PRIMARY 12MissileCruiserBarrage 259 PreferredAgainst = PRIMARY VEHICLE STRUCTURE 260 Weapon = SECONDARY 12MissileCruiserPDL 261 Weapon = TERTIARY 12MissileCruiserMissile 262 PreferredAgainst = TERTIARY AIRCRAFT 263 End 264 ArmorSet 265 Conditions = None 266 Armor = TankArmor 267 DamageFX = TankDamageFX 268 End 269 VisionRange = 300 270 BuildCost = 1 271 BuildTime = 1 272 VisionRange = 150 273 ShroudClearingRange = 320 274 Prerequisites 275 ;fuck all 276 End 277 278 ; *** AUDIO Parameters *** 279 VoiceSelect = BattleshipVoiceSelect 280 VoiceMove = BattleshipVoiceMove 281 VoiceGuard = BattleshipVoiceMove 282 VoiceAttack = BattleshipVoiceAttack 283 SoundAmbient = BattleshipAmbientLoop 284 285 UnitSpecificSounds 286 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 287 TurretMoveLoop = OverlordTankTurretMoveLoop 288 End 289 290 ; *** ENGINEERING Parameters *** 291 RadarPriority = UNIT 292 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE SELECTABLE 293 294 Body = ActiveBody ModuleTag_02 295 MaxHealth = 3000.0 296 InitialHealth = 3000.0 297 End 298 299 Behavior = AIUpdateInterface ModuleTag_03 300 Turret 301 TurretTurnRate = 180 302 TurretPitchRate = 180 303 AllowsPitch = Yes 304 NaturalTurretPitch = 45 305 GroundUnitPitch = 0 306 MinPhysicalPitch = -20 307 ControlledWeaponSlots = SECONDARY 308 MinIdleScanInterval = 250 309 MaxIdleScanInterval = 250 310 MinIdleScanAngle = 0 311 MaxIdleScanAngle = 360 312 End 313 AltTurret 314 TurretTurnRate = 120 315 TurretPitchRate = 50 316 AllowsPitch = Yes 317 GroundUnitPitch = 0 318 MinPhysicalPitch = 0 319 ControlledWeaponSlots = TERTIARY 320 MinIdleScanInterval = 250 321 MaxIdleScanInterval = 250 322 MinIdleScanAngle = 0 323 MaxIdleScanAngle = 360 324 End 325 AutoAcquireEnemiesWhenIdle = Yes 326 End 327 328 Locomotor = SET_NORMAL 12UMissileCLoco 329 330 Behavior = PhysicsBehavior ModuleTag_04 331 Mass = 5000.0 332 End 333 334 Behavior = SlowDeathBehavior ModuleTag_12 335 DeathTypes = ALL -CRUSHED -SPLATTED 336 ProbabilityModifier = 25 337 DestructionDelay = 200 338 DestructionDelayVariance = 100 339 OCL = INITIAL OCL_12FuckedMCruiser 340 FX = FINAL FX_12GenericShockwaveFinal 341 End 342 343 Geometry = BOX 344 GeometryMajorRadius = 100.0 345 GeometryMinorRadius = 20.0 346 GeometryHeight = 40 347 GeometryIsSmall = No 348 Shadow = SHADOW_VOLUME 349 350 End 351 352 353 354 ;-------------------------------------------- 355 Object AmericaAircraftCarrierJet 356 357 358 ; *** ART Parameters *** 359 SelectPortrait = SACRaptor_L 360 ButtonImage = SACRaptor 361 362 363 364 UpgradeCameo1 = Upgrade_AmericaLaserMissiles 365 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 366 UpgradeCameo3 = Upgrade_GLACamouflage 367 ;UpgradeCameo4 = NONE 368 ;UpgradeCameo5 = NONE 369 370 Draw = W3DModelDraw ModuleTag_01 371 372 DefaultConditionState 373 Model = Harrier 374 HideSubObject = BurnerFX01 BurnerFX02 375 WeaponLaunchBone = PRIMARY WeaponA 376 End 377 378 ConditionState = JETEXHAUST 379 ; exhaust 380 ParticleSysBone = Wingtip01 JetContrail 381 ParticleSysBone = Wingtip02 JetContrail 382 End 383 384 ConditionState = JETEXHAUST JETAFTERBURNER 385 ; exhaust 386 ParticleSysBone = Wingtip01 JetContrail 387 ParticleSysBone = Wingtip02 JetContrail 388 ; afterburner 389 ShowSubObject = BurnerFX01 BurnerFX02 390 ParticleSysBone = Engine01 JetLenzflare 391 ParticleSysBone = Engine02 JetLenzflare 392 End 393 394 ConditionState = REALLYDAMAGED 395 Model = Harrier 396 ; damage 397 ParticleSysBone = Smoke01 JetSmoke 398 ParticleSysBone = Engine01 JetEngineDamagedSmoke 399 End 400 401 ConditionState = REALLYDAMAGED JETEXHAUST 402 Model = Harrier 403 ; damage 404 ParticleSysBone = Smoke01 JetSmoke 405 ParticleSysBone = Engine01 JetEngineDamagedSmoke 406 ; exhaust 407 ParticleSysBone = Wingtip01 JetContrail 408 ParticleSysBone = Wingtip02 JetContrail 409 End 410 411 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 412 Model = Harrier 413 ; damage 414 ParticleSysBone = Smoke01 JetSmoke 415 ParticleSysBone = Engine01 JetEngineDamagedSmoke 416 ; afterburner 417 ShowSubObject = BurnerFX01 BurnerFX02 418 ParticleSysBone = Engine01 JetLenzflare 419 ParticleSysBone = Engine02 JetLenzflare 420 ; exhaust 421 ParticleSysBone = Wingtip01 JetContrail 422 ParticleSysBone = Wingtip02 JetContrail 423 End 424 425 ConditionState = RUBBLE 426 Model = Harrier 427 HideSubObject = None 428 ShowSubObject = None 429 End 430 431 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 432 Model = Harrier 433 ;HideSubObject is needed cause there're inherited from default condition state 434 HideSubObject = None 435 ShowSubObject = None 436 ParticleSysBone = Engine01 JetExhaust 437 ParticleSysBone = Engine02 JetExhaust 438 ; exhaust 439 ParticleSysBone = Wingtip01 JetContrail 440 ParticleSysBone = Wingtip02 JetContrail 441 End 442 443 OkToChangeModelColor = Yes 444 445 End 446 447 ; ***DESIGN parameters *** 448 DisplayName = OBJECT:Comanche 449 EditorSorting = VEHICLE 450 Side = America 451 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 452 VisionRange = 180.0 453 ShroudClearingRange = 600 454 Prerequisites 455 Object = AmericaAircraftCarrier 456 End 457 458 459 WeaponSet 460 Conditions = None 461 ; ----- 462 Weapon = PRIMARY Comanche20mmCannonWeapon 463 PreferredAgainst = PRIMARY INFANTRY 464 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 465 ; ----- 466 Weapon = SECONDARY ComancheAntiTankMissileWeapon 467 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 468 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 469 ; ----- 470 Weapon = TERTIARY NONE 471 End 472 WeaponSet 473 Conditions = PLAYER_UPGRADE 474 ; ----- 475 Weapon = PRIMARY Comanche20mmCannonWeapon 476 PreferredAgainst = PRIMARY INFANTRY 477 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 478 ; ----- 479 Weapon = SECONDARY ComancheAntiTankMissileWeapon 480 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 481 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 482 ; ----- 483 Weapon = TERTIARY ComancheRocketPodWeapon 484 AutoChooseSources = TERTIARY NONE 485 End 486 487 ArmorSet 488 Conditions = None 489 Armor = ComancheArmor 490 DamageFX = None 491 End 492 BuildCost = 1500 493 BuildTime = 20 ; in seconds 494 ExperienceValue = 50 50 100 200 ; Experience point value at each level 495 ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level 496 IsTrainable = Yes ; Can gain experience 497 CommandSet = ChinaJetMIGCommandSet 498 499 ; *** AUDIO Parameters *** 500 VoiceSelect = RaptorVoiceSelect 501 VoiceMove = RaptorVoiceMove 502 VoiceAttack = RaptorVoiceAttack 503 VoiceAttackAir = RaptorVoiceAttackAir 504 VoiceGuard = RaptorVoiceAirPatrol 505 SoundDie = RaptorVoiceFalling 506 SoundAmbient = RaptorAmbientLoop 507 SoundAmbientRubble = NoSound 508 ; For now, it is better to have some sound than no sound cause there is a bug in 509 ; what triggers the sound move loop sound, and the multiplayer test is only days away 510 ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield 511 ; SoundAmbient = NoSound 512 UnitSpecificSounds 513 VoiceCreate = RaptorVoiceCreate 514 SoundEject = PilotSoundEject 515 VoiceEject = PilotVoiceEject 516 Afterburner = RaptorAfterburner 517 VoiceLowFuel = RaptorVoiceLowFuel 518 VoiceGarrison = RaptorVoiceMove 519 End 520 521 522 ; *** ENGINEERING Parameters *** 523 RadarPriority = UNIT 524 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD 525 526 Behavior = WeaponSetUpgrade ModuleTag_02 527 TriggeredBy = Upgrade_ComancheRocketPods 528 End 529 Behavior = ExperienceScalarUpgrade ModuleTag_03 530 TriggeredBy = Upgrade_AmericaAdvancedTraining 531 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 532 End 533 534 Body = ActiveBody ModuleTag_04 535 MaxHealth = 220.0 536 InitialHealth = 220.0 537 End 538 539 Behavior = FXListDie ModuleTag_05 540 DeathFX = FX_HelicopterStartDeath 541 End 542 543 Behavior = JetAIUpdate ModuleTag_06 544 MinHeight = 5 545 NeedsRunway = No 546 KeepsParkingSpaceWhenAirborne = No 547 AutoAcquireEnemiesWhenIdle = Yes 548 ; note that comanches do not return to base when idle 549 550 ; this is a bit of a trick... normally, units cannot move-and-fire at 551 ; the same time. we need the comanche to be able to. so we give it 552 ; a "turret" (invisible) and put the two main weapons on it, but with 553 ; no turn rate. voila! 554 Turret 555 TurretTurnRate = 0 ; this "turret" does not turn 556 TurretPitchRate = 0 ; nor does it pitch 557 ControlledWeaponSlots = PRIMARY SECONDARY 558 End 559 560 End 561 Locomotor = SET_NORMAL ComancheLocomotor 562 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 563 564 Behavior = PhysicsBehavior ModuleTag_07 565 Mass = 50.0 566 End 567 Behavior = HelicopterSlowDeathBehavior ModuleTag_08 568 DestructionDelay = 99999999 ; the destruction delay 569 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 570 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 571 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 572 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 573 SoundDeathLoop = ComancheDamagedLoop 574 MinSelfSpin = 100 ; in degrees per second 575 MaxSelfSpin = 300 ; in degrees per second 576 SelfSpinUpdateDelay = 100 ; in milliseconds 577 SelfSpinUpdateAmount = 10 ; in degrees 578 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 579 MinBladeFlyOffDelay = 1500 ; in milliseconds 580 MaxBladeFlyOffDelay = 1500 ; in milliseconds 581 AttachParticle = SootySmokeTrail 582 AttachParticleBone = Propeller02 583 BladeObjectName = ComancheBlades 584 BladeBoneName = Propeller01 585 ; Most things that eject pilots do so immediately upon death, 586 ; via use of EjectPilotDie, but Helicopters are a special case... 587 ; they need to do so after their blades are ejected. 588 OCLEjectPilot = OCL_EjectPilotViaParachute 589 FXBlade = FX_HelicopterBladeExplosion 590 OCLBlade = OCL_HelicopterBladeExplosion 591 FXHitGround = FX_HelicopterHitGround 592 OCLHitGround = OCL_HelicopterHitGround 593 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 594 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 595 DelayFromGroundToFinalDeath = 1500 596 FinalRubbleObject = ComancheRubbleHull 597 End 598 599 Behavior = TransitionDamageFX ModuleTag_09 600 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 601 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 602 End 603 604 Behavior = FlammableUpdate ModuleTag_21 605 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 606 AflameDamageAmount = 3 ; taking this much damage... 607 AflameDamageDelay = 500 ; this often. 608 End 609 610 Behavior = StealthUpdate ModuleTag_07 611 StealthDelay = 2500 ; msec 612 StealthForbiddenConditions = ATTACKING USING_ABILITY 613 MoveThresholdSpeed = 3 614 InnateStealth = No ;Requires upgrade first 615 OrderIdleEnemiesToAttackMeUponReveal = Yes 616 End 617 618 Behavior = StealthUpgrade ModuleTag_08 619 TriggeredBy = Upgrade_GLACamouflage 620 End 621 622 623 624 625 626 Behavior = MobMemberSlavedUpdate ModuleTag_22 627 MustCatchUpRadius = 500 ;???????? 628 NoNeedToCatchUpRadius = 180 ;?????? 629 Squirrelliness = 0.05 630 CatchUpCrisisBailTime = 3000; this is in calls to this update, not in frames 631 End 632 633 Geometry = BOX 634 GeometryMajorRadius = 20.0 635 GeometryMinorRadius = 3.0 636 GeometryHeight = 25.0 637 GeometryIsSmall = No 638 Shadow = SHADOW_VOLUME 639 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 640 641 End 642 ;------------------------------------------------------------------------------ 643 644 ;------------------------------------------------------------------------------ 645 ;------------------------------------------------------------------------------ 646 ;------------------------------------------------------------------------------ 647 Object AmericaAircraftCarrier 648 649 650 651 652 SelectPortrait = SACarrier_L 653 ButtonImage = SACarrier_L 654 655 UpgradeCameo1 = Upgrade_SeaRepair 656 UpgradeCameo2 = Upgrade_SeaArmour 657 ;UpgradeCameo3 = NONE 658 ;UpgradeCameo4 = NONE 659 ;UpgradeCameo5 = NONE 660 661 662 663 ; *** ART Parameters *** 664 Draw = W3DTankDraw ModuleTag_01 665 OkToChangeModelColor = Yes 666 InitialRecoilSpeed = 120 667 MaxRecoilDistance = 8 668 RecoilSettleSpeed = 6 669 670 ConditionState = NONE 671 Model = PSAirCarrier 672 Animation = PSAirCarrier.PSAirCarrier 673 AnimationMode = LOOP 674 Turret = TURRET01 675 TurretPitch = TURRETEL 676 WeaponLaunchBone = PRIMARY WeaponA 677 WeaponLaunchBone = SECONDARY WeaponA 678 WeaponFireFXBone = PRIMARY WeaponA 679 WeaponFireFXBone = SECONDARY WeaponA 680 End 681 682 ConditionState = MOVING 683 Model = PSAirCarrier 684 Animation = PSAirCarrier.PSAirCarrier 685 AnimationMode = LOOP 686 687 End 688 689 ConditionState = OVER_WATER 690 Model = PSAirCarrier 691 Animation = PSAirCarrier.PSAirCarrier 692 AnimationMode = LOOP 693 694 End 695 696 ConditionState = MOVING OVER_WATER 697 Model = PSAirCarrier 698 Animation = PSAirCarrier.PSAirCarrier 699 AnimationMode = LOOP 700 701 ParticleSysBone = Mist01 AmphibMistSide 702 ParticleSysBone = Mist02 AmphibMistSide 703 ParticleSysBone = Mist03 AmphibMist 704 ParticleSysBone = Mist04 AmphibMistSide 705 ParticleSysBone = Mist05 AmphibMistSide 706 ParticleSysBone = Mist06 AmphibMist 707 ParticleSysBone = Mist07 AmphibMistSide 708 ParticleSysBone = Mist08 AmphibMistSide 709 ParticleSysBone = Mist09 AmphibMistSide 710 ParticleSysBone = Mist10 AmphibMist 711 ParticleSysBone = Mist11 AmphibMistSide 712 ParticleSysBone = Mist12 AmphibMistSide 713 ParticleSysBone = TreadFX01 AmphibWave 714 ParticleSysBone = TreadFX02 AmphibWave 715 ParticleSysBone = TreadFX03 AmphibWave 716 ParticleSysBone = TreadFX04 AmphibWave 717 ParticleSysBone = TreadFX05 AmphibWave 718 End 719 End 720 721 VoiceSelect = OverlordTankVoiceSelect 722 723 ; ***DESIGN parameters *** 724 DisplayName = OBJECT:Carrier 725 Side = America 726 EditorSorting = VEHICLE 727 TransportSlotCount = 9 ;how many "slots" we take in a transport (0 == not transportable) 728 WeaponSet 729 Conditions = None 730 Weapon = PRIMARY PatriotMissileWeapon 731 Weapon = SECONDARY PatriotMissileAssistWeapon 732 AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT 733 AutoChooseSources = SECONDARY NONE 734 PreferredAgainst = PRIMARY BALLISTIC_MISSILE AIRCRAFT 735 PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT 736 ShareWeaponReloadTime = Yes 737 End 738 739 740 ArmorSet 741 Conditions = None 742 ;Armor = InvulnerableArmor 743 Armor = TankDamage 744 DamageFX = TankDamageFX 745 End 746 BuildCost = 15000 747 BuildTime = 25 748 VisionRange = 400 749 ShroudClearingRange = 450 750 Prerequisites 751 Object = AmericaPowerPlant 752 Object = AmericaBarracks 753 Object = AmericaWarFactory 754 Object = AmericaStrategyCenter 755 End 756 CommandSet = AmericaAircraftCarrierCommandSet 757 758 ; *** AUDIO Parameters *** 759 SoundAmbient = BattleshipAmbientLoop 760 VoiceSelect = OverlordTankVoiceSelect 761 UnitSpecificSounds 762 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 763 TurretMoveLoop = TurretMoveLoop 764 End 765 766 ; *** ENGINEERING Parameters *** 767 RadarPriority = UNIT 768 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE SELECTABLE 769 770 Body = ActiveBody ModuleTag_02 771 MaxHealth = 3000.0 772 InitialHealth = 3000.0 773 End 774 775 Behavior = MaxHealthUpgrade ModuleTag_09 776 TriggeredBy = Upgrade_SubmarineArmor 777 AddMaxHealth = 1000.0 778 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 779 End 780 781 Behavior = AutoHealBehavior ModuleTag_05 782 HealingAmount = 7 783 HealingDelay = 500 ; msec 784 TriggeredBy = Upgrade_SubmarineRepair 785 End 786 787 Behavior = AIUpdateInterface ModuleTag_03 788 Turret 789 TurretTurnRate = 100 ; turn rate, in degrees per sec 790 ControlledWeaponSlots = PRIMARY 791 End 792 AutoAcquireEnemiesWhenIdle = Yes 793 794 End 795 796 Behavior = SpawnBehavior ModuleTag_04 797 SpawnNumber =5 798 SpawnReplaceDelay = 3000 ; 3 seconds 799 800 SpawnTemplateName = AmericaAircraftCarrierJet 801 802 ExitByBudding = No ;Yes;! 803 804 InitialBurst = 1 ; the first set of 5 will not delay 805 OneShot = No 806 AggregateHealth = No 807 End 808 809 Behavior = QueueProductionExitUpdate ModuleTag_05 810 UnitCreatePoint = X: -70.0 Y: 0.0 Z:30.0 811 NaturalRallyPoint = X: 0.0 Y: 0.0 Z:60.0 812 ExitDelay = 5000 ; 5 sec 813 InitialBurst = 1 ; the first set of 5 will not delay 814 End 815 816 Locomotor = SET_NORMAL BasicBoatLocomotor 817 818 Behavior = PhysicsBehavior ModuleTag_06 819 Mass = 5000.0 820 End 821 822 Behavior = SlowDeathBehavior ModuleTag_07 823 ProbabilityModifier = 25 824 DestructionDelay = 200 825 DestructionDelayVariance = 100 826 OCL = FINAL OCL_FirestormSmall 827 FX = FINAL WeaponFX_NapalmMissileDetonation 828 End 829 Behavior = MaxHealthUpgrade ModuleTag_09 830 TriggeredBy = Upgrade_SeaArmour 831 AddMaxHealth = 1000.0 832 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 833 End 834 835 Behavior = AutoHealBehavior ModuleTag_05 836 HealingAmount = 7 837 HealingDelay = 500 ; msec 838 TriggeredBy = Upgrade_SeaRepair 839 End 840 Geometry = BOX 841 Scale = 0.85 842 GeometryMajorRadius = 164.0 843 GeometryMinorRadius = 18.0 844 GeometryHeight = 54.8 845 GeometryIsSmall = No 846 Shadow = SHADOW_VOLUME 847 848 End 849 ;--------------------------------------------------------------------------------------- 850 851 Object AmericaParachute 852 853 ; *** ART Parameters *** 854 Draw = W3DModelDraw ModuleTag_01 855 OkToChangeModelColor = Yes 856 DefaultConditionState 857 Model = PMparacht_SKNc 858 Animation = PMparacht_SKL.PMparacht_FAL 859 AnimationMode = LOOP 860 End 861 ConditionState = PARACHUTING 862 Model = PMparacht_SKNc 863 Animation = PMparacht_SKL.PMparacht_OPN 864 AnimationMode = ONCE 865 End 866 ConditionState = RUBBLE 867 Model = PMparacht_SKNc 868 Animation = PMparacht_SKL.PMparacht_DRP 869 AnimationMode = ONCE 870 End 871 ; this is a weird state to resolve an ambiguity: sometimes 872 ; we can have a "rubble" parachute momentarily, that doesn't 873 ; know that it has finished parachuting yet... 874 ConditionState = RUBBLE PARACHUTING 875 Model = PMparacht_SKNc 876 Animation = PMparacht_SKL.PMparacht_DRP 877 AnimationMode = ONCE 878 End 879 End 880 881 ; ***DESIGN parameters *** 882 Side = America 883 EditorSorting = SYSTEM 884 TransportSlotCount = 0 885 VisionRange = 300.0 886 ShroudClearingRange = 300 887 IsTrainable = No ;Can gain experience 888 ; in theory, it would be nice to allow chutes to be attackable; however, bugs in the code 889 ; can cause the rider to be left in a bad state (eg, no-collision bit set) if the chute dies 890 ; prematurely. so disable this for now, and give it a ton of health to prevent splash damage 891 ; from killing it. (srj) 892 KindOf = PRELOAD PARACHUTE UNATTACKABLE 893 894 ; *** AUDIO Parameters *** 895 896 ; *** ENGINEERING Parameters *** 897 Behavior = AIUpdateInterface ModuleTag_02 898 ; nothing 899 End 900 Locomotor = SET_NORMAL ParachuteLocomotor 901 Locomotor = SET_FREEFALL FreeFallLocomotor 902 903 Body = ActiveBody ModuleTag_03 904 MaxHealth = 100000.0 905 InitialHealth = 100000.0 906 End 907 908 Behavior = PhysicsBehavior ModuleTag_04 909 Mass = 5.0 910 End 911 912 Behavior = ParachuteContain ModuleTag_05 913 PitchRateMax = 60 ; deg/sec 914 RollRateMax = 60 ; deg/sec 915 LowAltitudeDamping = 0.2 ; how much to damp swaying when we get "close" to the ground 916 ParachuteOpenDist = 25.0 ; how far we have to fall 'till we open our 'chute 917 AllowInsideKindOf = INFANTRY PARACHUTABLE 918 ParachuteOpenSound = ParachuteOpen 919 End 920 921 Behavior = SlowDeathBehavior ModuleTag_06 922 SinkDelay = 1000 923 SinkRate = 1 ; in Dist/Sec 924 DestructionDelay = 4000 925 End 926 927 RadarPriority = NOT_ON_RADAR 928 929 Geometry = CYLINDER 930 Scale = 0.95 ;Scaling 931 GeometryMajorRadius = 3.0 932 GeometryHeight = 12.0 933 GeometryIsSmall = Yes 934 Shadow = SHADOW_VOLUME 935 936 End 937 938 ;------------------------------------------------------------------------------ 939 Object AmericaCrateParachute 940 941 ; *** ART Parameters *** 942 Draw = W3DModelDraw ModuleTag_01 943 OkToChangeModelColor = Yes 944 DefaultConditionState 945 Model = PMparacht_SKNc 946 Animation = PMparacht_SKL.PMparacht_FAL 947 AnimationMode = LOOP 948 End 949 ConditionState = PARACHUTING 950 Model = PMparacht_SKNc 951 Animation = PMparacht_SKL.PMparacht_OPN 952 AnimationMode = ONCE 953 End 954 ConditionState = RUBBLE 955 Model = PMparacht_SKNc 956 Animation = PMparacht_SKL.PMparacht_DRP 957 AnimationMode = ONCE 958 End 959 ; this is a weird state to resolve an ambiguity: sometimes 960 ; we can have a "rubble" parachute momentarily, that doesn't 961 ; know that it has finished parachuting yet... 962 ConditionState = RUBBLE PARACHUTING 963 Model = PMparacht_SKNc 964 Animation = PMparacht_SKL.PMparacht_DRP 965 AnimationMode = ONCE 966 End 967 End 968 969 ; ***DESIGN parameters *** 970 Side = America 971 EditorSorting = SYSTEM 972 TransportSlotCount = 0 973 VisionRange = 300.0 974 ShroudClearingRange = 300 975 IsTrainable = No ;Can gain experience 976 ; in theory, it would be nice to allow chutes to be attackable; however, bugs in the code 977 ; can cause the rider to be left in a bad state (eg, no-collision bit set) if the chute dies 978 ; prematurely. so disable this for now, and give it a ton of health to prevent splash damage 979 ; from killing it. (srj) 980 KindOf = PRELOAD PARACHUTE UNATTACKABLE 981 982 ; *** AUDIO Parameters *** 983 984 ; *** ENGINEERING Parameters *** 985 Behavior = AIUpdateInterface ModuleTag_02 986 ; nothing 987 End 988 Locomotor = SET_NORMAL CrateParachuteLocomotor 989 Locomotor = SET_FREEFALL CrateFreeFallLocomotor 990 991 Body = ActiveBody ModuleTag_03 992 MaxHealth = 100000.0 993 InitialHealth = 100000.0 994 End 995 996 Behavior = PhysicsBehavior ModuleTag_04 997 Mass = 5.0 998 End 999 1000 Behavior = ParachuteContain ModuleTag_05 1001 PitchRateMax = 60 ; deg/sec 1002 RollRateMax = 60 ; deg/sec 1003 LowAltitudeDamping = 0.2 ; how much to damp swaying when we get "close" to the ground 1004 ParachuteOpenDist = 12.5 ; how far we have to fall 'till we open our 'chute 1005 AllowInsideKindOf = PARACHUTABLE 1006 ParachuteOpenSound = ParachuteOpen 1007 End 1008 1009 Behavior = SlowDeathBehavior ModuleTag_06 1010 SinkDelay = 1000 1011 SinkRate = 1 ; in Dist/Sec 1012 DestructionDelay = 4000 1013 End 1014 1015 RadarPriority = NOT_ON_RADAR 1016 Geometry = CYLINDER 1017 GeometryMajorRadius = 15.0 1018 GeometryHeight = 12.0 1019 GeometryIsSmall = Yes 1020 Shadow = SHADOW_VOLUME 1021 1022 End 1023 1024 ;------------------------------------------------------------------------------ 1025 Object AmericaInfantryColonelBurton 1026 1027 ; *** ART Parameters *** 1028 SelectPortrait = SABurton_L 1029 ButtonImage = SABurton 1030 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 1031 1032 1033 Draw = W3DModelDraw ModuleTag_01 1034 OkToChangeModelColor = Yes 1035 1036 ; idle 1037 DefaultConditionState 1038 Model = AIHERO_SKN 1039 IdleAnimation = AIHERO_SKL.AIHERO_STA 0 25 1040 IdleAnimation = AIHERO_SKL.AIHERO_IDA 1041 IdleAnimation = AIHERO_SKL.AIHERO_IDB 1042 AnimationMode = ONCE 1043 TransitionKey = TRANS_Stand 1044 WeaponFireFXBone = PRIMARY Muzzle 1045 WeaponMuzzleFlash = PRIMARY MuzzleFX 1046 WeaponMuzzleFlash = SECONDARY NONE 1047 HideSubObject = MUZZLEFX01 1048 End 1049 1050 1051 ; injured idle 1052 ConditionState = REALLYDAMAGED 1053 IdleAnimation = AIHERO_SKL.AIHERO_ISTA 0 30 1054 IdleAnimation = AIHERO_SKL.AIHERO_IIDA 1055 IdleAnimation = AIHERO_SKL.AIHERO_IIDB 1056 AnimationMode = ONCE 1057 TransitionKey = TRANS_StandInjured 1058 End 1059 1060 1061 TransitionState = TRANS_Stand TRANS_StandInjured 1062 Animation = AIHERO_SKL.AIHERO_ISTAHIT 1063 AnimationMode = ONCE 1064 End 1065 1066 ; moving 1067 ConditionState = MOVING 1068 Animation = AIHERO_SKL.AIHERO_RNA 26 1069 AnimationMode = LOOP 1070 Flags = RANDOMSTART 1071 TransitionKey = TRANS_Walking 1072 ParticleSysBone = None InfantryDustTrails 1073 HideSubObject = MUZZLEFX01 1074 End 1075 AliasConditionState = MOVING FIRING_A 1076 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 1077 AliasConditionState = MOVING RELOADING_A 1078 AliasConditionState = MOVING FIRING_B 1079 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B 1080 AliasConditionState = MOVING RELOADING_B 1081 1082 ; injured moving 1083 ConditionState = MOVING REALLYDAMAGED 1084 Animation = AIHERO_SKL.AIHERO_IRNA 26 1085 AnimationMode = LOOP 1086 Flags = RANDOMSTART 1087 TransitionKey = TRANS_WalkingInjured 1088 ParticleSysBone = None InfantryDustTrails 1089 HideSubObject = MUZZLEFX01 1090 End 1091 AliasConditionState = MOVING FIRING_A REALLYDAMAGED 1092 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 1093 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 1094 AliasConditionState = MOVING FIRING_B REALLYDAMAGED 1095 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 1096 AliasConditionState = MOVING RELOADING_B REALLYDAMAGED 1097 1098 ; Firing animation 1099 ConditionState = FIRING_A 1100 Animation = AIHERO_SKL.AIHERO_ATA 1101 AnimationMode = ONCE 1102 AnimationSpeedFactorRange = 1.5 1.5 1103 TransitionKey = TRANS_FiringA 1104 End 1105 1106 ConditionState = BETWEEN_FIRING_SHOTS_A 1107 Animation = AIHERO_SKL.AIHERO_ATA 1108 AnimationMode = MANUAL 1109 Flags = START_FRAME_LAST 1110 WaitForStateToFinishIfPossible = TRANS_FiringA 1111 End 1112 AliasConditionState = RELOADING_A 1113 1114 ; Injured Firing animation 1115 ConditionState = FIRING_A REALLYDAMAGED 1116 Animation = AIHERO_SKL.AIHERO_IATA 1117 AnimationMode = ONCE 1118 AnimationSpeedFactorRange = 1.5 1.5 1119 TransitionKey = TRANS_FiringAInjured 1120 End 1121 1122 ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 1123 Animation = AIHERO_SKL.AIHERO_IATA 1124 AnimationMode = MANUAL 1125 Flags = START_FRAME_LAST 1126 WaitForStateToFinishIfPossible = TRANS_FiringAInjured 1127 End 1128 AliasConditionState = RELOADING_A REALLYDAMAGED 1129 1130 TransitionState = TRANS_FiringA TRANS_FiringAInjured 1131 Animation = AIHERO_SKL.AIHERO_IATAHIT 1132 AnimationMode = ONCE 1133 End 1134 1135 ; Placing charge animation 1136 ConditionState = UNPACKING 1137 Animation = AIHERO_SKL.AIHERO_ATB1 1138 AnimationMode = ONCE 1139 End 1140 AliasConditionState = MOVING UNPACKING 1141 1142 ; Injured Placing charge animation 1143 ConditionState = UNPACKING REALLYDAMAGED 1144 Animation = AIHERO_SKL.AIHERO_IATB1 1145 AnimationMode = ONCE 1146 End 1147 AliasConditionState = MOVING UNPACKING REALLYDAMAGED 1148 1149 ; Stab animations 1150 ConditionState = PREATTACK_B 1151 Animation = AIHERO_SKL.AIHERO_ATC 1152 AnimationMode = ONCE 1153 TransitionKey = TRANS_Stabbing 1154 HideSubObject = MUZZLEFX01 1155 End 1156 AliasConditionState = PREATTACK_B MOVING 1157 AliasConditionState = PREATTACK_B FIRING_B 1158 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 1159 1160 ConditionState = FIRING_B 1161 Animation = AIHERO_SKL.AIHERO_ATC 1162 AnimationMode = MANUAL 1163 Flags = START_FRAME_LAST 1164 TransitionKey = TRANS_Stabbing 1165 HideSubObject = MUZZLEFX01 1166 End 1167 AliasConditionState = BETWEEN_FIRING_SHOTS_B 1168 AliasConditionState = RELOADING_B 1169 1170 TransitionState = TRANS_Stabbing TRANS_Stand 1171 Animation = AIHERO_SKL.AIHERO_ATC2 1172 AnimationMode = ONCE 1173 End 1174 1175 ; Injured Stab animations 1176 ConditionState = PREATTACK_B REALLYDAMAGED 1177 Animation = AIHERO_SKL.AIHERO_IATC1 1178 AnimationMode = ONCE 1179 TransitionKey = TRANS_StabbingInjured 1180 HideSubObject = MUZZLEFX01 1181 End 1182 AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED 1183 AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED 1184 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 1185 1186 ConditionState = FIRING_B REALLYDAMAGED 1187 Animation = AIHERO_SKL.AIHERO_IATC2 1188 AnimationMode = MANUAL 1189 Flags = START_FRAME_LAST 1190 TransitionKey = TRANS_StabbingInjured 1191 HideSubObject = MUZZLEFX01 1192 End 1193 AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 1194 AliasConditionState = RELOADING_B REALLYDAMAGED 1195 1196 TransitionState = TRANS_StabbingInjured TRANS_StandInjured 1197 Animation = AIHERO_SKL.AIHERO_IATC2 1198 AnimationMode = ONCE 1199 End 1200 1201 ; cheering 1202 ConditionState = SPECIAL_CHEERING 1203 Animation = AIHERO_SKL.AIHERO_CHA 1204 AnimationMode = ONCE 1205 End 1206 1207 ; injured cheering 1208 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 1209 Animation = AIHERO_SKL.AIHERO_ICHA 1210 AnimationMode = ONCE 1211 End 1212 1213 ; climbing 1214 ConditionState = CLIMBING 1215 Animation = AIHERO_SKL.AIHERO_CLMID 1216 AnimationMode = LOOP 1217 TransitionKey = TRANS_Climbing 1218 End 1219 AliasConditionState = RAPPELLING 1220 AliasConditionState = CLIMBING REALLYDAMAGED 1221 AliasConditionState = RAPPELLING REALLYDAMAGED 1222 1223 ConditionState = CLIMBING MOVING 1224 Animation = AIHERO_SKL.AIHERO_CLMUP 1225 AnimationMode = LOOP 1226 TransitionKey = TRANS_Climbing 1227 End 1228 AliasConditionState = CLIMBING MOVING REALLYDAMAGED 1229 1230 ConditionState = RAPPELLING MOVING 1231 Animation = AIHERO_SKL.AIHERO_CLMUP 1232 AnimationMode = LOOP_BACKWARDS 1233 TransitionKey = TRANS_Climbing 1234 End 1235 AliasConditionState = RAPPELLING MOVING REALLYDAMAGED 1236 1237 ; these transitions don't really work well with our code. leave 'em out. 1238 ; TransitionState = TRANS_Climbing TRANS_Stand 1239 ; Animation = AIHERO_SKL.AIHERO_CLMST 1240 ; AnimationMode = ONCE 1241 ; End 1242 ; 1243 ; TransitionState = TRANS_Stand TRANS_Climbing 1244 ; Animation = AIHERO_SKL.AIHERO_CLMST 1245 ; AnimationMode = ONCE_BACKWARDS 1246 ; End 1247 1248 ; dying anims 1249 ConditionState = DYING 1250 Animation = AIHERO_SKL.AIHERO_DTA 1251 Animation = AIHERO_SKL.AIHERO_DTB 1252 Animation = AIHero_SKL.AIHero_IDTA 1253 Animation = AIHero_SKL.AIHero_IDTB 1254 AnimationMode = ONCE 1255 TransitionKey = TRANS_Dying 1256 End 1257 AliasConditionState = RAPPELLING DYING 1258 AliasConditionState = CLIMBING DYING 1259 1260 TransitionState = TRANS_Dying TRANS_Flailing 1261 Animation = AIHERO_SKL.AIHERO_ADTG21 1262 AnimationMode = ONCE 1263 End 1264 1265 ConditionState = DYING EXPLODED_FLAILING 1266 Animation = AIHERO_SKL.AIHERO_ADTG22 1267 AnimationMode = LOOP 1268 TransitionKey = TRANS_Flailing 1269 End 1270 1271 ConditionState = DYING EXPLODED_BOUNCING 1272 Animation = AIHERO_SKL.AIHERO_ADTG23 1273 AnimationMode = ONCE 1274 TransitionKey = None 1275 End 1276 1277 ; misc anims 1278 ConditionState = FREEFALL 1279 Animation = AIHERO_SKL.AIHERO_PFL 1280 AnimationMode = LOOP 1281 TransitionKey = TRANS_Falling 1282 End 1283 AliasConditionState = FREEFALL REALLYDAMAGED 1284 AliasConditionState = FREEFALL DYING 1285 1286 ConditionState = PARACHUTING 1287 Animation = AIHERO_SKL.AIHERO_PHG 1288 AnimationMode = LOOP 1289 TransitionKey = TRANS_Chute 1290 End 1291 AliasConditionState = PARACHUTING REALLYDAMAGED 1292 AliasConditionState = PARACHUTING DYING 1293 1294 TransitionState = TRANS_Falling TRANS_Chute 1295 Animation = AIHERO_SKL.AIHERO_POP 1296 AnimationMode = ONCE 1297 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 1298 End 1299 1300 TransitionState = TRANS_Chute TRANS_Stand 1301 Animation = AIHERO_SKL.AIHERO_PTD 1302 AnimationMode = ONCE 1303 End 1304 1305 TransitionState = TRANS_Chute TRANS_StandInjured 1306 Animation = AIHERO_SKL.AIHERO_PTD 1307 AnimationMode = ONCE 1308 End 1309 1310 End 1311 1312 ; ***DESIGN parameters *** 1313 DisplayName = OBJECT:ColonelBurton 1314 Side = America 1315 EditorSorting = INFANTRY 1316 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 1317 WeaponSet 1318 Conditions = None 1319 Weapon = PRIMARY ColonelBurtonSniperRifleWeapon 1320 Weapon = SECONDARY ColonelBurtonKnifeWeapon 1321 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 1322 AutoChooseSources = SECONDARY NONE 1323 End 1324 ArmorSet 1325 Conditions = None 1326 Armor = HumanArmor 1327 DamageFX = InfantryDamageFX 1328 End 1329 VisionRange = 150 1330 ShroudClearingRange = 500 1331 Prerequisites 1332 Object = AmericaBarracks 1333 Object = AmericaStrategyCenter 1334 End 1335 BuildCost = 1500 1336 BuildTime = 20.0 ;in seconds 1337 1338 ExperienceValue = 50 100 100 150 ; Experience point value at each level 1339 ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level 1340 IsTrainable = Yes ; Can gain experience 1341 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1342 CommandSet = AmericaInfantryColonelBurtonCommandSet 1343 1344 MaxSimultaneousOfType = 1 1345 1346 ; *** AUDIO Parameters *** 1347 VoiceSelect = ColonelBurtonVoiceSelect 1348 VoiceMove = ColonelBurtonVoiceMove 1349 VoiceAttack = ColonelBurtonVoiceAttack 1350 VoiceFear = ColonelBurtonVoiceFear 1351 VoiceGuard = ColonelBurtonVoiceMove 1352 SoundDie = ColonelBurtonVoiceDie 1353 SoundDieFire = DieByFireUSA 1354 SoundDieToxin = DieByToxinUSA 1355 SoundStealthOn = StealthOn 1356 SoundStealthOff = StealthOff 1357 1358 UnitSpecificSounds 1359 VoiceMelee = ColonelBurtonVoiceAttackKnife 1360 VoiceCreate = ColonelBurtonVoiceCreate 1361 VoiceGarrison = ColonelBurtonVoiceGarrison 1362 VoiceEnter = ColonelBurtonVoiceMove 1363 VoiceEnterHostile = ColonelBurtonVoiceMove 1364 VoiceGetHealed = ColonelBurtonVoiceMove 1365 End 1366 1367 ; *** ENGINEERING Parameters *** 1368 RadarPriority = UNIT 1369 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE HERO 1370 1371 Body = ActiveBody ModuleTag_02 1372 MaxHealth = 200.0 1373 InitialHealth = 200.0 1374 End 1375 1376 Behavior = AIUpdateInterface ModuleTag_03 1377 AutoAcquireEnemiesWhenIdle = Yes 1378 End 1379 1380 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 1381 End 1382 1383 Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 1384 ScanRate = 1000 ; once a second. 1385 ScanRange = 300 ; 1386 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 1387 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 1388 End 1389 1390 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor 1391 1392 Behavior = PhysicsBehavior ModuleTag_06 1393 Mass = 5.0 1394 End 1395 1396 Behavior = StealthUpdate ModuleTag_07 1397 StealthDelay = 2000 ; msec 1398 StealthForbiddenConditions = FIRING_PRIMARY 1399 HintDetectableConditions = IS_FIRING_WEAPON 1400 FriendlyOpacityMin = 50.0% 1401 FriendlyOpacityMax = 100.0% 1402 InnateStealth = Yes 1403 OrderIdleEnemiesToAttackMeUponReveal = Yes 1404 End 1405 1406 Behavior = SpecialAbility ModuleTag_08 1407 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges 1408 UpdateModuleStartsAttack = Yes 1409 InitiateSound = ColonelBurtonVoicePlantRemoteCharge 1410 End 1411 Behavior = SpecialAbilityUpdate ModuleTag_09 1412 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges 1413 StartAbilityRange = 0.0 1414 PreparationTime = 0 1415 SpecialObject = RemoteC4Charge 1416 MaxSpecialObjects = 8 1417 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). 1418 AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. 1419 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 1420 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 1421 UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge 1422 PackTime = 0 1423 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. 1424 FlipOwnerAfterUnpacking = Yes 1425 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 1426 UnpackSound = ColonelBurtonPlantCharge 1427 LoseStealthOnTrigger = Yes 1428 PreTriggerUnstealthTime = 5000 ; in milliseconds 1429 End 1430 1431 Behavior = SpecialAbility ModuleTag_10 1432 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges 1433 UpdateModuleStartsAttack = Yes 1434 InitiateSound = ColonelBurtonVoicePlantTimedCharge 1435 End 1436 Behavior = SpecialAbilityUpdate ModuleTag_11 1437 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges 1438 StartAbilityRange = 0.0 1439 PreparationTime = 0 1440 SpecialObject = TimedC4Charge 1441 MaxSpecialObjects = 10 1442 SpecialObjectsPersistWhenOwnerDies = Yes 1443 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 1444 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 1445 UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge 1446 FlipOwnerAfterUnpacking = Yes 1447 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 1448 UnpackSound = ColonelBurtonPlantCharge 1449 LoseStealthOnTrigger = Yes 1450 PreTriggerUnstealthTime = 5000 ; in milliseconds 1451 1452 End 1453 1454 Behavior = ExperienceScalarUpgrade ModuleTag_12 1455 TriggeredBy = Upgrade_AmericaAdvancedTraining 1456 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 1457 End 1458 1459 ;Hero units can't be squished! 1460 ;Behavior = SquishCollide ModuleTag_13 1461 ; ;nothing 1462 ;End 1463 1464 1465 ; --- begin Death modules --- 1466 Behavior = SlowDeathBehavior ModuleTag_Death01 1467 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 1468 SinkDelay = 50000 1469 SinkRate = 0.5 ; in Dist/Sec 1470 DestructionDelay = 8000000 1471 FX = INITIAL FX_GIDie 1472 End 1473 Behavior = SlowDeathBehavior ModuleTag_Death02 1474 DeathTypes = NONE +CRUSHED +SPLATTED 1475 SinkDelay = 50000 1476 SinkRate = 0.5 ; in Dist/Sec 1477 DestructionDelay = 8000000 1478 FX = INITIAL FX_GIDieCrushed 1479 End 1480 Behavior = SlowDeathBehavior ModuleTag_Death03 1481 DeathTypes = NONE +EXPLODED 1482 SinkDelay = 50000 1483 SinkRate = 0.5 ; in Dist/Sec 1484 DestructionDelay = 8000000 1485 FX = INITIAL FX_GIDie 1486 FlingForce = 8 1487 FlingForceVariance = 3 1488 FlingPitch = 60 1489 FlingPitchVariance = 10 1490 End 1491 Behavior = SlowDeathBehavior ModuleTag_Death04 1492 DeathTypes = NONE +BURNED 1493 DestructionDelay = 0 1494 FX = INITIAL FX_GIDie 1495 OCL = INITIAL OCL_FlamingInfantry 1496 End 1497 Behavior = SlowDeathBehavior ModuleTag_Death05 1498 DeathTypes = NONE +POISONED 1499 DestructionDelay = 0 1500 FX = INITIAL FX_GIDie 1501 OCL = INITIAL OCL_ToxicInfantry 1502 End 1503 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 1504 DeathTypes = NONE +POISONED_BETA 1505 DestructionDelay = 0 1506 FX = INITIAL FX_GIDie 1507 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 1508 End 1509 ; --- end Death modules --- 1510 1511 Behavior = PoisonedBehavior ModuleTag_18 1512 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 1513 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 1514 End 1515 1516 Geometry = CYLINDER 1517 Scale = 0.95 ;Scaling 1518 GeometryMajorRadius = 1.0 1519 GeometryMinorRadius = 1.0 1520 GeometryHeight = 8.0 1521 GeometryIsSmall = Yes 1522 Shadow = SHADOW_DECAL 1523 ShadowSizeX = 9 1524 ShadowSizeY = 9 1525 ShadowTexture = ShadowI 1526 BuildCompletion = APPEARS_AT_RALLY_POINT 1527 1528 End 1529 1530 ;------------------------------------------------------------------------------ 1531 Object AmericaVehicleHumvee 1532 1533 ; *** ART Parameters *** 1534 SelectPortrait = SAHummer_L 1535 ButtonImage = SAHummer 1536 1537 UpgradeCameo1 = Upgrade_AmericaBattleDrone 1538 UpgradeCameo2 = Upgrade_AmericaScoutDrone 1539 UpgradeCameo3 = Upgrade_AmericaTOWMissile 1540 UpgradeCameo4 = Upgrade_AmericaAdvancedTraining 1541 ;UpgradeCameo5 = XXX 1542 1543 Draw = W3DTruckDraw ModuleTag_01 1544 OkToChangeModelColor = Yes 1545 1546 ConditionState = NONE 1547 Model = AVHUMMER 1548 Turret = Turret 1549 ShowSubObject = Turret 1550 HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 1551 WeaponFireFXBone = PRIMARY Muzzle 1552 WeaponMuzzleFlash = PRIMARY MuzzleFX 1553 End 1554 1555 ConditionState = REALLYDAMAGED 1556 Model = AVHUMMER_d 1557 Turret = Turret 1558 ShowSubObject = Turret 1559 HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 1560 WeaponFireFXBone = PRIMARY Muzzle 1561 WeaponMuzzleFlash = PRIMARY MuzzleFX 1562 End 1563 1564 ConditionState = WEAPONSET_PLAYER_UPGRADE 1565 Model = AVHUMMER 1566 Turret = TurretUp01 1567 HideSubObject = Turret MuzzleFX01 1568 ShowSubObject = TurretUp01 Housecolor03 1569 WeaponFireFXBone = PRIMARY MuzzleUp 1570 WeaponMuzzleFlash = PRIMARY MuzzleFXUp 1571 WeaponFireFXBone = SECONDARY WeaponB 1572 WeaponLaunchBone = SECONDARY WeaponB 1573 WeaponFireFXBone = TERTIARY WeaponB 1574 WeaponLaunchBone = TERTIARY WeaponB 1575 End 1576 1577 ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE 1578 Model = AVHUMMER_d 1579 Turret = TurretUp01 1580 HideSubObject = Turret MuzzleFX01 1581 ShowSubObject = TurretUp01 Housecolor03 1582 WeaponFireFXBone = PRIMARY MuzzleUp 1583 WeaponMuzzleFlash = PRIMARY MuzzleFXUp 1584 WeaponFireFXBone = SECONDARY WeaponB 1585 WeaponLaunchBone = SECONDARY WeaponB 1586 WeaponFireFXBone = TERTIARY WeaponB 1587 WeaponLaunchBone = TERTIARY WeaponB 1588 End 1589 1590 TrackMarks = EXTireTrack.tga 1591 1592 Dust = RocketBuggyDust 1593 DirtSpray = RocketBuggyDirtSpray 1594 PowerslideSpray = RocketBuggyDirtPowerSlide 1595 1596 ; These parameters are only used if the model has a separate suspension, 1597 ; and the locomotor has HasSuspension = Yes. 1598 LeftFrontTireBone = Tire01 1599 RightFrontTireBone = Tire02 1600 LeftRearTireBone = Tire03 1601 RightRearTireBone = Tire04 1602 TireRotationMultiplier = 0.2 ; this * speed = rotation. 1603 PowerslideRotationAddition = 1.25 ; This speed is added to the rotation speed when powersliding. 1604 1605 End 1606 1607 ; ***DESIGN parameters *** 1608 DisplayName = OBJECT:Humvee 1609 Side = America 1610 EditorSorting = VEHICLE 1611 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 1612 WeaponSet 1613 Conditions = None 1614 Weapon = PRIMARY HumveeGun 1615 End 1616 WeaponSet 1617 Conditions = PLAYER_UPGRADE 1618 Weapon = PRIMARY HumveeGun 1619 Weapon = SECONDARY HumveeMissileWeapon 1620 Weapon = TERTIARY HumveeMissileWeaponAir 1621 PreferredAgainst = TERTIARY AIRCRAFT 1622 End 1623 ArmorSet 1624 Conditions = None 1625 Armor = HumveeArmor 1626 DamageFX = TruckDamageFX 1627 End 1628 BuildCost = 700 1629 BuildTime = 10.0 ;in seconds 1630 VisionRange = 150 1631 ShroudClearingRange = 320 1632 Prerequisites 1633 Object = AmericaWarFactory 1634 End 1635 ExperienceValue = 50 50 100 150 ;Experience point value at each level 1636 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 1637 IsTrainable = Yes ;Can gain experience 1638 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 1639 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1640 CommandSet = AmericaVehicleHumveeCommandSet 1641 1642 ; *** AUDIO Parameters *** 1643 VoiceSelect = HumveeVoiceSelect 1644 VoiceMove = HumveeVoiceMove 1645 VoiceGuard = HumveeVoiceMove 1646 VoiceAttack = HumveeVoiceAttack 1647 VoiceAttackAir = HumveeVoiceAttackTOW 1648 SoundMoveStart = HumveeMoveStart 1649 SoundMoveStartDamaged = HumveeMoveStart 1650 SoundEnter = HumveeEnter 1651 SoundExit = HumveeExit 1652 1653 UnitSpecificSounds 1654 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 1655 ;TurretMoveStart = NoSound 1656 VoiceCreate = HumveeVoiceCreate 1657 TurretMoveLoop = TurretMoveLoop 1658 SoundEject = PilotSoundEject 1659 VoiceEject = PilotVoiceEject 1660 VoiceCrush = HumveeVoiceCrush 1661 ; Required for the W3DTruckDraw module 1662 TruckLandingSound = RocketBuggyLand 1663 TruckPowerslideSound = RocketBuggyPowerslide 1664 VoiceUnload = HumveeVoiceUnload 1665 VoiceEnter = HumveeVoiceMove 1666 End 1667 1668 Behavior = AIUpdateInterface ModuleTag_20 1669 AutoAcquireEnemiesWhenIdle = Yes 1670 MoodAttackCheckRate = 250 1671 End 1672 1673 ; *** ENGINEERING Parameters *** 1674 RadarPriority = UNIT 1675 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT 1676 1677 Body = ActiveBody ModuleTag_02 1678 MaxHealth = 240.0 1679 InitialHealth = 240.0 1680 End 1681 Behavior = TransportAIUpdate ModuleTag_03 1682 Turret 1683 TurretTurnRate = 180 1684 RecenterTime = 5000 ; how long to wait during idle before recentering 1685 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY 1686 End 1687 AutoAcquireEnemiesWhenIdle = Yes 1688 End 1689 Locomotor = SET_NORMAL HumveeLocomotor 1690 1691 Behavior = PhysicsBehavior ModuleTag_04 1692 Mass = 50.0 1693 End 1694 1695 Behavior = TransportContain ModuleTag_05 1696 PassengersAllowedToFire = Yes 1697 Slots = 5 1698 ; EnterSound = GarrisonEnter 1699 ; ExitSound = GarrisonExit 1700 DamagePercentToUnits = 100% ;10% 1701 AllowInsideKindOf = INFANTRY 1702 ExitDelay = 250 1703 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn 1704 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 1705 End 1706 1707 Behavior = ObjectCreationUpgrade ModuleTag_06 1708 UpgradeObject = OCL_AmericanBattleDrone 1709 TriggeredBy = Upgrade_AmericaBattleDrone 1710 ConflictsWith = Upgrade_AmericaScoutDrone 1711 End 1712 Behavior = ObjectCreationUpgrade ModuleTag_07 1713 UpgradeObject = OCL_AmericanScoutDrone 1714 TriggeredBy = Upgrade_AmericaScoutDrone 1715 ConflictsWith = Upgrade_AmericaBattleDrone 1716 End 1717 Behavior = ProductionUpdate ModuleTag_08 1718 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 1719 End 1720 1721 Behavior = WeaponSetUpgrade ModuleTag_09 1722 TriggeredBy = Upgrade_AmericaTOWMissile 1723 End 1724 Behavior = ExperienceScalarUpgrade ModuleTag_10 1725 TriggeredBy = Upgrade_AmericaAdvancedTraining 1726 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 1727 End 1728 1729 Behavior = SlowDeathBehavior ModuleTag_11 1730 DeathTypes = ALL -CRUSHED -SPLATTED 1731 ProbabilityModifier = 25 1732 DestructionDelay = 1 1733 OCL = INITIAL OCL_InitialHumveeDebris 1734 FX = FINAL FX_BattleMasterExplosionOneFinal 1735 OCL = FINAL OCL_FinalHumveeDebris 1736 End 1737 1738 Behavior = DestroyDie ModuleTag_12 1739 DeathTypes = NONE +CRUSHED +SPLATTED 1740 End 1741 1742 Behavior = FXListDie ModuleTag_13 1743 DeathTypes = NONE +CRUSHED +SPLATTED 1744 DeathFX = FX_CarCrush 1745 End 1746 1747 Behavior = CreateCrateDie ModuleTag_CratesChange 1748 CrateData = SalvageCrateData 1749 ;CrateData = EliteTankCrateData 1750 ;CrateData = HeroicTankCrateData 1751 End 1752 1753 ; This is commented out per hotlist request 10/9 ML 1754 ; Behavior = CreateObjectDie ModuleTag_15 1755 ; DeathTypes = ALL -CRUSHED -SPLATTED 1756 ; CreationList = OCL_AmericanRangerDebris01 1757 ; ExemptStatus = HIJACKED 1758 ; End 1759 1760 Behavior = EjectPilotDie ModuleTag_16 1761 DeathTypes = ALL -CRUSHED -SPLATTED 1762 ExemptStatus = HIJACKED 1763 ; The following added out per hotlist request 10/9 as above ML 1764 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 1765 GroundCreationList = OCL_EjectPilotOnGround 1766 AirCreationList = OCL_EjectPilotViaParachute 1767 End 1768 1769 Behavior = TransitionDamageFX ModuleTag_17 1770 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 1771 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 1772 End 1773 1774 Behavior = FlammableUpdate ModuleTag_21 1775 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 1776 AflameDamageAmount = 3 ; taking this much damage... 1777 AflameDamageDelay = 500 ; this often. 1778 End 1779 1780 Geometry = BOX 1781 GeometryMajorRadius = 14.0 1782 GeometryMinorRadius = 7.0 1783 GeometryHeight = 11.5 1784 GeometryIsSmall = Yes 1785 Shadow = SHADOW_VOLUME 1786 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 1787 1788 End 1789 1790 ;------------------------------------------------------------------------------ 1791 ;**************************** Cinematic-Only unit ***************************** 1792 Object CINE_AmericaVehicleHumvee 1793 1794 ; *** ART Parameters *** 1795 SelectPortrait = SAHummer_L 1796 ButtonImage = SAHummer 1797 1798 UpgradeCameo1 = Upgrade_AmericaBattleDrone 1799 UpgradeCameo2 = Upgrade_AmericaScoutDrone 1800 UpgradeCameo3 = Upgrade_AmericaTOWMissile 1801 ;UpgradeCameo4 = Upgrade_AmericaAdvancedTraining 1802 ;UpgradeCameo5 = XXX 1803 1804 Draw = W3DTruckDraw ModuleTag_01 1805 OkToChangeModelColor = Yes 1806 1807 ConditionState = NONE 1808 Model = AVHUMMER 1809 Turret = Turret 1810 ShowSubObject = Turret 1811 HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 1812 WeaponFireFXBone = PRIMARY Muzzle 1813 WeaponMuzzleFlash = PRIMARY MuzzleFX 1814 End 1815 1816 ConditionState = REALLYDAMAGED 1817 Model = AVHUMMER_d 1818 Turret = Turret 1819 ShowSubObject = Turret 1820 HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 1821 WeaponFireFXBone = PRIMARY Muzzle 1822 WeaponMuzzleFlash = PRIMARY MuzzleFX 1823 End 1824 1825 ConditionState = WEAPONSET_PLAYER_UPGRADE 1826 Model = AVHUMMER 1827 Turret = TurretUp01 1828 HideSubObject = Turret MuzzleFX01 1829 ShowSubObject = TurretUp01 Housecolor03 1830 WeaponFireFXBone = PRIMARY MuzzleUp 1831 WeaponMuzzleFlash = PRIMARY MuzzleFXUp 1832 WeaponFireFXBone = SECONDARY WeaponB 1833 WeaponLaunchBone = SECONDARY WeaponB 1834 WeaponFireFXBone = TERTIARY WeaponB 1835 WeaponLaunchBone = TERTIARY WeaponB 1836 End 1837 1838 ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE 1839 Model = AVHUMMER_d 1840 Turret = TurretUp01 1841 HideSubObject = Turret MuzzleFX01 1842 ShowSubObject = TurretUp01 Housecolor03 1843 WeaponFireFXBone = PRIMARY MuzzleUp 1844 WeaponMuzzleFlash = PRIMARY MuzzleFXUp 1845 WeaponFireFXBone = SECONDARY WeaponB 1846 WeaponLaunchBone = SECONDARY WeaponB 1847 WeaponFireFXBone = TERTIARY WeaponB 1848 WeaponLaunchBone = TERTIARY WeaponB 1849 End 1850 1851 TrackMarks = EXTireTrack.tga 1852 1853 Dust = RocketBuggyDust 1854 DirtSpray = RocketBuggyDirtSpray 1855 PowerslideSpray = RocketBuggyDirtPowerSlide 1856 1857 ; These parameters are only used if the model has a separate suspension, 1858 ; and the locomotor has HasSuspension = Yes. 1859 LeftFrontTireBone = Tire01 1860 RightFrontTireBone = Tire02 1861 LeftRearTireBone = Tire03 1862 RightRearTireBone = Tire04 1863 TireRotationMultiplier = 0.2 ; this * speed = rotation. 1864 PowerslideRotationAddition = 1.25 ; This speed is added to the rotation speed when powersliding. 1865 1866 End 1867 1868 ; ***DESIGN parameters *** 1869 DisplayName = OBJECT:Humvee 1870 Side = America 1871 EditorSorting = VEHICLE 1872 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 1873 WeaponSet 1874 Conditions = None 1875 Weapon = PRIMARY HumveeGun 1876 End 1877 WeaponSet 1878 Conditions = PLAYER_UPGRADE 1879 Weapon = PRIMARY HumveeGun 1880 Weapon = SECONDARY HumveeMissileWeapon 1881 Weapon = TERTIARY HumveeMissileWeaponAir 1882 PreferredAgainst = TERTIARY AIRCRAFT 1883 End 1884 ArmorSet 1885 Conditions = None 1886 Armor = HumveeArmor 1887 DamageFX = TruckDamageFX 1888 End 1889 BuildCost = 700 1890 BuildTime = 10.0 ;in seconds 1891 VisionRange = 320 1892 ShroudClearingRange = 320 1893 Prerequisites 1894 Object = AmericaWarFactory 1895 End 1896 ExperienceValue = 50 50 100 150 ;Experience point value at each level 1897 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 1898 IsTrainable = Yes ;Can gain experience 1899 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 1900 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1901 CommandSet = AmericaVehicleHumveeCommandSet 1902 1903 ; *** AUDIO Parameters *** 1904 VoiceSelect = HumveeVoiceSelect 1905 VoiceMove = HumveeVoiceMove 1906 VoiceGuard = HumveeVoiceMove 1907 VoiceAttack = HumveeVoiceAttack 1908 VoiceAttackAir = HumveeVoiceAttackTOW 1909 SoundMoveStart = HumveeMoveStart 1910 SoundMoveStartDamaged = HumveeMoveStart 1911 SoundEnter = HumveeEnter 1912 SoundExit = HumveeExit 1913 1914 UnitSpecificSounds 1915 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 1916 ;TurretMoveStart = NoSound 1917 VoiceCreate = HumveeVoiceCreate 1918 TurretMoveLoop = TurretMoveLoop 1919 SoundEject = PilotSoundEject 1920 VoiceEject = PilotVoiceEject 1921 VoiceCrush = HumveeVoiceCrush 1922 ; Required for the W3DTruckDraw module 1923 TruckLandingSound = RocketBuggyLand 1924 TruckPowerslideSound = RocketBuggyPowerslide 1925 VoiceUnload = HumveeVoiceUnload 1926 VoiceEnter = HumveeVoiceMove 1927 End 1928 1929 Behavior = AIUpdateInterface ModuleTag_20 1930 AutoAcquireEnemiesWhenIdle = Yes 1931 MoodAttackCheckRate = 250 1932 End 1933 1934 ; *** ENGINEERING Parameters *** 1935 RadarPriority = UNIT 1936 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT 1937 1938 Body = ActiveBody ModuleTag_02 1939 MaxHealth = 240.0 1940 InitialHealth = 240.0 1941 End 1942 Behavior = TransportAIUpdate ModuleTag_03 1943 Turret 1944 TurretTurnRate = 180 1945 RecenterTime = 5000 ; how long to wait during idle before recentering 1946 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY 1947 End 1948 AutoAcquireEnemiesWhenIdle = Yes 1949 End 1950 Locomotor = SET_NORMAL CINE_USAHumveeLocomotor 1951 1952 Behavior = PhysicsBehavior ModuleTag_04 1953 Mass = 50.0 1954 End 1955 1956 Behavior = TransportContain ModuleTag_05 1957 PassengersAllowedToFire = Yes 1958 Slots = 5 1959 ; EnterSound = GarrisonEnter 1960 ; ExitSound = GarrisonExit 1961 DamagePercentToUnits = 10% 1962 AllowInsideKindOf = INFANTRY 1963 ExitDelay = 250 1964 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn 1965 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 1966 End 1967 1968 Behavior = ObjectCreationUpgrade ModuleTag_06 1969 UpgradeObject = OCL_AmericanBattleDrone 1970 TriggeredBy = Upgrade_AmericaBattleDrone 1971 ConflictsWith = Upgrade_AmericaScoutDrone 1972 End 1973 Behavior = ObjectCreationUpgrade ModuleTag_07 1974 UpgradeObject = OCL_AmericanScoutDrone 1975 TriggeredBy = Upgrade_AmericaScoutDrone 1976 ConflictsWith = Upgrade_AmericaBattleDrone 1977 End 1978 Behavior = ProductionUpdate ModuleTag_08 1979 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 1980 End 1981 1982 Behavior = WeaponSetUpgrade ModuleTag_09 1983 TriggeredBy = Upgrade_AmericaTOWMissile 1984 End 1985 Behavior = ExperienceScalarUpgrade ModuleTag_10 1986 TriggeredBy = Upgrade_AmericaAdvancedTraining 1987 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 1988 End 1989 1990 Behavior = SlowDeathBehavior ModuleTag_11 1991 DeathTypes = ALL -CRUSHED -SPLATTED 1992 ProbabilityModifier = 25 1993 DestructionDelay = 1 1994 OCL = INITIAL OCL_InitialHumveeDebris 1995 FX = FINAL FX_BattleMasterExplosionOneFinal 1996 OCL = FINAL OCL_FinalHumveeDebris 1997 End 1998 1999 Behavior = DestroyDie ModuleTag_12 2000 DeathTypes = NONE +CRUSHED +SPLATTED 2001 End 2002 2003 Behavior = FXListDie ModuleTag_13 2004 DeathTypes = NONE +CRUSHED +SPLATTED 2005 DeathFX = FX_CarCrush 2006 End 2007 2008 Behavior = CreateCrateDie ModuleTag_CratesChange 2009 CrateData = SalvageCrateData 2010 ;CrateData = EliteTankCrateData 2011 ;CrateData = HeroicTankCrateData 2012 End 2013 2014 ; This is commented out per hotlist request 10/9 ML 2015 ; Behavior = CreateObjectDie ModuleTag_15 2016 ; DeathTypes = ALL -CRUSHED -SPLATTED 2017 ; CreationList = OCL_AmericanRangerDebris01 2018 ; ExemptStatus = HIJACKED 2019 ; End 2020 2021 Behavior = EjectPilotDie ModuleTag_16 2022 DeathTypes = ALL -CRUSHED -SPLATTED 2023 ExemptStatus = HIJACKED 2024 ; The following added out per hotlist request 10/9 as above ML 2025 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 2026 GroundCreationList = OCL_EjectPilotOnGround 2027 AirCreationList = OCL_EjectPilotViaParachute 2028 End 2029 2030 Behavior = TransitionDamageFX ModuleTag_17 2031 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 2032 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 2033 End 2034 2035 Behavior = FlammableUpdate ModuleTag_21 2036 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 2037 AflameDamageAmount = 3 ; taking this much damage... 2038 AflameDamageDelay = 500 ; this often. 2039 End 2040 2041 Geometry = BOX 2042 GeometryMajorRadius = 14.0 2043 GeometryMinorRadius = 7.0 2044 GeometryHeight = 11.5 2045 GeometryIsSmall = Yes 2046 Shadow = SHADOW_VOLUME 2047 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 2048 2049 End 2050 2051 ;------------------------------------------------------------------------------ 2052 Object HumveeMissile 2053 2054 ; *** ART Parameters *** 2055 Draw = W3DModelDraw ModuleTag_01 2056 OkToChangeModelColor = Yes 2057 DefaultConditionState 2058 Model = UVRockBug_m 2059 End 2060 End 2061 2062 ; ***DESIGN parameters *** 2063 2064 EditorSorting = SYSTEM 2065 VisionRange = 0.0 2066 ArmorSet 2067 Conditions = None 2068 Armor = ProjectileArmor 2069 DamageFX = None 2070 End 2071 2072 ; *** ENGINEERING Parameters *** 2073 KindOf = PROJECTILE SMALL_MISSILE 2074 Body = ActiveBody ModuleTag_02 2075 MaxHealth = 100.0 2076 InitialHealth = 100.0 2077 End 2078 2079 ; ---- begin Projectile death behaviors 2080 Behavior = InstantDeathBehavior DeathModuleTag_01 2081 DeathTypes = NONE +DETONATED 2082 ; we detonated normally. 2083 ; no FX, just quiet destroy ourselves 2084 End 2085 Behavior = InstantDeathBehavior DeathModuleTag_02 2086 DeathTypes = NONE +LASERED 2087 ; shot down by laser. 2088 FX = FX_GenericMissileDisintegrate 2089 OCL = OCL_GenericMissileDisintegrate 2090 End 2091 Behavior = InstantDeathBehavior DeathModuleTag_03 2092 DeathTypes = ALL -LASERED -DETONATED 2093 ; shot down by nonlaser. 2094 FX = FX_GenericMissileDeath 2095 End 2096 ; ---- end Projectile death behaviors 2097 2098 Behavior = PhysicsBehavior ModuleTag_06 2099 Mass = 1 2100 End 2101 Behavior = MissileAIUpdate ModuleTag_07 2102 TryToFollowTarget = No 2103 FuelLifetime = 1000 2104 InitialVelocity = 150 ; in dist/sec 2105 IgnitionDelay = 0 2106 DistanceToTravelBeforeTurning = 3 2107 IgnitionFX = FX_HumveeMissileIgnition 2108 End 2109 Locomotor = SET_NORMAL RocketBuggyMissileLocomotor 2110 2111 Geometry = Sphere 2112 GeometryIsSmall = Yes 2113 GeometryMajorRadius = 2.0 2114 2115 End 2116 2117 ;------------------------------------------------------------------------------ 2118 Object AmericaVehicleHumveeDeadHull 2119 2120 ; *** ART Parameters *** 2121 Draw = W3DModelDraw ModuleTag_01 2122 OkToChangeModelColor = Yes 2123 2124 DefaultConditionState 2125 Model = AVHUMMER_D1 2126 End 2127 End 2128 2129 ; ***DESIGN parameters *** 2130 Side = America 2131 EditorSorting = SYSTEM 2132 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 2133 2134 ; *** AUDIO Parameters *** 2135 ; *** ENGINEERING Parameters *** 2136 RadarPriority = UNIT 2137 KindOf = CAN_CAST_REFLECTIONS IMMOBILE NO_COLLIDE HULK 2138 2139 Body = ActiveBody ModuleTag_02 2140 MaxHealth = 1.0 2141 InitialHealth = 1.0 2142 End 2143 2144 2145 Behavior = PhysicsBehavior ModuleTag_03 2146 Mass = 50 2147 AllowBouncing = Yes 2148 End 2149 2150 Behavior = LifetimeUpdate ModuleTag_04 2151 MinLifetime = 0 ; min lifetime in msec 2152 MaxLifetime = 0 ; max lifetime in msec 2153 End 2154 2155 Behavior = SlowDeathBehavior ModuleTag_05 2156 SinkDelay = 14000 2157 SinkRate = 2 ; in Dist/Sec 2158 DestructionDelay = 20000 2159 End 2160 2161 Behavior = TransitionDamageFX ModuleTag_06 2162 RubbleParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 2163 End 2164 2165 Geometry = BOX 2166 GeometryMajorRadius = 9.0 2167 GeometryMinorRadius = 6.0 2168 GeometryHeight = 7.5 2169 GeometryIsSmall = Yes 2170 2171 End 2172 2173 ;---------------------------------------------------------- 2174 Object AmericaVehicleTomahawk 2175 2176 ; *** ART Parameters *** 2177 SelectPortrait = SACTomahawk_L 2178 ButtonImage = SACTomahawk 2179 2180 UpgradeCameo1 = Upgrade_AmericaScoutDrone 2181 UpgradeCameo2 = Upgrade_AmericaBattleDrone 2182 UpgradeCameo3 = Upgrade_AmericaAdvancedTraining 2183 ;UpgradeCameo4 = Upgrade_AmericaTomahawkRemoteControl ***CUT*** 2184 ;UpgradeCameo5 = XXX 2185 2186 Draw = W3DTankDraw ModuleTag_01 2187 OkToChangeModelColor = Yes 2188 2189 ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset 2190 2191 DefaultConditionState 2192 Model = AVTomahawk 2193 Turret = TURRET 2194 TurretPitch = TURRETEL 2195 WeaponLaunchBone = PRIMARY WeaponA 2196 WeaponHideShowBone = PRIMARY MISSILE 2197 End 2198 2199 ConditionState = REALLYDAMAGED 2200 Model = AVTomahawk_D 2201 End 2202 AliasConditionState = RUBBLE 2203 2204 TrackMarks = EXTnkTrack.tga 2205 2206 End 2207 2208 ; ***DESIGN parameters *** 2209 DisplayName = OBJECT:Tomahawk 2210 Side = America 2211 EditorSorting = VEHICLE 2212 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 2213 BuildCost = 1200 2214 BuildTime = 20.0 ;in seconds 2215 VisionRange = 180 2216 ShroudClearingRange = 200 2217 Prerequisites 2218 Object = AmericaWarFactory 2219 Object = AmericaStrategyCenter 2220 End 2221 ExperienceValue = 50 50 100 150 ;Experience point value at each level 2222 ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level 2223 IsTrainable = Yes ;Can gain experience 2224 WeaponSet 2225 Conditions = None 2226 Weapon = PRIMARY TomahawkMissileWeapon 2227 End 2228 ArmorSet 2229 Conditions = None 2230 Armor = TruckArmor 2231 DamageFX = TankDamageFX 2232 End 2233 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 2234 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 2235 CommandSet = AmericaVehicleTomahawkCommandSet 2236 2237 ; *** AUDIO Parameters *** 2238 VoiceSelect = TomahawkVoiceSelect 2239 VoiceMove = TomahawkVoiceMove 2240 VoiceGuard = TomahawkVoiceMove 2241 VoiceAttack = TomahawkVoiceAttack 2242 SoundMoveStart = TomahawkMoveStart 2243 SoundMoveStartDamaged = TomahawkMoveStart 2244 2245 UnitSpecificSounds 2246 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 2247 VoiceCreate = TomahawkVoiceCreate 2248 TurretMoveStart = NoSound 2249 TurretMoveLoop = TurretMoveLoopLoud 2250 SoundEject = PilotSoundEject 2251 VoiceEject = PilotVoiceEject 2252 VoiceCrush = TomahawkVoiceCrush 2253 VoiceEnter = TomahawkVoiceMove 2254 VoiceBombard = TomahawkVoiceAttack 2255 End 2256 2257 ; *** ENGINEERING Parameters *** 2258 RadarPriority = UNIT 2259 KindOf = PRELOAD SELECTABLE DONT_AUTO_CRUSH_INFANTRY CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 2260 2261 Body = ActiveBody ModuleTag_02 2262 MaxHealth = 180.0 2263 InitialHealth = 180.0 2264 End 2265 2266 Behavior = AIUpdateInterface ModuleTag_03 2267 Turret 2268 TurretTurnRate = 60 ; turn rate, in degrees per sec 2269 TurretPitchRate = 60 2270 FirePitch = 70 ; Instead of aiming pitchwise at the target, it will aim here 2271 AllowsPitch = Yes 2272 ControlledWeaponSlots = PRIMARY 2273 End 2274 AutoAcquireEnemiesWhenIdle = No NotWhileAttacking 2275 End 2276 Locomotor = SET_NORMAL TomahawkLocomotor 2277 2278 Behavior = PhysicsBehavior ModuleTag_04 2279 Mass = 50.0 2280 End 2281 Behavior = SlowDeathBehavior ModuleTag_05 2282 DeathTypes = ALL -CRUSHED -SPLATTED 2283 DestructionDelay = 500 2284 DestructionDelayVariance = 100 2285 FX = INITIAL FX_GenericTankDeathEffect 2286 OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie 2287 FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion 2288 End 2289 2290 Behavior = ObjectCreationUpgrade ModuleTag_06 2291 UpgradeObject = OCL_AmericanBattleDrone 2292 TriggeredBy = Upgrade_AmericaBattleDrone 2293 ConflictsWith = Upgrade_AmericaScoutDrone 2294 End 2295 Behavior = ObjectCreationUpgrade ModuleTag_07 2296 UpgradeObject = OCL_AmericanScoutDrone 2297 TriggeredBy = Upgrade_AmericaScoutDrone 2298 ConflictsWith = Upgrade_AmericaBattleDrone 2299 End 2300 Behavior = ProductionUpdate ModuleTag_08 2301 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 2302 End 2303 2304 Behavior = ExperienceScalarUpgrade ModuleTag_09 2305 TriggeredBy = Upgrade_AmericaAdvancedTraining 2306 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 2307 End 2308 2309 Behavior = DestroyDie ModuleTag_10 2310 DeathTypes = NONE +CRUSHED +SPLATTED 2311 End 2312 2313 Behavior = FXListDie ModuleTag_11 2314 DeathTypes = NONE +CRUSHED +SPLATTED 2315 DeathFX = FX_CarCrush 2316 End 2317 2318 Behavior = CreateObjectDie ModuleTag_12 2319 DeathTypes = NONE +CRUSHED +SPLATTED 2320 CreationList = OCL_CrusaderTank_CrushEffect 2321 End 2322 2323 ; Behavior = FXListDie 2324 ; DeathTypes = ALL -CRUSHED -SPLATTED 2325 ; DeathFX = FX_GenericTankDeathEffect 2326 ; End 2327 ; Behavior = CreateObjectDie 2328 ; DeathTypes = ALL -CRUSHED -SPLATTED 2329 ; CreationList = OCL_GenericTankDeathEffect 2330 ; End 2331 Behavior = EjectPilotDie ModuleTag_13 2332 DeathTypes = ALL -CRUSHED -SPLATTED 2333 ExemptStatus = HIJACKED 2334 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 2335 GroundCreationList = OCL_EjectPilotOnGround 2336 AirCreationList = OCL_EjectPilotViaParachute 2337 End 2338 2339 Behavior = TransitionDamageFX ModuleTag_14 2340 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 2341 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 2342 End 2343 2344 Behavior = FlammableUpdate ModuleTag_21 2345 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 2346 AflameDamageAmount = 3 ; taking this much damage... 2347 AflameDamageDelay = 500 ; this often. 2348 End 2349 2350 Geometry = BOX 2351 GeometryMajorRadius = 15.0 2352 GeometryMinorRadius = 10.0 2353 GeometryHeight = 10.0 2354 GeometryIsSmall = Yes 2355 Shadow = SHADOW_VOLUME 2356 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 2357 2358 End 2359 2360 ;---------------------------------------------------------- 2361 Object AmericaVehicleTomahawkHulk 2362 ; *** ART Parameters *** 2363 Draw = W3DModelDraw ModuleTag_01 2364 ConditionState = NONE 2365 Model = AVTomahawk_D1 2366 End 2367 End 2368 2369 ; ***DESIGN parameters *** 2370 EditorSorting = DEBRIS 2371 2372 ; *** ENGINEERING Parameters *** 2373 KindOf = NO_COLLIDE HULK 2374 2375 Behavior = PhysicsBehavior ModuleTag_03 2376 Mass = 10.0 2377 AllowBouncing = Yes 2378 KillWhenRestingOnGround = Yes 2379 End 2380 Behavior = LifetimeUpdate ModuleTag_04 2381 MinLifetime = 1500 ; min lifetime in msec 2382 MaxLifetime = 1600 ; max lifetime in msec 2383 End 2384 2385 Behavior = SlowDeathBehavior ModuleTag_05 2386 SinkDelay = 1500 2387 SinkRate = 2 ; in Dist/Sec 2388 DestructionDelay = 8000 2389 End 2390 End 2391 2392 ;---------------------------------------------------------- 2393 Object ChinaVehicleNukeCannonHulk 2394 ; *** ART Parameters *** 2395 Draw = W3DModelDraw ModuleTag_01 2396 ConditionState = NONE 2397 Model = NVNukeCn_D1 2398 End 2399 End 2400 2401 ; ***DESIGN parameters *** 2402 EditorSorting = DEBRIS 2403 2404 ; *** ENGINEERING Parameters *** 2405 KindOf = NO_COLLIDE HULK 2406 2407 Behavior = PhysicsBehavior ModuleTag_03 2408 Mass = 10.0 2409 AllowBouncing = Yes 2410 KillWhenRestingOnGround = Yes 2411 End 2412 Behavior = LifetimeUpdate ModuleTag_04 2413 MinLifetime = 1500 ; min lifetime in msec 2414 MaxLifetime = 1600 ; max lifetime in msec 2415 End 2416 2417 Behavior = SlowDeathBehavior ModuleTag_05 2418 SinkDelay = 1500 2419 SinkRate = 2 ; in Dist/Sec 2420 DestructionDelay = 8000 2421 End 2422 End 2423 2424 ;------------------------------------------------------------------------------ 2425 Object AmericaJetRaptor 2426 2427 ; *** ART Parameters *** 2428 SelectPortrait = SACRaptor_L 2429 ButtonImage = SACRaptor 2430 2431 UpgradeCameo1 = Upgrade_AmericaLaserMissiles 2432 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 2433 UpgradeCameo3 = Upgrade_GLACamouflage 2434 ;UpgradeCameo4 = NONE 2435 ;UpgradeCameo5 = NONE 2436 2437 Draw = W3DModelDraw ModuleTag_01 2438 2439 DefaultConditionState 2440 Model = AVRaptor 2441 HideSubObject = BurnerFX01 BurnerFX02 2442 WeaponLaunchBone = PRIMARY WeaponA 2443 End 2444 2445 ConditionState = JETEXHAUST 2446 ; exhaust 2447 ParticleSysBone = Wingtip01 JetContrail 2448 ParticleSysBone = Wingtip02 JetContrail 2449 End 2450 2451 ConditionState = JETEXHAUST JETAFTERBURNER 2452 ; exhaust 2453 ParticleSysBone = Wingtip01 JetContrail 2454 ParticleSysBone = Wingtip02 JetContrail 2455 ; afterburner 2456 ShowSubObject = BurnerFX01 BurnerFX02 2457 ParticleSysBone = Engine01 JetLenzflare 2458 ParticleSysBone = Engine02 JetLenzflare 2459 End 2460 2461 ConditionState = REALLYDAMAGED 2462 Model = AVRaptor_D 2463 ; damage 2464 ParticleSysBone = Smoke01 JetSmoke 2465 ParticleSysBone = Engine01 JetEngineDamagedSmoke 2466 End 2467 2468 ConditionState = REALLYDAMAGED JETEXHAUST 2469 Model = AVRaptor_D 2470 ; damage 2471 ParticleSysBone = Smoke01 JetSmoke 2472 ParticleSysBone = Engine01 JetEngineDamagedSmoke 2473 ; exhaust 2474 ParticleSysBone = Wingtip01 JetContrail 2475 ParticleSysBone = Wingtip02 JetContrail 2476 End 2477 2478 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 2479 Model = AVRaptor_D 2480 ; damage 2481 ParticleSysBone = Smoke01 JetSmoke 2482 ParticleSysBone = Engine01 JetEngineDamagedSmoke 2483 ; afterburner 2484 ShowSubObject = BurnerFX01 BurnerFX02 2485 ParticleSysBone = Engine01 JetLenzflare 2486 ParticleSysBone = Engine02 JetLenzflare 2487 ; exhaust 2488 ParticleSysBone = Wingtip01 JetContrail 2489 ParticleSysBone = Wingtip02 JetContrail 2490 End 2491 2492 ConditionState = RUBBLE 2493 Model = AVRaptor_D1B 2494 HideSubObject = None 2495 ShowSubObject = None 2496 End 2497 2498 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 2499 Model = AVRaptor_D1B 2500 ;HideSubObject is needed cause there're inherited from default condition state 2501 HideSubObject = None 2502 ShowSubObject = None 2503 ParticleSysBone = Engine01 JetExhaust 2504 ParticleSysBone = Engine02 JetExhaust 2505 ; exhaust 2506 ParticleSysBone = Wingtip01 JetContrail 2507 ParticleSysBone = Wingtip02 JetContrail 2508 End 2509 2510 OkToChangeModelColor = Yes 2511 2512 End 2513 2514 ; ***DESIGN parameters *** 2515 DisplayName = OBJECT:Raptor 2516 EditorSorting = VEHICLE 2517 Side = America 2518 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 2519 VisionRange = 180.0 2520 ShroudClearingRange = 400 2521 Prerequisites 2522 Object = AmericaAirfield 2523 End 2524 2525 WeaponSet 2526 Conditions = None 2527 Weapon = PRIMARY RaptorJetMissileWeapon 2528 End 2529 WeaponSet 2530 Conditions = PLAYER_UPGRADE 2531 Weapon = PRIMARY RaptorJetLaserGuidedMissileWeapon 2532 End 2533 ArmorSet 2534 Conditions = None 2535 Armor = AirplaneArmor 2536 DamageFX = None 2537 End 2538 2539 BuildCost = 1800 2540 BuildTime = 20 2541 ExperienceValue = 50 50 100 150 ;Experience point value at each level 2542 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 2543 IsTrainable = Yes ;Can gain experience 2544 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 2545 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 2546 CommandSet = AmericaJetRaptorCommandSet 2547 2548 ; *** AUDIO Parameters *** 2549 VoiceSelect = RaptorVoiceSelect 2550 VoiceMove = RaptorVoiceMove 2551 VoiceAttack = RaptorVoiceAttack 2552 VoiceAttackAir = RaptorVoiceAttackAir 2553 VoiceGuard = RaptorVoiceAirPatrol 2554 SoundDie = RaptorVoiceFalling 2555 SoundAmbient = RaptorAmbientLoop 2556 SoundAmbientRubble = NoSound 2557 ; For now, it is better to have some sound than no sound cause there is a bug in 2558 ; what triggers the sound move loop sound, and the multiplayer test is only days away 2559 ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield 2560 ; SoundAmbient = NoSound 2561 UnitSpecificSounds 2562 VoiceCreate = RaptorVoiceCreate 2563 SoundEject = PilotSoundEject 2564 VoiceEject = PilotVoiceEject 2565 Afterburner = RaptorAfterburner 2566 VoiceLowFuel = RaptorVoiceLowFuel 2567 VoiceGarrison = RaptorVoiceMove 2568 End 2569 2570 ; *** ENGINEERING Parameters *** 2571 RadarPriority = UNIT 2572 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 2573 Body = ActiveBody ModuleTag_02 2574 MaxHealth = 300.0 2575 InitialHealth = 300.0 2576 End 2577 2578 Behavior = WeaponSetUpgrade ModuleTag_03 2579 TriggeredBy = Upgrade_AmericaLaserMissiles 2580 End 2581 Behavior = ExperienceScalarUpgrade ModuleTag_04 2582 TriggeredBy = Upgrade_AmericaAdvancedTraining 2583 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 2584 End 2585 2586 Behavior = JetSlowDeathBehavior ModuleTag_05 2587 FXOnGroundDeath = FX_JetOnGroundDeath 2588 OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp 2589 DestructionDelay = 99999999; destruction will happen when we 2590 RollRate = 0.2 2591 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 2592 PitchRate = 0.0 2593 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 2594 FXInitialDeath = FX_JetDeathInitial 2595 OCLInitialDeath = OCL_RaptorDeathInitial 2596 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 2597 FXSecondary = FX_JetDeathSecondary 2598 OCLSecondary = OCL_RaptorDeathSecondary 2599 FXHitGround = FX_JetDeathHitGround 2600 OCLHitGround = OCL_RaptorDeathHitGround 2601 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 2602 FXFinalBlowUp = FX_JetDeathFinalBlowUp 2603 OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp 2604 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 2605 End 2606 Behavior = EjectPilotDie ModuleTag_06 2607 ExemptStatus = HIJACKED 2608 GroundCreationList = OCL_EjectPilotOnGround 2609 AirCreationList = OCL_EjectPilotViaParachute 2610 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 2611 End 2612 2613 Behavior = PhysicsBehavior ModuleTag_07 2614 Mass = 500.0 2615 End 2616 2617 Behavior = TransitionDamageFX ModuleTag_08 2618 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 2619 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 2620 End 2621 2622 Behavior = JetAIUpdate ModuleTag_09 2623 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 2624 ; note that it's expressed as a percent of max health, not an absolute 2625 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 2626 TakeoffPause = 500 2627 MinHeight = 5 2628 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors 2629 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 2630 End 2631 Locomotor = SET_NORMAL RaptorJetLocomotor 2632 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 2633 2634 Behavior = FlammableUpdate ModuleTag_21 2635 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 2636 AflameDamageAmount = 3 ; taking this much damage... 2637 AflameDamageDelay = 500 ; this often. 2638 End 2639 Behavior = StealthUpdate ModuleTag_07 2640 StealthDelay = 2500 ; msec 2641 StealthForbiddenConditions = ATTACKING USING_ABILITY 2642 MoveThresholdSpeed = 3 2643 InnateStealth = No ;Requires upgrade first 2644 OrderIdleEnemiesToAttackMeUponReveal = Yes 2645 End 2646 2647 Behavior = StealthUpgrade ModuleTag_08 2648 TriggeredBy = Upgrade_GLACamouflage 2649 End 2650 2651 Geometry = Box 2652 GeometryIsSmall = Yes 2653 GeometryMajorRadius = 14.0 2654 GeometryMinorRadius = 7.0 2655 GeometryHeight = 5.0 2656 Shadow = SHADOW_VOLUME 2657 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. 2658 2659 End 2660 2661 ;------------------------------------------------------------------------------ 2662 ;This is the raptor as it's crashing 2663 ;------------------------------------------------------------------------------ 2664 Object AmericaJetRaptorHulk 2665 ; *** ART Parameters *** 2666 Draw = W3DModelDraw ModuleTag_01 2667 DefaultConditionState 2668 Model = AVRaptor_D1 2669 End 2670 End 2671 2672 ; ***DESIGN parameters *** 2673 EditorSorting = DEBRIS 2674 2675 ; *** ENGINEERING Parameters *** 2676 KindOf = NO_COLLIDE HULK 2677 2678 Behavior = PhysicsBehavior ModuleTag_03 2679 Mass = 2.0 2680 AllowBouncing = No 2681 KillWhenRestingOnGround = Yes 2682 End 2683 2684 Behavior = LifetimeUpdate ModuleTag_04 2685 MinLifetime = 1500 ; min lifetime in msec 2686 MaxLifetime = 1600 ; max lifetime in msec 2687 End 2688 2689 Behavior = SlowDeathBehavior ModuleTag_05 2690 SinkDelay = 1500 2691 SinkRate = 2 ; in Dist/Sec 2692 DestructionDelay = 8000 2693 End 2694 2695 End 2696 2697 ;------------------------------------------------------------------------------ 2698 ;This is the A10 as it's crashing 2699 ;------------------------------------------------------------------------------ 2700 Object AmericaJetA10Hulk 2701 ; *** ART Parameters *** 2702 Draw = W3DModelDraw ModuleTag_01 2703 DefaultConditionState 2704 Model = AVWarthog_D1 2705 End 2706 End 2707 2708 ; ***DESIGN parameters *** 2709 EditorSorting = DEBRIS 2710 2711 ; *** ENGINEERING Parameters *** 2712 KindOf = NO_COLLIDE HULK 2713 2714 Behavior = PhysicsBehavior ModuleTag_03 2715 Mass = 2.0 2716 AllowBouncing = No 2717 KillWhenRestingOnGround = Yes 2718 End 2719 2720 Behavior = LifetimeUpdate ModuleTag_04 2721 MinLifetime = 1500 ; min lifetime in msec 2722 MaxLifetime = 1600 ; max lifetime in msec 2723 End 2724 2725 2726 2727 Behavior = SlowDeathBehavior ModuleTag_05 2728 SinkDelay = 1500 2729 SinkRate = 2 ; in Dist/Sec 2730 DestructionDelay = 8000 2731 End 2732 2733 End 2734 2735 ;------------------------------------------------------------------------------ 2736 ;This is the stealth as it's crashing 2737 ;------------------------------------------------------------------------------ 2738 Object AmericaJetStealthHulk 2739 2740 ; *** ART Parameters *** 2741 Draw = W3DModelDraw ModuleTag_01 2742 DefaultConditionState 2743 Model = AVStealth_D1 2744 End 2745 End 2746 2747 ; ***DESIGN parameters *** 2748 EditorSorting = DEBRIS 2749 2750 ; *** ENGINEERING Parameters *** 2751 KindOf = NO_COLLIDE HULK 2752 2753 Behavior = PhysicsBehavior ModuleTag_03 2754 Mass = 2.0 2755 AllowBouncing = No 2756 KillWhenRestingOnGround = Yes 2757 End 2758 2759 Behavior = LifetimeUpdate ModuleTag_04 2760 MinLifetime = 1500 ; min lifetime in msec 2761 MaxLifetime = 1600 ; max lifetime in msec 2762 End 2763 2764 Behavior = SlowDeathBehavior ModuleTag_05 2765 SinkDelay = 1500 2766 SinkRate = 2 ; in Dist/Sec 2767 DestructionDelay = 8000 2768 End 2769 2770 End 2771 2772 ;------------------------------------------------------------------------------ 2773 ;This is the stealth as it's crashing 2774 ;------------------------------------------------------------------------------ 2775 Object AmericaJetAuroraHulk 2776 2777 ; *** ART Parameters *** 2778 Draw = W3DModelDraw ModuleTag_01 2779 DefaultConditionState 2780 Model = AVAurora_D1 2781 End 2782 End 2783 2784 ; ***DESIGN parameters *** 2785 EditorSorting = DEBRIS 2786 2787 ; *** ENGINEERING Parameters *** 2788 KindOf = NO_COLLIDE HULK 2789 2790 Behavior = PhysicsBehavior ModuleTag_03 2791 Mass = 2.0 2792 AllowBouncing = No 2793 KillWhenRestingOnGround = Yes 2794 End 2795 2796 Behavior = LifetimeUpdate ModuleTag_04 2797 MinLifetime = 1500 ; min lifetime in msec 2798 MaxLifetime = 1600 ; max lifetime in msec 2799 End 2800 2801 Behavior = SlowDeathBehavior ModuleTag_05 2802 SinkDelay = 1500 2803 SinkRate = 2 ; in Dist/Sec 2804 DestructionDelay = 8000 2805 End 2806 2807 End 2808 2809 ;------------------------------------------------------------------------------ 2810 Object A10ThunderboltMissile 2811 2812 ; *** ART Parameters *** 2813 Draw = W3DModelDraw ModuleTag_01 2814 OkToChangeModelColor = Yes 2815 DefaultConditionState 2816 Model = AVWarthog_M 2817 ParticleSysBone = NONE MissileExhaust 2818 End 2819 End 2820 2821 ; ***DESIGN parameters *** 2822 DisplayName = OBJECT:Missile 2823 Side = America 2824 EditorSorting = SYSTEM 2825 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 2826 VisionRange = 0.0 2827 ArmorSet 2828 Conditions = None 2829 Armor = ProjectileArmor 2830 DamageFX = None 2831 End 2832 2833 ; *** AUDIO Parameters *** 2834 2835 ; *** ENGINEERING Parameters *** 2836 KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE 2837 Body = ActiveBody ModuleTag_02 2838 MaxHealth = 100.0 2839 InitialHealth = 100.0 2840 End 2841 2842 ; ---- begin Projectile death behaviors 2843 Behavior = InstantDeathBehavior DeathModuleTag_01 2844 DeathTypes = NONE +DETONATED 2845 ; we detonated normally. 2846 ; no FX, just quiet destroy ourselves 2847 End 2848 Behavior = InstantDeathBehavior DeathModuleTag_02 2849 DeathTypes = NONE +LASERED 2850 ; shot down by laser. 2851 FX = FX_GenericMissileDisintegrate 2852 OCL = OCL_GenericMissileDisintegrate 2853 End 2854 Behavior = InstantDeathBehavior DeathModuleTag_03 2855 DeathTypes = ALL -LASERED -DETONATED 2856 ; shot down by nonlaser. 2857 FX = FX_GenericMissileDeath 2858 End 2859 ; ---- end Projectile death behaviors 2860 2861 ; The weapon is in OCL.ini. This makes it do double damage secretly. 2862 ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 2863 ; DeathWeapon = A10ThunderboltMissileWeapon 2864 ; StartsActive = Yes 2865 ; End 2866 2867 Behavior = PhysicsBehavior ModuleTag_08 2868 Mass = 1 2869 End 2870 Behavior = MissileAIUpdate ModuleTag_09 2871 TryToFollowTarget = Yes 2872 FuelLifetime = 10000 2873 InitialVelocity = 30 ; in dist/sec 2874 IgnitionDelay = 0 2875 IgnitionFX = FX_A10ThunderboltMissileIgnition 2876 End 2877 ; It's a missile, it needs to hit so it can +DETONATED 2878 ; Behavior = HeightDieUpdate ModuleTag_10 2879 ; TargetHeight = 1.0 2880 ; TargetHeightIncludesStructures = No 2881 ; End 2882 Locomotor = SET_NORMAL A10ThunderboltMissileLocomotor 2883 2884 Geometry = Sphere 2885 GeometryIsSmall = Yes 2886 GeometryMajorRadius = 1.0 2887 2888 Behavior = SpecialPowerCompletionDie ModuleTag_11 2889 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike 2890 End 2891 2892 ; Geometry = Sphere 2893 ; GeometryIsSmall = Yes 2894 ;GeometryMajorRadius = 12.0 2895 2896 End 2897 2898 ;------------------------------------------------------------------------------ 2899 Object RaptorJetMissile 2900 2901 ; *** ART Parameters *** 2902 Draw = W3DModelDraw ModuleTag_01 2903 OkToChangeModelColor = Yes 2904 DefaultConditionState 2905 Model = AVRaptor_M 2906 End 2907 End 2908 2909 ; ***DESIGN parameters *** 2910 DisplayName = OBJECT:Missile 2911 EditorSorting = SYSTEM 2912 VisionRange = 0.0 2913 2914 ; *** ENGINEERING Parameters *** 2915 KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE 2916 Body = ActiveBody ModuleTag_02 2917 MaxHealth = 100.0 2918 InitialHealth = 100.0 2919 End 2920 2921 ; ---- begin Projectile death behaviors 2922 Behavior = InstantDeathBehavior DeathModuleTag_01 2923 DeathTypes = NONE +DETONATED 2924 ; we detonated normally. 2925 ; no FX, just quiet destroy ourselves 2926 End 2927 Behavior = InstantDeathBehavior DeathModuleTag_02 2928 DeathTypes = NONE +LASERED 2929 ; shot down by laser. 2930 FX = FX_GenericMissileDisintegrate 2931 OCL = OCL_GenericMissileDisintegrate 2932 End 2933 Behavior = InstantDeathBehavior DeathModuleTag_03 2934 DeathTypes = ALL -LASERED -DETONATED 2935 ; shot down by nonlaser. 2936 FX = FX_GenericMissileDeath 2937 End 2938 ; ---- end Projectile death behaviors 2939 2940 Behavior = PhysicsBehavior ModuleTag_07 2941 Mass = 1 2942 End 2943 Behavior = MissileAIUpdate ModuleTag_08 2944 TryToFollowTarget = Yes 2945 FuelLifetime = 10000 2946 InitialVelocity = 75 ; in dist/sec 2947 IgnitionDelay = 30 2948 IgnitionFX = FX_JetMissileIgnition 2949 End 2950 Locomotor = SET_NORMAL RaptorJetMissileLocomotor 2951 2952 Geometry = Sphere 2953 GeometryIsSmall = Yes 2954 GeometryMajorRadius = 1.0 2955 2956 End 2957 2958 ;------------------------------------------------------------------------------ 2959 Object StealthJetMissile 2960 2961 ; *** ART Parameters *** 2962 Draw = W3DModelDraw ModuleTag_01 2963 OkToChangeModelColor = Yes 2964 DefaultConditionState 2965 Model = AVStealth_M 2966 End 2967 End 2968 2969 ; ***DESIGN parameters *** 2970 DisplayName = OBJECT:Missile 2971 EditorSorting = SYSTEM 2972 VisionRange = 0.0 2973 2974 ; *** ENGINEERING Parameters *** 2975 KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE 2976 Body = ActiveBody ModuleTag_02 2977 MaxHealth = 100.0 2978 InitialHealth = 100.0 2979 End 2980 2981 ; ---- begin Projectile death behaviors 2982 Behavior = InstantDeathBehavior DeathModuleTag_01 2983 DeathTypes = NONE +DETONATED 2984 ; we detonated normally. 2985 ; no FX, just quiet destroy ourselves 2986 End 2987 Behavior = InstantDeathBehavior DeathModuleTag_02 2988 DeathTypes = NONE +LASERED 2989 ; shot down by laser. 2990 FX = FX_GenericMissileDisintegrate 2991 OCL = OCL_GenericMissileDisintegrate 2992 End 2993 Behavior = InstantDeathBehavior DeathModuleTag_03 2994 DeathTypes = ALL -LASERED -DETONATED 2995 ; shot down by nonlaser. 2996 FX = FX_GenericMissileDeath 2997 End 2998 ; ---- end Projectile death behaviors 2999 3000 Behavior = PhysicsBehavior ModuleTag_07 3001 Mass = 1 3002 End 3003 Behavior = MissileAIUpdate ModuleTag_08 3004 TryToFollowTarget = Yes 3005 FuelLifetime = 10000 3006 InitialVelocity = 75 ; in dist/sec 3007 IgnitionDelay = 30 3008 IgnitionFX = FX_JetMissileIgnition 3009 End 3010 Locomotor = SET_NORMAL StealthJetMissileLocomotor 3011 3012 Geometry = Sphere 3013 GeometryIsSmall = Yes 3014 GeometryMajorRadius = 1.0 3015 3016 End 3017 3018 ;------------------------------------------------------------------------------ 3019 Object AmericaJetB52 3020 3021 ; *** ART Parameters *** 3022 Draw = W3DModelDraw ModuleTag_01 3023 DefaultConditionState 3024 Model = AVBomber 3025 ParticleSysBone = Engine01 JetBlackTrailThin 3026 ParticleSysBone = Engine02 JetBlackTrailThin 3027 ParticleSysBone = Engine03 JetBlackTrailThin 3028 ParticleSysBone = Engine04 JetBlackTrailThin 3029 ParticleSysBone = WingTip01 JetContrailThin 3030 ParticleSysBone = WingTip02 JetContrailThin 3031 End 3032 ConditionState = DAMAGED 3033 Model = AVBomber_D 3034 ParticleSysBone = Smoke01 JetFireLarge 3035 ParticleSysBone = Smoke02 JetFireLarge 3036 ParticleSysBone = Engine01 JetBlackTrailThin 3037 ParticleSysBone = Engine02 JetBlackTrailThin 3038 ParticleSysBone = Engine03 JetBlackTrailThin 3039 ParticleSysBone = Engine04 JetBlackTrailThin 3040 ParticleSysBone = Smoke01 JetSmokeLarge 3041 ParticleSysBone = Smoke02 JetSmokeLarge 3042 End 3043 ConditionState = REALLYDAMAGED 3044 Model = AVBomber_D 3045 ParticleSysBone = Smoke01 JetFireLarge 3046 ParticleSysBone = Smoke02 JetFireLarge 3047 ParticleSysBone = Engine01 JetBlackTrailThin 3048 ParticleSysBone = Engine02 JetBlackTrailThin 3049 ParticleSysBone = Engine03 JetBlackTrailThin 3050 ParticleSysBone = Engine04 JetBlackTrailThin 3051 ParticleSysBone = Smoke01 JetSmokeLarge 3052 ParticleSysBone = Smoke02 JetSmokeLarge 3053 End 3054 ConditionState = RUBBLE 3055 Model = AVBomber_D1 3056 ParticleSysBone = Smoke01 JetFireLarge 3057 ParticleSysBone = Smoke02 JetFireLarge 3058 ParticleSysBone = Smoke01 JetSmokeLarge 3059 ParticleSysBone = Smoke02 JetSmokeLarge 3060 End 3061 OkToChangeModelColor = Yes 3062 End 3063 3064 Draw = W3DModelDraw ModuleTag_02 3065 DefaultConditionState 3066 Model = AVBomber_A2U 3067 Animation = AVBomber_A2K.AVBomber_A2 3068 AnimationMode = MANUAL 3069 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 3070 End 3071 ConditionState = DOOR_1_OPENING 3072 Animation = AVBomber_A2K.AVBomber_A2 3073 AnimationMode = ONCE 3074 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 3075 End 3076 ConditionState = DOOR_1_CLOSING 3077 Animation = AVBomber_A2K.AVBomber_A2 3078 AnimationMode = ONCE_BACKWARDS 3079 Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES 3080 End 3081 3082 ConditionState = REALLYDAMAGED 3083 Model = AVBomber_A2DU 3084 Animation = AVBomber_A2K.AVBomber_A2 3085 AnimationMode = MANUAL 3086 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 3087 End 3088 ConditionState = DOOR_1_OPENING REALLYDAMAGED 3089 Model = AVBomber_A2DU 3090 Animation = AVBomber_A2K.AVBomber_A2 3091 AnimationMode = ONCE 3092 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 3093 End 3094 ConditionState = DOOR_1_CLOSING REALLYDAMAGED 3095 Model = AVBomber_A2DU 3096 Animation = AVBomber_A2K.AVBomber_A2 3097 AnimationMode = ONCE_BACKWARDS 3098 Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES 3099 End 3100 End 3101 3102 ; ***DESIGN parameters *** 3103 DisplayName = OBJECT:B52 3104 EditorSorting = VEHICLE 3105 Side = America 3106 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 3107 VisionRange = 0.0 3108 ArmorSet 3109 Conditions = None 3110 Armor = AirplaneArmor 3111 DamageFX = TankDamageFX 3112 End 3113 CommandSet = Command_ScriptedTransportDrops 3114 3115 ; *** AUDIO Parameters *** 3116 SoundAmbient = B52AmbientLoop 3117 SoundAmbientRubble = NoSound 3118 3119 ; *** ENGINEERING Parameters *** 3120 RadarPriority = UNIT 3121 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI 3122 Body = ActiveBody ModuleTag_03 3123 MaxHealth = 1000.0 3124 InitialHealth = 1000.0 3125 End 3126 3127 ExperienceValue = 50 50 50 50 ; Experience point value at each level 3128 3129 ;SCRIPTED SUPPORT: These special powers are triggered directly 3130 ;from the transport without creating a transport. This is done 3131 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 3132 ;which also prevents creating the payload transport. 3133 Behavior = OCLSpecialPower ModuleTag_04 3134 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ 3135 OCL = SUPERWEAPON_DaisyCutter 3136 CreateLocation = USE_OWNER_OBJECT 3137 End 3138 Behavior = OCLSpecialPower ModuleTag_05 3139 SpecialPowerTemplate = SuperweaponParadropAmerica 3140 UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 3141 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 3142 OCL = SUPERWEAPON_Paradrop1 3143 CreateLocation = USE_OWNER_OBJECT 3144 End 3145 Behavior = OCLSpecialPower ModuleTag_06 3146 SpecialPowerTemplate = SuperweaponCarpetBomb 3147 OCL = SUPERWEAPON_CarpetBomb 3148 CreateLocation = USE_OWNER_OBJECT 3149 End 3150 3151 Behavior = PhysicsBehavior ModuleTag_07 3152 Mass = 500.0 3153 End 3154 3155 Behavior = DeliverPayloadAIUpdate ModuleTag_08 3156 DoorDelay = 500 3157 MaxAttempts = 4 3158 DropOffset = X:0 Y:0 Z:-10 3159 DropDelay = 300 ; time in between each item dropped (if more than one) 3160 PutInContainer = AmericaParachute 3161 DeliveryDistance = 150 3162 End 3163 Locomotor = SET_NORMAL B52Locomotor 3164 3165 Behavior = TransportContain ModuleTag_09 3166 Slots = 100 ; hey, it's a BIG transport 3167 ScatterNearbyOnExit = No 3168 OrientLikeContainerOnExit = Yes 3169 KeepContainerVelocityOnExit = Yes 3170 ExitPitchRate = 30 3171 ExitBone = WeaponA01 3172 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE 3173 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 3174 NumberOfExitPaths = 0 3175 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' 3176 End 3177 3178 Behavior = JetSlowDeathBehavior ModuleTag_10 3179 DestructionDelay = 2000 3180 RollRate = 0.0 3181 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 3182 PitchRate = 0 3183 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 3184 FXInitialDeath = FX_JetBigDeathInitial 3185 OCLInitialDeath = OCL_AmericaJetCargoDeathStart 3186 DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time 3187 OCLSecondary = OCL_AmericaJetCargoHulkDeath 3188 FXSecondary = FX_BigPlaneDeath 3189 ; FXFinalBlowUp = FX_JetDeathFinalBlowUp 3190 ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp 3191 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 3192 End 3193 3194 Behavior = TransitionDamageFX ModuleTag_11 3195 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 3196 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 3197 End 3198 3199 Geometry = Box 3200 GeometryIsSmall = No 3201 GeometryMajorRadius = 60.0 3202 GeometryMinorRadius = 10.0 3203 GeometryHeight = 10.0 3204 Shadow = SHADOW_VOLUME 3205 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 3206 3207 End 3208 3209 3210 ;------------------------------------------------------------------------------ 3211 Object CINE_USA08_AmericaJetB52 3212 3213 ; *** ART Parameters *** 3214 Draw = W3DModelDraw ModuleTag_01 3215 DefaultConditionState 3216 Model = AVBomber 3217 ParticleSysBone = Engine01 JetBlackTrailThin 3218 ParticleSysBone = Engine02 JetBlackTrailThin 3219 ParticleSysBone = Engine03 JetBlackTrailThin 3220 ParticleSysBone = Engine04 JetBlackTrailThin 3221 ParticleSysBone = WingTip01 JetContrailThin 3222 ParticleSysBone = WingTip02 JetContrailThin 3223 End 3224 ConditionState = DAMAGED 3225 Model = AVBomber_D 3226 ParticleSysBone = Smoke01 JetFireLarge 3227 ParticleSysBone = Smoke02 JetFireLarge 3228 ParticleSysBone = Engine01 JetBlackTrailThin 3229 ParticleSysBone = Engine02 JetBlackTrailThin 3230 ParticleSysBone = Engine03 JetBlackTrailThin 3231 ParticleSysBone = Engine04 JetBlackTrailThin 3232 ParticleSysBone = Smoke01 JetSmokeLarge 3233 ParticleSysBone = Smoke02 JetSmokeLarge 3234 End 3235 ConditionState = REALLYDAMAGED 3236 Model = AVBomber_D 3237 ParticleSysBone = Smoke01 JetFireLarge 3238 ParticleSysBone = Smoke02 JetFireLarge 3239 ParticleSysBone = Engine01 JetBlackTrailThin 3240 ParticleSysBone = Engine02 JetBlackTrailThin 3241 ParticleSysBone = Engine03 JetBlackTrailThin 3242 ParticleSysBone = Engine04 JetBlackTrailThin 3243 ParticleSysBone = Smoke01 JetSmokeLarge 3244 ParticleSysBone = Smoke02 JetSmokeLarge 3245 End 3246 ConditionState = RUBBLE 3247 Model = AVBomber_D1 3248 ParticleSysBone = Smoke01 JetFireLarge 3249 ParticleSysBone = Smoke02 JetFireLarge 3250 ParticleSysBone = Smoke01 JetSmokeLarge 3251 ParticleSysBone = Smoke02 JetSmokeLarge 3252 End 3253 OkToChangeModelColor = Yes 3254 End 3255 3256 Draw = W3DModelDraw ModuleTag_02 3257 DefaultConditionState 3258 Model = AVBomber_A2U 3259 Animation = AVBomber_A2K.AVBomber_A2 3260 AnimationMode = MANUAL 3261 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 3262 End 3263 ConditionState = DOOR_1_OPENING 3264 Animation = AVBomber_A2K.AVBomber_A2 3265 AnimationMode = ONCE 3266 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 3267 End 3268 ConditionState = DOOR_1_CLOSING 3269 Animation = AVBomber_A2K.AVBomber_A2 3270 AnimationMode = ONCE_BACKWARDS 3271 Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES 3272 End 3273 3274 ConditionState = REALLYDAMAGED 3275 Model = AVBomber_A2DU 3276 Animation = AVBomber_A2K.AVBomber_A2 3277 AnimationMode = MANUAL 3278 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 3279 End 3280 ConditionState = DOOR_1_OPENING REALLYDAMAGED 3281 Model = AVBomber_A2DU 3282 Animation = AVBomber_A2K.AVBomber_A2 3283 AnimationMode = ONCE 3284 Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES 3285 End 3286 ConditionState = DOOR_1_CLOSING REALLYDAMAGED 3287 Model = AVBomber_A2DU 3288 Animation = AVBomber_A2K.AVBomber_A2 3289 AnimationMode = ONCE_BACKWARDS 3290 Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES 3291 End 3292 End 3293 3294 ; ***DESIGN parameters *** 3295 DisplayName = OBJECT:B52 3296 EditorSorting = VEHICLE 3297 Side = America 3298 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 3299 VisionRange = 0.0 3300 ArmorSet 3301 Conditions = None 3302 Armor = AirplaneArmor 3303 DamageFX = TankDamageFX 3304 End 3305 CommandSet = Command_ScriptedTransportDrops 3306 3307 ; *** AUDIO Parameters *** 3308 SoundAmbient = B52AmbientLoop 3309 SoundAmbientRubble = NoSound 3310 3311 ; *** ENGINEERING Parameters *** 3312 RadarPriority = UNIT 3313 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI 3314 Body = ActiveBody ModuleTag_03 3315 MaxHealth = 1000.0 3316 InitialHealth = 1000.0 3317 End 3318 3319 ExperienceValue = 50 50 50 50 ; Experience point value at each level 3320 3321 ;SCRIPTED SUPPORT: These special powers are triggered directly 3322 ;from the transport without creating a transport. This is done 3323 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 3324 ;which also prevents creating the payload transport. 3325 Behavior = OCLSpecialPower ModuleTag_04 3326 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ 3327 OCL = SUPERWEAPON_DaisyCutter 3328 CreateLocation = USE_OWNER_OBJECT 3329 End 3330 Behavior = OCLSpecialPower ModuleTag_05 3331 SpecialPowerTemplate = SuperweaponParadropAmerica 3332 UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 3333 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 3334 OCL = SUPERWEAPON_Paradrop1 3335 CreateLocation = USE_OWNER_OBJECT 3336 End 3337 Behavior = OCLSpecialPower ModuleTag_06 3338 SpecialPowerTemplate = SuperweaponCarpetBomb 3339 OCL = SUPERWEAPON_CarpetBomb 3340 CreateLocation = USE_OWNER_OBJECT 3341 End 3342 3343 Behavior = PhysicsBehavior ModuleTag_07 3344 Mass = 500.0 3345 End 3346 3347 Behavior = DeliverPayloadAIUpdate ModuleTag_08 3348 DoorDelay = 500 3349 MaxAttempts = 4 3350 DropOffset = X:0 Y:0 Z:-10 3351 DropDelay = 300 ; time in between each item dropped (if more than one) 3352 PutInContainer = AmericaParachute 3353 DeliveryDistance = 150 3354 End 3355 Locomotor = SET_NORMAL CINE_USA08_B52Locomotor 3356 3357 Behavior = TransportContain ModuleTag_09 3358 Slots = 100 ; hey, it's a BIG transport 3359 ScatterNearbyOnExit = No 3360 OrientLikeContainerOnExit = Yes 3361 KeepContainerVelocityOnExit = Yes 3362 ExitPitchRate = 30 3363 ExitBone = WeaponA01 3364 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE 3365 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 3366 NumberOfExitPaths = 0 3367 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' 3368 End 3369 3370 Behavior = JetSlowDeathBehavior ModuleTag_10 3371 DestructionDelay = 2000 3372 RollRate = 0.0 3373 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 3374 PitchRate = 0 3375 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 3376 FXInitialDeath = FX_JetBigDeathInitial 3377 OCLInitialDeath = OCL_AmericaJetCargoDeathStart 3378 DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time 3379 OCLSecondary = OCL_AmericaJetCargoHulkDeath 3380 FXSecondary = FX_BigPlaneDeath 3381 ; FXFinalBlowUp = FX_JetDeathFinalBlowUp 3382 ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp 3383 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 3384 End 3385 3386 Behavior = TransitionDamageFX ModuleTag_11 3387 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 3388 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 3389 End 3390 3391 Geometry = Box 3392 GeometryIsSmall = No 3393 GeometryMajorRadius = 60.0 3394 GeometryMinorRadius = 10.0 3395 GeometryHeight = 10.0 3396 Shadow = SHADOW_VOLUME 3397 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 3398 3399 End 3400 3401 3402 ;------------------------------------------------------------------------------ 3403 Object CarpetBomb 3404 3405 ; *** ART Parameters *** 3406 Draw = W3DModelDraw ModuleTag_01 3407 DefaultConditionState 3408 Model = EXCarptBmb 3409 End 3410 End 3411 3412 ; ***DESIGN parameters *** 3413 DisplayName = OBJECT:CarpetBomb 3414 Side = America 3415 EditorSorting = SYSTEM 3416 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 3417 VisionRange = 300.0 3418 ArmorSet 3419 Conditions = None 3420 Armor = ProjectileArmor 3421 DamageFX = None 3422 End 3423 3424 ; *** AUDIO Parameters *** 3425 SoundFallingFromPlane = DaisyCutterWeapon 3426 3427 ; *** ENGINEERING Parameters *** 3428 KindOf = PROJECTILE 3429 Body = ActiveBody ModuleTag_02 3430 MaxHealth = 100.0 3431 InitialHealth = 100.0 3432 End 3433 3434 Behavior = AIUpdateInterface ModuleTag_03 3435 End 3436 Locomotor = SET_NORMAL None 3437 3438 Behavior = PhysicsBehavior ModuleTag_04 3439 3440 Mass = 75.0 3441 AerodynamicFriction = 1 ; this is now friction-per-sec 3442 ForwardFriction = 33 ; this is now friction-per-sec 3443 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 3444 End 3445 3446 Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 3447 DeathWeapon = CarpetBombWeapon 3448 StartsActive = Yes 3449 End 3450 3451 Behavior = HeightDieUpdate ModuleTag_06 3452 TargetHeight = 1.0 3453 TargetHeightIncludesStructures = No 3454 End 3455 3456 Behavior = SpecialPowerCompletionDie ModuleTag_07 3457 SpecialPowerTemplate = SuperweaponCarpetBomb 3458 End 3459 3460 Behavior = FXListDie ModuleTag_08 3461 DeathFX = FX_CarpetBomb 3462 End 3463 Behavior = DestroyDie ModuleTag_09 3464 ;nothing 3465 End 3466 3467 End 3468 3469 ;------------------------------------------------------------------------------ 3470 Object AuroraBomb 3471 3472 ; *** ART Parameters *** 3473 Draw = W3DModelDraw ModuleTag_01 3474 DefaultConditionState 3475 Model = UVScorpion_m 3476 End 3477 End 3478 3479 ; ***DESIGN parameters *** 3480 Side = America 3481 EditorSorting = SYSTEM 3482 ArmorSet 3483 Conditions = None 3484 Armor = ProjectileArmor 3485 DamageFX = None 3486 End 3487 VisionRange = 0.0 3488 3489 ; *** AUDIO Parameters *** 3490 3491 ; *** ENGINEERING Parameters *** 3492 KindOf = PROJECTILE 3493 Body = ActiveBody ModuleTag_02 3494 MaxHealth = 100.0 3495 InitialHealth = 100.0 3496 End 3497 3498 Behavior = PhysicsBehavior ModuleTag_03 3499 Mass = 75.0 3500 AerodynamicFriction = 2 ; this is now friction-per-sec 3501 ForwardFriction = 2 ; this is now friction-per-sec 3502 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 3503 End 3504 3505 ; it may seem odd to have a "bomb" with a Locomotor, especially a Thrust locomotor, 3506 ; but there's a good reason: the Aurora moves so freakin' fast that it's really 3507 ; hard to (1) find a reliable drop location, and (2) actually get it close enough to 3508 ; that location. So we cheat: just get fairly close, then let the "bomb" do a little (subtle) 3509 ; navigation on the way down. This works pretty well and actually looks much better 3510 ; than you might think. (srj) 3511 Behavior = MissileAIUpdate ModuleTag_04 3512 TryToFollowTarget = No 3513 FuelLifetime = 0 3514 IgnitionDelay = 0 3515 InitialVelocity = 0 ; in dist/sec 3516 DistanceToTravelBeforeTurning = 0 3517 DistanceToTargetBeforeDiving = 0 3518 End 3519 Locomotor = SET_NORMAL AuroraBombLocomotor ; yes, that's right. 3520 3521 Geometry = Sphere 3522 GeometryIsSmall = Yes 3523 GeometryMajorRadius = 2.0 3524 3525 End 3526 3527 ;------------------------------------------------------------------------------ 3528 ; this is the "standard" mine used for building upgrades 3529 Object ChinaStandardMine 3530 3531 ; *** ART Parameters *** 3532 Draw = W3DModelDraw ModuleTag_01 3533 OkToChangeModelColor = Yes 3534 ; NOTE: ParticleSysBone doesn't work correctly with DefaultConditionState! 3535 ; fix someday! (srj) 3536 ConditionState = NONE 3537 Model = EXAMineGroup 3538 ParticleSysBone = Mine01 MineFX 3539 ParticleSysBone = Mine02 MineFX 3540 ParticleSysBone = Mine03 MineFX 3541 ParticleSysBone = Mine04 MineFX 3542 ParticleSysBone = Mine05 MineFX 3543 ParticleSysBone = Mine06 MineFX 3544 ParticleSysBone = Mine07 MineFX 3545 ParticleSysBone = Mine08 MineFX 3546 End 3547 ConditionState = RUBBLE 3548 Model = None 3549 End 3550 End 3551 3552 ; ***DESIGN parameters *** 3553 DisplayName = OBJECT:StructureMine 3554 EditorSorting = MISC_MAN_MADE 3555 KindOf = STICK_TO_TERRAIN_SLOPE IMMOBILE MINE NO_HEAL_ICON 3556 ArmorSet 3557 Conditions = None 3558 Armor = MineArmor 3559 DamageFX = None 3560 End 3561 3562 ; *** ENGINEERING Parameters *** 3563 Body = ActiveBody ModuleTag_02 3564 MaxHealth = 100.0 3565 InitialHealth = 100.0 3566 End 3567 3568 Behavior = StealthUpdate ModuleTag_03 3569 StealthDelay = 0 ; msec 3570 StealthForbiddenConditions = NONE 3571 FriendlyOpacityMin = 0.0% 3572 FriendlyOpacityMax = 0.0% 3573 InnateStealth = Yes 3574 OrderIdleEnemiesToAttackMeUponReveal = No 3575 End 3576 3577 ; this is a misleading name, since it's really single-Mine Behavior... 3578 Behavior = MinefieldBehavior ModuleTag_04 3579 DetonationWeapon = StructureMineWeapon ; what happens when we detonate 3580 DetonatedBy = ENEMIES NEUTRAL 3581 ; we no longer want the "scoot" behavior. it looks funky with current art. (srj) 3582 ;ScootFromStartingPointTime = 500 3583 RepeatDetonateMoveThresh = 5.0 3584 NumVirtualMines = 8 3585 Regenerates = Yes ; Standard mines DO regenerate. 3586 StopsRegenAfterCreatorDies = Yes 3587 DegenPercentPerSecondAfterCreatorDies = 3.33% ; take about 30 seconds to die. 3588 End 3589 3590 ; Standard mines DO heal. 3591 Behavior = AutoHealBehavior ModuleTag_05 3592 StartsActive = Yes 3593 HealingAmount = 2 3594 HealingDelay = 5000 ; msec 3595 StartHealingDelay = 15000 ; wait this long after we are damaged to start healing 3596 End 3597 3598 Geometry = CYLINDER 3599 GeometryMajorRadius = 30.0 3600 GeometryHeight = 1.0 3601 GeometryIsSmall = No 3602 3603 End 3604 3605 ;------------------------------------------------------------------------------ 3606 Object ChinaClusterMine 3607 3608 ; *** ART Parameters *** 3609 Draw = W3DModelDraw ModuleTag_01 3610 OkToChangeModelColor = Yes 3611 ; NOTE: ParticleSysBone doesn't work correctly with DefaultConditionState! 3612 ; fix someday! (srj) 3613 ConditionState = NONE 3614 Model = EXAMineGroup 3615 ParticleSysBone = Mine01 MineFX 3616 ParticleSysBone = Mine02 MineFX 3617 ParticleSysBone = Mine03 MineFX 3618 ParticleSysBone = Mine04 MineFX 3619 ParticleSysBone = Mine05 MineFX 3620 ParticleSysBone = Mine06 MineFX 3621 ParticleSysBone = Mine07 MineFX 3622 ParticleSysBone = Mine08 MineFX 3623 End 3624 ConditionState = RUBBLE 3625 Model = None 3626 End 3627 End 3628 3629 ; ***DESIGN parameters *** 3630 DisplayName = OBJECT:ClusterMine 3631 EditorSorting = MISC_MAN_MADE 3632 KindOf = STICK_TO_TERRAIN_SLOPE IMMOBILE MINE NO_HEAL_ICON 3633 ArmorSet 3634 Conditions = None 3635 Armor = MineArmor 3636 DamageFX = None 3637 End 3638 3639 ; *** ENGINEERING Parameters *** 3640 Body = ActiveBody ModuleTag_02 3641 MaxHealth = 100.0 3642 InitialHealth = 100.0 3643 End 3644 3645 Behavior = StealthUpdate ModuleTag_03 3646 StealthDelay = 0 ; msec 3647 StealthForbiddenConditions = NONE 3648 FriendlyOpacityMin = 0.0% 3649 FriendlyOpacityMax = 0.0% 3650 InnateStealth = Yes 3651 OrderIdleEnemiesToAttackMeUponReveal = No 3652 End 3653 3654 ; this is a misleading name, since it's really single-Mine Behavior... 3655 Behavior = MinefieldBehavior ModuleTag_04 3656 DetonationWeapon = ClusterMineWeapon ; what happens when we detonate 3657 DetonatedBy = ENEMIES NEUTRAL 3658 ScootFromStartingPointTime = 1000 3659 RepeatDetonateMoveThresh = 5.0 3660 NumVirtualMines = 8 3661 Regenerates = No ; Cluster mines do not regenerate. 3662 End 3663 3664 ; Cluster mines do not heal. 3665 ; Behavior = AutoHealBehavior ModuleTag_05 3666 ; StartsActive = Yes 3667 ; HealingAmount = 2 3668 ; HealingDelay = 1000 ; msec 3669 ; StartHealingDelay = 15000 ; wait this long after we are damaged to start healing 3670 ; End 3671 3672 Geometry = CYLINDER 3673 GeometryMajorRadius = 30.0 3674 GeometryHeight = 1.0 3675 GeometryIsSmall = No 3676 3677 End 3678 3679 ;------------------------------------------------------------------------------ 3680 Object ClusterMinesBomb 3681 3682 ; *** ART Parameters *** 3683 Draw = W3DModelDraw ModuleTag_01 3684 OkToChangeModelColor = Yes 3685 DefaultConditionState 3686 Model = EXAMine_A 3687 End 3688 End 3689 3690 ; ***DESIGN parameters *** 3691 DisplayName = OBJECT:ClusterMinesBomb 3692 Side = China 3693 EditorSorting = SYSTEM 3694 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 3695 VisionRange = 0 3696 ArmorSet 3697 Conditions = None 3698 Armor = ProjectileArmor 3699 DamageFX = None 3700 End 3701 3702 ; *** AUDIO Parameters *** 3703 3704 ; *** ENGINEERING Parameters *** 3705 KindOf = PROJECTILE 3706 Body = ActiveBody ModuleTag_02 3707 MaxHealth = 100.0 3708 InitialHealth = 100.0 3709 End 3710 3711 ; alas, this DOES need ai... 3712 Behavior = AIUpdateInterface ModuleTag_03 3713 End 3714 3715 Locomotor = SET_NORMAL None 3716 3717 Behavior = PhysicsBehavior ModuleTag_04 3718 Mass = 75.0 3719 AerodynamicFriction = 1 ; this is now friction-per-sec 3720 ForwardFriction = 33 ; this is now friction-per-sec 3721 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 3722 End 3723 3724 Behavior = GenerateMinefieldBehavior ModuleTag_05 3725 MineName = ChinaClusterMine 3726 DistanceAroundObject = 80 3727 GenerateOnlyOnDeath = Yes 3728 SmartBorder = Yes 3729 SmartBorderSkipInterior = No 3730 AlwaysCircular = Yes 3731 GenerationFX = WeaponFX_ClusterMineImpact 3732 End 3733 3734 3735 Behavior = HeightDieUpdate ModuleTag_06 3736 TargetHeight = 60.0 3737 TargetHeightIncludesStructures = No 3738 End 3739 3740 Behavior = DestroyDie ModuleTag_07 3741 ;nothing 3742 End 3743 3744 Geometry = SPHERE ;Collision geometry 3745 GeometryMajorRadius = 1.0 ;Collision major radius 3746 GeometryMinorRadius = 1.0 ;Collision minor radius 3747 GeometryHeight = 1.0 ;Height for geometry 3748 GeometryIsSmall = Yes ;Is small geometry 3749 3750 End 3751 3752 3753 ;------------------------------------------------------------------------------ 3754 Object EMPPulseBomb 3755 3756 ; *** ART Parameters *** 3757 Draw = W3DModelDraw ModuleTag_01 3758 OkToChangeModelColor = Yes 3759 DefaultConditionState 3760 Model = EXAMine_A 3761 End 3762 End 3763 3764 ; ***DESIGN parameters *** 3765 DisplayName = OBJECT:EMPPulseBomb 3766 Side = China 3767 EditorSorting = SYSTEM 3768 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 3769 VisionRange = 0 3770 ArmorSet 3771 Conditions = None 3772 Armor = ProjectileArmor 3773 DamageFX = None 3774 End 3775 3776 ; *** AUDIO Parameters *** 3777 3778 ; *** ENGINEERING Parameters *** 3779 KindOf = PROJECTILE 3780 Body = ActiveBody ModuleTag_02 3781 MaxHealth = 100.0 3782 InitialHealth = 100.0 3783 End 3784 3785 ; alas, this DOES need ai... 3786 Behavior = AIUpdateInterface ModuleTag_03 3787 End 3788 3789 Locomotor = SET_NORMAL None 3790 3791 Behavior = PhysicsBehavior ModuleTag_04 3792 Mass = 75.0 3793 AerodynamicFriction = 1 ; this is now friction-per-sec 3794 ForwardFriction = 33 ; this is now friction-per-sec 3795 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 3796 End 3797 3798 3799 Behavior = HeightDieUpdate ModuleTag_05 3800 TargetHeight = 15.0 3801 TargetHeightIncludesStructures = No 3802 End 3803 3804 Behavior = CreateObjectDie ModuleTag_06 3805 CreationList = OCL_EMPPulseEffectSpheroids 3806 End 3807 3808 Behavior = FXListDie ModuleTag_07 3809 DeathFX = WeaponFX_EMPPulseImpact 3810 OrientToObject = No 3811 End 3812 3813 Behavior = DestroyDie ModuleTag_08 3814 ;nothing 3815 End 3816 3817 Geometry = SPHERE ;Collision geometry 3818 GeometryMajorRadius = 1.0 ;Collision major radius 3819 GeometryMinorRadius = 1.0 ;Collision minor radius 3820 GeometryHeight = 1.0 ;Height for geometry 3821 GeometryIsSmall = Yes ;Is small geometry 3822 3823 End 3824 3825 3826 3827 ;------------------------------------------------------------------------------ 3828 Object BlackMarketNuke 3829 3830 ; *** ART Parameters *** 3831 Draw = W3DModelDraw ModuleTag_01 3832 OkToChangeModelColor = Yes 3833 DefaultConditionState 3834 Model = AVBomber_B 3835 End 3836 End 3837 3838 ; ***DESIGN parameters *** 3839 DisplayName = OBJECT:BlackMarketNuke 3840 Side = GLA 3841 EditorSorting = SYSTEM 3842 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 3843 ArmorSet 3844 Conditions = None 3845 Armor = ProjectileArmor 3846 DamageFX = None 3847 End 3848 3849 ; *** AUDIO Parameters *** 3850 3851 ; *** ENGINEERING Parameters *** 3852 KindOf = PROJECTILE 3853 Body = ActiveBody ModuleTag_02 3854 MaxHealth = 100.0 3855 InitialHealth = 100.0 3856 End 3857 3858 Behavior = AIUpdateInterface ModuleTag_03 3859 End 3860 3861 Locomotor = SET_NORMAL None 3862 3863 Behavior = PhysicsBehavior ModuleTag_04 3864 Mass = 75.0 3865 AerodynamicFriction = 1 ; this is now friction-per-sec 3866 ForwardFriction = 33 ; this is now friction-per-sec 3867 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 3868 End 3869 3870 Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 3871 DeathWeapon = BlackMarketNukeWeapon 3872 StartsActive = Yes 3873 End 3874 3875 Behavior = HeightDieUpdate ModuleTag_06 3876 TargetHeight = 1.0 3877 TargetHeightIncludesStructures = No 3878 End 3879 3880 Behavior = SpecialPowerCompletionDie ModuleTag_07 3881 SpecialPowerTemplate = SuperweaponBlackMarketNuke 3882 End 3883 3884 Behavior = DestroyDie ModuleTag_08 3885 ;nothing 3886 End 3887 3888 Behavior = FXListDie ModuleTag_09 3889 DeathFX = FX_NukeGLA 3890 OrientToObject = No 3891 End 3892 3893 Geometry = Sphere 3894 GeometryIsSmall = Yes 3895 GeometryMajorRadius = 12.0 3896 3897 End 3898 3899 ;------------------------------------------------------------------------------ 3900 Object AnthraxBomb 3901 3902 ; *** ART Parameters *** 3903 Draw = W3DModelDraw ModuleTag_01 3904 OkToChangeModelColor = Yes 3905 DefaultConditionState 3906 Model = AVBomber_B 3907 End 3908 End 3909 3910 ; ***DESIGN parameters *** 3911 DisplayName = OBJECT:AnthraxBomb 3912 Side = GLA 3913 EditorSorting = SYSTEM 3914 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 3915 VisionRange = 300.0 3916 ShroudClearingRange = 0 3917 ArmorSet 3918 Conditions = None 3919 Armor = ProjectileArmor 3920 DamageFX = None 3921 End 3922 3923 ; *** AUDIO Parameters *** 3924 SoundFallingFromPlane = DaisyCutterWeapon 3925 3926 ; *** ENGINEERING Parameters *** 3927 KindOf = PROJECTILE 3928 Body = ActiveBody ModuleTag_02 3929 MaxHealth = 100.0 3930 InitialHealth = 100.0 3931 End 3932 3933 Behavior = AIUpdateInterface ModuleTag_03 3934 End 3935 Locomotor = SET_NORMAL None 3936 3937 Behavior = PhysicsBehavior ModuleTag_04 3938 Mass = 75.0 3939 AerodynamicFriction = 1 ; this is now friction-per-sec 3940 ForwardFriction = 33 ; this is now friction-per-sec 3941 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 3942 End 3943 3944 Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 3945 DeathWeapon = AnthraxBombWeapon 3946 StartsActive = Yes 3947 End 3948 3949 Behavior = HeightDieUpdate ModuleTag_06 3950 TargetHeight = 40.0 3951 TargetHeightIncludesStructures = No 3952 End 3953 3954 Behavior = SpecialPowerCompletionDie ModuleTag_07 3955 SpecialPowerTemplate = SuperweaponAnthraxBomb 3956 End 3957 Behavior = DestroyDie ModuleTag_08 3958 ;nothing 3959 End 3960 3961 Behavior = FXListDie ModuleTag_09 3962 DeathFX = FX_AnthraxBomb 3963 End 3964 3965 ; Geometry = Sphere 3966 ; GeometryIsSmall = Yes 3967 ;GeometryMajorRadius = 12.0 3968 3969 End 3970 3971 ;------------------------------------------------------------------------------ 3972 Object DaisyCutterBomb 3973 3974 ; *** ART Parameters *** 3975 Draw = W3DModelDraw ModuleTag_01 3976 OkToChangeModelColor = Yes 3977 DefaultConditionState 3978 Model = AVBomber_B 3979 End 3980 End 3981 3982 ; ***DESIGN parameters *** 3983 DisplayName = OBJECT:DaisyCutterBomb 3984 EditorSorting = SYSTEM 3985 TransportSlotCount = 10 ;how many "slots" we take in a transport (0 == not transportable) 3986 VisionRange = 300.0 3987 ShroudClearingRange = 0 3988 ArmorSet 3989 Conditions = None 3990 Armor = ProjectileArmor 3991 DamageFX = None 3992 End 3993 3994 ; *** AUDIO Parameters *** 3995 SoundFallingFromPlane = DaisyCutterWeapon 3996 3997 ; *** ENGINEERING Parameters *** 3998 KindOf = PROJECTILE 3999 Body = ActiveBody ModuleTag_02 4000 MaxHealth = 100.0 4001 InitialHealth = 100.0 4002 End 4003 4004 Behavior = CreateObjectDie ModuleTag_03 4005 CreationList = OCL_DaisyCutterExplode 4006 End 4007 Behavior = FXListDie ModuleTag_04 4008 DeathFX = FX_DaisyCutterExplode 4009 End 4010 Behavior = DestroyDie ModuleTag_05 4011 ;nothing 4012 End 4013 4014 Behavior = AIUpdateInterface ModuleTag_06 4015 End 4016 Locomotor = SET_NORMAL None 4017 Behavior = PhysicsBehavior ModuleTag_07 4018 Mass = 75.0 4019 AerodynamicFriction = 1 ; this is now friction-per-sec 4020 ForwardFriction = 33 ; this is now friction-per-sec 4021 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 4022 End 4023 Behavior = HeightDieUpdate ModuleTag_08 4024 TargetHeight = 50.0 4025 TargetHeightIncludesStructures = Yes 4026 End 4027 4028 Behavior = SpecialPowerCompletionDie ModuleTag_09 4029 SpecialPowerTemplate = SuperweaponDaisyCutter 4030 End 4031 4032 Geometry = Sphere 4033 GeometryIsSmall = Yes 4034 GeometryMajorRadius = 12.0 4035 4036 End 4037 4038 ;------------------------------------------------------------------------------ 4039 Object DaisyCutterGas 4040 4041 ; *** ART Parameters *** 4042 ; Draw = W3DModelDraw 4043 ;; ConditionState = NONE 4044 ; Model = PMDumpst04 4045 ; End 4046 ; End 4047 4048 ; *** DESIGN Parameters *** 4049 4050 ; *** ENGINEERING Parameters *** 4051 KindOf = IMMOBILE 4052 Body = ActiveBody ModuleTag_01 4053 MaxHealth = 1.0 4054 InitialHealth = 1.0 4055 End 4056 4057 Behavior = PhysicsBehavior ModuleTag_02 4058 Mass = 150.0 4059 AerodynamicFriction = 7 ; this is now friction-per-sec 4060 ForwardFriction = 200 ; this is now friction-per-sec 4061 End 4062 Behavior = HeightDieUpdate ModuleTag_03 4063 TargetHeight = 40.0 4064 TargetHeightIncludesStructures = Yes 4065 DestroyAttachedParticlesAtHeight = 41.0 ; Hack, todo remove this 4066 End 4067 Behavior = SlowDeathBehavior ModuleTag_04 4068 DestructionDelay = 1000 4069 DestructionDelayVariance = 100 4070 FX = INITIAL FX_DaisyCutterIgnite 4071 FX = FINAL FX_DaisyCutterFinalExplosion 4072 Weapon = MIDPOINT DaisyCutterFlameWeapon ; Just a spot of flame to light trees on fire 4073 Weapon = FINAL DaisyCutterDetonationWeapon 4074 End 4075 4076 End 4077 4078 ;------------------------------------------------------------------------------ 4079 Object NeutronMissile 4080 4081 ; *** ART Parameters *** 4082 Draw = W3DModelDraw ModuleTag_01 4083 OkToChangeModelColor = Yes 4084 ConditionState = NONE 4085 Model = NBNRocket 4086 End 4087 ConditionState = DAMAGED REALLYDAMAGED RUBBLE 4088 Model = NONE 4089 End 4090 4091 End 4092 4093 ; ***DESIGN parameters *** 4094 DisplayName = OBJECT:NeutronMissile 4095 KindOf = UNATTACKABLE 4096 EditorSorting = SYSTEM 4097 VisionRange = 300.0 4098 ShroudClearingRange = 0 4099 TransportSlotCount = 10 4100 ArmorSet 4101 Conditions = None 4102 Armor = ProjectileArmor 4103 DamageFX = None 4104 End 4105 4106 ; *** AUDIO Parameters *** 4107 ; SoundFallingFromPlane = DaisyCutterWeapon 4108 4109 ; *** ENGINEERING Parameters *** 4110 Body = ActiveBody ModuleTag_02 4111 MaxHealth = 99999999.0 4112 InitialHealth = 99999999.0 4113 End 4114 4115 Behavior = NeutronMissileUpdate ModuleTag_03 4116 DistanceToTravelBeforeTurning = 300 ; goes straight up a long ways first 4117 MaxTurnRate = 7200 ; huge, since it turns off-camera 4118 ForwardDamping = 0.1 4119 RelativeSpeed = 2.0 4120 LaunchFX = FX_NeutronMissileLaunch 4121 IgnitionFX = FX_NeutronMissileIgnition 4122 TargetFromDirectlyAbove = 500 ; aim for an intermed spot directly above the target, so we come straight down onto it 4123 SpecialAccelFactor = 1 4124 SpecialSpeedTime = 1500 4125 SpecialSpeedHeight = 160 4126 SpecialJitterDistance = 0.4 4127 DeliveryDecalRadius = 210 4128 DeliveryDecal 4129 Texture = SCCNuclearMissile_China 4130 Style = SHADOW_ALPHA_DECAL 4131 OpacityMin = 25% 4132 OpacityMax = 50% 4133 OpacityThrobTime = 500 4134 Color = R:255 G:0 B:0 A:255 4135 OnlyVisibleToOwningPlayer = Yes 4136 End 4137 End 4138 4139 Behavior = HeightDieUpdate ModuleTag_04 4140 TargetHeight = 100.0 4141 TargetHeightIncludesStructures = No 4142 OnlyWhenMovingDown = Yes 4143 SnapToGroundOnDeath = Yes 4144 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 4145 End 4146 4147 Behavior = SpecialPowerCompletionDie ModuleTag_05 4148 SpecialPowerTemplate = SuperweaponNeutronMissile 4149 End 4150 4151 Behavior = NeutronMissileSlowDeathBehavior ModuleTag_06 4152 DestructionDelay = 3501 4153 ScorchMarkSize = 320 4154 FXList = FX_Nuke 4155 4156 Blast1Enabled = Yes 4157 Blast1Delay = 580 ;in milliseconds 4158 Blast1ScorchDelay = 100 ;in milliseconds 4159 Blast1InnerRadius = 60.0 ;objects inside this get the full damage 4160 Blast1OuterRadius = 60.0 ;objects inside this get some of the full damage 4161 Blast1MaxDamage = 0.0 ;damage within inner radius of blast 4162 Blast1MinDamage = 0.0 ;always do at least this much damage to objects 4163 Blast1ToppleSpeed = 0.5 ;higher #'s topple faster 4164 Blast1PushForce = 10.0 ;higher #'s push more 4165 4166 Blast2Enabled = Yes 4167 Blast2Delay = 660 ;in milliseconds 4168 Blast2ScorchDelay = 180 ;in milliseconds 4169 Blast2InnerRadius = 90.0 ;objects inside this get the full damage 4170 Blast2OuterRadius = 90.0 ;objects inside this get some of the full damage 4171 Blast2MaxDamage = 0.0 ;damage within inner radius of blast 4172 Blast2MinDamage = 0.0 ;always do at least this much damage to objects 4173 Blast2ToppleSpeed = 0.45 ;higher #'s topple faster 4174 Blast2PushForce = 8.0 ;higher #'s push more 4175 4176 Blast3Enabled = Yes 4177 Blast3Delay = 720 ;in milliseconds 4178 Blast3ScorchDelay = 260 ;in milliseconds 4179 Blast3InnerRadius = 120.0 ;objects inside this get the full damage 4180 Blast3OuterRadius = 120.0 ;objects inside this get some of the full damage 4181 Blast3MaxDamage = 0.0 ;damage within inner radius of blast 4182 Blast3MinDamage = 0.0 ;always do at least this much damage to objects 4183 Blast3ToppleSpeed = 0.42 ;higher #'s topple faster 4184 Blast3PushForce = 6.0 ;higher #'s push more 4185 4186 Blast4Enabled = Yes 4187 Blast4Delay = 850 ;in milliseconds 4188 Blast4ScorchDelay = 340 ;in milliseconds 4189 Blast4InnerRadius = 150.0 ;objects inside this get the full damage 4190 Blast4OuterRadius = 150.0 ;objects inside this get some of the full damage 4191 Blast4MaxDamage = 0.0 ;damage within inner radius of blast 4192 Blast4MinDamage = 0.0 ;always do at least this much damage to objects 4193 Blast4ToppleSpeed = 0.40 ;higher #'s topple faster 4194 Blast4PushForce = 6.0 ;higher #'s push more 4195 4196 Blast5Enabled = Yes 4197 Blast5Delay = 1000 ;in milliseconds 4198 Blast5ScorchDelay = 420 ;in milliseconds 4199 Blast5InnerRadius = 180.0 ;objects inside this get the full damage 4200 Blast5OuterRadius = 180.0 ;objects inside this get some of the full damage 4201 Blast5MaxDamage = 0.0 ;damage within inner radius of blast 4202 Blast5MinDamage = 0.0 ;always do at least this much damage to objects 4203 Blast5ToppleSpeed = 0.38 ;higher #'s topple faster 4204 Blast5PushForce = 6.0 ;higher #'s push more 4205 4206 Blast6Enabled = Yes 4207 Blast6Delay = 1180 ;in milliseconds 4208 Blast6ScorchDelay = 500 ;in milliseconds 4209 Blast6InnerRadius = 60.0 ;objects inside this get the full damage 4210 Blast6OuterRadius = 210.0 ;objects inside this get some of the full damage 4211 Blast6MaxDamage = 3500.0 ;damage within inner radius of blast 4212 Blast6MinDamage = 300.0 ;always do at least this much damage to objects 4213 Blast6ToppleSpeed = 0.35 ;higher #'s topple faster 4214 Blast6PushForce = 4.0 ;higher #'s push more 4215 4216 Blast7Enabled = Yes 4217 Blast7Delay = 999999 ;in milliseconds, don't do the damage wave 4218 Blast7ScorchDelay = 620 ;in milliseconds 4219 Blast7OuterRadius = 210.0 ;objects inside this get some of the full damage 4220 4221 Blast8Enabled = Yes 4222 Blast8Delay = 999999 ;in milliseconds, don't do the damage wave 4223 Blast8ScorchDelay = 700 ;in milliseconds 4224 Blast8OuterRadius = 210.0 ;objects inside this get some of the full damage 4225 4226 Blast9Enabled = Yes 4227 Blast9Delay = 999999 ;in milliseconds, don't do the damage wave 4228 Blast9ScorchDelay = 800 ;in milliseconds 4229 Blast9OuterRadius = 210.0 ;objects inside this get some of the full damage 4230 4231 OCL = MIDPOINT OCL_NukeRadiationField 4232 End 4233 4234 Geometry = CYLINDER 4235 GeometryIsSmall = Yes 4236 GeometryMajorRadius = 7.0 4237 GeometryHeight = 60.0 4238 4239 End 4240 4241 ;------------------------------------------------------------------------------ 4242 Object CargoTruckNuke 4243 4244 ; ***DESIGN parameters *** 4245 DisplayName = OBJECT:NeutronMissile 4246 EditorSorting = SYSTEM 4247 VisionRange = 300.0 4248 ShroudClearingRange = 0 4249 ArmorSet 4250 Conditions = None 4251 Armor = ProjectileArmor 4252 DamageFX = None 4253 End 4254 4255 ; *** AUDIO Parameters *** 4256 ; SoundFallingFromPlane = DaisyCutterWeapon 4257 4258 ; *** ENGINEERING Parameters *** 4259 Body = ActiveBody ModuleTag_01 4260 MaxHealth = 99999999.0 4261 InitialHealth = 99999999.0 4262 End 4263 4264 4265 ;The lifetime delays the explosion with enough time to play an audio cue. 4266 ;NOTE: The lifetime update is set in the ObjectCreationList that creates 4267 ; this object!!! 4268 Behavior = LifetimeUpdate ModuleTag_02 4269 MinLifetime = 3000 ; min lifetime in msec 4270 MaxLifetime = 3000 ; max lifetime in msec 4271 End 4272 4273 Behavior = NeutronMissileSlowDeathBehavior ModuleTag_03 4274 DestructionDelay = 3501 4275 ScorchMarkSize = 320 4276 FXList = FX_Nuke 4277 4278 Blast1Enabled = Yes 4279 Blast1Delay = 580 ;in milliseconds 4280 Blast1ScorchDelay = 100 ;in milliseconds 4281 Blast1InnerRadius = 60.0 ;objects inside this get the full damage 4282 Blast1OuterRadius = 60.0 ;objects inside this get some of the full damage 4283 Blast1MaxDamage = 0.0 ;damage within inner radius of blast 4284 Blast1MinDamage = 0.0 ;always do at least this much damage to objects 4285 Blast1ToppleSpeed = 0.5 ;higher #'s topple faster 4286 Blast1PushForce = 10.0 ;higher #'s push more 4287 4288 Blast2Enabled = Yes 4289 Blast2Delay = 660 ;in milliseconds 4290 Blast2ScorchDelay = 180 ;in milliseconds 4291 Blast2InnerRadius = 90.0 ;objects inside this get the full damage 4292 Blast2OuterRadius = 90.0 ;objects inside this get some of the full damage 4293 Blast2MaxDamage = 0.0 ;damage within inner radius of blast 4294 Blast2MinDamage = 0.0 ;always do at least this much damage to objects 4295 Blast2ToppleSpeed = 0.45 ;higher #'s topple faster 4296 Blast2PushForce = 8.0 ;higher #'s push more 4297 4298 Blast3Enabled = Yes 4299 Blast3Delay = 720 ;in milliseconds 4300 Blast3ScorchDelay = 260 ;in milliseconds 4301 Blast3InnerRadius = 120.0 ;objects inside this get the full damage 4302 Blast3OuterRadius = 120.0 ;objects inside this get some of the full damage 4303 Blast3MaxDamage = 0.0 ;damage within inner radius of blast 4304 Blast3MinDamage = 0.0 ;always do at least this much damage to objects 4305 Blast3ToppleSpeed = 0.42 ;higher #'s topple faster 4306 Blast3PushForce = 6.0 ;higher #'s push more 4307 4308 Blast4Enabled = Yes 4309 Blast4Delay = 850 ;in milliseconds 4310 Blast4ScorchDelay = 340 ;in milliseconds 4311 Blast4InnerRadius = 150.0 ;objects inside this get the full damage 4312 Blast4OuterRadius = 150.0 ;objects inside this get some of the full damage 4313 Blast4MaxDamage = 0.0 ;damage within inner radius of blast 4314 Blast4MinDamage = 0.0 ;always do at least this much damage to objects 4315 Blast4ToppleSpeed = 0.40 ;higher #'s topple faster 4316 Blast4PushForce = 6.0 ;higher #'s push more 4317 4318 Blast5Enabled = Yes 4319 Blast5Delay = 1000 ;in milliseconds 4320 Blast5ScorchDelay = 420 ;in milliseconds 4321 Blast5InnerRadius = 180.0 ;objects inside this get the full damage 4322 Blast5OuterRadius = 180.0 ;objects inside this get some of the full damage 4323 Blast5MaxDamage = 0.0 ;damage within inner radius of blast 4324 Blast5MinDamage = 0.0 ;always do at least this much damage to objects 4325 Blast5ToppleSpeed = 0.38 ;higher #'s topple faster 4326 Blast5PushForce = 6.0 ;higher #'s push more 4327 4328 Blast6Enabled = Yes 4329 Blast6Delay = 1180 ;in milliseconds 4330 Blast6ScorchDelay = 500 ;in milliseconds 4331 Blast6InnerRadius = 60.0 ;objects inside this get the full damage 4332 Blast6OuterRadius = 210.0 ;objects inside this get some of the full damage 4333 Blast6MaxDamage = 3500.0 ;damage within inner radius of blast 4334 Blast6MinDamage = 200.0 ;always do at least this much damage to objects 4335 Blast6ToppleSpeed = 0.35 ;higher #'s topple faster 4336 Blast6PushForce = 4.0 ;higher #'s push more 4337 4338 Blast7Enabled = Yes 4339 Blast7Delay = 999999 ;in milliseconds, don't do the damage wave 4340 Blast7ScorchDelay = 620 ;in milliseconds 4341 Blast7OuterRadius = 210.0 ;objects inside this get some of the full damage 4342 4343 Blast8Enabled = Yes 4344 Blast8Delay = 999999 ;in milliseconds, don't do the damage wave 4345 Blast8ScorchDelay = 700 ;in milliseconds 4346 Blast8OuterRadius = 210.0 ;objects inside this get some of the full damage 4347 4348 Blast9Enabled = Yes 4349 Blast9Delay = 999999 ;in milliseconds, don't do the damage wave 4350 Blast9ScorchDelay = 800 ;in milliseconds 4351 Blast9OuterRadius = 210.0 ;objects inside this get some of the full damage 4352 4353 End 4354 4355 Geometry = Cylinder 4356 GeometryIsSmall = Yes 4357 GeometryMajorRadius = 7.0 4358 GeometryHeight = 60.0 4359 End 4360 4361 ;------------------------------------------------------------------------------ 4362 Object ScudStormMissile 4363 4364 ; *** ART Parameters *** 4365 Draw = W3DModelDraw ModuleTag_01 4366 OkToChangeModelColor = Yes 4367 DefaultConditionState 4368 Model = UBScudStrm_M 4369 End 4370 ConditionState = DAMAGED REALLYDAMAGED RUBBLE 4371 Model = NONE 4372 End 4373 4374 End 4375 4376 ; ***DESIGN parameters *** 4377 KindOf = PROJECTILE ;BALLISTIC_MISSILE 4378 EditorSorting = SYSTEM 4379 VisionRange = 300.0 4380 ShroudClearingRange = 0 4381 TransportSlotCount = 10 4382 ArmorSet 4383 Conditions = None 4384 Armor = ProjectileArmor 4385 DamageFX = None 4386 End 4387 4388 ; *** AUDIO Parameters *** 4389 ; SoundFallingFromPlane = DaisyCutterWeapon 4390 4391 ; *** ENGINEERING Parameters *** 4392 Body = ActiveBody ModuleTag_02 4393 MaxHealth = 10000.0 4394 InitialHealth = 10000.0 4395 End 4396 4397 Behavior = PhysicsBehavior ModuleTag_03 4398 Mass = 500.0 4399 End 4400 4401 Behavior = MissileAIUpdate ModuleTag_04 4402 TryToFollowTarget = No 4403 FuelLifetime = 0 ; zero is infinite 4404 InitialVelocity = 0 ; in dist/sec 4405 IgnitionFX = FX_ScudStormIgnition 4406 DistanceToTravelBeforeTurning = 500 4407 DistanceToTargetBeforeDiving = 200 ; When I hit this close to target, I ignore PreferredHeight. 4408 End 4409 Locomotor = SET_NORMAL SCUDStormMissileLocomotor 4410 4411 Behavior = HeightDieUpdate ModuleTag_05 4412 TargetHeight = 15.0 4413 TargetHeightIncludesStructures = No 4414 OnlyWhenMovingDown = Yes 4415 SnapToGroundOnDeath = Yes 4416 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 4417 End 4418 4419 Behavior = DestroyDie ModuleTag_06 4420 ;nothing 4421 End 4422 4423 Behavior = SpecialPowerCompletionDie ModuleTag_07 4424 SpecialPowerTemplate = SuperweaponScudStorm 4425 End 4426 4427 Behavior = FireWeaponWhenDeadBehavior ModuleTag_08 4428 DeathWeapon = ScudStormDamageWeapon 4429 StartsActive = Yes 4430 ConflictsWith = Upgrade_GLAAnthraxBeta 4431 End 4432 4433 Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 4434 DeathWeapon = ScudStormDamageWeaponUpgraded 4435 StartsActive = No ; turned on by upgrade 4436 TriggeredBy = Upgrade_GLAAnthraxBeta 4437 End 4438 4439 4440 Geometry = Cylinder 4441 GeometryIsSmall = Yes 4442 GeometryMajorRadius = 7.0 4443 GeometryHeight = 30.0 4444 4445 End 4446 4447 ;------------------------------------------------------------------------------ 4448 Object AmericaJetAurora 4449 4450 ; *** ART Parameters *** 4451 SelectPortrait = T17 4452 ButtonImage = T17 4453 4454 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 4455 ;UpgradeCameo2 = NONE 4456 ;UpgradeCameo3 = NONE 4457 ;UpgradeCameo4 = NONE 4458 ;UpgradeCameo5 = NONE 4459 4460 Draw = W3DModelDraw ModuleTag_01 4461 4462 DefaultConditionState 4463 Model = avf16 4464 HideSubObject = BurnerFX03 BurnerFX04 4465 WeaponLaunchBone = PRIMARY WeaponA 4466 End 4467 4468 ConditionState = JETEXHAUST 4469 ; exhaust 4470 ParticleSysBone = Wingtip01 JetContrail 4471 ParticleSysBone = Wingtip02 JetContrail 4472 End 4473 4474 ConditionState = JETEXHAUST JETAFTERBURNER 4475 ; exhaust 4476 ParticleSysBone = Wingtip01 JetContrail 4477 ParticleSysBone = Wingtip02 JetContrail 4478 ; afterburner 4479 ShowSubObject = BurnerFX03 BurnerFX04 4480 ParticleSysBone = Engine01 JetLenzflare 4481 ParticleSysBone = Engine02 JetLenzflare 4482 End 4483 4484 ConditionState = REALLYDAMAGED 4485 Model = avf16 4486 ; damage 4487 ParticleSysBone = Smoke01 JetSmoke 4488 ParticleSysBone = Engine01 JetEngineDamagedSmoke 4489 End 4490 4491 ConditionState = REALLYDAMAGED JETEXHAUST 4492 Model = avf16 4493 ; damage 4494 ParticleSysBone = Smoke01 JetSmoke 4495 ParticleSysBone = Engine01 JetEngineDamagedSmoke 4496 ; exhaust 4497 ParticleSysBone = Wingtip01 JetContrail 4498 ParticleSysBone = Wingtip02 JetContrail 4499 End 4500 4501 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 4502 Model = avf16 4503 ; damage 4504 ParticleSysBone = Smoke01 JetSmoke 4505 ParticleSysBone = Engine01 JetEngineDamagedSmoke 4506 ; afterburner 4507 ShowSubObject = BurnerFX03 BurnerFX04 4508 ParticleSysBone = Engine01 JetLenzflare 4509 ParticleSysBone = Engine02 JetLenzflare 4510 ; exhaust 4511 ParticleSysBone = Wingtip01 JetContrail 4512 ParticleSysBone = Wingtip02 JetContrail 4513 End 4514 4515 ConditionState = RUBBLE 4516 Model = avf16 4517 HideSubObject = None 4518 ShowSubObject = None 4519 End 4520 4521 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 4522 Model = avf16 4523 ;HideSubObject is needed cause there're inherited from default condition state 4524 HideSubObject = None 4525 ShowSubObject = None 4526 ParticleSysBone = Engine01 JetExhaust 4527 ParticleSysBone = Engine02 JetExhaust 4528 ; exhaust 4529 ParticleSysBone = Wingtip01 JetContrail 4530 ParticleSysBone = Wingtip02 JetContrail 4531 End 4532 4533 OkToChangeModelColor = Yes 4534 End 4535 4536 ; ***DESIGN parameters *** 4537 DisplayName = OBJECT:Aurora 4538 EditorSorting = VEHICLE 4539 Side = America 4540 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 4541 VisionRange = 300.0 4542 ShroudClearingRange = 400 4543 Prerequisites 4544 Object = AmericaAirfield 4545 End 4546 BuildCost = 900 4547 BuildTime = 14.0 ;in seconds 4548 WeaponSet 4549 Conditions = None 4550 Weapon = PRIMARY f15Weapon 4551 End 4552 ArmorSet 4553 Conditions = None 4554 Armor = AirplaneArmor 4555 DamageFX = None 4556 End 4557 4558 ExperienceValue = 200 200 400 400 ;Experience point value at each level 4559 ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level 4560 IsTrainable = Yes ;Can gain experience 4561 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 4562 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 4563 CommandSet = AmericaJetAuroraCommandSet 4564 4565 ; *** AUDIO Parameters *** 4566 VoiceSelect = AuroraBomberVoiceSelect 4567 VoiceMove = AuroraBomberVoiceMove 4568 VoiceGuard = AuroraBomberVoiceMove 4569 VoiceAttack = AuroraBomberVoiceAttack 4570 SoundAmbient = AuroraBomberAmbientLoop 4571 SoundAmbientRubble = NoSound 4572 SoundDie = AuroraBomberVoiceFalling 4573 UnitSpecificSounds 4574 VoiceCreate = AuroraBomberVoiceCreate 4575 SoundEject = PilotSoundEject 4576 VoiceEject = PilotVoiceEject 4577 Afterburner = RaptorAfterburner 4578 VoiceLowFuel = AuroraBomberVoiceLowFuel 4579 VoiceGarrison = AuroraBomberVoiceMove 4580 End 4581 4582 ; *** ENGINEERING Parameters *** 4583 RadarPriority = UNIT 4584 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 4585 Body = ActiveBody ModuleTag_02 4586 MaxHealth = 300.0 4587 InitialHealth = 300.0 4588 End 4589 4590 Behavior = JetSlowDeathBehavior ModuleTag_03 4591 FXOnGroundDeath = FX_JetOnGroundDeath 4592 OCLOnGroundDeath = OCL_AuroraDeathFinalBlowUp 4593 DestructionDelay = 99999999; destruction will happen when we 4594 RollRate = 0.2 4595 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 4596 PitchRate = 0.0 4597 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 4598 FXInitialDeath = FX_JetDeathInitial 4599 ;OCLInitialDeath = None 4600 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 4601 FXSecondary = FX_JetDeathSecondary 4602 ;OCLSecondary = None 4603 FXHitGround = FX_JetDeathHitGround 4604 ;OCLHitGround = None 4605 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 4606 FXFinalBlowUp = FX_JetDeathFinalBlowUp 4607 OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp 4608 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 4609 End 4610 Behavior = EjectPilotDie ModuleTag_04 4611 GroundCreationList = OCL_EjectPilotOnGround 4612 AirCreationList = OCL_EjectPilotViaParachute 4613 ExemptStatus = HIJACKED 4614 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 4615 End 4616 4617 Behavior = PhysicsBehavior ModuleTag_05 4618 Mass = 500.0 4619 End 4620 4621 Behavior = ExperienceScalarUpgrade ModuleTag_06 4622 TriggeredBy = Upgrade_AmericaAdvancedTraining 4623 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 4624 End 4625 4626 Behavior = JetAIUpdate ModuleTag_07 4627 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 4628 ; note that it's expressed as a percent of max health, not an absolute 4629 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 4630 TakeoffPause = 500 4631 MinHeight = 5 4632 SneakyOffsetWhenAttacking = -20.0 ; this is how far behind us people aim when we are in attack mode 4633 AttackLocomotorType = SET_SUPERSONIC 4634 AttackLocomotorPersistTime = 100 ; we start slowing down almost immediately 4635 AttackersMissPersistTime = 2000 ; but remain untargetable fer a bit longer 4636 ReturnForAmmoLocomotorType = SET_SLUGGISH 4637 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 4638 End 4639 Locomotor = SET_NORMAL AuroraJetLocomotor 4640 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 4641 4642 Behavior = FlammableUpdate ModuleTag_21 4643 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 4644 AflameDamageAmount = 3 ; taking this much damage... 4645 AflameDamageDelay = 500 ; this often. 4646 End 4647 4648 Behavior = TransitionDamageFX ModuleTag_22 4649 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 4650 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 4651 End 4652 4653 4654 Geometry = Box 4655 GeometryIsSmall = Yes 4656 GeometryMajorRadius = 14.0 4657 GeometryMinorRadius = 7.0 4658 GeometryHeight = 5.0 4659 Shadow = SHADOW_VOLUME 4660 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 4661 4662 End 4663 4664 ;------------------------------------------------------------------------------ 4665 Object AmericaJetAuroraMk2 4666 4667 ; *** ART Parameters *** 4668 SelectPortrait = SAAurora_L 4669 ButtonImage = SAAurora 4670 4671 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 4672 ;UpgradeCameo2 = NONE 4673 ;UpgradeCameo3 = NONE 4674 ;UpgradeCameo4 = NONE 4675 ;UpgradeCameo5 = NONE 4676 4677 Draw = W3DModelDraw ModuleTag_01 4678 4679 DefaultConditionState 4680 Model = AVAurora 4681 HideSubObject = BurnerFX03 BurnerFX04 4682 WeaponLaunchBone = PRIMARY WeaponA 4683 End 4684 4685 ConditionState = JETEXHAUST 4686 ; exhaust 4687 ParticleSysBone = Wingtip01 JetContrail 4688 ParticleSysBone = Wingtip02 JetContrail 4689 End 4690 4691 ConditionState = JETEXHAUST JETAFTERBURNER 4692 ; exhaust 4693 ParticleSysBone = Wingtip01 JetContrail 4694 ParticleSysBone = Wingtip02 JetContrail 4695 ; afterburner 4696 ShowSubObject = BurnerFX03 BurnerFX04 4697 ParticleSysBone = Engine01 JetLenzflare 4698 ParticleSysBone = Engine02 JetLenzflare 4699 End 4700 4701 ConditionState = REALLYDAMAGED 4702 Model = AVAurora_D 4703 ; damage 4704 ParticleSysBone = Smoke01 JetSmoke 4705 ParticleSysBone = Engine01 JetEngineDamagedSmoke 4706 End 4707 4708 ConditionState = REALLYDAMAGED JETEXHAUST 4709 Model = AVAurora_D 4710 ; damage 4711 ParticleSysBone = Smoke01 JetSmoke 4712 ParticleSysBone = Engine01 JetEngineDamagedSmoke 4713 ; exhaust 4714 ParticleSysBone = Wingtip01 JetContrail 4715 ParticleSysBone = Wingtip02 JetContrail 4716 End 4717 4718 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 4719 Model = AVAurora_D 4720 ; damage 4721 ParticleSysBone = Smoke01 JetSmoke 4722 ParticleSysBone = Engine01 JetEngineDamagedSmoke 4723 ; afterburner 4724 ShowSubObject = BurnerFX03 BurnerFX04 4725 ParticleSysBone = Engine01 JetLenzflare 4726 ParticleSysBone = Engine02 JetLenzflare 4727 ; exhaust 4728 ParticleSysBone = Wingtip01 JetContrail 4729 ParticleSysBone = Wingtip02 JetContrail 4730 End 4731 4732 ConditionState = RUBBLE 4733 Model = AVAurora_D1 4734 HideSubObject = None 4735 ShowSubObject = None 4736 End 4737 4738 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 4739 Model = AVAurora_D1 4740 ;HideSubObject is needed cause there're inherited from default condition state 4741 HideSubObject = None 4742 ShowSubObject = None 4743 ParticleSysBone = Engine01 JetExhaust 4744 ParticleSysBone = Engine02 JetExhaust 4745 ; exhaust 4746 ParticleSysBone = Wingtip01 JetContrail 4747 ParticleSysBone = Wingtip02 JetContrail 4748 End 4749 4750 OkToChangeModelColor = Yes 4751 End 4752 4753 ; ***DESIGN parameters *** 4754 DisplayName = OBJECT:Aurora 4755 EditorSorting = VEHICLE 4756 Side = America 4757 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 4758 VisionRange = 180.0 4759 ShroudClearingRange = 600 4760 Prerequisites 4761 Object = AmericaAirfield 4762 Object = AmericaStrategyCenter 4763 End 4764 BuildCost = 2000 4765 BuildTime = 25.0 ;in seconds 4766 WeaponSet 4767 Conditions = None 4768 Weapon = PRIMARY AuroraBombWeaponMk2 4769 End 4770 ArmorSet 4771 Conditions = None 4772 Armor = AirplaneArmor 4773 DamageFX = None 4774 End 4775 4776 ExperienceValue = 200 200 400 400 ;Experience point value at each level 4777 ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level 4778 IsTrainable = Yes ;Can gain experience 4779 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 4780 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 4781 CommandSet = AmericaJetAuroraCommandSet 4782 4783 ; *** AUDIO Parameters *** 4784 VoiceSelect = AuroraBomberVoiceSelect 4785 VoiceMove = AuroraBomberVoiceMove 4786 VoiceGuard = AuroraBomberVoiceMove 4787 VoiceAttack = AuroraBomberVoiceAttack 4788 SoundAmbient = AuroraBomberAmbientLoop 4789 SoundAmbientRubble = NoSound 4790 SoundDie = AuroraBomberVoiceFalling 4791 UnitSpecificSounds 4792 VoiceCreate = AuroraBomberVoiceCreate 4793 SoundEject = PilotSoundEject 4794 VoiceEject = PilotVoiceEject 4795 Afterburner = RaptorAfterburner 4796 VoiceLowFuel = AuroraBomberVoiceLowFuel 4797 VoiceGarrison = AuroraBomberVoiceMove 4798 End 4799 4800 ; *** ENGINEERING Parameters *** 4801 RadarPriority = UNIT 4802 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 4803 Body = ActiveBody ModuleTag_02 4804 MaxHealth = 100.0 4805 InitialHealth = 100.0 4806 End 4807 4808 Behavior = JetSlowDeathBehavior ModuleTag_03 4809 FXOnGroundDeath = FX_JetOnGroundDeath 4810 OCLOnGroundDeath = OCL_AuroraDeathFinalBlowUp 4811 DestructionDelay = 99999999; destruction will happen when we 4812 RollRate = 0.2 4813 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 4814 PitchRate = 0.0 4815 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 4816 FXInitialDeath = FX_JetDeathInitial 4817 ;OCLInitialDeath = None 4818 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 4819 FXSecondary = FX_JetDeathSecondary 4820 ;OCLSecondary = None 4821 FXHitGround = FX_JetDeathHitGround 4822 ;OCLHitGround = None 4823 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 4824 FXFinalBlowUp = FX_JetDeathFinalBlowUp 4825 OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp 4826 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 4827 End 4828 Behavior = EjectPilotDie ModuleTag_04 4829 GroundCreationList = OCL_EjectPilotOnGround 4830 AirCreationList = OCL_EjectPilotViaParachute 4831 ExemptStatus = HIJACKED 4832 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 4833 End 4834 4835 Behavior = PhysicsBehavior ModuleTag_05 4836 Mass = 500.0 4837 End 4838 4839 Behavior = ExperienceScalarUpgrade ModuleTag_06 4840 TriggeredBy = Upgrade_AmericaAdvancedTraining 4841 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 4842 End 4843 4844 Behavior = JetAIUpdate ModuleTag_07 4845 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 4846 ; note that it's expressed as a percent of max health, not an absolute 4847 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 4848 TakeoffPause = 500 4849 MinHeight = 5 4850 SneakyOffsetWhenAttacking = -20.0 ; this is how far behind us people aim when we are in attack mode 4851 AttackLocomotorType = SET_SUPERSONIC 4852 AttackLocomotorPersistTime = 100 ; we start slowing down almost immediately 4853 AttackersMissPersistTime = 2000 ; but remain untargetable fer a bit longer 4854 ReturnForAmmoLocomotorType = SET_SLUGGISH 4855 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 4856 End 4857 Locomotor = SET_NORMAL RaptorJetLocomotor 4858 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 4859 4860 Behavior = FlammableUpdate ModuleTag_21 4861 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 4862 AflameDamageAmount = 3 ; taking this much damage... 4863 AflameDamageDelay = 500 ; this often. 4864 End 4865 4866 Behavior = TransitionDamageFX ModuleTag_22 4867 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 4868 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 4869 End 4870 4871 4872 Geometry = Box 4873 GeometryIsSmall = Yes 4874 GeometryMajorRadius = 14.0 4875 GeometryMinorRadius = 7.0 4876 GeometryHeight = 5.0 4877 Shadow = SHADOW_VOLUME 4878 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 4879 4880 End 4881 4882 ;------------------------------------------------------------------------------ 4883 Object AmericaJetStealthFighter 4884 4885 ; *** ART Parameters *** 4886 SelectPortrait = SAStealth_L 4887 ButtonImage = SAStealth_L 4888 4889 UpgradeCameo1 = Upgrade_AmericaLaserMissiles 4890 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 4891 ;UpgradeCameo3 = NONE 4892 ;UpgradeCameo4 = NONE 4893 ;UpgradeCameo5 = NONE 4894 4895 Draw = W3DModelDraw ModuleTag_01 4896 4897 DefaultConditionState 4898 Model = AVStealth 4899 HideSubObject = BurnerFX03 BurnerFX04 4900 WeaponLaunchBone = PRIMARY WeaponA 4901 End 4902 4903 ConditionState = JETEXHAUST 4904 ParticleSysBone = Wingtip01 JetContrail 4905 ParticleSysBone = Wingtip02 JetContrail 4906 End 4907 4908 ConditionState = JETEXHAUST JETAFTERBURNER 4909 ; exhaust 4910 ParticleSysBone = Wingtip01 JetContrail 4911 ParticleSysBone = Wingtip02 JetContrail 4912 ; afterburners 4913 ShowSubObject = BurnerFX03 BurnerFX04 4914 ParticleSysBone = Engine01 JetLenzflare 4915 ParticleSysBone = Engine02 JetLenzflare 4916 End 4917 4918 ConditionState = REALLYDAMAGED 4919 Model = AVStealth_D 4920 ; damage 4921 ParticleSysBone = Smoke01 JetSmoke 4922 ParticleSysBone = Engine01 JetEngineDamagedSmoke 4923 End 4924 4925 ConditionState = REALLYDAMAGED JETEXHAUST 4926 Model = AVStealth_D 4927 ; damage 4928 ParticleSysBone = Smoke01 JetSmoke 4929 ParticleSysBone = Engine01 JetEngineDamagedSmoke 4930 ; exhaust 4931 ParticleSysBone = Wingtip01 JetContrail 4932 ParticleSysBone = Wingtip02 JetContrail 4933 End 4934 4935 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 4936 Model = AVStealth_D 4937 ; damage 4938 ParticleSysBone = Smoke01 JetSmoke 4939 ParticleSysBone = Engine01 JetEngineDamagedSmoke 4940 ; exhaust 4941 ParticleSysBone = Wingtip01 JetContrail 4942 ParticleSysBone = Wingtip02 JetContrail 4943 ; afterburners 4944 ShowSubObject = BurnerFX03 BurnerFX04 4945 ParticleSysBone = Engine01 JetLenzflare 4946 ParticleSysBone = Engine02 JetLenzflare 4947 End 4948 4949 ConditionState = RUBBLE 4950 Model = AVStealth_D1 4951 HideSubObject = None 4952 ShowSubObject = None 4953 End 4954 4955 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 4956 Model = AVStealth_D1 4957 ;HideSubObject is needed cause there're inherited from default condition state 4958 HideSubObject = None 4959 ShowSubObject = None 4960 ParticleSysBone = Engine01 JetExhaust 4961 ParticleSysBone = Engine02 JetExhaust 4962 ParticleSysBone = Wingtip01 JetContrail 4963 ParticleSysBone = Wingtip02 JetContrail 4964 End 4965 4966 OkToChangeModelColor = Yes 4967 4968 End 4969 4970 ; ***DESIGN parameters *** 4971 DisplayName = OBJECT:StealthFighter 4972 EditorSorting = VEHICLE 4973 Side = America 4974 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 4975 VisionRange = 180.0 4976 ShroudClearingRange = 300.0 4977 Prerequisites 4978 Object = AmericaAirfield 4979 Science = SCIENCE_SpyDrone 4980 End 4981 WeaponSet 4982 Conditions = None 4983 Weapon = PRIMARY StealthJetMissileWeapon 4984 End 4985 WeaponSet 4986 Conditions = PLAYER_UPGRADE 4987 Weapon = PRIMARY StealthJetLaserGuidedMissileWeapon 4988 End 4989 ArmorSet 4990 Conditions = None 4991 Armor = AirplaneArmor 4992 DamageFX = None 4993 End 4994 4995 BuildCost = 1600 4996 BuildTime = 25.0 ;in seconds 4997 ExperienceValue = 100 100 200 300 ;Experience point value at each level 4998 ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level 4999 IsTrainable = Yes ;Can gain experience 5000 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 5001 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 5002 CommandSet = AmericaJetStealthFighterCommandSet 5003 5004 ; *** AUDIO Parameters *** 5005 VoiceSelect = StealthFighterVoiceSelect 5006 VoiceMove = StealthFighterVoiceMove 5007 VoiceAttack = StealthFighterVoiceAttack 5008 VoiceAttackAir = StealthFighterVoiceAttackAir 5009 VoiceGuard = StealthFighterVoiceAirPatrol 5010 SoundAmbient = StealthFighterAmbientLoop 5011 SoundAmbientRubble = NoSound 5012 SoundDie = StealthFighterVoiceFalling 5013 SoundStealthOn = StealthOn 5014 SoundStealthOff = StealthOff 5015 UnitSpecificSounds 5016 VoiceCreate = StealthFighterVoiceCreate 5017 SoundEject = PilotSoundEject 5018 VoiceEject = PilotVoiceEject 5019 Afterburner = RaptorAfterburner 5020 VoiceLowFuel = AuroraBomberVoiceLowFuel 5021 VoiceGarrison = StealthFighterVoiceMove 5022 End 5023 5024 ; *** ENGINEERING Parameters *** 5025 RadarPriority = LOCAL_UNIT_ONLY 5026 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 5027 Body = ActiveBody ModuleTag_02 5028 MaxHealth = 120.0 5029 InitialHealth = 120.0 5030 End 5031 5032 Behavior = JetSlowDeathBehavior ModuleTag_03 5033 FXOnGroundDeath = FX_JetOnGroundDeath 5034 OCLOnGroundDeath = OCL_StealthDeathFinalBlowUp 5035 DestructionDelay = 99999999; destruction will happen when we 5036 RollRate = 0.2 5037 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 5038 PitchRate = 0.0 5039 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 5040 FXInitialDeath = FX_JetDeathInitial 5041 ;OCLInitialDeath = None 5042 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 5043 FXSecondary = FX_JetDeathSecondary 5044 ;OCLSecondary = None 5045 FXHitGround = FX_JetDeathHitGround 5046 ;OCLHitGround = None 5047 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 5048 FXFinalBlowUp = FX_JetDeathFinalBlowUp 5049 OCLFinalBlowUp = OCL_StealthDeathFinalBlowUp 5050 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 5051 End 5052 Behavior = EjectPilotDie ModuleTag_04 5053 GroundCreationList = OCL_EjectPilotOnGround 5054 AirCreationList = OCL_EjectPilotViaParachute 5055 ExemptStatus = HIJACKED 5056 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 5057 End 5058 5059 Behavior = PhysicsBehavior ModuleTag_05 5060 Mass = 500.0 5061 End 5062 5063 Behavior = JetAIUpdate ModuleTag_06 5064 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 5065 ; note that it's expressed as a percent of max health, not an absolute 5066 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 5067 TakeoffPause = 500 5068 MinHeight = 5 5069 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 5070 End 5071 5072 Behavior = WeaponSetUpgrade ModuleTag_07 5073 TriggeredBy = Upgrade_AmericaLaserMissiles 5074 End 5075 5076 Behavior = ExperienceScalarUpgrade ModuleTag_08 5077 TriggeredBy = Upgrade_AmericaAdvancedTraining 5078 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 5079 End 5080 5081 Behavior = StealthUpdate ModuleTag_09 5082 StealthDelay = 1500 ; msec 5083 StealthForbiddenConditions = FIRING_PRIMARY 5084 ; not currently used... but maybe someday? (srj) 5085 ;RevealDistanceFromTarget = 0.0f 5086 FriendlyOpacityMin = 50.0% 5087 FriendlyOpacityMax = 100.0% 5088 InnateStealth = Yes 5089 OrderIdleEnemiesToAttackMeUponReveal = Yes 5090 End 5091 5092 Locomotor = SET_NORMAL StealthJetLocomotor 5093 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 5094 5095 Behavior = FlammableUpdate ModuleTag_21 5096 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 5097 AflameDamageAmount = 3 ; taking this much damage... 5098 AflameDamageDelay = 500 ; this often. 5099 End 5100 5101 Behavior = TransitionDamageFX ModuleTag_22 5102 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 5103 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 5104 End 5105 5106 5107 Geometry = Cylinder 5108 GeometryIsSmall = Yes 5109 GeometryMajorRadius = 7.0 5110 GeometryMinorRadius = 7.0 5111 GeometryHeight = 7.0 5112 Shadow = SHADOW_VOLUME 5113 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 5114 5115 End 5116 5117 ;------------------------------------------------------------------------------ 5118 Object AmericaVehicleComanche 5119 5120 ; *** ART Parameters *** 5121 SelectPortrait = SACCommanche_L 5122 ButtonImage = SACCommanche 5123 5124 UpgradeCameo1 = Upgrade_GLACamouflage 5125 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 5126 ;UpgradeCameo3 = NONE 5127 ;UpgradeCameo4 = NONE 5128 ;UpgradeCameo5 = NONE 5129 5130 Draw = W3DModelDraw ModuleTag_01 5131 5132 DefaultConditionState 5133 Model = AVComanche 5134 HideSubObject = MissileUpgrade 5135 Animation = AVComanche.AVComanche 5136 AnimationMode = LOOP 5137 WeaponMuzzleFlash = PRIMARY TurretFX 5138 WeaponFireFXBone = PRIMARY Muzzle 5139 WeaponFireFXBone = SECONDARY Muzzle 5140 WeaponLaunchBone = SECONDARY Muzzle 5141 End 5142 5143 ConditionState = REALLYDAMAGED 5144 Model = AVComanche_d 5145 Animation = AVComanche_d.AVComanche_d 5146 AnimationMode = LOOP 5147 End 5148 5149 ConditionState = WEAPONSET_PLAYER_UPGRADE 5150 ShowSubObject = MissileUpgrade 5151 Animation = AVComanche.AVComanche 5152 AnimationMode = LOOP 5153 WeaponFireFXBone = TERTIARY WeaponB 5154 WeaponLaunchBone = TERTIARY WeaponB 5155 End 5156 5157 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 5158 Model = AVComanche_d 5159 ShowSubObject = MissileUpgrade 5160 Animation = AVComanche_d.AVComanche_d 5161 AnimationMode = LOOP 5162 WeaponFireFXBone = TERTIARY WeaponB 5163 WeaponLaunchBone = TERTIARY WeaponB 5164 End 5165 5166 ConditionState = RUBBLE 5167 Model = AVComanche_d 5168 Animation = AVComanche_d.AVComanche_d 5169 AnimationMode = LOOP 5170 End 5171 5172 ConditionState = RUBBLE SPECIAL_DAMAGED 5173 Model = AVComanche_d 5174 HideSubObject = AVComanche_Prop 5175 End 5176 5177 OkToChangeModelColor = Yes 5178 End 5179 5180 ; ***DESIGN parameters *** 5181 DisplayName = OBJECT:Comanche 5182 EditorSorting = VEHICLE 5183 Side = America 5184 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 5185 VisionRange = 180.0 5186 ShroudClearingRange = 600 5187 Prerequisites 5188 5189 End 5190 5191 WeaponSet 5192 Conditions = None 5193 ; ----- 5194 Weapon = PRIMARY Comanche20mmCannonWeapon 5195 PreferredAgainst = PRIMARY INFANTRY 5196 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 5197 ; ----- 5198 Weapon = SECONDARY ComancheAntiTankMissileWeapon 5199 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 5200 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 5201 ; ----- 5202 Weapon = TERTIARY NONE 5203 End 5204 WeaponSet 5205 Conditions = PLAYER_UPGRADE 5206 ; ----- 5207 Weapon = PRIMARY Comanche20mmCannonWeapon 5208 PreferredAgainst = PRIMARY INFANTRY 5209 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 5210 ; ----- 5211 Weapon = SECONDARY ComancheAntiTankMissileWeapon 5212 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 5213 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 5214 ; ----- 5215 Weapon = TERTIARY ComancheRocketPodWeapon 5216 AutoChooseSources = TERTIARY NONE 5217 End 5218 ArmorSet 5219 Conditions = None 5220 Armor = ComancheArmor 5221 DamageFX = None 5222 End 5223 BuildCost = 1500 5224 BuildTime = 20 ; in seconds 5225 ExperienceValue = 50 50 100 200 ; Experience point value at each level 5226 ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level 5227 IsTrainable = Yes ; Can gain experience 5228 CommandSet = ChinaJetMIGCommandSet 5229 5230 ; *** AUDIO Parameters *** 5231 VoiceSelect = ComancheVoiceSelect 5232 VoiceMove = ComancheVoiceMove 5233 VoiceGuard = ComancheVoiceMove 5234 VoiceAttack = ComancheVoiceAttack 5235 SoundAmbient = ComancheAmbientLoop 5236 SoundAmbientRubble = NoSound 5237 SoundDie = ComancheVoiceFalling 5238 UnitSpecificSounds 5239 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 5240 VoiceCreate = ComancheVoiceCreate 5241 SoundEject = PilotSoundEject 5242 VoiceEject = PilotVoiceEject 5243 Afterburner = RaptorAfterburner 5244 VoiceGarrison = ComancheVoiceMove 5245 TurretMoveStart = NoSound 5246 TurretMoveLoop = NoSound 5247 VoiceFireRocketPods = ComancheVoiceAttackRocket 5248 End 5249 5250 5251 ; *** ENGINEERING Parameters *** 5252 RadarPriority = UNIT 5253 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD 5254 5255 Behavior = WeaponSetUpgrade ModuleTag_02 5256 TriggeredBy = Upgrade_ComancheRocketPods 5257 End 5258 Behavior = ExperienceScalarUpgrade ModuleTag_03 5259 TriggeredBy = Upgrade_AmericaAdvancedTraining 5260 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 5261 End 5262 5263 Body = ActiveBody ModuleTag_04 5264 MaxHealth = 220.0 5265 InitialHealth = 220.0 5266 End 5267 5268 Behavior = FXListDie ModuleTag_05 5269 DeathFX = FX_HelicopterStartDeath 5270 End 5271 5272 Behavior = JetAIUpdate ModuleTag_06 5273 MinHeight = 5 5274 NeedsRunway = No 5275 KeepsParkingSpaceWhenAirborne = No 5276 AutoAcquireEnemiesWhenIdle = Yes 5277 ; note that comanches do not return to base when idle 5278 5279 ; this is a bit of a trick... normally, units cannot move-and-fire at 5280 ; the same time. we need the comanche to be able to. so we give it 5281 ; a "turret" (invisible) and put the two main weapons on it, but with 5282 ; no turn rate. voila! 5283 Turret 5284 TurretTurnRate = 0 ; this "turret" does not turn 5285 TurretPitchRate = 0 ; nor does it pitch 5286 ControlledWeaponSlots = PRIMARY SECONDARY 5287 End 5288 5289 End 5290 Locomotor = SET_NORMAL ComancheLocomotor 5291 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 5292 5293 Behavior = PhysicsBehavior ModuleTag_07 5294 Mass = 50.0 5295 End 5296 Behavior = HelicopterSlowDeathBehavior ModuleTag_08 5297 DestructionDelay = 99999999 ; the destruction delay 5298 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 5299 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 5300 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 5301 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 5302 SoundDeathLoop = ComancheDamagedLoop 5303 MinSelfSpin = 100 ; in degrees per second 5304 MaxSelfSpin = 300 ; in degrees per second 5305 SelfSpinUpdateDelay = 100 ; in milliseconds 5306 SelfSpinUpdateAmount = 10 ; in degrees 5307 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 5308 MinBladeFlyOffDelay = 1500 ; in milliseconds 5309 MaxBladeFlyOffDelay = 1500 ; in milliseconds 5310 AttachParticle = SootySmokeTrail 5311 AttachParticleBone = Propeller02 5312 BladeObjectName = ComancheBlades 5313 BladeBoneName = Propeller01 5314 ; Most things that eject pilots do so immediately upon death, 5315 ; via use of EjectPilotDie, but Helicopters are a special case... 5316 ; they need to do so after their blades are ejected. 5317 OCLEjectPilot = OCL_EjectPilotViaParachute 5318 FXBlade = FX_HelicopterBladeExplosion 5319 OCLBlade = OCL_HelicopterBladeExplosion 5320 FXHitGround = FX_HelicopterHitGround 5321 OCLHitGround = OCL_HelicopterHitGround 5322 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 5323 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 5324 DelayFromGroundToFinalDeath = 1500 5325 FinalRubbleObject = ComancheRubbleHull 5326 End 5327 5328 Behavior = TransitionDamageFX ModuleTag_09 5329 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 5330 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 5331 End 5332 5333 Behavior = FlammableUpdate ModuleTag_21 5334 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 5335 AflameDamageAmount = 3 ; taking this much damage... 5336 AflameDamageDelay = 500 ; this often. 5337 End 5338 5339 Behavior = StealthUpdate ModuleTag_07 5340 StealthDelay = 2500 ; msec 5341 StealthForbiddenConditions = ATTACKING USING_ABILITY 5342 MoveThresholdSpeed = 3 5343 InnateStealth = No ;Requires upgrade first 5344 OrderIdleEnemiesToAttackMeUponReveal = Yes 5345 End 5346 5347 Behavior = StealthUpgrade ModuleTag_08 5348 TriggeredBy = Upgrade_GLACamouflage 5349 End 5350 Geometry = BOX 5351 GeometryMajorRadius = 20.0 5352 GeometryMinorRadius = 3.0 5353 GeometryHeight = 25.0 5354 GeometryIsSmall = No 5355 Shadow = SHADOW_VOLUME 5356 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 5357 5358 End 5359 5360 ;------------------------------------------------------------------------------ 5361 Object CINE_USA08_AmericaVehicleComanche 5362 5363 ; *** ART Parameters *** 5364 SelectPortrait = SACCommanche_L 5365 ButtonImage = SACCommanche 5366 5367 UpgradeCameo1 = Upgrade_ComancheRocketPods 5368 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 5369 ;UpgradeCameo3 = NONE 5370 ;UpgradeCameo4 = NONE 5371 ;UpgradeCameo5 = NONE 5372 5373 Draw = W3DModelDraw ModuleTag_01 5374 5375 DefaultConditionState 5376 Model = AVComanche 5377 HideSubObject = MissileUpgrade 5378 HideSubObject = TurretFX01 5379 Animation = AVComanche.AVComanche 5380 AnimationMode = LOOP 5381 WeaponMuzzleFlash = PRIMARY TurretFX 5382 WeaponFireFXBone = PRIMARY Muzzle 5383 WeaponFireFXBone = SECONDARY Muzzle 5384 WeaponLaunchBone = SECONDARY Muzzle 5385 End 5386 5387 ConditionState = REALLYDAMAGED 5388 Model = AVComanche_d 5389 Animation = AVComanche_d.AVComanche_d 5390 AnimationMode = LOOP 5391 End 5392 5393 ConditionState = WEAPONSET_PLAYER_UPGRADE 5394 ShowSubObject = MissileUpgrade 5395 Animation = AVComanche.AVComanche 5396 AnimationMode = LOOP 5397 WeaponFireFXBone = TERTIARY WeaponB 5398 WeaponLaunchBone = TERTIARY WeaponB 5399 End 5400 5401 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 5402 Model = AVComanche_d 5403 ShowSubObject = MissileUpgrade 5404 Animation = AVComanche_d.AVComanche_d 5405 AnimationMode = LOOP 5406 WeaponFireFXBone = TERTIARY WeaponB 5407 WeaponLaunchBone = TERTIARY WeaponB 5408 End 5409 5410 ConditionState = RUBBLE 5411 Model = AVComanche_d 5412 Animation = AVComanche_d.AVComanche_d 5413 AnimationMode = LOOP 5414 End 5415 5416 ConditionState = RUBBLE SPECIAL_DAMAGED 5417 Model = AVComanche_d 5418 HideSubObject = AVComanche_Prop 5419 End 5420 5421 OkToChangeModelColor = Yes 5422 End 5423 5424 ; ***DESIGN parameters *** 5425 DisplayName = OBJECT:Comanche 5426 EditorSorting = VEHICLE 5427 Side = America 5428 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 5429 VisionRange = 400.0 5430 ShroudClearingRange = 600 5431 Prerequisites 5432 Object = AmericaAirfield 5433 End 5434 5435 WeaponSet 5436 Conditions = None 5437 ; ----- 5438 Weapon = PRIMARY Comanche20mmCannonWeapon 5439 PreferredAgainst = PRIMARY INFANTRY 5440 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 5441 ; ----- 5442 Weapon = SECONDARY ComancheAntiTankMissileWeapon 5443 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 5444 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 5445 ; ----- 5446 Weapon = TERTIARY NONE 5447 End 5448 WeaponSet 5449 Conditions = PLAYER_UPGRADE 5450 ; ----- 5451 Weapon = PRIMARY Comanche20mmCannonWeapon 5452 PreferredAgainst = PRIMARY INFANTRY 5453 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 5454 ; ----- 5455 Weapon = SECONDARY ComancheAntiTankMissileWeapon 5456 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 5457 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 5458 ; ----- 5459 Weapon = TERTIARY ComancheRocketPodWeapon 5460 AutoChooseSources = TERTIARY NONE 5461 End 5462 ArmorSet 5463 Conditions = None 5464 Armor = ComancheArmor 5465 DamageFX = None 5466 End 5467 BuildCost = 1500 5468 BuildTime = 20 ; in seconds 5469 ExperienceValue = 50 50 100 200 ; Experience point value at each level 5470 ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level 5471 IsTrainable = Yes ; Can gain experience 5472 CommandSet = AmericaVehicleComancheCommandSet 5473 5474 ; *** AUDIO Parameters *** 5475 VoiceSelect = ComancheVoiceSelect 5476 VoiceMove = ComancheVoiceMove 5477 VoiceGuard = ComancheVoiceMove 5478 VoiceAttack = ComancheVoiceAttack 5479 SoundAmbient = ComancheAmbientLoop 5480 SoundAmbientRubble = NoSound 5481 SoundDie = ComancheVoiceFalling 5482 UnitSpecificSounds 5483 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 5484 VoiceCreate = ComancheVoiceCreate 5485 SoundEject = PilotSoundEject 5486 VoiceEject = PilotVoiceEject 5487 Afterburner = RaptorAfterburner 5488 VoiceGarrison = ComancheVoiceMove 5489 TurretMoveStart = NoSound 5490 TurretMoveLoop = NoSound 5491 VoiceFireRocketPods = ComancheVoiceAttackRocket 5492 End 5493 5494 5495 ; *** ENGINEERING Parameters *** 5496 RadarPriority = UNIT 5497 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD 5498 5499 Behavior = WeaponSetUpgrade ModuleTag_02 5500 TriggeredBy = Upgrade_ComancheRocketPods 5501 End 5502 Behavior = ExperienceScalarUpgrade ModuleTag_03 5503 TriggeredBy = Upgrade_AmericaAdvancedTraining 5504 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 5505 End 5506 5507 Body = ActiveBody ModuleTag_04 5508 MaxHealth = 220.0 5509 InitialHealth = 220.0 5510 End 5511 5512 Behavior = FXListDie ModuleTag_05 5513 DeathFX = FX_HelicopterStartDeath 5514 End 5515 5516 Behavior = JetAIUpdate ModuleTag_06 5517 MinHeight = 5 5518 NeedsRunway = No 5519 KeepsParkingSpaceWhenAirborne = No 5520 AutoAcquireEnemiesWhenIdle = Yes 5521 ; note that comanches do not return to base when idle 5522 5523 ; this is a bit of a trick... normally, units cannot move-and-fire at 5524 ; the same time. we need the comanche to be able to. so we give it 5525 ; a "turret" (invisible) and put the two main weapons on it, but with 5526 ; no turn rate. voila! 5527 Turret 5528 TurretTurnRate = 0 ; this "turret" does not turn 5529 TurretPitchRate = 0 ; nor does it pitch 5530 ControlledWeaponSlots = PRIMARY SECONDARY 5531 End 5532 5533 End 5534 Locomotor = SET_NORMAL CINE_USA08_ComancheLocomotor 5535 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 5536 5537 Behavior = PhysicsBehavior ModuleTag_07 5538 Mass = 50.0 5539 End 5540 Behavior = HelicopterSlowDeathBehavior ModuleTag_08 5541 DestructionDelay = 99999999 ; the destruction delay 5542 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 5543 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 5544 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 5545 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 5546 SoundDeathLoop = ComancheDamagedLoop 5547 MinSelfSpin = 100 ; in degrees per second 5548 MaxSelfSpin = 300 ; in degrees per second 5549 SelfSpinUpdateDelay = 100 ; in milliseconds 5550 SelfSpinUpdateAmount = 10 ; in degrees 5551 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 5552 MinBladeFlyOffDelay = 1500 ; in milliseconds 5553 MaxBladeFlyOffDelay = 1500 ; in milliseconds 5554 AttachParticle = SootySmokeTrail 5555 AttachParticleBone = Propeller02 5556 BladeObjectName = ComancheBlades 5557 BladeBoneName = Propeller01 5558 ; Most things that eject pilots do so immediately upon death, 5559 ; via use of EjectPilotDie, but Helicopters are a special case... 5560 ; they need to do so after their blades are ejected. 5561 OCLEjectPilot = OCL_EjectPilotViaParachute 5562 FXBlade = FX_HelicopterBladeExplosion 5563 OCLBlade = OCL_HelicopterBladeExplosion 5564 FXHitGround = FX_HelicopterHitGround 5565 OCLHitGround = OCL_HelicopterHitGround 5566 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 5567 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 5568 DelayFromGroundToFinalDeath = 1500 5569 FinalRubbleObject = ComancheRubbleHull 5570 End 5571 5572 Behavior = TransitionDamageFX ModuleTag_09 5573 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 5574 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 5575 End 5576 5577 Behavior = FlammableUpdate ModuleTag_21 5578 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 5579 AflameDamageAmount = 3 ; taking this much damage... 5580 AflameDamageDelay = 500 ; this often. 5581 End 5582 5583 Geometry = BOX 5584 GeometryMajorRadius = 20.0 5585 GeometryMinorRadius = 3.0 5586 GeometryHeight = 25.0 5587 GeometryIsSmall = No 5588 Shadow = SHADOW_VOLUME 5589 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 5590 5591 End 5592 5593 ;------------------------------------------------------------------------------ 5594 Object ComancheBlades 5595 5596 ; *** ART Parameters *** 5597 Draw = W3DModelDraw ModuleTag_01 5598 DefaultConditionState 5599 Model = AVComanche_D2 5600 Animation = AVComanche_D2.AVComanche_D2 5601 AnimationMode = LOOP 5602 End 5603 End 5604 5605 ; ***DESIGN parameters *** 5606 DisplayName = OBJECT:Comanche 5607 Side = America 5608 5609 ; *** ENGINEERING Parameters *** 5610 KindOf = PRELOAD IMMOBILE 5611 5612 Behavior = PhysicsBehavior ModuleTag_02 5613 AllowBouncing = Yes 5614 End 5615 Behavior = LifetimeUpdate ModuleTag_03 5616 MinLifetime = 1000 ; min lifetime in msec 5617 MaxLifetime = 1000 ; max lifetime in msec 5618 End 5619 5620 End 5621 5622 ;------------------------------------------------------------------------------ 5623 Object ComancheRubbleHull 5624 5625 ; *** ART Parameters *** 5626 Draw = W3DModelDraw ModuleTag_01 5627 DefaultConditionState 5628 Model = AVComanche_D1 5629 End 5630 End 5631 5632 ; ***DESIGN parameters *** 5633 DisplayName = OBJECT:ComancheHull 5634 Side = America 5635 5636 ; *** ENGINEERING Parameters *** 5637 KindOf = IMMOBILE NO_COLLIDE HULK 5638 5639 Behavior = PhysicsBehavior ModuleTag_02 5640 Mass = 25.0 5641 AllowBouncing = Yes 5642 End 5643 5644 Behavior = LifetimeUpdate ModuleTag_03 5645 MinLifetime = 3000 ; min lifetime in msec 5646 MaxLifetime = 3000 ; max lifetime in msec 5647 End 5648 5649 Behavior = SlowDeathBehavior ModuleTag_05 5650 SinkDelay = 3000 5651 SinkRate = 4 ; in Dist/Sec 5652 DestructionDelay = 10000 5653 End 5654 5655 5656 End 5657 5658 ;------------------------------------------------------------------------------ 5659 Object CINE_ComancheRubbleHull 5660 5661 ; *** ART Parameters *** 5662 Draw = W3DModelDraw ModuleTag_01 5663 DefaultConditionState 5664 Model = AVComanche_D1 5665 End 5666 End 5667 5668 ; ***DESIGN parameters *** 5669 DisplayName = OBJECT:ComancheHull 5670 Side = America 5671 5672 ; *** ENGINEERING Parameters *** 5673 KindOf = IMMOBILE 5674 5675 Behavior = PhysicsBehavior ModuleTag_02 5676 Mass = 25.0 5677 AllowBouncing = Yes 5678 End 5679 5680 End 5681 5682 5683 ;------------------------------------------------------------------------------ 5684 Object ChinookRubbleHull 5685 5686 ; *** ART Parameters *** 5687 Draw = W3DModelDraw ModuleTag_01 5688 DefaultConditionState 5689 Model = AVChinook_D1 5690 End 5691 End 5692 5693 ; ***DESIGN parameters *** 5694 DisplayName = OBJECT:ComancheHull 5695 Side = America 5696 5697 ; *** ENGINEERING Parameters *** 5698 KindOf = IMMOBILE NO_COLLIDE HULK 5699 5700 Behavior = PhysicsBehavior ModuleTag_02 5701 Mass = 25.0 5702 AllowBouncing = Yes 5703 End 5704 Behavior = LifetimeUpdate ModuleTag_03 5705 MinLifetime = 100000 ; min lifetime in msec 5706 MaxLifetime = 100000 ; max lifetime in msec 5707 End 5708 5709 End 5710 5711 5712 ;------------------------------------------------------------------------------ 5713 Object ChinaJetMIG 5714 5715 ; *** ART Parameters *** 5716 SelectPortrait = SNMig_L 5717 ButtonImage = SNMig 5718 5719 UpgradeCameo1 = Upgrade_ChinaAircraftArmor 5720 UpgradeCameo2 = Upgrade_ChinaBlackNapalm 5721 ;UpgradeCameo3 = NONE 5722 ;UpgradeCameo4 = NONE 5723 ;UpgradeCameo5 = NONE 5724 5725 Draw = W3DModelDraw ModuleTag_01 5726 5727 OkToChangeModelColor = Yes 5728 5729 DefaultConditionState 5730 Model = NVMIG 5731 HideSubObject = BurnerFX01 BurnerFX02 5732 WeaponLaunchBone = PRIMARY WeaponA 5733 End 5734 5735 ConditionState = JETEXHAUST 5736 ParticleSysBone = Wingtip01 JetContrail 5737 ParticleSysBone = Wingtip02 JetContrail 5738 End 5739 5740 ConditionState = JETEXHAUST JETAFTERBURNER 5741 ShowSubObject = BurnerFX01 BurnerFX02 5742 ParticleSysBone = Exhaust01 JetExhaust 5743 ParticleSysBone = Exhaust02 JetExhaust 5744 ParticleSysBone = Wingtip01 JetContrail 5745 ParticleSysBone = Wingtip02 JetContrail 5746 End 5747 5748 ConditionState = REALLYDAMAGED 5749 Model = NVMIG 5750 ParticleSysBone = Wingtip01 JetContrail 5751 ParticleSysBone = Wingtip02 JetContrail 5752 End 5753 5754 ConditionState = RUBBLE 5755 Model = NVMIG 5756 End 5757 5758 ConditionState = REALLYDAMAGED JETEXHAUST 5759 Model = NVMIG 5760 ParticleSysBone = Wingtip01 JetContrail 5761 ParticleSysBone = Wingtip02 JetContrail 5762 End 5763 5764 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 5765 Model = NVMIG 5766 ShowSubObject = BurnerFX01 BurnerFX02 5767 ParticleSysBone = Engine01 JetExhaust 5768 ParticleSysBone = Engine02 JetExhaust 5769 ParticleSysBone = Wingtip01 JetContrail 5770 ParticleSysBone = Wingtip02 JetContrail 5771 End 5772 5773 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 5774 ; @todo srj -- model missing 5775 ;Model = NVMIG 5776 Model = NVMIG 5777 ;HideSubObject is needed cause there're inherited from default condition state 5778 HideSubObject = None 5779 ShowSubObject = None 5780 ParticleSysBone = Engine01 JetExhaust 5781 ParticleSysBone = Engine02 JetExhaust 5782 ParticleSysBone = Wingtip01 JetContrail 5783 ParticleSysBone = Wingtip02 JetContrail 5784 End 5785 5786 End 5787 5788 ; ***DESIGN parameters *** 5789 DisplayName = OBJECT:MIG 5790 EditorSorting = VEHICLE 5791 Side = China 5792 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 5793 VisionRange = 200.0 5794 ShroudClearingRange = 300.0 5795 5796 Prerequisites 5797 Object = ChinaAirfield 5798 End 5799 5800 WeaponSet 5801 Conditions = None 5802 Weapon = PRIMARY NapalmMissileWeapon 5803 AutoChooseSources = PRIMARY NONE 5804 End 5805 WeaponSet 5806 Conditions = PLAYER_UPGRADE 5807 Weapon = PRIMARY BlackNapalmMissileWeapon 5808 AutoChooseSources = PRIMARY NONE 5809 End 5810 5811 ArmorSet 5812 Conditions = None 5813 Armor = AirplaneArmor 5814 DamageFX = None 5815 End 5816 5817 BuildCost = 1000 5818 BuildTime = 10 5819 ExperienceValue = 50 50 100 150 ;Experience point value at each level 5820 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 5821 IsTrainable = Yes ;Can gain experience 5822 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 5823 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 5824 CommandSet = ChinaJetMIGCommandSet 5825 5826 ; *** AUDIO Parameters *** 5827 VoiceSelect = MigVoiceSelect 5828 VoiceMove = MigVoiceMove 5829 VoiceAttack = MigVoiceAttack 5830 VoiceAttackAir = MigVoiceAttackAir 5831 VoiceGuard = MigVoiceAirPatrol 5832 SoundAmbient = MigAmbientLoop 5833 SoundDie = MigVoiceFalling 5834 UnitSpecificSounds 5835 VoiceCreate = MigVoiceCreate 5836 Afterburner = RaptorAfterburner 5837 VoiceGarrison = MigVoiceMove 5838 End 5839 5840 ; *** ENGINEERING Parameters *** 5841 RadarPriority = UNIT 5842 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 5843 Body = ActiveBody ModuleTag_02 5844 MaxHealth = 160.0 5845 InitialHealth = 160.0 5846 End 5847 5848 Behavior = JetSlowDeathBehavior ModuleTag_03 5849 FXOnGroundDeath = FX_JetOnGroundDeath 5850 OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp 5851 DestructionDelay = 99999999 ; destruction will happen when we 5852 RollRate = 0.2 5853 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 5854 PitchRate = 0.0 5855 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 5856 FXInitialDeath = FX_JetDeathInitial 5857 OCLInitialDeath = OCL_MIGDeathInitial 5858 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 5859 FXSecondary = FX_JetDeathSecondary 5860 OCLSecondary = OCL_MIGDeathSecondary 5861 FXHitGround = FX_JetDeathHitGround 5862 OCLHitGround = OCL_MIGDeathHitGround 5863 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 5864 FXFinalBlowUp = FX_JetDeathFinalBlowUp 5865 OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp 5866 End 5867 5868 Behavior = WeaponSetUpgrade ModuleTag_04 5869 TriggeredBy = Upgrade_ChinaBlackNapalm 5870 End 5871 5872 Behavior = PhysicsBehavior ModuleTag_05 5873 Mass = 500.0 5874 End 5875 5876 Behavior = JetAIUpdate ModuleTag_06 5877 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 5878 ; note that it's expressed as a percent of max health, not an absolute 5879 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 5880 TakeoffPause = 500 5881 MinHeight = 5 5882 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 5883 End 5884 5885 Locomotor = SET_NORMAL MIGLocomotor 5886 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 5887 5888 5889 Behavior = FlammableUpdate ModuleTag_08 5890 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 5891 AflameDamageAmount = 3 ; taking this much damage... 5892 AflameDamageDelay = 500 ; this often. 5893 End 5894 5895 Behavior = TransitionDamageFX ModuleTag_09 5896 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 5897 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 5898 End 5899 5900 Behavior = MaxHealthUpgrade ModuleTag_10 5901 TriggeredBy = Upgrade_ChinaAircraftArmor 5902 AddMaxHealth = 40.0 5903 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 5904 End 5905 5906 5907 5908 Geometry = Box 5909 GeometryIsSmall = Yes 5910 GeometryMajorRadius = 14.0 5911 GeometryMinorRadius = 7.0 5912 GeometryHeight = 5.0 5913 Shadow = SHADOW_VOLUME 5914 5915 Shadow = SHADOW_VOLUME 5916 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 5917 5918 End 5919 5920 5921 ;------------------------------------------------------------------------------ 5922 ;This is the MIG as it's crashing 5923 ;------------------------------------------------------------------------------ 5924 Object ChinaJetMIGHulk 5925 ; *** ART Parameters *** 5926 Draw = W3DModelDraw ModuleTag_01 5927 DefaultConditionState 5928 Model = NVMIG_D1 5929 End 5930 End 5931 5932 ; ***DESIGN parameters *** 5933 EditorSorting = DEBRIS 5934 5935 ; *** ENGINEERING Parameters *** 5936 KindOf = NO_COLLIDE HULK 5937 5938 Behavior = PhysicsBehavior ModuleTag_03 5939 Mass = 2.0 5940 AllowBouncing = No 5941 KillWhenRestingOnGround = Yes 5942 End 5943 5944 Behavior = LifetimeUpdate ModuleTag_04 5945 MinLifetime = 1500 ; min lifetime in msec 5946 MaxLifetime = 1600 ; max lifetime in msec 5947 End 5948 5949 Behavior = SlowDeathBehavior ModuleTag_05 5950 SinkDelay = 1500 5951 SinkRate = 2 ; in Dist/Sec 5952 DestructionDelay = 8000 5953 End 5954 5955 End 5956 5957 5958 ;------------------------------------------------------------------------------ 5959 Object NapalmMissile 5960 5961 ; *** ART Parameters *** 5962 Draw = W3DModelDraw ModuleTag_01 5963 OkToChangeModelColor = Yes 5964 DefaultConditionState 5965 Model = AVRaptor_M 5966 End 5967 End 5968 5969 ; ***DESIGN parameters *** 5970 DisplayName = OBJECT:Missile 5971 EditorSorting = SYSTEM 5972 VisionRange = 0.0 ; Projectiles can't see, but superweapons *may need to* 5973 TransportSlotCount = 1 ; since Napalm Strike carries us as payload, not weapon 5974 ArmorSet 5975 Conditions = None 5976 Armor = ProjectileArmor 5977 DamageFX = None 5978 End 5979 5980 ; *** ENGINEERING Parameters *** 5981 KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE 5982 Body = ActiveBody ModuleTag_02 5983 MaxHealth = 100.0 5984 InitialHealth = 100.0 5985 End 5986 5987 ; ---- begin Projectile death behaviors 5988 Behavior = InstantDeathBehavior DeathModuleTag_01 5989 DeathTypes = NONE +DETONATED 5990 ; we detonated normally. 5991 ; no FX, just quiet destroy ourselves 5992 End 5993 Behavior = InstantDeathBehavior DeathModuleTag_02 5994 DeathTypes = NONE +LASERED 5995 ; shot down by laser. 5996 FX = FX_GenericMissileDisintegrate 5997 OCL = OCL_GenericMissileDisintegrate 5998 End 5999 Behavior = InstantDeathBehavior DeathModuleTag_03 6000 DeathTypes = ALL -LASERED -DETONATED 6001 ; shot down by nonlaser. 6002 FX = FX_GenericMissileDeath 6003 End 6004 ; ---- end Projectile death behaviors 6005 6006 Behavior = PhysicsBehavior ModuleTag_06 6007 Mass = 1 6008 End 6009 Behavior = MissileAIUpdate ModuleTag_07 6010 TryToFollowTarget = Yes 6011 FuelLifetime = 10000 6012 InitialVelocity = 75 ; in dist/sec 6013 IgnitionDelay = 30 6014 IgnitionFX = FX_NapalmMissileIgnition 6015 End 6016 Locomotor = SET_NORMAL NapalmMissileLocomotor 6017 6018 Geometry = Sphere 6019 GeometryIsSmall = Yes 6020 GeometryMajorRadius = 1.0 6021 6022 End 6023 6024 ;------------------------------------------------------------------------------ 6025 Object ChinaJetMIGNapalmStriker 6026 6027 ; *** ART Parameters *** 6028 Draw = W3DModelDraw ModuleTag_01 6029 6030 DefaultConditionState 6031 Model = Su-Cinema 6032 WeaponLaunchBone = PRIMARY Weapon 6033 ParticleSysBone = Smoke01 JetExhaust 6034 ParticleSysBone = Smoke02 JetExhaust 6035 HideSubObject = BurnerFX01 BurnerFX02 6036 End 6037 ConditionState = REALLYDAMAGED 6038 Model = Su-Cinema 6039 End 6040 AliasConditionState = RUBBLE 6041 6042 OkToChangeModelColor = Yes 6043 End 6044 6045 ; ***DESIGN parameters *** 6046 DisplayName = OBJECT:MIG 6047 EditorSorting = SYSTEM 6048 Side = China 6049 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 6050 VisionRange = 300.0 6051 ShroudClearingRange = 300 6052 Prerequisites 6053 Object = ChinaAirfield 6054 End 6055 WeaponSet 6056 Conditions = None 6057 Weapon = PRIMARY BlackNapalmMissileWeapon 6058 End 6059 ArmorSet 6060 Conditions = None 6061 Armor = AirplaneArmor 6062 DamageFX = None 6063 End 6064 CommandSet = ChinaJetMIGCommandSet 6065 6066 ; *** AUDIO Parameters *** 6067 SoundAmbient = F15MoveLoop 6068 SoundAmbientRubble = NoSound 6069 6070 ; *** ENGINEERING Parameters *** 6071 RadarPriority = UNIT 6072 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE AIRCRAFT IGNORED_IN_GUI 6073 6074 Body = ActiveBody ModuleTag_02 6075 MaxHealth = 200.0 6076 InitialHealth = 200.0 6077 End 6078 6079 Behavior = SpecialPowerCompletionDie ModuleTag_03 6080 SpecialPowerTemplate = SuperweaponNapalmStrike 6081 End 6082 6083 Behavior = JetSlowDeathBehavior ModuleTag_04 6084 DestructionDelay = 99999999; destruction will happen when we 6085 RollRate = 0.2 6086 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 6087 PitchRate = 0.0 6088 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 6089 FXInitialDeath = FX_JetDeathInitial 6090 OCLInitialDeath = OCL_MIGDeathInitial 6091 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 6092 FXSecondary = FX_JetDeathSecondary 6093 OCLSecondary = OCL_MIGDeathSecondary 6094 FXHitGround = FX_JetDeathHitGround 6095 OCLHitGround = OCL_MIGDeathHitGround 6096 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 6097 FXFinalBlowUp = FX_JetDeathFinalBlowUp 6098 OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp 6099 End 6100 6101 Behavior = DeliverPayloadAIUpdate ModuleTag_06 6102 DoorDelay = 0 6103 End 6104 Locomotor = SET_NORMAL MIGLocomotor 6105 6106 Behavior = WeaponSetUpgrade ModuleTag_07 6107 TriggeredBy = Upgrade_ChinaBlackNapalm 6108 End 6109 6110 Behavior = TransportContain ModuleTag_08 6111 Slots = 100 ; hey, it's a BIG transport 6112 ScatterNearbyOnExit = No 6113 OrientLikeContainerOnExit = Yes 6114 KeepContainerVelocityOnExit = Yes 6115 ExitPitchRate = 30 6116 ExitBone = Weapon 6117 AllowInsideKindOf = PROJECTILE 6118 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 6119 NumberOfExitPaths = 0 6120 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' 6121 End 6122 6123 Behavior = PhysicsBehavior ModuleTag_09 6124 Mass = 500.0 6125 End 6126 6127 Behavior = FlammableUpdate ModuleTag_21 6128 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 6129 AflameDamageAmount = 3 ; taking this much damage... 6130 AflameDamageDelay = 500 ; this often. 6131 End 6132 6133 6134 Geometry = Cylinder 6135 GeometryIsSmall = Yes 6136 GeometryMajorRadius = 7.0 6137 GeometryMinorRadius = 7.0 6138 GeometryHeight = 7.0 6139 6140 Shadow = SHADOW_VOLUME 6141 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 6142 6143 End 6144 6145 ;------------------------------------------------------------------------------ 6146 Object ChinaJetMIG_CinematicVersion 6147 6148 ; *** ART Parameters *** 6149 SelectPortrait = SNMig_L 6150 ButtonImage = SNMig 6151 6152 UpgradeCameo1 = Upgrade_ChinaAircraftArmor 6153 UpgradeCameo2 = Upgrade_ChinaBlackNapalm 6154 ;UpgradeCameo3 = NONE 6155 ;UpgradeCameo4 = NONE 6156 ;UpgradeCameo5 = NONE 6157 6158 Draw = W3DModelDraw ModuleTag_01 6159 6160 OkToChangeModelColor = Yes 6161 6162 DefaultConditionState 6163 Model = NVMIG 6164 HideSubObject = BurnerFX01 BurnerFX02 6165 WeaponLaunchBone = PRIMARY WeaponA 6166 End 6167 6168 ConditionState = JETEXHAUST 6169 ParticleSysBone = Wingtip01 JetContrail 6170 ParticleSysBone = Wingtip02 JetContrail 6171 End 6172 6173 ConditionState = JETEXHAUST JETAFTERBURNER 6174 ShowSubObject = BurnerFX01 BurnerFX02 6175 ParticleSysBone = Exhaust01 JetExhaust 6176 ParticleSysBone = Exhaust02 JetExhaust 6177 ParticleSysBone = Wingtip01 JetContrail 6178 ParticleSysBone = Wingtip02 JetContrail 6179 End 6180 6181 ConditionState = REALLYDAMAGED 6182 Model = NVMIG_D 6183 ParticleSysBone = Wingtip01 JetContrail 6184 ParticleSysBone = Wingtip02 JetContrail 6185 End 6186 6187 ConditionState = RUBBLE 6188 Model = NVMIG_D 6189 End 6190 6191 ConditionState = REALLYDAMAGED JETEXHAUST 6192 Model = NVMIG_D 6193 ParticleSysBone = Wingtip01 JetContrail 6194 ParticleSysBone = Wingtip02 JetContrail 6195 End 6196 6197 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 6198 Model = NVMIG_D 6199 ShowSubObject = BurnerFX01 BurnerFX02 6200 ParticleSysBone = Engine01 JetExhaust 6201 ParticleSysBone = Engine02 JetExhaust 6202 ParticleSysBone = Wingtip01 JetContrail 6203 ParticleSysBone = Wingtip02 JetContrail 6204 End 6205 6206 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 6207 ; @todo srj -- model missing 6208 ;Model = NVMIG_D1B 6209 Model = NVMIG_D 6210 ;HideSubObject is needed cause there're inherited from default condition state 6211 HideSubObject = None 6212 ShowSubObject = None 6213 ParticleSysBone = Engine01 JetExhaust 6214 ParticleSysBone = Engine02 JetExhaust 6215 ParticleSysBone = Wingtip01 JetContrail 6216 ParticleSysBone = Wingtip02 JetContrail 6217 End 6218 6219 End 6220 6221 ; ***DESIGN parameters *** 6222 DisplayName = OBJECT:MIG 6223 EditorSorting = VEHICLE 6224 Side = China 6225 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 6226 VisionRange = 300.0 6227 ShroudClearingRange = 300.0 6228 6229 Prerequisites 6230 Object = ChinaAirfield 6231 End 6232 6233 WeaponSet 6234 Conditions = None 6235 Weapon = PRIMARY NapalmMissileWeapon 6236 AutoChooseSources = PRIMARY NONE 6237 End 6238 WeaponSet 6239 Conditions = PLAYER_UPGRADE 6240 Weapon = PRIMARY BlackNapalmMissileWeapon 6241 AutoChooseSources = PRIMARY NONE 6242 End 6243 6244 ArmorSet 6245 Conditions = None 6246 Armor = AirplaneArmor 6247 DamageFX = None 6248 End 6249 6250 BuildCost = 1200 6251 BuildTime = 15 6252 ExperienceValue = 50 50 100 150 ;Experience point value at each level 6253 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 6254 IsTrainable = Yes ;Can gain experience 6255 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 6256 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 6257 CommandSet = ChinaJetMIGCommandSet 6258 6259 ; *** AUDIO Parameters *** 6260 VoiceSelect = MigVoiceSelect 6261 VoiceMove = MigVoiceMove 6262 VoiceAttack = MigVoiceAttack 6263 VoiceAttackAir = MigVoiceAttackAir 6264 VoiceGuard = MigVoiceAirPatrol 6265 SoundMoveLoop = MigAmbientLoop ; don't want sound while sitting at airfield 6266 SoundAmbient = NoSound 6267 SoundAmbientRubble = NoSound 6268 SoundDie = MigVoiceFalling 6269 UnitSpecificSounds 6270 VoiceCreate = MigVoiceCreate 6271 Afterburner = RaptorAfterburner 6272 VoiceGarrison = MigVoiceMove 6273 End 6274 6275 ; *** ENGINEERING Parameters *** 6276 RadarPriority = UNIT 6277 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 6278 Body = ActiveBody ModuleTag_02 6279 MaxHealth = 160.0 6280 InitialHealth = 160.0 6281 End 6282 6283 Behavior = JetSlowDeathBehavior ModuleTag_03 6284 FXOnGroundDeath = FX_JetOnGroundDeath 6285 OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp_CinematicVersion 6286 DestructionDelay = 99999999 ; destruction will happen when we 6287 RollRate = 0.2 6288 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 6289 PitchRate = 0.0 6290 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 6291 FXInitialDeath = FX_JetDeathInitial 6292 OCLInitialDeath = OCL_MIGDeathInitial 6293 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 6294 FXSecondary = FX_JetDeathSecondary 6295 OCLSecondary = OCL_MIGDeathSecondary 6296 FXHitGround = FX_JetDeathHitGround 6297 OCLHitGround = OCL_MIGDeathHitGround 6298 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 6299 FXFinalBlowUp = FX_JetDeathFinalBlowUp_CinematicVersion 6300 OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp_CinematicVersion 6301 End 6302 6303 Behavior = WeaponSetUpgrade ModuleTag_04 6304 TriggeredBy = Upgrade_ChinaBlackNapalm 6305 End 6306 6307 Behavior = PhysicsBehavior ModuleTag_05 6308 Mass = 500.0 6309 End 6310 6311 Behavior = JetAIUpdate ModuleTag_06 6312 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 6313 ; note that it's expressed as a percent of max health, not an absolute 6314 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 6315 TakeoffPause = 500 6316 MinHeight = 5 6317 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 6318 End 6319 6320 Locomotor = SET_NORMAL MIGLocomotor 6321 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 6322 6323 6324 Behavior = FlammableUpdate ModuleTag_08 6325 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 6326 AflameDamageAmount = 3 ; taking this much damage... 6327 AflameDamageDelay = 500 ; this often. 6328 End 6329 6330 Behavior = TransitionDamageFX ModuleTag_09 6331 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 6332 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 6333 End 6334 6335 Behavior = MaxHealthUpgrade ModuleTag_10 6336 TriggeredBy = Upgrade_ChinaAircraftArmor 6337 AddMaxHealth = 40.0 6338 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 6339 End 6340 6341 6342 6343 Geometry = Box 6344 GeometryIsSmall = Yes 6345 GeometryMajorRadius = 14.0 6346 GeometryMinorRadius = 7.0 6347 GeometryHeight = 5.0 6348 Shadow = SHADOW_VOLUME 6349 6350 Shadow = SHADOW_VOLUME 6351 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 6352 6353 End 6354 6355 ;------------------------------------------------------------------------------ 6356 Object AmericaInfantryRanger 6357 6358 ; *** ART Parameters *** 6359 SelectPortrait = SARanger_L 6360 ButtonImage = SARanger 6361 6362 UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade 6363 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 6364 UpgradeCameo3 = Upgrade_InfantryCaptureBuilding 6365 ;UpgradeCameo4 = NONE 6366 ;UpgradeCameo5 = NONE 6367 6368 Draw = W3DModelDraw ModuleTag_01 6369 6370 OkToChangeModelColor = Yes 6371 6372 ; this says "we don't use these condition states at all, so completely 6373 ; ignore them for purposes of matchmaking"... this is useful to help 6374 ; reduce the number of AliasConditionState clauses you must add in 6375 ; order to avoid ambiguity in some cases. 6376 IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A 6377 6378 ; --- Idle 6379 DefaultConditionState 6380 Model = AIRngr_SKN 6381 IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35 6382 IdleAnimation = AIRngr_SKL.AIRngr_IDA 6383 IdleAnimation = AIRngr_SKL.AIRngr_IDB 6384 AnimationMode = ONCE 6385 WeaponFireFXBone = PRIMARY Muzzle 6386 WeaponMuzzleFlash = PRIMARY MuzzleFX 6387 WeaponFireFXBone = SECONDARY Muzzle 6388 WeaponLaunchBone = SECONDARY Muzzle 6389 TransitionKey = TRANS_Stand 6390 6391 End 6392 6393 ConditionState = REALLYDAMAGED 6394 IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35 6395 IdleAnimation = AIRngr_SKL.AIRngr_IDC 6396 IdleAnimation = AIRngr_SKL.AIRngr_IDD 6397 AnimationMode = ONCE 6398 TransitionKey = TRANS_StandInjured 6399 End 6400 6401 TransitionState = TRANS_Stand TRANS_StandInjured 6402 Animation = AIRngr_SKL.AIRngr_SA2SB 6403 AnimationMode = ONCE 6404 End 6405 6406 ; --- attacking (Machine Gun) 6407 ConditionState = USING_WEAPON_A 6408 Animation = AIRngr_SKL.AIRngr_ATA 6409 AnimationMode = LOOP 6410 TransitionKey = TRANS_FiringA 6411 End 6412 6413 ConditionState = USING_WEAPON_A REALLYDAMAGED 6414 Animation = AIRngr_SKL.AIRngr_ATA2 6415 AnimationMode = LOOP 6416 TransitionKey = TRANS_FiringAInjured 6417 End 6418 6419 TransitionState = TRANS_FiringA TRANS_FiringAInjured 6420 Animation = AIRngr_SKL.AIRngr_A2WAA 6421 AnimationMode = ONCE 6422 End 6423 6424 TransitionState = TRANS_Stand TRANS_FiringA 6425 Animation = AIRngr_SKL.AIRngr_ATAST 6426 AnimationMode = ONCE 6427 AnimationSpeedFactorRange = 4 4 6428 End 6429 6430 TransitionState = TRANS_FiringA TRANS_Stand 6431 Animation = AIRngr_SKL.AIRngr_ATAED 6432 AnimationMode = ONCE 6433 AnimationSpeedFactorRange = 4 4 6434 End 6435 6436 TransitionState = TRANS_StandInjured TRANS_FiringAInjured 6437 Animation = AIRngr_SKL.AIRngr_S2WAA 6438 AnimationMode = ONCE 6439 AnimationSpeedFactorRange = 4 4 6440 End 6441 6442 TransitionState = TRANS_FiringAInjured TRANS_StandInjured 6443 Animation = AIRngr_SKL.AIRngr_WAA2S 6444 AnimationMode = ONCE 6445 AnimationSpeedFactorRange = 4 4 6446 End 6447 6448 TransitionState = TRANS_Stand TRANS_Move 6449 Animation = AIRngr_SKL.AIRngr_STA2RNA 6450 AnimationMode = ONCE 6451 End 6452 6453 ; --- attacking (Grenade Launcher) 6454 ConditionState = PREATTACK_B 6455 Animation = AIRngr_SKL.AIRngr_ATBA 6456 AnimationMode = ONCE 6457 TransitionKey = TRANS_FiringB 6458 End 6459 AliasConditionState = PREATTACK_B MOVING 6460 AliasConditionState = PREATTACK_B FIRING_B 6461 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 6462 6463 ConditionState = FIRING_B 6464 Animation = AIRngr_SKL.AIRngr_ATBB 6465 AnimationMode = ONCE 6466 TransitionKey = TRANS_FiringB 6467 End 6468 6469 ConditionState = BETWEEN_FIRING_SHOTS_B 6470 Animation = AIRngr_SKL.AIRngr_ATBB 6471 AnimationMode = MANUAL 6472 Flags = START_FRAME_LAST 6473 TransitionKey = TRANS_FiringB 6474 WaitForStateToFinishIfPossible = TRANS_FiringB 6475 End 6476 AliasConditionState = RELOADING_B 6477 6478 TransitionState = TRANS_Stand TRANS_FiringB 6479 Animation = AIRngr_SKL.AIRngr_ATBST1 6480 AnimationMode = ONCE 6481 End 6482 6483 TransitionState = TRANS_FiringB TRANS_Stand 6484 Animation = AIRngr_SKL.AIRngr_ATBST2 6485 AnimationMode = ONCE 6486 End 6487 6488 ConditionState = PREATTACK_B REALLYDAMAGED 6489 Animation = AIRngr_SKL.AIRngr_ATB2A 6490 AnimationMode = ONCE 6491 TransitionKey = TRANS_FiringBInjured 6492 End 6493 AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED 6494 AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED 6495 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 6496 6497 ConditionState = FIRING_B REALLYDAMAGED 6498 Animation = AIRngr_SKL.AIRngr_ATB2B 6499 AnimationMode = ONCE 6500 TransitionKey = TRANS_FiringBInjured 6501 End 6502 6503 ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 6504 Animation = AIRngr_SKL.AIRngr_ATB2B 6505 AnimationMode = MANUAL 6506 Flags = START_FRAME_LAST 6507 TransitionKey = TRANS_FiringBInjured 6508 WaitForStateToFinishIfPossible = TRANS_FiringBInjured 6509 End 6510 AliasConditionState = RELOADING_B REALLYDAMAGED 6511 6512 TransitionState = TRANS_StandInjured TRANS_FiringBInjured 6513 Animation = AIRngr_SKL.AIRngr_ATB2ST1 6514 AnimationMode = ONCE 6515 End 6516 6517 TransitionState = TRANS_FiringBInjured TRANS_StandInjured 6518 Animation = AIRngr_SKL.AIRngr_ATB2ST2 6519 AnimationMode = ONCE 6520 End 6521 6522 ; -- cross-attack transitions 6523 6524 TransitionState = TRANS_FiringA TRANS_FiringB 6525 Animation = AIRngr_SKL.AIRngr_ATA2AB 6526 AnimationMode = ONCE 6527 AnimationSpeedFactorRange = 4 4 6528 End 6529 6530 TransitionState = TRANS_FiringB TRANS_FiringA 6531 Animation = AIRngr_SKL.AIRngr_ATA2AB 6532 AnimationMode = ONCE_BACKWARDS 6533 AnimationSpeedFactorRange = 4 4 6534 End 6535 6536 6537 ; --- moving 6538 ConditionState = MOVING 6539 Animation = AIRngr_SKL.AIRngr_RNA 30 6540 AnimationMode = LOOP 6541 Flags = RANDOMSTART 6542 TransitionKey = TRANS_Move 6543 ParticleSysBone = None InfantryDustTrails 6544 End 6545 AliasConditionState = MOVING ATTACKING 6546 6547 ConditionState = MOVING REALLYDAMAGED 6548 Animation = AIRngr_SKL.AIRngr_RNB 30 6549 AnimationMode = LOOP 6550 Flags = RANDOMSTART 6551 TransitionKey = TRANS_Move 6552 End 6553 AliasConditionState = MOVING REALLYDAMAGED ATTACKING 6554 6555 ; --- dying anims 6556 ConditionState = DYING 6557 Animation = AIRngr_SKL.AIRngr_DTA 6558 Animation = AIRngr_SKL.AIRngr_DTB 6559 AnimationMode = ONCE 6560 TransitionKey = None 6561 End 6562 6563 TransitionState = TRANS_Dying TRANS_Flailing 6564 Animation = AIRngr_SKL.AIRngr_ADTF1 6565 AnimationMode = ONCE 6566 End 6567 6568 ConditionState = DYING EXPLODED_FLAILING 6569 Animation = AIRngr_SKL.AIRngr_ADTF2 6570 AnimationMode = LOOP 6571 TransitionKey = TRANS_Flailing 6572 End 6573 6574 ConditionState = DYING EXPLODED_BOUNCING 6575 Animation = AIRngr_SKL.AIRngr_ADTF3 6576 AnimationMode = ONCE 6577 TransitionKey = None 6578 End 6579 AliasConditionState = DYING SPLATTED 6580 6581 ; --- cheering 6582 ConditionState = SPECIAL_CHEERING 6583 Animation = AIRngr_SKL.AIRngr_CHA 6584 AnimationMode = LOOP 6585 End 6586 6587 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 6588 Animation = AIRngr_SKL.AIRngr_CHB 6589 AnimationMode = LOOP 6590 End 6591 6592 ; ----- PARACHUTING ANIMATIONS 6593 ConditionState = FREEFALL 6594 Animation = AIRngr_SKL.AIRngr_PFL 6595 AnimationMode = LOOP 6596 TransitionKey = TRANS_Falling 6597 End 6598 AliasConditionState = FREEFALL REALLYDAMAGED 6599 AliasConditionState = FREEFALL DYING 6600 ConditionState = PARACHUTING 6601 Animation = AIRngr_SKL.AIRngr_PHG 6602 AnimationMode = LOOP 6603 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 6604 TransitionKey = TRANS_Chute 6605 End 6606 AliasConditionState = PARACHUTING REALLYDAMAGED 6607 AliasConditionState = PARACHUTING DYING 6608 TransitionState = TRANS_Falling TRANS_Chute 6609 Animation = AIRngr_SKL.AIRngr_POP 6610 AnimationMode = ONCE 6611 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 6612 End 6613 TransitionState = TRANS_Chute TRANS_Stand 6614 Animation = AIRngr_SKL.AIRngr_PTD 6615 AnimationMode = ONCE 6616 End 6617 TransitionState = TRANS_Chute TRANS_StandInjured 6618 Animation = AIRngr_SKL.AIRngr_PTD 6619 AnimationMode = ONCE 6620 End 6621 6622 ; ------- Bldg-capture 6623 6624 ConditionState = UNPACKING 6625 Model = AIRngr_F_SKN 6626 Animation = AIRngr_F_SKL.AIRngr_F_FDP1 6627 AnimationMode = ONCE 6628 End 6629 AliasConditionState = UNPACKING REALLYDAMAGED 6630 6631 6632 ConditionState = RAISING_FLAG 6633 Model = AIRngr_F_SKN 6634 Animation = AIRngr_F_SKL.AIRngr_F_FDP2 6635 AnimationMode = ONCE 6636 TransitionKey = TRANS_Raising 6637 End 6638 AliasConditionState = RAISING_FLAG REALLYDAMAGED 6639 6640 ConditionState = PACKING 6641 Model = AIRngr_F_SKN 6642 Animation = AIRngr_F_SKL.AIRngr_F_FDP1 6643 AnimationMode = ONCE_BACKWARDS 6644 Flags = START_FRAME_LAST 6645 TransitionKey = TRANS_Packing 6646 End 6647 AliasConditionState = PACKING REALLYDAMAGED 6648 6649 TransitionState = TRANS_Raising TRANS_Packing 6650 Model = AIRngr_F_SKN 6651 Animation = AIRngr_F_SKL.AIRngr_F_FDP2 6652 AnimationMode = ONCE_BACKWARDS 6653 Flags = START_FRAME_LAST 6654 End 6655 6656 ; --- RAPPELLING ANIMATIONS 6657 ConditionState = RAPPELLING 6658 Animation = AIRngr_SKL.AIRngr_RPL1 ;30 6659 AnimationMode = LOOP 6660 Flags = RANDOMSTART 6661 TransitionKey = TRANS_Rappelling 6662 End 6663 AliasConditionState = MOVING RAPPELLING 6664 6665 TransitionState = TRANS_Rappelling TRANS_Stand 6666 Animation = AIRngr_SKL.AIRngr_RPL2 6667 AnimationMode = ONCE 6668 End 6669 6670 TransitionState = TRANS_Rappelling TRANS_StandInjured 6671 Animation = AIRngr_SKL.AIRngr_RPL2 6672 AnimationMode = ONCE 6673 End 6674 6675 End 6676 6677 ; ***DESIGN parameters *** 6678 DisplayName = OBJECT:Ranger 6679 Side = America 6680 EditorSorting = INFANTRY 6681 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 6682 6683 WeaponSet 6684 Conditions = None 6685 Weapon = PRIMARY RangerAdvancedCombatRifle 6686 End 6687 WeaponSet 6688 Conditions = PLAYER_UPGRADE 6689 Weapon = PRIMARY RangerAdvancedCombatRifle 6690 Weapon = SECONDARY RangerFlashBangGrenadeWeapon 6691 AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 6692 AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI 6693 End 6694 ArmorSet 6695 Conditions = None 6696 Armor = HumanArmor 6697 DamageFX = InfantryDamageFX 6698 End 6699 6700 VisionRange = 100 6701 ShroudClearingRange = 400 6702 Prerequisites 6703 Object = AmericaBarracks 6704 End 6705 BuildCost = 225 6706 BuildTime = 5.0 ;in seconds 6707 6708 ExperienceValue = 20 20 40 60 ;Experience point value at each level 6709 ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level 6710 IsTrainable = Yes ;Can gain experience 6711 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 6712 CommandSet = AmericaInfantryRangerCommandSet 6713 6714 ; *** AUDIO Parameters *** 6715 VoiceSelect = RangerVoiceSelect 6716 VoiceMove = RangerVoiceMove 6717 VoiceGuard = RangerVoiceMove 6718 VoiceAttack = RangerVoiceAttack 6719 SoundDie = RangerVoiceDie 6720 VoiceFear = RangerVoiceFear 6721 VoiceTaskComplete = RangerVoiceCaptureComplete 6722 6723 UnitSpecificSounds 6724 VoiceEnter = RangerVoiceMove 6725 VoiceEnterHostile = RangerVoiceMove 6726 VoiceGarrison = RangerVoiceGarrison 6727 VoiceCreate = RangerVoiceCreate 6728 VoiceSubdue = RangerVoiceSubdue 6729 VoiceClearBuilding = RangerVoiceClearBuilding 6730 VoiceGetHealed = RangerVoiceMove 6731 VoicePrimaryWeaponMode = RangerVoiceModeGun 6732 VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang 6733 End 6734 6735 UnitSpecificFX 6736 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 6737 CombatDropKillFX = FX_RangerCombatDropKill 6738 End 6739 6740 ; *** ENGINEERING Parameters *** 6741 RadarPriority = UNIT 6742 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE 6743 6744 Behavior = CommandButtonHuntUpdate ModuleTag_02 6745 End 6746 6747 Body = ActiveBody ModuleTag_03 6748 MaxHealth = 180.0 6749 InitialHealth = 180.0 6750 End 6751 6752 Behavior = ExperienceScalarUpgrade ModuleTag_04 6753 TriggeredBy = Upgrade_AmericaAdvancedTraining 6754 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 6755 End 6756 6757 Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 6758 ScanRate = 1000 ; once a second. 6759 ScanRange = 300 ; 6760 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 6761 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 6762 End 6763 6764 Behavior = AIUpdateInterface ModuleTag_06 6765 AutoAcquireEnemiesWhenIdle = Yes 6766 End 6767 Locomotor = SET_NORMAL BasicHumanLocomotor 6768 6769 Behavior = PhysicsBehavior ModuleTag_07 6770 Mass = 5.0 6771 End 6772 6773 Behavior = ProductionUpdate ModuleTag_08 6774 ; nothing 6775 End 6776 6777 Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit. 6778 End 6779 6780 Behavior = WeaponSetUpgrade ModuleTag_10 6781 TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade 6782 End 6783 6784 6785 ; --- begin Death modules --- 6786 Behavior = SlowDeathBehavior ModuleTag_Death01 6787 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 6788 SinkDelay = 50000 6789 SinkRate = 0.5 ; in Dist/Sec 6790 DestructionDelay = 8000000 6791 FX = INITIAL FX_GIDie 6792 End 6793 Behavior = SlowDeathBehavior ModuleTag_Death02 6794 DeathTypes = NONE +CRUSHED +SPLATTED 6795 SinkDelay = 50000 6796 SinkRate = 0.5 ; in Dist/Sec 6797 DestructionDelay = 8000000 6798 FX = INITIAL FX_GIDieCrushed 6799 End 6800 Behavior = SlowDeathBehavior ModuleTag_Death03 6801 DeathTypes = NONE +EXPLODED 6802 SinkDelay = 50000 6803 SinkRate = 0.5 ; in Dist/Sec 6804 DestructionDelay = 8000000 6805 FX = INITIAL FX_GIDie 6806 FlingForce = 8 6807 FlingForceVariance = 3 6808 FlingPitch = 60 6809 FlingPitchVariance = 10 6810 End 6811 Behavior = SlowDeathBehavior ModuleTag_Death04 6812 DeathTypes = NONE +BURNED 6813 DestructionDelay = 0 6814 FX = INITIAL FX_GIDie 6815 OCL = INITIAL OCL_FlamingInfantry 6816 End 6817 Behavior = SlowDeathBehavior ModuleTag_Death05 6818 DeathTypes = NONE +POISONED 6819 DestructionDelay = 0 6820 FX = INITIAL FX_GIDie 6821 OCL = INITIAL OCL_ToxicInfantry 6822 End 6823 6824 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 6825 DeathTypes = NONE +POISONED_BETA 6826 DestructionDelay = 0 6827 FX = INITIAL FX_GIDie 6828 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 6829 End 6830 ; --- end Death modules --- 6831 6832 Behavior = SquishCollide ModuleTag_12 6833 ;nothing 6834 End 6835 6836 Behavior = PoisonedBehavior ModuleTag_17 6837 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 6838 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 6839 End 6840 6841 Behavior = SpecialAbility ModuleTag_18 6842 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 6843 UpdateModuleStartsAttack = Yes 6844 StartsPaused = Yes ; Unpaused by upgrade module 6845 InitiateSound = RangerVoiceCapture 6846 End 6847 Behavior = SpecialAbilityUpdate ModuleTag_19 6848 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 6849 StartAbilityRange = 5.0 6850 UnpackTime = 3000 ; (changing this will scale anim speed) 6851 PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) 6852 PackTime = 2000 ; (changing this will scale anim speed) 6853 DoCaptureFX = Yes 6854 AwardXPForTriggering = 15 6855 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 6856 End 6857 6858 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20 6859 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 6860 TriggeredBy = Upgrade_InfantryCaptureBuilding 6861 End 6862 6863 Geometry = CYLINDER 6864 Scale = 0.95 ;Scaling 6865 GeometryMajorRadius = 1.0 6866 GeometryMinorRadius = 1.0 6867 GeometryHeight = 8.0 6868 6869 GeometryIsSmall = Yes 6870 Shadow = SHADOW_DECAL 6871 ShadowSizeX = 9; 6872 ShadowSizeY = 9; 6873 ShadowTexture = ShadowI; 6874 BuildCompletion = APPEARS_AT_RALLY_POINT 6875 6876 End 6877 6878 ;------------------------------------------------------------------------------ 6879 Object CINE_AmericaInfantryRanger 6880 6881 ; *** ART Parameters *** 6882 SelectPortrait = SARanger_L 6883 ButtonImage = SARanger 6884 6885 UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade 6886 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 6887 ;UpgradeCameo3 = NONE 6888 ;UpgradeCameo4 = NONE 6889 ;UpgradeCameo5 = NONE 6890 6891 Draw = W3DModelDraw ModuleTag_01 6892 OkToChangeModelColor = Yes 6893 6894 ; --- Idle 6895 DefaultConditionState 6896 Model = AIRngr_SKN 6897 IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35 6898 IdleAnimation = AIRngr_SKL.AIRngr_IDA 6899 IdleAnimation = AIRngr_SKL.AIRngr_IDB 6900 AnimationMode = ONCE 6901 WeaponFireFXBone = PRIMARY Muzzle 6902 WeaponMuzzleFlash = PRIMARY MuzzleFX 6903 WeaponFireFXBone = SECONDARY Muzzle 6904 WeaponLaunchBone = SECONDARY Muzzle 6905 TransitionKey = TRANS_Stand 6906 End 6907 6908 ConditionState = REALLYDAMAGED 6909 IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35 6910 IdleAnimation = AIRngr_SKL.AIRngr_IDC 6911 IdleAnimation = AIRngr_SKL.AIRngr_IDD 6912 AnimationMode = ONCE 6913 TransitionKey = TRANS_StandInjured 6914 End 6915 6916 TransitionState = TRANS_Stand TRANS_StandInjured 6917 Animation = AIRngr_SKL.AIRngr_SA2SB 6918 AnimationMode = ONCE 6919 End 6920 6921 ; --- attacking (Machine Gun) 6922 ConditionState = FIRING_A 6923 Animation = AIRngr_SKL.AIRngr_ATA 6924 AnimationMode = LOOP 6925 TransitionKey = TRANS_FiringA 6926 End 6927 AliasConditionState = BETWEEN_FIRING_SHOTS_A 6928 AliasConditionState = RELOADING_A 6929 6930 ConditionState = FIRING_A REALLYDAMAGED 6931 Animation = AIRngr_SKL.AIRngr_ATA2 6932 AnimationMode = LOOP 6933 TransitionKey = TRANS_FiringAInjured 6934 End 6935 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 6936 AliasConditionState = RELOADING_A REALLYDAMAGED 6937 AliasConditionState = MOVING FIRING_A 6938 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 6939 AliasConditionState = MOVING RELOADING_A 6940 6941 TransitionState = TRANS_FiringA TRANS_FiringAInjured 6942 Animation = AIRngr_SKL.AIRngr_A2WAA 6943 AnimationMode = ONCE 6944 End 6945 6946 TransitionState = TRANS_Stand TRANS_FiringA 6947 Animation = AIRngr_SKL.AIRngr_ATAST 6948 AnimationMode = ONCE 6949 AnimationSpeedFactorRange = 4 4 6950 End 6951 6952 TransitionState = TRANS_FiringA TRANS_Stand 6953 Animation = AIRngr_SKL.AIRngr_ATAED 6954 AnimationMode = ONCE 6955 AnimationSpeedFactorRange = 4 4 6956 End 6957 6958 TransitionState = TRANS_StandInjured TRANS_FiringAInjured 6959 Animation = AIRngr_SKL.AIRngr_S2WAA 6960 AnimationMode = ONCE 6961 AnimationSpeedFactorRange = 4 4 6962 End 6963 6964 TransitionState = TRANS_FiringAInjured TRANS_StandInjured 6965 Animation = AIRngr_SKL.AIRngr_WAA2S 6966 AnimationMode = ONCE 6967 AnimationSpeedFactorRange = 4 4 6968 End 6969 6970 ; --- attacking (Grenade Launcher) 6971 ConditionState = PREATTACK_B 6972 Animation = AIRngr_SKL.AIRngr_ATBA 6973 AnimationMode = ONCE 6974 TransitionKey = TRANS_FiringB 6975 End 6976 AliasConditionState = PREATTACK_B MOVING 6977 AliasConditionState = PREATTACK_B FIRING_B 6978 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 6979 6980 ConditionState = FIRING_B 6981 Animation = AIRngr_SKL.AIRngr_ATBB 6982 AnimationMode = ONCE 6983 6984 TransitionKey = TRANS_FiringB 6985 End 6986 6987 ConditionState = BETWEEN_FIRING_SHOTS_B 6988 Animation = AIRngr_SKL.AIRngr_ATBB 6989 AnimationMode = MANUAL 6990 Flags = START_FRAME_LAST 6991 TransitionKey = TRANS_FiringB 6992 WaitForStateToFinishIfPossible = TRANS_FiringB 6993 End 6994 AliasConditionState = RELOADING_B 6995 6996 TransitionState = TRANS_Stand TRANS_FiringB 6997 Animation = AIRngr_SKL.AIRngr_ATBST1 6998 AnimationMode = ONCE 6999 End 7000 7001 TransitionState = TRANS_FiringB TRANS_Stand 7002 Animation = AIRngr_SKL.AIRngr_ATBST2 7003 AnimationMode = ONCE 7004 End 7005 7006 ConditionState = PREATTACK_B REALLYDAMAGED 7007 Animation = AIRngr_SKL.AIRngr_ATB2A 7008 AnimationMode = ONCE 7009 TransitionKey = TRANS_FiringBInjured 7010 End 7011 AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED 7012 AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED 7013 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 7014 7015 ConditionState = FIRING_B REALLYDAMAGED 7016 Animation = AIRngr_SKL.AIRngr_ATB2B 7017 AnimationMode = ONCE 7018 TransitionKey = TRANS_FiringBInjured 7019 End 7020 7021 ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 7022 Animation = AIRngr_SKL.AIRngr_ATB2B 7023 AnimationMode = MANUAL 7024 Flags = START_FRAME_LAST 7025 TransitionKey = TRANS_FiringBInjured 7026 WaitForStateToFinishIfPossible = TRANS_FiringBInjured 7027 End 7028 AliasConditionState = RELOADING_B REALLYDAMAGED 7029 7030 TransitionState = TRANS_StandInjured TRANS_FiringBInjured 7031 Animation = AIRngr_SKL.AIRngr_ATB2ST1 7032 AnimationMode = ONCE 7033 End 7034 7035 TransitionState = TRANS_FiringBInjured TRANS_StandInjured 7036 Animation = AIRngr_SKL.AIRngr_ATB2ST2 7037 AnimationMode = ONCE 7038 End 7039 7040 ; -- cross-attack transitions 7041 7042 TransitionState = TRANS_FiringA TRANS_FiringB 7043 Animation = AIRngr_SKL.AIRngr_ATA2AB 7044 AnimationMode = ONCE 7045 AnimationSpeedFactorRange = 4 4 7046 End 7047 7048 TransitionState = TRANS_FiringB TRANS_FiringA 7049 Animation = AIRngr_SKL.AIRngr_ATA2AB 7050 AnimationMode = ONCE_BACKWARDS 7051 AnimationSpeedFactorRange = 4 4 7052 End 7053 7054 7055 ; --- moving 7056 ConditionState = MOVING 7057 Animation = AIRngr_SKL.AIRngr_RNA 40 7058 AnimationMode = LOOP 7059 Flags = RANDOMSTART 7060 TransitionKey = None 7061 ParticleSysBone = None InfantryDustTrails 7062 End 7063 7064 ConditionState = MOVING REALLYDAMAGED 7065 Animation = AIRngr_SKL.AIRngr_RNB 30 7066 AnimationMode = LOOP 7067 Flags = RANDOMSTART 7068 TransitionKey = None 7069 End 7070 7071 ; --- dying anims 7072 ConditionState = DYING 7073 Animation = AIRngr_SKL.AIRngr_DTA 7074 Animation = AIRngr_SKL.AIRngr_DTB 7075 AnimationMode = ONCE 7076 TransitionKey = None 7077 End 7078 7079 TransitionState = TRANS_Dying TRANS_Flailing 7080 Animation = AIRngr_SKL.AIRngr_ADTF1 7081 AnimationMode = ONCE 7082 End 7083 7084 ConditionState = DYING EXPLODED_FLAILING 7085 Animation = AIRngr_SKL.AIRngr_ADTF2 7086 AnimationMode = LOOP 7087 TransitionKey = TRANS_Flailing 7088 End 7089 7090 ConditionState = DYING EXPLODED_BOUNCING 7091 Animation = AIRngr_SKL.AIRngr_ADTF3 7092 AnimationMode = ONCE 7093 TransitionKey = None 7094 End 7095 AliasConditionState = DYING SPLATTED 7096 7097 ; --- cheering 7098 ConditionState = SPECIAL_CHEERING 7099 Animation = AIRngr_SKL.AIRngr_CHA 7100 AnimationMode = LOOP 7101 End 7102 7103 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 7104 Animation = AIRngr_SKL.AIRngr_CHB 7105 AnimationMode = LOOP 7106 End 7107 7108 ; ----- PARACHUTING ANIMATIONS 7109 ConditionState = FREEFALL 7110 Animation = AIRngr_SKL.AIRngr_PFL 7111 AnimationMode = LOOP 7112 TransitionKey = TRANS_Falling 7113 End 7114 AliasConditionState = FREEFALL REALLYDAMAGED 7115 AliasConditionState = FREEFALL DYING 7116 ConditionState = PARACHUTING 7117 Animation = AIRngr_SKL.AIRngr_PHG 7118 AnimationMode = LOOP 7119 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 7120 TransitionKey = TRANS_Chute 7121 End 7122 AliasConditionState = PARACHUTING REALLYDAMAGED 7123 AliasConditionState = PARACHUTING DYING 7124 TransitionState = TRANS_Falling TRANS_Chute 7125 Animation = AIRngr_SKL.AIRngr_POP 7126 AnimationMode = ONCE 7127 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 7128 End 7129 TransitionState = TRANS_Chute TRANS_Stand 7130 Animation = AIRngr_SKL.AIRngr_PTD 7131 AnimationMode = ONCE 7132 End 7133 TransitionState = TRANS_Chute TRANS_StandInjured 7134 Animation = AIRngr_SKL.AIRngr_PTD 7135 AnimationMode = ONCE 7136 End 7137 7138 ; ------- Bldg-capture 7139 7140 ConditionState = UNPACKING 7141 Model = AIRngr_F_SKN 7142 Animation = AIRngr_F_SKL.AIRngr_F_FDP1 7143 AnimationMode = ONCE 7144 End 7145 AliasConditionState = UNPACKING REALLYDAMAGED 7146 7147 7148 ConditionState = RAISING_FLAG 7149 Model = AIRngr_F_SKN 7150 Animation = AIRngr_F_SKL.AIRngr_F_FDP2 7151 AnimationMode = ONCE 7152 TransitionKey = TRANS_Raising 7153 End 7154 AliasConditionState = RAISING_FLAG REALLYDAMAGED 7155 7156 ConditionState = PACKING 7157 Model = AIRngr_F_SKN 7158 Animation = AIRngr_F_SKL.AIRngr_F_FDP1 7159 AnimationMode = ONCE_BACKWARDS 7160 Flags = START_FRAME_LAST 7161 TransitionKey = TRANS_Packing 7162 End 7163 AliasConditionState = PACKING REALLYDAMAGED 7164 7165 TransitionState = TRANS_Raising TRANS_Packing 7166 Model = AIRngr_F_SKN 7167 Animation = AIRngr_F_SKL.AIRngr_F_FDP2 7168 AnimationMode = ONCE_BACKWARDS 7169 Flags = START_FRAME_LAST 7170 End 7171 7172 ; --- RAPPELLING ANIMATIONS 7173 ConditionState = RAPPELLING 7174 Animation = AIRngr_SKL.AIRngr_RPL1 ;30 7175 AnimationMode = LOOP 7176 Flags = RANDOMSTART 7177 TransitionKey = TRANS_Rappelling 7178 End 7179 AliasConditionState = MOVING RAPPELLING 7180 7181 TransitionState = TRANS_Rappelling TRANS_Stand 7182 Animation = AIRngr_SKL.AIRngr_RPL2 7183 AnimationMode = ONCE 7184 End 7185 7186 TransitionState = TRANS_Rappelling TRANS_StandInjured 7187 Animation = AIRngr_SKL.AIRngr_RPL2 7188 AnimationMode = ONCE 7189 End 7190 7191 End 7192 7193 ; ***DESIGN parameters *** 7194 DisplayName = OBJECT:Ranger 7195 Side = America 7196 EditorSorting = INFANTRY 7197 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 7198 7199 WeaponSet 7200 Conditions = None 7201 Weapon = PRIMARY CINE_RangerAdvancedCombatRifle 7202 End 7203 WeaponSet 7204 Conditions = PLAYER_UPGRADE 7205 Weapon = PRIMARY RangerAdvancedCombatRifle 7206 Weapon = SECONDARY RangerFlashBangGrenadeWeapon 7207 AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 7208 AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI 7209 End 7210 ArmorSet 7211 Conditions = None 7212 Armor = HumanArmor 7213 DamageFX = InfantryDamageFX 7214 End 7215 7216 VisionRange = 100 7217 ShroudClearingRange = 400 7218 Prerequisites 7219 Object = AmericaBarracks 7220 End 7221 BuildCost = 225 7222 BuildTime = 5.0 ;in seconds 7223 7224 ExperienceValue = 20 20 40 60 ;Experience point value at each level 7225 ExperienceRequired = 0 20 40 60 120 ;Experience points needed to gain each level 7226 IsTrainable = Yes ;Can gain experience 7227 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 7228 CommandSet = AmericaInfantryRangerCommandSet 7229 7230 ; *** AUDIO Parameters *** 7231 VoiceSelect = RangerVoiceSelect 7232 VoiceMove = RangerVoiceMove 7233 VoiceGuard = RangerVoiceMove 7234 VoiceAttack = RangerVoiceAttack 7235 SoundDie = RangerVoiceDie 7236 VoiceFear = RangerVoiceFear 7237 VoiceTaskComplete = RangerVoiceCaptureComplete 7238 7239 UnitSpecificSounds 7240 VoiceEnter = RangerVoiceMove 7241 VoiceEnterHostile = RangerVoiceMove 7242 VoiceGarrison = RangerVoiceGarrison 7243 VoiceCreate = RangerVoiceCreate 7244 VoiceSubdue = RangerVoiceSubdue 7245 VoiceClearBuilding = RangerVoiceClearBuilding 7246 VoiceGetHealed = RangerVoiceMove 7247 End 7248 7249 UnitSpecificFX 7250 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 7251 CombatDropKillFX = FX_RangerCombatDropKill 7252 End 7253 7254 ; *** ENGINEERING Parameters *** 7255 RadarPriority = UNIT 7256 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE 7257 7258 Behavior = CommandButtonHuntUpdate ModuleTag_02 7259 End 7260 7261 Body = ActiveBody ModuleTag_03 7262 MaxHealth = 180.0 7263 InitialHealth = 180.0 7264 End 7265 7266 Behavior = ExperienceScalarUpgrade ModuleTag_04 7267 TriggeredBy = Upgrade_AmericaAdvancedTraining 7268 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 7269 End 7270 7271 Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 7272 ScanRate = 1000 ; once a second. 7273 ScanRange = 300 ; 7274 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 7275 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 7276 End 7277 7278 Behavior = AIUpdateInterface ModuleTag_06 7279 AutoAcquireEnemiesWhenIdle = Yes 7280 End 7281 Locomotor = SET_NORMAL BasicHumanLocomotor 7282 7283 Behavior = PhysicsBehavior ModuleTag_07 7284 Mass = 5.0 7285 End 7286 7287 Behavior = ProductionUpdate ModuleTag_08 7288 ; nothing 7289 End 7290 7291 Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit. 7292 End 7293 7294 Behavior = WeaponSetUpgrade ModuleTag_10 7295 TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade 7296 End 7297 7298 7299 ; --- begin Death modules --- 7300 Behavior = SlowDeathBehavior ModuleTag_Death01 7301 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 7302 SinkDelay = 3000 7303 SinkRate = 0.5 ; in Dist/Sec 7304 DestructionDelay = 8000 7305 FX = INITIAL FX_GIDie 7306 End 7307 Behavior = SlowDeathBehavior ModuleTag_Death02 7308 DeathTypes = NONE +CRUSHED +SPLATTED 7309 SinkDelay = 3000 7310 SinkRate = 0.5 ; in Dist/Sec 7311 DestructionDelay = 8000 7312 FX = INITIAL FX_GIDieCrushed 7313 End 7314 Behavior = SlowDeathBehavior ModuleTag_Death03 7315 DeathTypes = NONE +EXPLODED 7316 SinkDelay = 3000 7317 SinkRate = 0.5 ; in Dist/Sec 7318 DestructionDelay = 8000 7319 FX = INITIAL FX_GIDie 7320 FlingForce = 8 7321 FlingForceVariance = 3 7322 FlingPitch = 60 7323 FlingPitchVariance = 10 7324 End 7325 Behavior = SlowDeathBehavior ModuleTag_Death04 7326 DeathTypes = NONE +BURNED 7327 DestructionDelay = 0 7328 FX = INITIAL FX_GIDie 7329 OCL = INITIAL OCL_FlamingInfantry 7330 End 7331 Behavior = SlowDeathBehavior ModuleTag_Death05 7332 DeathTypes = NONE +POISONED 7333 DestructionDelay = 0 7334 FX = INITIAL FX_GIDie 7335 OCL = INITIAL OCL_ToxicInfantry 7336 End 7337 7338 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 7339 DeathTypes = NONE +POISONED_BETA 7340 DestructionDelay = 0 7341 FX = INITIAL FX_GIDie 7342 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 7343 End 7344 ; --- end Death modules --- 7345 7346 Behavior = SquishCollide ModuleTag_12 7347 ;nothing 7348 End 7349 7350 Behavior = PoisonedBehavior ModuleTag_17 7351 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 7352 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 7353 End 7354 7355 Behavior = SpecialAbility ModuleTag_18 7356 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 7357 UpdateModuleStartsAttack = Yes 7358 StartsPaused = Yes ; Unpaused by upgrade module 7359 InitiateSound = RangerVoiceCapture 7360 End 7361 Behavior = SpecialAbilityUpdate ModuleTag_19 7362 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 7363 StartAbilityRange = 5.0 7364 UnpackTime = 3000 ; (changing this will scale anim speed) 7365 PreparationTime = 10000 ; time to complete hack once prepared (changing this will scale anim speed) 7366 PackTime = 2000 ; (changing this will scale anim speed) 7367 DoCaptureFX = Yes 7368 End 7369 7370 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20 7371 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 7372 TriggeredBy = Upgrade_InfantryCaptureBuilding 7373 End 7374 7375 7376 Geometry = CYLINDER 7377 Scale = 0.95 ;Scaling 7378 GeometryMajorRadius = 1.0 7379 GeometryMinorRadius = 1.0 7380 GeometryHeight = 8.0 7381 7382 GeometryIsSmall = Yes 7383 Shadow = SHADOW_DECAL 7384 ShadowSizeX = 9; 7385 ShadowSizeY = 9; 7386 ShadowTexture = ShadowI; 7387 BuildCompletion = APPEARS_AT_RALLY_POINT 7388 7389 End 7390 7391 ;------------------------------------------------------------------------------ 7392 Object AmericaInfantryMissileDefender 7393 7394 ; *** ART Parameters *** 7395 SelectPortrait = SAMissleDefender_L 7396 ButtonImage = SAMissleDefender 7397 7398 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 7399 ;UpgradeCameo2 = NONE 7400 ;UpgradeCameo3 = NONE 7401 ;UpgradeCameo4 = NONE 7402 ;UpgradeCameo5 = NONE 7403 7404 Draw = W3DModelDraw ModuleTag_01 7405 OkToChangeModelColor = Yes 7406 7407 ;***NOTE*** 7408 ;A little history -- the MissileDefender now uses the assets of the TankHunter. 7409 ;The TH uses assets of the GLA tunnel defender, and the TD uses assets of the NEW 7410 ;MD. It was a design/art/code decision because the new missile defender animations 7411 ;don't suit that of a mobile/offensive unit with packing and unpacking. 7412 7413 DefaultConditionState 7414 Model = NITHNT_SKN 7415 IdleAnimation = NITHNT_SKL.NITHNT_STA 0 30 7416 IdleAnimation = NITHNT_SKL.NITHNT_IDA 7417 IdleAnimation = NITHNT_SKL.NITHNT_IDB 7418 AnimationMode = ONCE 7419 AnimationSpeedFactorRange = 0.8 1.2 7420 TransitionKey = TRANS_Stand 7421 WeaponMuzzleFlash = PRIMARY MuzzleFX 7422 WeaponFireFXBone = PRIMARY Muzzle 7423 WeaponLaunchBone = PRIMARY Muzzle 7424 WeaponLaunchBone = SECONDARY Muzzle 7425 7426 End 7427 AliasConditionState = REALLYDAMAGED 7428 7429 ConditionState = FIRING_A 7430 Animation = NITHNT_SKL.NITHNT_ATA 7431 AnimationMode = ONCE 7432 TransitionKey = TRANS_START_FIRING 7433 End 7434 AliasConditionState = FIRING_A REALLYDAMAGED 7435 7436 ConditionState = BETWEEN_FIRING_SHOTS_A 7437 Animation = NITHNT_SKL.NITHNT_STA 7438 AnimationMode = ONCE 7439 ; this is basically a trick: this guy has a nontrivial animation for firing, 7440 ; and a long recycle time between shots. we want him to finish his fire animation 7441 ; (unless he's ordered to do something else), so this is just a handy trick that 7442 ; says, "if the previous state had this transition key, allow it to finish before 7443 ; switching to us, if possible". 7444 WaitForStateToFinishIfPossible = TRANS_START_FIRING 7445 End 7446 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 7447 7448 ConditionState = MOVING 7449 Animation = NITHNT_SKL.NITHNT_RNA 20 7450 AnimationMode = LOOP 7451 Flags = RANDOMSTART 7452 TransitionKey = None 7453 ParticleSysBone = None InfantryDustTrails 7454 End 7455 AliasConditionState = MOVING REALLYDAMAGED 7456 7457 ConditionState = RELOADING_A 7458 Animation = NITHNT_SKL.NITHNT_ATA 10 7459 AnimationMode = ONCE 7460 ;WeaponLaunchBone = PRIMARY WeaponA 7461 End 7462 AliasConditionState = MOVING RELOADING_A 7463 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 7464 7465 ConditionState = DYING 7466 Animation = NITHNT_SKL.NITHNT_DTA 7467 Animation = NITHNT_SKL.NITHNT_DTB 7468 AnimationSpeedFactorRange = 0.9 1.25 7469 AnimationMode = ONCE 7470 TransitionKey = TRANS_Dying 7471 End 7472 7473 TransitionState = TRANS_Dying TRANS_Flailing 7474 Animation = NITHNT_SKL.NITHNT_ADTA1 7475 AnimationMode = ONCE 7476 End 7477 7478 ConditionState = DYING EXPLODED_FLAILING 7479 Animation = NITHNT_SKL.NITHNT_ADTA2 7480 AnimationMode = LOOP 7481 TransitionKey = TRANS_Flailing 7482 End 7483 7484 ConditionState = DYING EXPLODED_BOUNCING 7485 Animation = NITHNT_SKL.NITHNT_ADTA3 7486 AnimationMode = ONCE 7487 TransitionKey = None 7488 End 7489 7490 ;PARACHUTING ANIMATIONS 7491 ConditionState = FREEFALL 7492 Animation = NITHNT_SKL.NITHNT_PFL 7493 AnimationMode = LOOP 7494 TransitionKey = TRANS_Falling 7495 End 7496 AliasConditionState = FREEFALL REALLYDAMAGED 7497 AliasConditionState = FREEFALL DYING 7498 7499 ConditionState = PARACHUTING 7500 Animation = NITHNT_SKL.NITHNT_PHG 7501 AnimationMode = LOOP 7502 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 7503 TransitionKey = TRANS_Chute 7504 End 7505 AliasConditionState = PARACHUTING REALLYDAMAGED 7506 AliasConditionState = PARACHUTING DYING 7507 7508 TransitionState = TRANS_Falling TRANS_Chute 7509 Animation = NITHNT_SKL.NITHNT_POP 7510 AnimationMode = ONCE 7511 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 7512 End 7513 7514 TransitionState = TRANS_Chute TRANS_Stand 7515 Animation = NITHNT_SKL.NITHNT_PTD 7516 AnimationMode = ONCE 7517 End 7518 7519 End 7520 7521 ; ***DESIGN parameters *** 7522 DisplayName = OBJECT:MissileTeam 7523 Side = America 7524 EditorSorting = INFANTRY 7525 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 7526 7527 WeaponSet 7528 Conditions = None 7529 Weapon = PRIMARY MissileDefenderMissileWeapon 7530 Weapon = SECONDARY MissileDefenderLaserGuidedMissileWeapon ;Controlled by special ability 7531 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 7532 AutoChooseSources = SECONDARY NONE 7533 End 7534 ArmorSet 7535 Conditions = None 7536 Armor = HumanArmor 7537 DamageFX = InfantryDamageFX 7538 End 7539 7540 VisionRange = 150 7541 ShroudClearingRange = 300 7542 Prerequisites 7543 Object = AmericaBarracks 7544 7545 End 7546 BuildCost = 300 7547 BuildTime = 5.0 ;in seconds 7548 7549 ExperienceValue = 20 20 40 60 ;Experience point value at each level 7550 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each 7551 IsTrainable = Yes ;Can gain experience 7552 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 7553 CommandSet = AmericaInfantryMissileDefenderCommandSet 7554 7555 ; *** AUDIO Parameters *** 7556 VoiceSelect = MissileDefenderVoiceSelect 7557 VoiceMove = MissileDefenderVoiceMove 7558 VoiceGuard = MissileDefenderVoiceMove 7559 VoiceAttack = MissileDefenderVoiceAttack 7560 VoiceAttackAir = MissileDefenderVoiceAttack 7561 SoundDie = MissileDefenderVoiceDie 7562 SoundDieFire = DieByFireUSA 7563 SoundDieToxin = DieByToxinUSA 7564 VoiceFear = MissileDefenderVoiceFear 7565 7566 UnitSpecificSounds 7567 VoiceGarrison = MissileDefenderVoiceGarrison 7568 VoiceCreate = MissileDefenderVoiceCreate 7569 VoiceEnter = MissileDefenderVoiceMove 7570 VoiceGetHealed = MissileDefenderVoiceMove 7571 End 7572 7573 ; *** ENGINEERING Parameters *** 7574 RadarPriority = UNIT 7575 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE 7576 7577 Body = ActiveBody ModuleTag_02 7578 MaxHealth = 100.0 7579 InitialHealth = 100.0 7580 End 7581 7582 Behavior = ExperienceScalarUpgrade ModuleTag_03 7583 TriggeredBy = Upgrade_AmericaAdvancedTraining 7584 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 7585 End 7586 7587 Behavior = AIUpdateInterface ModuleTag_04 7588 AutoAcquireEnemiesWhenIdle = Yes 7589 End 7590 7591 Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 7592 ScanRate = 1000 ; once a second. 7593 ScanRange = 300 ; 7594 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 7595 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 7596 End 7597 7598 Locomotor = SET_NORMAL MissileDefenderLocomotor 7599 7600 Behavior = PhysicsBehavior ModuleTag_06 7601 Mass = 5.0 7602 End 7603 7604 Behavior = SpecialAbility ModuleTag_08 7605 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles 7606 UpdateModuleStartsAttack = Yes 7607 InitiateSound = MissileDefenderVoiceAttackLaser 7608 End 7609 Behavior = SpecialAbilityUpdate ModuleTag_09 7610 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles 7611 StartAbilityRange = 200.0 7612 AbilityAbortRange = 250.0 ;If the target moves outside this range, abort. 7613 PreparationTime = 1000 7614 PersistentPrepTime = 500 7615 SpecialObject = LaserBeam 7616 SpecialObjectAttachToBone = Muzzle01 7617 End 7618 7619 Behavior = SquishCollide ModuleTag_10 7620 ;nothing 7621 End 7622 7623 7624 ; --- begin Death modules --- 7625 Behavior = SlowDeathBehavior ModuleTag_Death01 7626 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 7627 SinkDelay = 50000 7628 SinkRate = 0.5 ; in Dist/Sec 7629 DestructionDelay = 8000000 7630 FX = INITIAL FX_GIDie 7631 End 7632 Behavior = SlowDeathBehavior ModuleTag_Death02 7633 DeathTypes = NONE +CRUSHED +SPLATTED 7634 SinkDelay = 50000 7635 SinkRate = 0.5 ; in Dist/Sec 7636 DestructionDelay = 8000000 7637 FX = INITIAL FX_GIDieCrushed 7638 End 7639 Behavior = SlowDeathBehavior ModuleTag_Death03 7640 DeathTypes = NONE +EXPLODED 7641 SinkDelay = 50000 7642 SinkRate = 0.5 ; in Dist/Sec 7643 DestructionDelay = 8000000 7644 FX = INITIAL FX_GIDie 7645 FlingForce = 8 7646 FlingForceVariance = 3 7647 FlingPitch = 60 7648 FlingPitchVariance = 10 7649 End 7650 Behavior = SlowDeathBehavior ModuleTag_Death04 7651 DeathTypes = NONE +BURNED 7652 DestructionDelay = 0 7653 FX = INITIAL FX_GIDie 7654 OCL = INITIAL OCL_FlamingInfantry 7655 End 7656 Behavior = SlowDeathBehavior ModuleTag_Death05 7657 DeathTypes = NONE +POISONED 7658 DestructionDelay = 0 7659 FX = INITIAL FX_GIDie 7660 OCL = INITIAL OCL_ToxicInfantry 7661 End 7662 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 7663 DeathTypes = NONE +POISONED_BETA 7664 DestructionDelay = 0 7665 FX = INITIAL FX_GIDie 7666 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 7667 End 7668 ; --- end Death modules --- 7669 7670 Behavior = PoisonedBehavior ModuleTag_13 7671 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 7672 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 7673 End 7674 7675 Geometry = CYLINDER 7676 Scale = 0.95 ;Scaling 7677 GeometryMajorRadius = 1.0 7678 GeometryMinorRadius = 1.0 7679 GeometryHeight = 8.0 7680 GeometryIsSmall = Yes 7681 Shadow = SHADOW_DECAL 7682 ShadowSizeX = 9; 7683 ShadowSizeY = 9; 7684 ShadowTexture = ShadowI; 7685 BuildCompletion = APPEARS_AT_RALLY_POINT 7686 7687 End 7688 7689 ;------------------------------------------------------------------------------ 7690 ; @todo -- this entire unit is "first pass only" and needs lots of specialization 7691 Object AmericaInfantryPilot 7692 7693 ; *** ART Parameters *** 7694 SelectPortrait = SAPilot_L 7695 ButtonImage = SAPilot 7696 7697 ;UpgradeCameo1 = NONE 7698 ;UpgradeCameo2 = NONE 7699 ;UpgradeCameo3 = NONE 7700 ;UpgradeCameo4 = NONE 7701 ;UpgradeCameo5 = NONE 7702 7703 Draw = W3DModelDraw ModuleTag_01 7704 OkToChangeModelColor = Yes 7705 7706 DefaultConditionState 7707 Model = AIRPlt_SKN 7708 IdleAnimation = AIRPlt_SKL.AIRPlt_STA 0 20 7709 IdleAnimation = AIRPlt_SKL.AIRPlt_IDA 7710 IdleAnimation = AIRPlt_SKL.AIRPlt_IDB 7711 AnimationMode = ONCE 7712 TransitionKey = TRANS_Stand 7713 End 7714 7715 ConditionState = FREEFALL 7716 Animation = AIRPlt_SKL.AIRPLT_PFL 7717 AnimationMode = ONCE 7718 TransitionKey = TRANS_Falling 7719 End 7720 AliasConditionState = FREEFALL DYING 7721 7722 ConditionState = PARACHUTING 7723 Animation = AIRPlt_SKL.AIRPlt_PHG 7724 AnimationMode = LOOP 7725 TransitionKey = TRANS_Chute 7726 WaitForStateToFinishIfPossible = TRANS_Falling 7727 End 7728 AliasConditionState = PARACHUTING DYING 7729 7730 ConditionState = MOVING 7731 Animation = AIRPlt_SKL.AIRPlt_RNA 7732 AnimationMode = LOOP 7733 TransitionKey = TRANS_Stand 7734 ParticleSysBone = None InfantryDustTrails 7735 End 7736 7737 7738 ConditionState = DYING 7739 Animation = AIRPlt_SKL.AIRPlt_DTA 7740 Animation = AIRPlt_SKL.AIRPlt_DTB 7741 AnimationMode = ONCE 7742 TransitionKey = TRANS_Dying 7743 End 7744 7745 TransitionState = TRANS_Dying TRANS_Flailing 7746 Animation = AIRPlt_SKL.AIRPlt_ADTE1 7747 AnimationMode = ONCE 7748 End 7749 7750 ConditionState = DYING EXPLODED_FLAILING 7751 Animation = AIRPlt_SKL.AIRPlt_ADTE2 7752 AnimationMode = LOOP 7753 TransitionKey = TRANS_Flailing 7754 End 7755 7756 ConditionState = DYING EXPLODED_BOUNCING 7757 Animation = AIRPlt_SKL.AIRPlt_ADTE3 7758 AnimationMode = ONCE 7759 TransitionKey = None 7760 End 7761 7762 ConditionState = SPECIAL_CHEERING 7763 Animation = AIRPLT_SKL.AIRPLT_CHA 7764 AnimationMode = LOOP 7765 End 7766 7767 ;@TODO -- MISSING ANIMATION FILE 7768 ;TransitionState = TRANS_Falling TRANS_Chute 7769 ; Animation = AIRPLT_SKL.AIRPLT_POP 7770 ; AnimationMode = ONCE 7771 ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 7772 ;End 7773 7774 TransitionState = TRANS_Chute TRANS_Stand 7775 Animation = AIRPlt_SKL.AIRPlt_PTD 7776 AnimationMode = ONCE 7777 End 7778 7779 End 7780 7781 ; ***DESIGN parameters *** 7782 DisplayName = OBJECT:Pilot 7783 Side = America 7784 EditorSorting = INFANTRY 7785 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 7786 ExperienceValue = 10 10 10 10 ;Experience point value at each level 7787 ExperienceRequired = 0 1 2 3 ;Experience points needed to gain each level 7788 IsTrainable = Yes ;Can gain experience 7789 CommandSet = AmericaInfantryPilotCommandSet 7790 7791 ArmorSet 7792 Conditions = None 7793 Armor = HumanArmor 7794 DamageFX = InfantryDamageFX 7795 End 7796 7797 VisionRange = 150 7798 ShroudClearingRange = 300 7799 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 7800 7801 ; *** AUDIO Parameters *** 7802 VoiceSelect = PilotVoiceSelect 7803 VoiceMove = PilotVoiceMove 7804 VoiceAttack = PilotVoiceMove 7805 SoundDie = PilotVoiceDie 7806 SoundDieFire = DieByFireUSA 7807 SoundDieToxin = DieByToxinUSA 7808 VoiceGarrison = PilotVoiceGarrison 7809 VoiceFear = PilotVoiceFear 7810 UnitSpecificSounds 7811 VoiceEnter = PilotVoiceEnter 7812 VoiceEnterHostile = PilotVoiceEnter 7813 VoiceGetHealed = PilotVoiceMove 7814 End 7815 7816 ; *** ENGINEERING Parameters *** 7817 RadarPriority = UNIT 7818 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE IGNORES_SELECT_ALL 7819 7820 Behavior = VeterancyGainCreate ModuleTag_02 7821 ; omit the "ScienceRequired" so that this upgrade always occurs. 7822 ; Pilots should never (repeat, never) be less than VETERAN status. 7823 StartingLevel = VETERAN 7824 End 7825 7826 Behavior = VeterancyCrateCollide ModuleTag_03 7827 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with 7828 ForbiddenKindOf = DOZER ; but not to TRANSPORTs or DOZERs! 7829 EffectRange = 0 ; 0=="affect only the thing you collide with" 7830 AddsOwnerVeterancy = Yes ; we add our own veterancy to the target (rather than just +1 level) 7831 IsPilot = Yes ; set the pilot flag because it's different than the veterancy crate and has extra checking 7832 End 7833 7834 Body = ActiveBody ModuleTag_04 7835 MaxHealth = 100.0 7836 InitialHealth = 100.0 7837 End 7838 7839 Behavior = AIUpdateInterface ModuleTag_05 7840 AutoAcquireEnemiesWhenIdle = Yes 7841 End 7842 7843 Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba 7844 ScanRate = 1000 ; once a second. 7845 ScanRange = 300 ; 7846 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 7847 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 7848 End 7849 7850 Behavior = PilotFindVehicleUpdate ModuleTag_07 ; This update will have the unit go to a vehicle. jba 7851 ScanRate = 1000 ; once a second. 7852 ScanRange = 300 ; 7853 MinHealth = 0.5 ; don't enter a vehicle less than 50% healthy. 7854 End 7855 7856 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor 7857 Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25 7858 7859 Behavior = PhysicsBehavior ModuleTag_08 7860 Mass = 5.0 7861 End 7862 7863 Behavior = LocomotorSetUpgrade ModuleTag_10 7864 TriggeredBy = Upgrade_Veterancy_HEROIC 7865 End 7866 7867 Behavior = SquishCollide ModuleTag_11 7868 ;nothing 7869 End 7870 7871 7872 ; --- begin Death modules --- 7873 Behavior = SlowDeathBehavior ModuleTag_Death01 7874 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 7875 SinkDelay = 3000 7876 SinkRate = 0.5 ; in Dist/Sec 7877 DestructionDelay = 8000 7878 FX = INITIAL FX_GIDie 7879 End 7880 Behavior = SlowDeathBehavior ModuleTag_Death02 7881 DeathTypes = NONE +CRUSHED +SPLATTED 7882 SinkDelay = 3000 7883 SinkRate = 0.5 ; in Dist/Sec 7884 DestructionDelay = 8000 7885 FX = INITIAL FX_GIDieCrushed 7886 End 7887 Behavior = SlowDeathBehavior ModuleTag_Death03 7888 DeathTypes = NONE +EXPLODED 7889 SinkDelay = 3000 7890 SinkRate = 0.5 ; in Dist/Sec 7891 DestructionDelay = 8000 7892 FX = INITIAL FX_GIDie 7893 FlingForce = 8 7894 FlingForceVariance = 3 7895 FlingPitch = 60 7896 FlingPitchVariance = 10 7897 End 7898 Behavior = SlowDeathBehavior ModuleTag_Death04 7899 DeathTypes = NONE +BURNED 7900 DestructionDelay = 0 7901 FX = INITIAL FX_GIDie 7902 OCL = INITIAL OCL_FlamingInfantry 7903 End 7904 Behavior = SlowDeathBehavior ModuleTag_Death05 7905 DeathTypes = NONE +POISONED 7906 DestructionDelay = 0 7907 FX = INITIAL FX_GIDie 7908 OCL = INITIAL OCL_ToxicInfantry 7909 End 7910 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 7911 DeathTypes = NONE +POISONED_BETA 7912 DestructionDelay = 0 7913 FX = INITIAL FX_GIDie 7914 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 7915 End 7916 ; --- end Death modules --- 7917 7918 Behavior = PoisonedBehavior ModuleTag_14 7919 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 7920 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 7921 End 7922 7923 Geometry = CYLINDER 7924 Scale = 0.95 ;Scaling 7925 GeometryMajorRadius = 1.0 7926 GeometryMinorRadius = 1.0 7927 GeometryHeight = 8.0 7928 GeometryIsSmall = Yes 7929 Shadow = SHADOW_DECAL 7930 ShadowSizeX = 9; 7931 ShadowSizeY = 9; 7932 ShadowTexture = ShadowI; 7933 BuildCompletion = APPEARS_AT_RALLY_POINT 7934 7935 End 7936 7937 ;------------------------------------------------------------------------------ 7938 Object AmericaInfantryPathfinder 7939 7940 ; *** ART Parameters *** 7941 SelectPortrait = SAPathfinder1_L 7942 ButtonImage = SAPathfinder1 7943 7944 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 7945 ;UpgradeCameo2 = NONE 7946 ;UpgradeCameo3 = NONE 7947 ;UpgradeCameo4 = NONE 7948 ;UpgradeCameo5 = NONE 7949 7950 Draw = W3DModelDraw ModuleTag_01 7951 7952 OkToChangeModelColor = Yes 7953 7954 DefaultConditionState 7955 Model = AIPFDR_SKN 7956 IdleAnimation = AIPFDR_SKL.AIPFDR_STA 7957 IdleAnimation = AIPFDR_SKL.AIPFDR_IDA 7958 AnimationMode = ONCE 7959 WeaponFireFXBone = PRIMARY Muzzle 7960 WeaponMuzzleFlash = PRIMARY MuzzleFX 7961 TransitionKey = TRANS_Standing 7962 End 7963 AliasConditionState = REALLYDAMAGED 7964 7965 ConditionState = MOVING 7966 Animation = AIPFDR_SKL.AIPFDR_RNA 25 7967 AnimationMode = LOOP 7968 Flags = RANDOMSTART 7969 TransitionKey = TRANS_Standing 7970 ParticleSysBone = None InfantryDustTrails 7971 End 7972 AliasConditionState = MOVING REALLYDAMAGED 7973 7974 ConditionState = FIRING_A 7975 Animation = AIPFDR_SKL.AIPFDR_ATB ; recoil in standing position 7976 AnimationMode = ONCE 7977 TransitionKey = TRANS_FiringA 7978 End 7979 AliasConditionState = FIRING_A MOVING 7980 AliasConditionState = FIRING_A MOVING REALLYDAMAGED 7981 AliasConditionState = FIRING_A REALLYDAMAGED 7982 7983 ConditionState = BETWEEN_FIRING_SHOTS_A 7984 Animation = AIPFDR_SKL.AIPFDR_ATBST ; motionless in standing position 7985 AnimationMode = ONCE 7986 WaitForStateToFinishIfPossible = TRANS_FiringA 7987 End 7988 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 7989 AliasConditionState = RELOADING_A 7990 AliasConditionState = RELOADING_A REALLYDAMAGED 7991 7992 ConditionState = DYING 7993 Animation = AIPFDR_SKL.AIPFDR_DTA 7994 AnimationMode = ONCE 7995 TransitionKey = TRANS_Dying 7996 End 7997 7998 TransitionState = TRANS_Dying TRANS_Flailing 7999 Animation = AIPFDR_SKL.AIPFDR_ADTA1 8000 AnimationMode = ONCE 8001 End 8002 8003 ConditionState = DYING EXPLODED_FLAILING 8004 Animation = AIPFDR_SKL.AIPFDR_ADTA2 8005 AnimationMode = LOOP 8006 TransitionKey = TRANS_Flailing 8007 End 8008 8009 ConditionState = DYING EXPLODED_BOUNCING 8010 Animation = AIPFDR_SKL.AIPFDR_ADTA3 8011 AnimationMode = ONCE 8012 TransitionKey = None 8013 End 8014 8015 ConditionState = FREEFALL 8016 Animation = AIPFDR_SKL.AIPFDR_PFL 8017 AnimationMode = LOOP 8018 TransitionKey = TRANS_Falling 8019 End 8020 AliasConditionState = FREEFALL DYING 8021 8022 ConditionState = PARACHUTING 8023 Animation = AIPFDR_SKL.AIPFDR_PHG 8024 AnimationMode = LOOP 8025 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME 8026 ;our bone positions should come from the last frame, rather than the first 8027 TransitionKey = TRANS_Chute 8028 End 8029 AliasConditionState = PARACHUTING DYING 8030 8031 8032 TransitionState = TRANS_Falling TRANS_Chute 8033 Animation = AIPFDR_SKL.AIPFDR_POP 8034 AnimationMode = ONCE 8035 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME 8036 ;our bone positions should come from the last frame, rather than the first 8037 End 8038 8039 TransitionState = TRANS_Chute TRANS_Standing 8040 Animation = AIPFDR_SKL.AIPFDR_PTD 8041 AnimationMode = ONCE 8042 End 8043 End 8044 8045 8046 ; ***DESIGN parameters *** 8047 DisplayName = OBJECT:Pathfinder 8048 Side = America 8049 EditorSorting = INFANTRY 8050 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 8051 8052 WeaponSet 8053 Conditions = None 8054 Weapon = PRIMARY USAPathfinderSniperRifle 8055 End 8056 ArmorSet 8057 Conditions = None 8058 Armor = HumanArmor 8059 DamageFX = InfantryDamageFX 8060 End 8061 8062 VisionRange = 200 8063 ShroudClearingRange = 400 8064 Prerequisites 8065 Object = AmericaBarracks 8066 Science = SCIENCE_Pathfinder 8067 End 8068 BuildCost = 600 8069 BuildTime = 10.0 ;in seconds 8070 8071 ExperienceValue = 40 40 60 80 ;Experience point value at each level 8072 ExperienceRequired = 0 50 100 200 ;Experience points needed to gain each level 8073 IsTrainable = Yes ;Can gain experience 8074 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 8075 CommandSet = AmericaInfantryPathfinderCommandSet 8076 8077 ; *** AUDIO Parameters *** 8078 VoiceSelect = PathfinderVoiceSelect 8079 VoiceMove = PathfinderVoiceMove 8080 VoiceGuard = PathfinderVoiceMove 8081 VoiceAttack = PathfinderVoiceAttack 8082 SoundDie = PathfinderVoiceDie 8083 SoundDieFire = DieByFireUSA 8084 SoundDieToxin = DieByToxinUSA 8085 VoiceFear = PathfinderVoiceFear 8086 SoundStealthOn = StealthOn 8087 SoundStealthOff = StealthOff 8088 VoiceFear = PathfinderVoiceFear 8089 8090 UnitSpecificSounds 8091 VoiceCreate = PathfinderVoiceCreate 8092 VoiceGarrison = PathfinderVoiceGarrison 8093 VoiceEnter = PathfinderVoiceMove 8094 VoiceEnterHostile = PathfinderVoiceMove 8095 VoiceGetHealed = PathfinderVoiceMove 8096 End 8097 8098 ; *** ENGINEERING Parameters *** 8099 RadarPriority = UNIT 8100 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE 8101 8102 Body = ActiveBody ModuleTag_02 8103 MaxHealth = 120.0 8104 InitialHealth = 120.0 8105 End 8106 8107 Behavior = AIUpdateInterface ModuleTag_03 8108 AutoAcquireEnemiesWhenIdle = Yes Stealthed 8109 MoodAttackCheckRate = 250 8110 End 8111 8112 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 8113 ScanRate = 1000 ; once a second. 8114 ScanRange = 300 ; 8115 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 8116 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 8117 End 8118 8119 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor 8120 8121 Behavior = ExperienceScalarUpgrade ModuleTag_05 8122 TriggeredBy = Upgrade_AmericaAdvancedTraining 8123 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 8124 End 8125 8126 Behavior = PhysicsBehavior ModuleTag_06 8127 Mass = 5.0 8128 End 8129 Behavior = StealthDetectorUpdate ModuleTag_08 8130 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 8131 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 8132 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 8133 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 8134 End 8135 Behavior = StealthUpdate ModuleTag_09 8136 StealthDelay = 0 ; msec 8137 StealthForbiddenConditions = MOVING ; stays stealthy while attacking 8138 FriendlyOpacityMin = 30.0% 8139 FriendlyOpacityMax = 80.0% 8140 PulseFrequency = 500 ; msec 8141 MoveThresholdSpeed = 3 8142 InnateStealth = Yes 8143 OrderIdleEnemiesToAttackMeUponReveal = Yes 8144 End 8145 8146 Behavior = SquishCollide ModuleTag_10 8147 ;nothing 8148 End 8149 8150 8151 ; --- begin Death modules --- 8152 Behavior = SlowDeathBehavior ModuleTag_Death01 8153 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 8154 SinkDelay = 50000 8155 SinkRate = 0.5 ; in Dist/Sec 8156 DestructionDelay = 8000000 8157 FX = INITIAL FX_GIDie 8158 End 8159 Behavior = SlowDeathBehavior ModuleTag_Death02 8160 DeathTypes = NONE +CRUSHED +SPLATTED 8161 SinkDelay = 50000 8162 SinkRate = 0.5 ; in Dist/Sec 8163 DestructionDelay = 8000000 8164 FX = INITIAL FX_GIDieCrushed 8165 End 8166 Behavior = SlowDeathBehavior ModuleTag_Death03 8167 DeathTypes = NONE +EXPLODED 8168 SinkDelay = 50000 8169 SinkRate = 0.5 ; in Dist/Sec 8170 DestructionDelay = 8000000 8171 FX = INITIAL FX_GIDie 8172 FlingForce = 8 8173 FlingForceVariance = 3 8174 FlingPitch = 60 8175 FlingPitchVariance = 10 8176 End 8177 Behavior = SlowDeathBehavior ModuleTag_Death04 8178 DeathTypes = NONE +BURNED 8179 DestructionDelay = 0 8180 FX = INITIAL FX_GIDie 8181 OCL = INITIAL OCL_FlamingInfantry 8182 End 8183 Behavior = SlowDeathBehavior ModuleTag_Death05 8184 DeathTypes = NONE +POISONED 8185 DestructionDelay = 0 8186 FX = INITIAL FX_GIDie 8187 OCL = INITIAL OCL_ToxicInfantry 8188 End 8189 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 8190 DeathTypes = NONE +POISONED_BETA 8191 DestructionDelay = 0 8192 FX = INITIAL FX_GIDie 8193 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 8194 End 8195 ; --- end Death modules --- 8196 8197 Behavior = PoisonedBehavior ModuleTag_13 8198 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 8199 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 8200 End 8201 8202 Geometry = CYLINDER 8203 Scale = 0.95 ;Scaling 8204 GeometryMajorRadius = 1.0 8205 GeometryMinorRadius = 1.0 8206 GeometryHeight = 5.0 8207 GeometryIsSmall = Yes 8208 Shadow = SHADOW_DECAL 8209 ShadowSizeX = 9; 8210 ShadowSizeY = 9; 8211 ShadowTexture = ShadowI; 8212 BuildCompletion = APPEARS_AT_RALLY_POINT 8213 8214 End 8215 8216 ;------------------------------------------------------------------------------ 8217 Object CINE_AmericanInfantryPathfinder 8218 8219 ; *** ART Parameters *** 8220 SelectPortrait = SAPathfinder1_L 8221 ButtonImage = SAPathfinder1 8222 8223 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 8224 ;UpgradeCameo2 = NONE 8225 ;UpgradeCameo3 = NONE 8226 ;UpgradeCameo4 = NONE 8227 ;UpgradeCameo5 = NONE 8228 8229 Draw = W3DModelDraw ModuleTag_01 8230 8231 OkToChangeModelColor = Yes 8232 8233 DefaultConditionState 8234 Model = AIPFDR_SKN 8235 IdleAnimation = AIPFDR_SKL.AIPFDR_STA 0 14 8236 IdleAnimation = AIPFDR_SKL.AIPFDR_IDA 8237 AnimationMode = ONCE 8238 WeaponFireFXBone = PRIMARY Muzzle 8239 WeaponMuzzleFlash = PRIMARY MuzzleFX 8240 TransitionKey = TRANS_Standing 8241 End 8242 8243 ConditionState = MOVING 8244 Animation = AIPFDR_SKL.AIPFDR_RNA 30 8245 AnimationMode = LOOP 8246 Flags = RANDOMSTART 8247 TransitionKey = TRANS_Standing 8248 ParticleSysBone = None InfantryDustTrails 8249 End 8250 8251 TransitionState = TRANS_Standing TRANS_PreAttack 8252 Animation = AIPFDR_SKL.AIPFDR_DVA ; dive to the ground 8253 AnimationMode = ONCE 8254 End 8255 8256 ConditionState = PREATTACK_A 8257 Animation = AIPFDR_SKL.AIPFDR_STB ; motionless in prone position 8258 AnimationMode = ONCE 8259 TransitionKey = TRANS_PreAttack 8260 End 8261 AliasConditionState = PREATTACK_A MOVING 8262 AliasConditionState = PREATTACK_A FIRING_A 8263 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 8264 8265 ConditionState = FIRING_A 8266 Animation = AIPFDR_SKL.AIPFDR_ATA ; recoil in prone position 8267 AnimationMode = ONCE 8268 TransitionKey = TRANS_LyingDown 8269 End 8270 AliasConditionState = RELOADING_A 8271 AliasConditionState = BETWEEN_FIRING_SHOTS_A 8272 8273 ConditionState = MOVING FIRING_A 8274 Animation = AIPFDR_SKL.AIPFDR_CLA 15 ; crawling 8275 AnimationMode = LOOP 8276 TransitionKey = TRANS_LyingDown 8277 ParticleSysBone = None InfantryDustTrails 8278 End 8279 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 8280 AliasConditionState = MOVING RELOADING_A 8281 8282 ; TransitionState = TRANS_Standing TRANS_LyingDown 8283 ; Animation = AIPFDR_SKL.AIPFDR_DVA ; dive to the ground 8284 ; AnimationMode = ONCE 8285 ; End 8286 8287 TransitionState = TRANS_LyingDown TRANS_Dying 8288 Animation = AIPFDR_SKL.AIPFDR_SUA ; getting up 8289 AnimationMode = ONCE 8290 End 8291 TransitionState = TRANS_LyingDown TRANS_Standing 8292 Animation = AIPFDR_SKL.AIPFDR_SUA ; getting up 8293 AnimationMode = ONCE 8294 End 8295 8296 ConditionState = DYING 8297 Animation = AIPFDR_SKL.AIPFDR_DTA 8298 AnimationMode = ONCE 8299 TransitionKey = TRANS_Dying 8300 End 8301 8302 TransitionState = TRANS_Dying TRANS_Flailing 8303 Animation = AIPFDR_SKL.AIPFDR_ADTA1 8304 AnimationMode = ONCE 8305 End 8306 8307 ConditionState = DYING EXPLODED_FLAILING 8308 Animation = AIPFDR_SKL.AIPFDR_ADTA2 8309 AnimationMode = LOOP 8310 TransitionKey = TRANS_Flailing 8311 End 8312 8313 ConditionState = DYING EXPLODED_BOUNCING 8314 Animation = AIPFDR_SKL.AIPFDR_ADTA3 8315 AnimationMode = ONCE 8316 TransitionKey = None 8317 End 8318 8319 ConditionState = FREEFALL 8320 Animation = AIPFDR_SKL.AIPFDR_PFL 8321 AnimationMode = LOOP 8322 TransitionKey = TRANS_Falling 8323 End 8324 AliasConditionState = FREEFALL DYING 8325 8326 ConditionState = PARACHUTING 8327 Animation = AIPFDR_SKL.AIPFDR_PHG 8328 AnimationMode = LOOP 8329 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME 8330 ;our bone positions should come from the last frame, rather than the first 8331 TransitionKey = TRANS_Chute 8332 End 8333 AliasConditionState = PARACHUTING DYING 8334 8335 8336 TransitionState = TRANS_Falling TRANS_Chute 8337 Animation = AIPFDR_SKL.AIPFDR_POP 8338 AnimationMode = ONCE 8339 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME 8340 ;our bone positions should come from the last frame, rather than the first 8341 End 8342 8343 TransitionState = TRANS_Chute TRANS_Standing 8344 Animation = AIPFDR_SKL.AIPFDR_PTD 8345 AnimationMode = ONCE 8346 End 8347 End 8348 8349 8350 ; ***DESIGN parameters *** 8351 DisplayName = OBJECT:Pathfinder 8352 Side = America 8353 EditorSorting = INFANTRY 8354 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 8355 8356 WeaponSet 8357 Conditions = None 8358 Weapon = PRIMARY CINE_USAPathfinderSniperRifle 8359 End 8360 ArmorSet 8361 Conditions = None 8362 Armor = HumanArmor 8363 DamageFX = InfantryDamageFX 8364 End 8365 8366 VisionRange = 300 8367 ShroudClearingRange = 400 8368 Prerequisites 8369 Object = AmericaBarracks 8370 Science = SCIENCE_Pathfinder 8371 End 8372 BuildCost = 600 8373 BuildTime = 10.0 ;in seconds 8374 8375 ExperienceValue = 40 40 60 80 ;Experience point value at each level 8376 ExperienceRequired = 0 50 100 200 ;Experience points needed to gain each level 8377 IsTrainable = Yes ;Can gain experience 8378 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 8379 CommandSet = AmericaInfantryPathfinderCommandSet 8380 8381 ; *** AUDIO Parameters *** 8382 VoiceSelect = PathfinderVoiceSelect 8383 VoiceMove = PathfinderVoiceMove 8384 VoiceGuard = PathfinderVoiceMove 8385 VoiceAttack = PathfinderVoiceAttack 8386 SoundDie = PathfinderVoiceDie 8387 SoundDieFire = DieByFireUSA 8388 SoundDieToxin = DieByToxinUSA 8389 VoiceFear = PathfinderVoiceFear 8390 SoundStealthOn = StealthOn 8391 SoundStealthOff = StealthOff 8392 VoiceFear = PathfinderVoiceFear 8393 8394 UnitSpecificSounds 8395 VoiceCreate = PathfinderVoiceCreate 8396 VoiceGarrison = PathfinderVoiceGarrison 8397 VoiceEnter = PathfinderVoiceMove 8398 VoiceEnterHostile = PathfinderVoiceMove 8399 VoiceGetHealed = PathfinderVoiceMove 8400 End 8401 8402 ; *** ENGINEERING Parameters *** 8403 RadarPriority = UNIT 8404 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE 8405 8406 Body = ActiveBody ModuleTag_02 8407 MaxHealth = 120.0 8408 InitialHealth = 120.0 8409 End 8410 8411 Behavior = AIUpdateInterface ModuleTag_03 8412 AutoAcquireEnemiesWhenIdle = Yes Stealthed 8413 MoodAttackCheckRate = 250 8414 End 8415 8416 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 8417 ScanRate = 1000 ; once a second. 8418 ScanRange = 300 ; 8419 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 8420 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 8421 End 8422 8423 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor 8424 8425 Behavior = ExperienceScalarUpgrade ModuleTag_05 8426 TriggeredBy = Upgrade_AmericaAdvancedTraining 8427 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 8428 End 8429 8430 Behavior = PhysicsBehavior ModuleTag_06 8431 Mass = 5.0 8432 End 8433 8434 8435 Behavior = SquishCollide ModuleTag_10 8436 ;nothing 8437 End 8438 8439 8440 ; --- begin Death modules --- 8441 Behavior = SlowDeathBehavior ModuleTag_Death01 8442 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 8443 SinkDelay = 3000 8444 SinkRate = 0.5 ; in Dist/Sec 8445 DestructionDelay = 8000 8446 FX = INITIAL FX_GIDie 8447 End 8448 Behavior = SlowDeathBehavior ModuleTag_Death02 8449 DeathTypes = NONE +CRUSHED +SPLATTED 8450 SinkDelay = 3000 8451 SinkRate = 0.5 ; in Dist/Sec 8452 DestructionDelay = 8000 8453 FX = INITIAL FX_GIDieCrushed 8454 End 8455 Behavior = SlowDeathBehavior ModuleTag_Death03 8456 DeathTypes = NONE +EXPLODED 8457 SinkDelay = 3000 8458 SinkRate = 0.5 ; in Dist/Sec 8459 DestructionDelay = 8000 8460 FX = INITIAL FX_GIDie 8461 FlingForce = 8 8462 FlingForceVariance = 3 8463 FlingPitch = 60 8464 FlingPitchVariance = 10 8465 End 8466 Behavior = SlowDeathBehavior ModuleTag_Death04 8467 DeathTypes = NONE +BURNED 8468 DestructionDelay = 0 8469 FX = INITIAL FX_GIDie 8470 OCL = INITIAL OCL_FlamingInfantry 8471 End 8472 Behavior = SlowDeathBehavior ModuleTag_Death05 8473 DeathTypes = NONE +POISONED 8474 DestructionDelay = 0 8475 FX = INITIAL FX_GIDie 8476 OCL = INITIAL OCL_ToxicInfantry 8477 End 8478 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 8479 DeathTypes = NONE +POISONED_BETA 8480 DestructionDelay = 0 8481 FX = INITIAL FX_GIDie 8482 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 8483 End 8484 ; --- end Death modules --- 8485 8486 Behavior = PoisonedBehavior ModuleTag_13 8487 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 8488 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 8489 End 8490 8491 Geometry = CYLINDER 8492 Scale = 0.95 ;Scaling 8493 GeometryMajorRadius = 1.0 8494 GeometryMinorRadius = 1.0 8495 GeometryHeight = 5.0 8496 GeometryIsSmall = Yes 8497 Shadow = SHADOW_DECAL 8498 ShadowSizeX = 9; 8499 ShadowSizeY = 9; 8500 ShadowTexture = ShadowI; 8501 BuildCompletion = APPEARS_AT_RALLY_POINT 8502 8503 End 8504 8505 ;------------------------------------------------------------------------------ 8506 Object GLAInfantryRebel 8507 8508 ; *** ART Parameters *** 8509 SelectPortrait = SURebel_L 8510 ButtonImage = SURebel 8511 8512 UpgradeCameo1 = Upgrade_GLAAPBullets 8513 UpgradeCameo2 = Upgrade_GLACamouflage 8514 UpgradeCameo3 = Upgrade_InfantryCaptureBuilding 8515 ;UpgradeCameo4 = NONE 8516 ;UpgradeCameo5 = NONE 8517 8518 Draw = W3DModelDraw ModuleTag_01 8519 8520 OkToChangeModelColor = Yes 8521 8522 ; this says "we don't use these condition states at all, so completely 8523 ; ignore them for purposes of matchmaking"... this is useful to help 8524 ; reduce the number of AliasConditionState clauses you must add in 8525 ; order to avoid ambiguity in some cases. 8526 IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A 8527 8528 ; ---- standing 8529 DefaultConditionState 8530 Model = UIRGrd_SKN 8531 IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35 8532 IdleAnimation = UIRGrd_SKL.UIRGrd_IDA 8533 IdleAnimation = UIRGrd_SKL.UIRGrd_IDB 8534 AnimationMode = ONCE 8535 WeaponFireFXBone = PRIMARY Muzzle 8536 WeaponMuzzleFlash = PRIMARY MuzzleFX 8537 TransitionKey = TRANS_Standing 8538 End 8539 8540 ConditionState = REALLYDAMAGED 8541 IdleAnimation = UIRGrd_SKL.UIRGrd_STB 0 35 8542 IdleAnimation = UIRGrd_SKL.UIRGrd_IDC 8543 IdleAnimation = UIRGrd_SKL.UIRGrd_IDD 8544 AnimationMode = ONCE 8545 TransitionKey = TRANS_StandingHurt 8546 End 8547 8548 ; ---- moving 8549 ConditionState = MOVING 8550 Animation = UIRGrd_SKL.UIRGrd_RNA 15 8551 AnimationMode = LOOP 8552 TransitionKey = TRANS_Walking 8553 ParticleSysBone = None InfantryDustTrails 8554 End 8555 AliasConditionState = MOVING ATTACKING 8556 8557 ConditionState = MOVING REALLYDAMAGED 8558 Animation = UIRGrd_SKL.UIRGrd_RNB 25 8559 AnimationMode = LOOP 8560 TransitionKey = TRANS_WalkingHurt 8561 ParticleSysBone = None InfantryDustTrails 8562 End 8563 AliasConditionState = MOVING ATTACKING REALLYDAMAGED 8564 8565 ; ---- dying 8566 ConditionState = DYING 8567 Animation = UIRGrd_SKL.UIRGrd_DTA 8568 Animation = UIRGrd_SKL.UIRGrd_DTB 8569 AnimationMode = ONCE 8570 TransitionKey = TRANS_Dying 8571 End 8572 8573 TransitionState = TRANS_Dying TRANS_Flailing 8574 Animation = UIRGrd_SKL.UIRGrd_ADTE1 8575 AnimationMode = ONCE 8576 End 8577 8578 ConditionState = DYING EXPLODED_FLAILING 8579 Animation = UIRGrd_SKL.UIRGrd_ADTE2 8580 AnimationMode = LOOP 8581 TransitionKey = TRANS_Flailing 8582 End 8583 8584 ConditionState = DYING EXPLODED_BOUNCING 8585 Animation = UIRGrd_SKL.UIRGrd_ADTE3 8586 AnimationMode = ONCE 8587 TransitionKey = None 8588 End 8589 8590 ConditionState = SPECIAL_CHEERING 8591 Animation = UIRGrd_SKL.UIRGrd_IDB 8592 End 8593 8594 ; ---- firing 8595 ConditionState = USING_WEAPON_A 8596 Animation = UIRGrd_SKL.UIRGrd_ATA 8597 AnimationMode = LOOP 8598 TransitionKey = TRANS_Firing 8599 End 8600 8601 ConditionState = USING_WEAPON_A REALLYDAMAGED 8602 Animation = UIRGrd_SKL.UIRGrd_ATA2 8603 AnimationMode = LOOP 8604 TransitionKey = TRANS_FiringHurt 8605 End 8606 8607 TransitionState = TRANS_Standing TRANS_Firing 8608 Animation = UIRGrd_SKL.UIRGrd_ATAST 8609 AnimationMode = ONCE 8610 End 8611 8612 TransitionState = TRANS_Firing TRANS_Standing 8613 Animation = UIRGrd_SKL.UIRGrd_ATAED 8614 AnimationMode = ONCE 8615 End 8616 8617 TransitionState = TRANS_StandingHurt TRANS_FiringHurt 8618 Animation = UIRGrd_SKL.UIRGrd_ATA2ED 8619 AnimationMode = ONCE_BACKWARDS 8620 End 8621 8622 TransitionState = TRANS_FiringHurt TRANS_StandingHurt 8623 Animation = UIRGrd_SKL.UIRGrd_ATA2ED 8624 AnimationMode = ONCE 8625 End 8626 8627 TransitionState = TRANS_Standing TRANS_StandingHurt 8628 Animation = UIRGrd_SKL.UIRGrd_ATA2ED 8629 AnimationMode = ONCE 8630 End 8631 8632 8633 8634 ; ------- Bldg-capture 8635 8636 ConditionState = UNPACKING 8637 Model = UIRGrd_F_SKN 8638 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 8639 AnimationMode = ONCE 8640 End 8641 AliasConditionState = UNPACKING REALLYDAMAGED 8642 8643 ConditionState = RAISING_FLAG 8644 Model = UIRGrd_F_SKN 8645 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 8646 AnimationMode = ONCE 8647 TransitionKey = TRANS_Raising 8648 End 8649 AliasConditionState = RAISING_FLAG REALLYDAMAGED 8650 8651 ConditionState = PACKING 8652 Model = UIRGrd_F_SKN 8653 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 8654 AnimationMode = ONCE_BACKWARDS 8655 Flags = START_FRAME_LAST 8656 TransitionKey = TRANS_Packing 8657 End 8658 AliasConditionState = PACKING REALLYDAMAGED 8659 8660 TransitionState = TRANS_Raising TRANS_Packing 8661 Model = UIRGrd_F_SKN 8662 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 8663 AnimationMode = ONCE_BACKWARDS 8664 Flags = START_FRAME_LAST 8665 End 8666 8667 End 8668 8669 ; ***DESIGN parameters *** 8670 DisplayName = OBJECT:Rebel 8671 Side = GLA 8672 EditorSorting = INFANTRY 8673 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 8674 8675 WeaponSet 8676 Conditions = None 8677 Weapon = PRIMARY GLARebelMachineGun 8678 Weapon = SECONDARY GLAAngryMobMolotovCocktailProjectileWeapon2 8679 End 8680 ; sorry, no tranqs, cut for this version (srj) 8681 ; WeaponSet 8682 ; Conditions = PLAYER_UPGRADE 8683 ; Weapon = PRIMARY GLARebelMachineGun 8684 ; Weapon = SECONDARY GLARebelTranqDartsWeapon 8685 ; AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 8686 ; AutoChooseSources = SECONDARY NONE 8687 ; End 8688 8689 ArmorSet 8690 Conditions = None 8691 Armor = HumanArmor 8692 DamageFX = InfantryDamageFX 8693 End 8694 VisionRange = 150 8695 ShroudClearingRange = 300 8696 Prerequisites 8697 Object = GLABarracks 8698 End 8699 BuildCost = 150 8700 BuildTime = 5.0 ;in seconds 8701 8702 ExperienceValue = 15 15 30 40 ;Experience point value at each level 8703 ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level 8704 IsTrainable = Yes ;Can gain experience 8705 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 8706 CommandSet = GLAInfantryRebelCommandSet 8707 8708 ; *** AUDIO Parameters *** 8709 VoiceSelect = RebelVoiceSelect 8710 VoiceMove = RebelVoiceMove 8711 VoiceGuard = RebelVoiceMove 8712 VoiceAttack = RebelVoiceAttack 8713 SoundDie = RebelVoiceDie 8714 SoundDieFire = DieByFireGLA 8715 SoundDieToxin = DieByToxinGLA 8716 SoundStealthOn = StealthOn 8717 SoundStealthOff = StealthOff 8718 VoiceFear = RebelVoiceFear 8719 VoiceTaskComplete = RebelVoiceCaptureComplete 8720 UnitSpecificSounds 8721 VoiceCreate = RebelVoiceCreate 8722 VoiceSubdue = RebelVoiceSubdue 8723 VoiceGarrison = RebelVoiceGarrison 8724 VoiceEnter = RebelVoiceMove 8725 VoiceEnterHostile = RebelVoiceMove 8726 VoiceGetHealed = RebelVoiceMove 8727 End 8728 8729 ; *** ENGINEERING Parameters *** 8730 RadarPriority = UNIT 8731 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 8732 8733 Body = ActiveBody ModuleTag_02 8734 MaxHealth = 120.0 8735 InitialHealth = 120.0 8736 End 8737 8738 Behavior = AIUpdateInterface ModuleTag_03 8739 AutoAcquireEnemiesWhenIdle = Yes 8740 End 8741 8742 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 8743 End 8744 8745 Locomotor = SET_NORMAL BasicHumanLocomotor 8746 8747 Behavior = PhysicsBehavior ModuleTag_05 8748 Mass = 5.0 8749 End 8750 Behavior = StealthUpdate ModuleTag_07 8751 StealthDelay = 2500 ; msec 8752 StealthForbiddenConditions = ATTACKING USING_ABILITY 8753 MoveThresholdSpeed = 3 8754 InnateStealth = No ;Requires upgrade first 8755 OrderIdleEnemiesToAttackMeUponReveal = Yes 8756 End 8757 8758 ; sorry, no tranq or stun bullets, cut for this version (srj) 8759 ; Behavior = WeaponSetUpgrade ModuleTag_08 8760 ; TriggeredBy = Upgrade_GLATranqDarts 8761 ; End 8762 Behavior = WeaponBonusUpgrade ModuleTag_09 8763 TriggeredBy = Upgrade_GLAAPBullets 8764 End 8765 Behavior = StealthUpgrade ModuleTag_10 8766 TriggeredBy = Upgrade_GLACamouflage 8767 End 8768 8769 8770 Behavior = SquishCollide ModuleTag_11 8771 ;nothing 8772 End 8773 8774 8775 ; --- begin Death modules --- 8776 Behavior = SlowDeathBehavior ModuleTag_Death01 8777 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 8778 SinkDelay = 50000 8779 SinkRate = 0.5 ; in Dist/Sec 8780 DestructionDelay = 8000000 8781 FX = INITIAL FX_GIDie 8782 End 8783 Behavior = SlowDeathBehavior ModuleTag_Death02 8784 DeathTypes = NONE +CRUSHED +SPLATTED 8785 SinkDelay = 50000 8786 SinkRate = 0.5 ; in Dist/Sec 8787 DestructionDelay = 8000000 8788 FX = INITIAL FX_GIDieCrushed 8789 End 8790 Behavior = SlowDeathBehavior ModuleTag_Death03 8791 DeathTypes = NONE +EXPLODED 8792 SinkDelay = 50000 8793 SinkRate = 0.5 ; in Dist/Sec 8794 DestructionDelay = 8000000 8795 FX = INITIAL FX_GIDie 8796 FlingForce = 8 8797 FlingForceVariance = 3 8798 FlingPitch = 60 8799 FlingPitchVariance = 10 8800 End 8801 Behavior = SlowDeathBehavior ModuleTag_Death04 8802 DeathTypes = NONE +BURNED 8803 DestructionDelay = 0 8804 FX = INITIAL FX_GIDie 8805 OCL = INITIAL OCL_FlamingInfantry 8806 End 8807 Behavior = SlowDeathBehavior ModuleTag_Death05 8808 DeathTypes = NONE +POISONED 8809 DestructionDelay = 0 8810 FX = INITIAL FX_GIDie 8811 OCL = INITIAL OCL_ToxicInfantry 8812 End 8813 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 8814 DeathTypes = NONE +POISONED_BETA 8815 DestructionDelay = 0 8816 FX = INITIAL FX_GIDie 8817 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 8818 End 8819 ; --- end Death modules --- 8820 8821 Behavior = PoisonedBehavior ModuleTag_16 8822 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 8823 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 8824 End 8825 8826 Behavior = SpecialAbility ModuleTag_17 8827 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 8828 UpdateModuleStartsAttack = Yes 8829 StartsPaused = Yes 8830 InitiateSound = RebelVoiceCapture 8831 End 8832 Behavior = SpecialAbilityUpdate ModuleTag_18 8833 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 8834 StartAbilityRange = 5.0 8835 UnpackTime = 3000 ; (changing this will scale anim speed) 8836 PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) 8837 PackTime = 2000 ; (changing this will scale anim speed) 8838 DoCaptureFX = Yes 8839 AwardXPForTriggering = 12 8840 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 8841 End 8842 8843 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19 8844 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 8845 TriggeredBy = Upgrade_InfantryCaptureBuilding 8846 End 8847 8848 8849 Geometry = CYLINDER 8850 Scale = 0.95 ;Scaling 8851 GeometryMajorRadius = 1.0 8852 GeometryMinorRadius = 1.0 8853 GeometryHeight = 8.0 8854 GeometryIsSmall = Yes 8855 Shadow = SHADOW_DECAL 8856 ShadowSizeX = 9; 8857 ShadowSizeY = 9; 8858 ShadowTexture = ShadowI; 8859 BuildCompletion = APPEARS_AT_RALLY_POINT 8860 8861 End 8862 8863 ;---------------------------------------------------------------------------- 8864 Object GLAInfantryJarmenKell 8865 8866 ; *** ART Parameters *** 8867 SelectPortrait = SUJermanKell1_L ;NOTE: Asset spelling mistake 8868 ButtonImage = SUJermanKell1 8869 8870 UpgradeCameo1 = Upgrade_GLAAPBullets 8871 ;UpgradeCameo2 = NONE 8872 ;UpgradeCameo3 = NONE 8873 ;UpgradeCameo4 = NONE 8874 ;UpgradeCameo5 = NONE 8875 8876 Draw = W3DModelDraw ModuleTag_01 8877 OkToChangeModelColor = Yes 8878 8879 ; --- idle 8880 DefaultConditionState 8881 Model = UIHERO_SKN 8882 IdleAnimation = UIHERO_SKL.UIHERO_STA 0 21 8883 IdleAnimation = UIHERO_SKL.UIHERO_IDA 8884 IdleAnimation = UIHERO_SKL.UIHERO_IDB 8885 AnimationMode = ONCE 8886 WeaponFireFXBone = PRIMARY Muzzle 8887 WeaponMuzzleFlash = PRIMARY MuzzleFX 8888 TransitionKey = TRANS_Stand 8889 End 8890 8891 ConditionState = REALLYDAMAGED 8892 IdleAnimation = UIHERO_SKL.UIHERO_ISTA 0 30 8893 IdleAnimation = UIHERO_SKL.UIHERO_IIDA 8894 IdleAnimation = UIHERO_SKL.UIHERO_IIDB 8895 AnimationMode = ONCE 8896 TransitionKey = TRANS_StandInjured 8897 End 8898 8899 TransitionState = TRANS_Stand TRANS_StandInjured 8900 Animation = UIHERO_SKL.UIHERO_ISTAHIT 8901 AnimationMode = ONCE 8902 End 8903 8904 ; --- attack 8905 8906 ConditionState = FIRING_A 8907 Animation = UIHERO_SKL.UIHERO_ATA 8908 AnimationMode = ONCE 8909 TransitionKey = TRANS_FiringA 8910 AnimationSpeedFactorRange = 1.5 1.5 8911 End 8912 8913 ConditionState = BETWEEN_FIRING_SHOTS_A 8914 Animation = UIHERO_SKL.UIHERO_STA 8915 AnimationMode = ONCE 8916 WaitForStateToFinishIfPossible = TRANS_FiringA 8917 End 8918 AliasConditionState = RELOADING_A 8919 8920 ConditionState = FIRING_A REALLYDAMAGED 8921 Animation = UIHERO_SKL.UIHERO_IATA2 8922 AnimationMode = ONCE 8923 TransitionKey = TRANS_FiringAInjured 8924 AnimationSpeedFactorRange = 1.5 1.5 8925 End 8926 8927 ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 8928 Animation = UIHERO_SKL.UIHERO_IATA2 8929 AnimationMode = MANUAL 8930 Flags = START_FRAME_LAST 8931 WaitForStateToFinishIfPossible = TRANS_FiringAInjured 8932 End 8933 AliasConditionState = RELOADING_A REALLYDAMAGED 8934 8935 TransitionState = TRANS_FiringA TRANS_FiringAInjured 8936 Animation = UIHERO_SKL.UIHERO_IATAHIT 8937 AnimationMode = ONCE 8938 End 8939 8940 ; --- moving 8941 ConditionState = MOVING 8942 Animation = UIHERO_SKL.UIHERO_RNA2 30 8943 AnimationMode = LOOP 8944 Flags = RANDOMSTART 8945 TransitionKey = None 8946 ParticleSysBone = None InfantryDustTrails 8947 End 8948 AliasConditionState = MOVING FIRING_A 8949 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 8950 AliasConditionState = MOVING RELOADING_A 8951 8952 ConditionState = MOVING REALLYDAMAGED 8953 Animation = UIHERO_SKL.UIHERO_IRNA 30 8954 AnimationMode = LOOP 8955 Flags = RANDOMSTART 8956 TransitionKey = None 8957 ParticleSysBone = None InfantryDustTrails 8958 End 8959 AliasConditionState = MOVING FIRING_A REALLYDAMAGED 8960 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 8961 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 8962 8963 ; --- cheering 8964 ConditionState = SPECIAL_CHEERING 8965 Animation = UIHERO_SKL.UIHERO_CHA 8966 AnimationMode = LOOP 8967 End 8968 8969 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 8970 Animation = UIHERO_SKL.UIHERO_ICHA 8971 AnimationMode = LOOP 8972 End 8973 8974 ; --- dying 8975 ConditionState = DYING 8976 Animation = UIHERO_SKL.UIHERO_DTA 8977 Animation = UIHERO_SKL.UIHERO_DTB 8978 Animation = UIHERO_SKL.UIHERO_IDTA 8979 Animation = UIHERO_SKL.UIHERO_IDTB 8980 AnimationMode = ONCE 8981 TransitionKey = TRANS_Dying 8982 End 8983 8984 TransitionState = TRANS_Dying TRANS_Flailing 8985 Animation = UIHERO_SKL.UIHERO_ADTG21 8986 AnimationMode = ONCE 8987 End 8988 8989 ConditionState = DYING EXPLODED_FLAILING 8990 Animation = UIHERO_SKL.UIHERO_ADTG22 8991 AnimationMode = LOOP 8992 TransitionKey = TRANS_Flailing 8993 End 8994 8995 ConditionState = DYING EXPLODED_BOUNCING 8996 Animation = UIHERO_SKL.UIHERO_ADTG23 8997 AnimationMode = ONCE 8998 TransitionKey = None 8999 End 9000 9001 ; --- falling 9002 ConditionState = FREEFALL 9003 Animation = UIHERO_SKL.UIHERO_PFL 9004 AnimationMode = LOOP 9005 TransitionKey = TRANS_Falling 9006 End 9007 AliasConditionState = FREEFALL REALLYDAMAGED 9008 AliasConditionState = FREEFALL DYING 9009 9010 ConditionState = PARACHUTING 9011 Animation = UIHERO_SKL.UIHERO_PHG 9012 AnimationMode = LOOP 9013 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 9014 TransitionKey = TRANS_Chute 9015 End 9016 AliasConditionState = PARACHUTING REALLYDAMAGED 9017 AliasConditionState = PARACHUTING DYING 9018 9019 TransitionState = TRANS_Falling TRANS_Chute 9020 Animation = UIHERO_SKL.UIHERO_POP 9021 AnimationMode = ONCE 9022 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 9023 End 9024 9025 TransitionState = TRANS_Chute TRANS_Stand 9026 Animation = UIHERO_SKL.UIHERO_PTD 9027 AnimationMode = ONCE 9028 End 9029 9030 TransitionState = TRANS_Chute TRANS_StandInjured 9031 Animation = UIHERO_SKL.UIHERO_PTD 9032 AnimationMode = ONCE 9033 End 9034 9035 End 9036 9037 ; ***DESIGN parameters *** 9038 DisplayName = OBJECT:JarmenKell 9039 Side = GLA 9040 EditorSorting = INFANTRY 9041 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 9042 MaxSimultaneousOfType = 1 9043 9044 WeaponSet 9045 Conditions = None 9046 Weapon = PRIMARY GLAJarmenKellRifle 9047 Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle 9048 AutoChooseSources = PRIMARY NONE 9049 AutoChooseSources = SECONDARY NONE 9050 End 9051 ; WeaponSet 9052 ; Conditions = SNIPEVEHICLE 9053 ; Weapon = PRIMARY GLAJarmenKellVehiclePilotSniperRifle 9054 ; End 9055 9056 ArmorSet 9057 Conditions = None 9058 Armor = HumanArmor 9059 DamageFX = InfantryDamageFX 9060 End 9061 VisionRange = 200 9062 ShroudClearingRange = 300 9063 Prerequisites 9064 Object = GLABarracks 9065 Object = GLAPalace 9066 End 9067 BuildCost = 1500 9068 BuildTime = 20.0 ;in seconds 9069 9070 ExperienceValue = 50 50 100 150 ;Experience point value at each level 9071 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 9072 IsTrainable = Yes ;Can gain experience 9073 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 9074 CommandSet = GLAInfantryJarmenKellCommandSet 9075 9076 ; *** AUDIO Parameters *** 9077 VoiceSelect = JarmenKellVoiceSelect 9078 VoiceMove = JarmenKellVoiceMove 9079 VoiceGuard = JarmenKellVoiceMove 9080 VoiceAttack = JarmenKellVoiceAttack 9081 VoiceFear = JarmenKellVoiceFear 9082 SoundDie = JarmenKellVoiceDie 9083 SoundDieFire = DieByFireGLA 9084 SoundDieToxin = DieByToxinGLA 9085 SoundStealthOn = StealthOn 9086 SoundStealthOff = StealthOff 9087 9088 UnitSpecificSounds 9089 VoiceCreate = JarmenKellVoiceCreate 9090 VoiceSnipePilot = JarmenKellVoiceSnipe 9091 VoiceGarrison = JarmenKellVoiceGarrison 9092 VoiceEnter = JarmenKellVoiceMove 9093 VoiceEnterHostile = JarmenKellVoiceMove 9094 VoiceGetHealed = JarmenKellVoiceMove 9095 End 9096 9097 9098 ; *** ENGINEERING Parameters *** 9099 RadarPriority = UNIT 9100 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE HERO 9101 9102 Body = ActiveBody ModuleTag_02 9103 MaxHealth = 200.0 9104 InitialHealth = 200.0 9105 End 9106 9107 Behavior = AIUpdateInterface ModuleTag_03 9108 AutoAcquireEnemiesWhenIdle = Yes 9109 End 9110 Locomotor = SET_NORMAL JarmenKellLocomotor 9111 9112 Behavior = PhysicsBehavior ModuleTag_04 9113 Mass = 5.0 9114 End 9115 Behavior = StealthUpdate ModuleTag_06 9116 StealthDelay = 2000 ; msec 9117 StealthForbiddenConditions = ATTACKING 9118 InnateStealth = Yes 9119 OrderIdleEnemiesToAttackMeUponReveal = Yes 9120 End 9121 9122 Behavior = CommandButtonHuntUpdate ModuleTag_07 ; allows use of command button hunt script with this unit. 9123 End 9124 9125 Behavior = WeaponBonusUpgrade ModuleTag_08 9126 TriggeredBy = Upgrade_GLAAPBullets 9127 End 9128 9129 ;Hero units can't be squished! 9130 ;Behavior = SquishCollide ModuleTag_09 9131 ; ;nothing 9132 ;End 9133 9134 9135 ; --- begin Death modules --- 9136 Behavior = SlowDeathBehavior ModuleTag_Death01 9137 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 9138 SinkDelay = 50000 9139 SinkRate = 0.5 ; in Dist/Sec 9140 DestructionDelay = 8000000 9141 FX = INITIAL FX_GIDie 9142 End 9143 Behavior = SlowDeathBehavior ModuleTag_Death02 9144 DeathTypes = NONE +CRUSHED +SPLATTED 9145 SinkDelay = 50000 9146 SinkRate = 0.5 ; in Dist/Sec 9147 DestructionDelay = 8000000 9148 FX = INITIAL FX_GIDieCrushed 9149 End 9150 Behavior = SlowDeathBehavior ModuleTag_Death03 9151 DeathTypes = NONE +EXPLODED 9152 SinkDelay = 50000 9153 SinkRate = 0.5 ; in Dist/Sec 9154 DestructionDelay = 8000000 9155 FX = INITIAL FX_GIDie 9156 FlingForce = 8 9157 FlingForceVariance = 3 9158 FlingPitch = 60 9159 FlingPitchVariance = 10 9160 End 9161 Behavior = SlowDeathBehavior ModuleTag_Death04 9162 DeathTypes = NONE +BURNED 9163 DestructionDelay = 0 9164 FX = INITIAL FX_GIDie 9165 OCL = INITIAL OCL_FlamingInfantry 9166 End 9167 Behavior = SlowDeathBehavior ModuleTag_Death05 9168 DeathTypes = NONE +POISONED 9169 DestructionDelay = 0 9170 FX = INITIAL FX_GIDie 9171 OCL = INITIAL OCL_ToxicInfantry 9172 End 9173 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 9174 DeathTypes = NONE +POISONED_BETA 9175 DestructionDelay = 0 9176 FX = INITIAL FX_GIDie 9177 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 9178 End 9179 ; --- end Death modules --- 9180 9181 Behavior = PoisonedBehavior ModuleTag_14 9182 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 9183 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 9184 End 9185 9186 Geometry = CYLINDER 9187 Scale = 0.95 ;Scaling 9188 GeometryMajorRadius = 1.0 9189 GeometryMinorRadius = 1.0 9190 GeometryHeight = 5.0 9191 GeometryIsSmall = Yes 9192 Shadow = SHADOW_DECAL 9193 ShadowSizeX = 9; 9194 ShadowSizeY = 9; 9195 ShadowTexture = ShadowI; 9196 BuildCompletion = APPEARS_AT_RALLY_POINT 9197 9198 End 9199 9200 9201 9202 ;------------------------------------------------------------------------------ 9203 Object CINE_GLAInfantryJarmenKell 9204 9205 ; *** ART Parameters *** 9206 SelectPortrait = SUJermanKell1_L ;NOTE: Asset spelling mistake 9207 ButtonImage = SUJermanKell1 9208 9209 ;UpgradeCameo1 = NONE 9210 ;UpgradeCameo2 = NONE 9211 ;UpgradeCameo3 = NONE 9212 ;UpgradeCameo4 = NONE 9213 ;UpgradeCameo5 = NONE 9214 9215 Draw = W3DModelDraw ModuleTag_01 9216 OkToChangeModelColor = Yes 9217 9218 ; --- idle 9219 DefaultConditionState 9220 Model = UIHERO_SKN 9221 IdleAnimation = UIHERO_SKL.UIHERO_STA 0 21 9222 IdleAnimation = UIHERO_SKL.UIHERO_IDA 9223 IdleAnimation = UIHERO_SKL.UIHERO_IDB 9224 AnimationMode = ONCE 9225 WeaponFireFXBone = PRIMARY Muzzle 9226 WeaponMuzzleFlash = PRIMARY MuzzleFX 9227 TransitionKey = TRANS_Stand 9228 End 9229 9230 ConditionState = REALLYDAMAGED 9231 IdleAnimation = UIHERO_SKL.UIHERO_ISTA 0 30 9232 IdleAnimation = UIHERO_SKL.UIHERO_IIDA 9233 IdleAnimation = UIHERO_SKL.UIHERO_IIDB 9234 AnimationMode = ONCE 9235 TransitionKey = TRANS_StandInjured 9236 End 9237 9238 TransitionState = TRANS_Stand TRANS_StandInjured 9239 Animation = UIHERO_SKL.UIHERO_ISTAHIT 9240 AnimationMode = ONCE 9241 End 9242 9243 ; --- attack 9244 ConditionState = FIRING_A 9245 Animation = UIHERO_SKL.UIHERO_ATA 9246 AnimationMode = ONCE 9247 TransitionKey = TRANS_FiringA 9248 End 9249 AliasConditionState = BETWEEN_FIRING_SHOTS_A 9250 AliasConditionState = RELOADING_A 9251 9252 ConditionState = FIRING_A REALLYDAMAGED 9253 Animation = UIHERO_SKL.UIHERO_IATA2 9254 AnimationMode = ONCE 9255 TransitionKey = TRANS_FiringAInjured 9256 End 9257 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 9258 AliasConditionState = RELOADING_A REALLYDAMAGED 9259 9260 TransitionState = TRANS_FiringA TRANS_FiringAInjured 9261 Animation = UIHERO_SKL.UIHERO_IATAHIT 9262 AnimationMode = ONCE 9263 End 9264 9265 ; --- moving 9266 ConditionState = MOVING 9267 Animation = UIHERO_SKL.UIHERO_RNA2 40 9268 AnimationMode = LOOP 9269 Flags = RANDOMSTART 9270 TransitionKey = None 9271 9272 End 9273 AliasConditionState = MOVING FIRING_A 9274 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 9275 AliasConditionState = MOVING RELOADING_A 9276 9277 ConditionState = MOVING REALLYDAMAGED 9278 Animation = UIHERO_SKL.UIHERO_IRNA 24 9279 AnimationMode = LOOP 9280 Flags = RANDOMSTART 9281 TransitionKey = None 9282 9283 End 9284 AliasConditionState = MOVING FIRING_A REALLYDAMAGED 9285 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 9286 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 9287 9288 ; --- cheering 9289 ConditionState = SPECIAL_CHEERING 9290 Animation = UIHERO_SKL.UIHERO_CHA 9291 AnimationMode = LOOP 9292 End 9293 9294 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 9295 Animation = UIHERO_SKL.UIHERO_ICHA 9296 AnimationMode = LOOP 9297 End 9298 9299 ; --- dying 9300 ConditionState = DYING 9301 Animation = UIHERO_SKL.UIHERO_DTA 9302 Animation = UIHERO_SKL.UIHERO_DTB 9303 Animation = UIHERO_SKL.UIHERO_IDTA 9304 Animation = UIHERO_SKL.UIHERO_IDTB 9305 AnimationMode = ONCE 9306 TransitionKey = TRANS_Dying 9307 End 9308 9309 TransitionState = TRANS_Dying TRANS_Flailing 9310 Animation = UIHERO_SKL.UIHERO_ADTG21 9311 AnimationMode = ONCE 9312 End 9313 9314 ConditionState = DYING EXPLODED_FLAILING 9315 Animation = UIHERO_SKL.UIHERO_ADTG22 9316 AnimationMode = LOOP 9317 TransitionKey = TRANS_Flailing 9318 End 9319 9320 ConditionState = DYING EXPLODED_BOUNCING 9321 Animation = UIHERO_SKL.UIHERO_ADTG23 9322 AnimationMode = ONCE 9323 TransitionKey = None 9324 End 9325 9326 ; --- falling 9327 ConditionState = FREEFALL 9328 Animation = UIHERO_SKL.UIHERO_PFL 9329 AnimationMode = LOOP 9330 TransitionKey = TRANS_Falling 9331 End 9332 AliasConditionState = FREEFALL REALLYDAMAGED 9333 AliasConditionState = FREEFALL DYING 9334 9335 ConditionState = PARACHUTING 9336 Animation = UIHERO_SKL.UIHERO_PHG 9337 AnimationMode = LOOP 9338 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 9339 TransitionKey = TRANS_Chute 9340 End 9341 AliasConditionState = PARACHUTING REALLYDAMAGED 9342 AliasConditionState = PARACHUTING DYING 9343 9344 TransitionState = TRANS_Falling TRANS_Chute 9345 Animation = UIHERO_SKL.UIHERO_POP 9346 AnimationMode = ONCE 9347 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 9348 End 9349 9350 TransitionState = TRANS_Chute TRANS_Stand 9351 Animation = UIHERO_SKL.UIHERO_PTD 9352 AnimationMode = ONCE 9353 End 9354 9355 TransitionState = TRANS_Chute TRANS_StandInjured 9356 Animation = UIHERO_SKL.UIHERO_PTD 9357 AnimationMode = ONCE 9358 End 9359 9360 End 9361 9362 ; ***DESIGN parameters *** 9363 DisplayName = OBJECT:JarmenKell 9364 Side = GLA 9365 EditorSorting = INFANTRY 9366 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 9367 MaxSimultaneousOfType = 1 9368 9369 WeaponSet 9370 Conditions = None 9371 Weapon = PRIMARY CINE_GLAJarmenKellRifle 9372 Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle 9373 AutoChooseSources = PRIMARY NONE 9374 AutoChooseSources = SECONDARY NONE 9375 End 9376 ; WeaponSet 9377 ; Conditions = SNIPEVEHICLE 9378 ; Weapon = PRIMARY GLAJarmenKellVehiclePilotSniperRifle 9379 ; End 9380 9381 ArmorSet 9382 Conditions = None 9383 Armor = HumanArmor 9384 DamageFX = InfantryDamageFX 9385 End 9386 VisionRange = 225 9387 ShroudClearingRange = 300 9388 Prerequisites 9389 Object = GLABarracks 9390 Object = GLAPalace 9391 End 9392 BuildCost = 1500 9393 BuildTime = 20.0 ;in seconds 9394 9395 ExperienceValue = 50 50 100 150 ;Experience point value at each level 9396 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 9397 IsTrainable = Yes ;Can gain experience 9398 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 9399 CommandSet = GLAInfantryJarmenKellCommandSet 9400 9401 ; *** AUDIO Parameters *** 9402 VoiceSelect = JarmenKellVoiceSelect 9403 VoiceMove = JarmenKellVoiceMove 9404 VoiceGuard = JarmenKellVoiceMove 9405 VoiceAttack = JarmenKellVoiceAttack 9406 VoiceFear = JarmenKellVoiceFear 9407 SoundDie = JarmenKellVoiceDie 9408 SoundDieFire = DieByFireGLA 9409 SoundDieToxin = DieByToxinGLA 9410 SoundStealthOn = StealthOn 9411 SoundStealthOff = StealthOff 9412 9413 UnitSpecificSounds 9414 VoiceCreate = JarmenKellVoiceCreate 9415 VoiceSnipePilot = JarmenKellVoiceSnipe 9416 VoiceGarrison = JarmenKellVoiceGarrison 9417 VoiceEnter = JarmenKellVoiceMove 9418 VoiceEnterHostile = JarmenKellVoiceMove 9419 End 9420 9421 9422 ; *** ENGINEERING Parameters *** 9423 RadarPriority = UNIT 9424 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE 9425 9426 Body = ActiveBody ModuleTag_02 9427 MaxHealth = 200.0 9428 InitialHealth = 200.0 9429 End 9430 9431 Behavior = AIUpdateInterface ModuleTag_03 9432 AutoAcquireEnemiesWhenIdle = Yes 9433 End 9434 Locomotor = SET_NORMAL CINE_JarmenKellLocomotor 9435 9436 Behavior = PhysicsBehavior ModuleTag_04 9437 Mass = 5.0 9438 End 9439 9440 9441 Behavior = CommandButtonHuntUpdate ModuleTag_07 ; allows use of command button hunt script with this unit. 9442 End 9443 9444 Behavior = WeaponBonusUpgrade ModuleTag_08 9445 TriggeredBy = Upgrade_GLAAPBullets 9446 End 9447 9448 Behavior = SquishCollide ModuleTag_09 9449 ;nothing 9450 End 9451 9452 9453 ; --- begin Death modules --- 9454 Behavior = SlowDeathBehavior ModuleTag_Death01 9455 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 9456 SinkDelay = 3000 9457 SinkRate = 0.5 ; in Dist/Sec 9458 DestructionDelay = 8000 9459 FX = INITIAL FX_GIDie 9460 End 9461 Behavior = SlowDeathBehavior ModuleTag_Death02 9462 DeathTypes = NONE +CRUSHED +SPLATTED 9463 SinkDelay = 3000 9464 SinkRate = 0.5 ; in Dist/Sec 9465 DestructionDelay = 8000 9466 FX = INITIAL FX_GIDieCrushed 9467 End 9468 Behavior = SlowDeathBehavior ModuleTag_Death03 9469 DeathTypes = NONE +EXPLODED 9470 SinkDelay = 3000 9471 SinkRate = 0.5 ; in Dist/Sec 9472 DestructionDelay = 8000 9473 FX = INITIAL FX_GIDie 9474 FlingForce = 8 9475 FlingForceVariance = 3 9476 FlingPitch = 60 9477 FlingPitchVariance = 10 9478 End 9479 Behavior = SlowDeathBehavior ModuleTag_Death04 9480 DeathTypes = NONE +BURNED 9481 DestructionDelay = 0 9482 FX = INITIAL FX_GIDie 9483 OCL = INITIAL OCL_FlamingInfantry 9484 End 9485 Behavior = SlowDeathBehavior ModuleTag_Death05 9486 DeathTypes = NONE +POISONED 9487 DestructionDelay = 0 9488 FX = INITIAL FX_GIDie 9489 OCL = INITIAL OCL_ToxicInfantry 9490 End 9491 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 9492 DeathTypes = NONE +POISONED_BETA 9493 DestructionDelay = 0 9494 FX = INITIAL FX_GIDie 9495 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 9496 End 9497 ; --- end Death modules --- 9498 9499 Behavior = PoisonedBehavior ModuleTag_14 9500 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 9501 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 9502 End 9503 9504 Geometry = CYLINDER 9505 Scale = 0.95 ;Scaling 9506 GeometryMajorRadius = 1.0 9507 GeometryMinorRadius = 1.0 9508 GeometryHeight = 5.0 9509 GeometryIsSmall = Yes 9510 Shadow = SHADOW_DECAL 9511 ShadowSizeX = 9; 9512 ShadowSizeY = 9; 9513 ShadowTexture = ShadowI; 9514 BuildCompletion = APPEARS_AT_RALLY_POINT 9515 9516 End 9517 9518 9519 9520 ;------------------------------------------------------------------------------ 9521 ;Tunnel Fanatic ;Now called the RPG Trooper 9522 Object GLAInfantryTunnelDefender 9523 9524 ; *** ART Parameters *** 9525 SelectPortrait = SURPG_L 9526 ButtonImage = SURPG 9527 9528 UpgradeCameo1 = Upgrade_GLAAPRockets 9529 UpgradeCameo2 = Upgrade_GLACamouflage 9530 ;UpgradeCameo3 = NONE 9531 ;UpgradeCameo4 = NONE 9532 ;UpgradeCameo5 = NONE 9533 9534 Draw = W3DModelDraw ModuleTag_01 9535 OkToChangeModelColor = Yes 9536 9537 DefaultConditionState 9538 Model = UITunF_SKN 9539 IdleAnimation = UITunF_SKL.UITunF_STA 0 20 9540 IdleAnimation = UITunF_SKL.UITunF_IDA 9541 IdleAnimation = UITunF_SKL.UITunF_IDB 9542 IdleAnimation = UITunF_SKL.UITunF_IDC 9543 AnimationMode = ONCE 9544 WeaponMuzzleFlash = PRIMARY MuzzleFX 9545 WeaponFireFXBone = PRIMARY Muzzle 9546 WeaponLaunchBone = PRIMARY Muzzle 9547 End 9548 9549 ConditionState = MOVING 9550 Animation = UITunF_SKL.UITunF_WKA 16 9551 Animation = UITunF_SKL.UITunF_WKB 30 9552 Animation = UITunF_SKL.UITunF_WKC 30 9553 Animation = UITunF_SKL.UITunF_RNA 15 9554 Animation = UITunF_SKL.UITunF_RNB 25 9555 AnimationMode = LOOP 9556 ParticleSysBone = None InfantryDustTrails 9557 End 9558 9559 ConditionState = DYING 9560 Animation = UITunF_SKL.UITunF_DTA 9561 Animation = UITunF_SKL.UITunF_DTB 9562 AnimationMode = ONCE 9563 TransitionKey = TRANS_Dying 9564 End 9565 9566 TransitionState = TRANS_Dying TRANS_Flailing 9567 Animation = UITunF_SKL.UITunF_ADTA1 9568 Animation = UITunF_SKL.UITunF_ADTE1 9569 Animation = UITunF_SKL.UITunF_ADTF1 9570 AnimationMode = ONCE 9571 End 9572 9573 ConditionState = DYING EXPLODED_FLAILING 9574 Animation = UITunF_SKL.UITunF_ADTA2 9575 Animation = UITunF_SKL.UITunF_ADTE2 9576 Animation = UITunF_SKL.UITunF_ADTF2 9577 AnimationMode = LOOP 9578 TransitionKey = TRANS_Flailing 9579 End 9580 9581 ConditionState = DYING EXPLODED_BOUNCING 9582 Animation = UITunF_SKL.UITunF_ADTA3 9583 Animation = UITunF_SKL.UITunF_ADTE3 9584 Animation = UITunF_SKL.UITunF_ADTF3 9585 AnimationMode = ONCE 9586 TransitionKey = None 9587 End 9588 9589 ConditionState = FIRING_A 9590 Animation = UITunF_SKL.UITunF_ATA 9591 AnimationMode = ONCE 9592 TransitionKey = TRANS_START_FIRING 9593 End 9594 ConditionState = BETWEEN_FIRING_SHOTS_A 9595 Animation = UITunF_SKL.UITunF_STA 9596 AnimationMode = ONCE 9597 ; this is basically a trick: this guy has a nontrivial animation for firing, 9598 ; and a long recycle time between shots. we want him to finish his fire animation 9599 ; (unless he's ordered to do something else), so this is just a handy trick that 9600 ; says, "if the previous state had this transition key, allow it to finish before 9601 ; switching to us, if possible". 9602 WaitForStateToFinishIfPossible = TRANS_START_FIRING 9603 End 9604 AliasConditionState = RELOADING_A 9605 9606 ConditionState = SPECIAL_CHEERING 9607 Animation = UITUNF_SKL.UITUNF_CHA 9608 AnimationMode = LOOP 9609 End 9610 9611 ; surrender is cut. sorry. (srj) 9612 ; ConditionState = SURRENDER 9613 ; Animation = UITUNF_SKL.UITUNF_SST 9614 ; AnimationMode = ONCE 9615 ; TransitionKey = TRANS_SurrenderKneeling 9616 ; End 9617 ; ;@TODO -- MISSING ANIMATION FILE 9618 ; ;ConditionState = SURRENDER MOVING 9619 ; ; Animation = UITUNF_SKL.UITUNF_SWKB 9620 ; ; AnimationMode = ONCE 9621 ; ; TransitionKey = TRANS_SurrenderMoving 9622 ; ;End 9623 ; TransitionState = TRANS_Stand TRANS_SurrenderKneeling 9624 ; Animation = UITUNF_SKL.UITUNF_SUR 9625 ; AnimationMode = ONCE 9626 ; End 9627 9628 End 9629 9630 ; ***DESIGN parameters *** 9631 DisplayName = OBJECT:TunnelDefender 9632 Side = GLA 9633 EditorSorting = INFANTRY 9634 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 9635 WeaponSet 9636 Conditions = None 9637 Weapon = PRIMARY TunnelDefenderRocketWeapon 9638 End 9639 ArmorSet 9640 Conditions = None 9641 Armor = HumanArmor 9642 DamageFX = InfantryDamageFX 9643 End 9644 VisionRange = 150 9645 ShroudClearingRange = 400 9646 ; Prerequisites 9647 ; Object = GLATunnelNetwork 9648 ; End 9649 BuildCost = 150 9650 BuildTime = 2.5 ;in seconds 9651 9652 ExperienceValue = 20 20 40 60 ;Experience point value at each level 9653 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 9654 IsTrainable = Yes ;Can gain experience 9655 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 9656 CommandSet = GLAInfantryTunnelDefenderCommandSet 9657 9658 ; *** AUDIO Parameters *** 9659 VoiceSelect = RPGTrooperVoiceSelect 9660 VoiceMove = RPGTrooperVoiceMove 9661 VoiceGuard = RPGTrooperVoiceMove 9662 VoiceAttack = RPGTrooperVoiceAttack 9663 SoundDie = RPGTrooperVoiceDie 9664 SoundDieFire = DieByFireGLA 9665 SoundDieToxin = DieByToxinGLA 9666 ; surrender is cut. sorry. (srj) 9667 ; VoiceSurrender = RPGTrooperVoiceSurrender 9668 VoiceFear = RPGTrooperVoiceFear 9669 UnitSpecificSounds 9670 VoiceCreate = RPGTrooperVoiceCreate 9671 VoiceGarrison = RPGTrooperVoiceGarrison 9672 VoiceEnter = RPGTrooperVoiceMove 9673 VoiceEnterHostile = RPGTrooperVoiceMove 9674 VoiceGetHealed = RPGTrooperVoiceMove 9675 End 9676 9677 9678 ; *** ENGINEERING Parameters *** 9679 RadarPriority = UNIT 9680 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 9681 9682 Body = ActiveBody ModuleTag_02 9683 MaxHealth = 100.0 9684 InitialHealth = 100.0 9685 End 9686 9687 Behavior = AIUpdateInterface ModuleTag_03 9688 AutoAcquireEnemiesWhenIdle = Yes 9689 End 9690 Locomotor = SET_NORMAL MissileDefenderLocomotor 9691 9692 Behavior = PhysicsBehavior ModuleTag_04 9693 Mass = 5.0 9694 End 9695 9696 Behavior = SquishCollide ModuleTag_06 9697 ;nothing 9698 End 9699 9700 Behavior = StealthUpdate ModuleTag_07 9701 StealthDelay = 2500 ; msec 9702 StealthForbiddenConditions = ATTACKING USING_ABILITY 9703 MoveThresholdSpeed = 3 9704 InnateStealth = No ;Requires upgrade first 9705 OrderIdleEnemiesToAttackMeUponReveal = Yes 9706 End 9707 9708 Behavior = StealthUpgrade ModuleTag_08 9709 TriggeredBy = Upgrade_GLACamouflage 9710 End 9711 9712 9713 ; --- begin Death modules --- 9714 Behavior = SlowDeathBehavior ModuleTag_Death01 9715 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 9716 SinkDelay = 50000 9717 SinkRate = 0.5 ; in Dist/Sec 9718 DestructionDelay = 8000000 9719 FX = INITIAL FX_GIDie 9720 End 9721 Behavior = SlowDeathBehavior ModuleTag_Death02 9722 DeathTypes = NONE +CRUSHED +SPLATTED 9723 SinkDelay = 50000 9724 SinkRate = 0.5 ; in Dist/Sec 9725 DestructionDelay = 8000000 9726 FX = INITIAL FX_GIDieCrushed 9727 End 9728 Behavior = SlowDeathBehavior ModuleTag_Death03 9729 DeathTypes = NONE +EXPLODED 9730 SinkDelay = 50000 9731 SinkRate = 0.5 ; in Dist/Sec 9732 DestructionDelay = 8000000 9733 FX = INITIAL FX_GIDie 9734 FlingForce = 8 9735 FlingForceVariance = 3 9736 FlingPitch = 60 9737 FlingPitchVariance = 10 9738 End 9739 Behavior = SlowDeathBehavior ModuleTag_Death04 9740 DeathTypes = NONE +BURNED 9741 DestructionDelay = 0 9742 FX = INITIAL FX_GIDie 9743 OCL = INITIAL OCL_FlamingInfantry 9744 End 9745 Behavior = SlowDeathBehavior ModuleTag_Death05 9746 DeathTypes = NONE +POISONED 9747 DestructionDelay = 0 9748 FX = INITIAL FX_GIDie 9749 OCL = INITIAL OCL_ToxicInfantry 9750 End 9751 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 9752 DeathTypes = NONE +POISONED_BETA 9753 DestructionDelay = 0 9754 FX = INITIAL FX_GIDie 9755 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 9756 End 9757 ; --- end Death modules --- 9758 9759 Behavior = PoisonedBehavior ModuleTag_12 9760 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 9761 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 9762 End 9763 9764 Geometry = CYLINDER 9765 GeometryMajorRadius = 10.0 9766 GeometryMinorRadius = 10.0 9767 GeometryHeight = 12.0 9768 GeometryIsSmall = Yes 9769 Shadow = SHADOW_DECAL 9770 ShadowSizeX = 14; 9771 ShadowSizeY = 14; 9772 ShadowTexture = ShadowI; 9773 BuildCompletion = APPEARS_AT_RALLY_POINT 9774 9775 End 9776 ;------------------------------------------------------------------------------ 9777 ;***THESE UNITS ARE NOT SELECTABLE ANYMORE! To kill them, you must target 9778 ; the stinger site. If the weapon does particular types of damage, it'll 9779 ; kill guys inside first, then the site. 9780 Object GLAInfantryStingerSoldier 9781 9782 ; *** ART Parameters *** 9783 SelectPortrait = SUStinger_L 9784 ButtonImage = SUStinger 9785 9786 Draw = W3DModelDraw ModuleTag_01 9787 OkToChangeModelColor = Yes 9788 9789 DefaultConditionState 9790 Model = UISmsd_SKN 9791 IdleAnimation = UISmsd_SKL.UISmsd_STA 0 45 9792 IdleAnimation = UISmsd_SKL.UISmsd_IDA 9793 IdleAnimation = UISmsd_SKL.UISmsd_IDB 9794 IdleAnimation = UISmsd_SKL.UISmsd_IDC 9795 IdleAnimation = UISmsd_SKL.UISmsd_IDD 9796 AnimationMode = ONCE 9797 WeaponMuzzleFlash = PRIMARY MuzzleFX 9798 WeaponFireFXBone = PRIMARY Exhaust 9799 WeaponLaunchBone = PRIMARY Muzzle 9800 WeaponFireFXBone = SECONDARY Exhaust 9801 WeaponLaunchBone = SECONDARY Muzzle 9802 9803 WaitForStateToFinishIfPossible = TRANS_START_FIRING 9804 9805 End 9806 AliasConditionState = BETWEEN_FIRING_SHOTS_A 9807 AliasConditionState = BETWEEN_FIRING_SHOTS_B 9808 AliasConditionState = RELOADING_A 9809 AliasConditionState = RELOADING_B 9810 9811 ConditionState = MOVING 9812 Animation = UISmsd_SKL.UISmsd_WKB 25 9813 AnimationMode = LOOP 9814 End 9815 9816 ConditionState = DYING 9817 Animation = UISmsd_SKL.UISmsd_DTA 9818 Animation = UISmsd_SKL.UISmsd_DTB 9819 AnimationMode = ONCE 9820 TransitionKey = TRANS_Dying 9821 WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish 9822 End 9823 9824 TransitionState = TRANS_Dying TRANS_Flailing 9825 Animation = UISmsd_SKL.UISmsd_ADTF1 9826 Animation = UISmsd_SKL.UISmsd_ADTG21 9827 AnimationMode = ONCE 9828 End 9829 9830 ConditionState = DYING EXPLODED_FLAILING 9831 Animation = UISmsd_SKL.UISmsd_ADTF2 9832 Animation = UISmsd_SKL.UISmsd_ADTG22 9833 AnimationMode = LOOP 9834 TransitionKey = TRANS_Flailing 9835 WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish 9836 End 9837 9838 ConditionState = DYING EXPLODED_BOUNCING 9839 Animation = UISmsd_SKL.UISmsd_ADTF3 9840 Animation = UISmsd_SKL.UISmsd_ADTG23 9841 AnimationMode = ONCE 9842 TransitionKey = None 9843 WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish 9844 End 9845 9846 ConditionState = FIRING_A 9847 Animation = UISmsd_SKL.UISmsd_ATA 9848 AnimationMode = ONCE 9849 TransitionKey = TRANS_START_FIRING 9850 End 9851 ; AliasConditionState is a new keyword that says, 9852 ; "give me another ConditionState exactly like the previous 9853 ; one, except with different conditions". Useful when you 9854 ; have several states that are the same with only different condition bits. 9855 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 9856 AliasConditionState = MOVING FIRING_A 9857 AliasConditionState = MOVING RELOADING_A 9858 9859 ConditionState = FIRING_B 9860 Animation = UISmsd_SKL.UISmsd_ATB 9861 AnimationMode = ONCE 9862 TransitionKey = TRANS_START_FIRINGB 9863 End 9864 ; AliasConditionState is a new keyword that says, 9865 ; "give me another ConditionState exactly like the previous 9866 ; one, except with different conditions". Useful when you 9867 ; have several states that are the same with only different condition bits. 9868 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 9869 AliasConditionState = MOVING FIRING_B 9870 AliasConditionState = MOVING RELOADING_B 9871 9872 9873 ConditionState = SPECIAL_CHEERING 9874 Animation = UISMSD_SKL.UISMSD_CHA 9875 AnimationMode = LOOP 9876 End 9877 9878 End 9879 9880 ; ***DESIGN parameters *** 9881 DisplayName = OBJECT:StingerSoldier 9882 Side = GLA 9883 EditorSorting = INFANTRY 9884 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 9885 WeaponSet 9886 Conditions = None 9887 Weapon = PRIMARY StingerMissileWeapon 9888 AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT 9889 Weapon = SECONDARY StingerMissileWeaponAir 9890 PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT 9891 End 9892 ArmorSet 9893 Conditions = None 9894 Armor = StingerSoldierArmor ;Extra protection due to being enclosed by the stinger site. 9895 DamageFX = None 9896 End 9897 VisionRange = 400.0 9898 ShroudClearingRange = 400 9899 9900 Prerequisites 9901 Object = GLABarracks 9902 End 9903 BuildCost = 100 9904 BuildTime = 1.0 ;in seconds 9905 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 9906 9907 ;I don't know what is right, but this is SO wrong. 9908 ; CommandSet = GLAInfantryRebelCommandSet 9909 9910 ; *** AUDIO Parameters *** 9911 VoiceSelect = StingerSoldierVoiceSelect 9912 VoiceMove = StingerSoldierVoiceMove 9913 VoiceAttack = StingerSoldierVoiceAttack 9914 SoundDie = StingerSoldierVoiceDie 9915 SoundDieFire = DieByFireGLA 9916 SoundDieToxin = DieByToxinGLA 9917 9918 ; *** ENGINEERING Parameters *** 9919 RadarPriority = UNIT 9920 KindOf = PRELOAD CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER CLICK_THROUGH SPAWNS_ARE_THE_WEAPONS 9921 9922 Body = ActiveBody ModuleTag_02 9923 MaxHealth = 100.0 9924 InitialHealth = 100.0 9925 End 9926 9927 Behavior = StealthDetectorUpdate ModuleTag_16 9928 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 9929 DetectionRange = 200 ;Dustin, enable this for independant balancing! 9930 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 9931 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 9932 End 9933 9934 Behavior = AIUpdateInterface ModuleTag_03 9935 AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS 9936 MoodAttackCheckRate = 250 9937 End 9938 Locomotor = SET_NORMAL BasicHumanLocomotor 9939 Behavior = PhysicsBehavior ModuleTag_04 9940 Mass = 5.0 9941 End 9942 Behavior = SlavedUpdate ModuleTag_06 9943 ;nothing 9944 End 9945 ; Behavior = ProneUpdate ModuleTag_07 9946 ; 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 9947 ; End 9948 9949 Behavior = SquishCollide ModuleTag_08 9950 ;nothing 9951 End 9952 9953 9954 ; --- begin Death modules --- 9955 Behavior = SlowDeathBehavior ModuleTag_Death01 9956 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 9957 SinkDelay = 3000 9958 SinkRate = 0.5 ; in Dist/Sec 9959 DestructionDelay = 8000 9960 FX = INITIAL FX_GIDie 9961 End 9962 Behavior = SlowDeathBehavior ModuleTag_Death02 9963 DeathTypes = NONE +CRUSHED +SPLATTED 9964 SinkDelay = 3000 9965 SinkRate = 0.5 ; in Dist/Sec 9966 DestructionDelay = 8000 9967 FX = INITIAL FX_GIDieCrushed 9968 End 9969 Behavior = SlowDeathBehavior ModuleTag_Death03 9970 DeathTypes = NONE +EXPLODED 9971 SinkDelay = 3000 9972 SinkRate = 0.5 ; in Dist/Sec 9973 DestructionDelay = 8000 9974 FX = INITIAL FX_GIDie 9975 FlingForce = 8 9976 FlingForceVariance = 3 9977 FlingPitch = 60 9978 FlingPitchVariance = 10 9979 End 9980 Behavior = SlowDeathBehavior ModuleTag_Death04 9981 DeathTypes = NONE +BURNED 9982 DestructionDelay = 0 9983 FX = INITIAL FX_GIDie 9984 OCL = INITIAL OCL_FlamingInfantry 9985 End 9986 Behavior = SlowDeathBehavior ModuleTag_Death05 9987 DeathTypes = NONE +POISONED 9988 DestructionDelay = 0 9989 FX = INITIAL FX_GIDie 9990 OCL = INITIAL OCL_ToxicInfantry 9991 End 9992 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 9993 DeathTypes = NONE +POISONED_BETA 9994 DestructionDelay = 0 9995 FX = INITIAL FX_GIDie 9996 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 9997 End 9998 ; --- end Death modules --- 9999 10000 Behavior = PoisonedBehavior ModuleTag_14 10001 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 10002 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 10003 End 10004 10005 Geometry = CYLINDER 10006 Scale = 0.95 ;Scaling 10007 GeometryMajorRadius = 1.0 10008 GeometryMinorRadius = 1.0 10009 GeometryHeight = 8.0 10010 GeometryIsSmall = Yes 10011 Shadow = SHADOW_DECAL 10012 ShadowSizeX = 9 10013 ShadowSizeY = 9 10014 ShadowTexture = ShadowI; 10015 BuildCompletion = APPEARS_AT_RALLY_POINT 10016 10017 End 10018 ;------------------------------------------------------------------------------ 10019 Object CINE_GLAInfantryStingerSoldier 10020 10021 ; *** ART Parameters *** 10022 SelectPortrait = SUStinger_L 10023 ButtonImage = SUStinger 10024 10025 Draw = W3DModelDraw ModuleTag_01 10026 OkToChangeModelColor = Yes 10027 10028 DefaultConditionState 10029 Model = UISmsd_SKN 10030 IdleAnimation = UISmsd_SKL.UISmsd_STA 0 45 10031 IdleAnimation = UISmsd_SKL.UISmsd_IDA 10032 IdleAnimation = UISmsd_SKL.UISmsd_IDB 10033 IdleAnimation = UISmsd_SKL.UISmsd_IDC 10034 IdleAnimation = UISmsd_SKL.UISmsd_IDD 10035 AnimationMode = ONCE 10036 WeaponMuzzleFlash = PRIMARY MuzzleFX 10037 WeaponFireFXBone = PRIMARY Exhaust 10038 WeaponLaunchBone = PRIMARY Muzzle 10039 WeaponFireFXBone = SECONDARY Exhaust 10040 WeaponLaunchBone = SECONDARY Muzzle 10041 10042 WaitForStateToFinishIfPossible = TRANS_START_FIRING 10043 10044 End 10045 AliasConditionState = BETWEEN_FIRING_SHOTS_A 10046 AliasConditionState = BETWEEN_FIRING_SHOTS_B 10047 AliasConditionState = RELOADING_A 10048 AliasConditionState = RELOADING_B 10049 10050 ConditionState = MOVING 10051 Animation = UISmsd_SKL.UISmsd_WKB 25 10052 AnimationMode = LOOP 10053 End 10054 10055 ConditionState = DYING 10056 Animation = UISmsd_SKL.UISmsd_DTA 10057 Animation = UISmsd_SKL.UISmsd_DTB 10058 AnimationMode = ONCE 10059 TransitionKey = TRANS_Dying 10060 End 10061 10062 TransitionState = TRANS_Dying TRANS_Flailing 10063 Animation = UISmsd_SKL.UISmsd_ADTF1 10064 Animation = UISmsd_SKL.UISmsd_ADTG21 10065 AnimationMode = ONCE 10066 End 10067 10068 ConditionState = DYING EXPLODED_FLAILING 10069 Animation = UISmsd_SKL.UISmsd_ADTF2 10070 Animation = UISmsd_SKL.UISmsd_ADTG22 10071 AnimationMode = LOOP 10072 TransitionKey = TRANS_Flailing 10073 End 10074 10075 ConditionState = DYING EXPLODED_BOUNCING 10076 Animation = UISmsd_SKL.UISmsd_ADTF3 10077 Animation = UISmsd_SKL.UISmsd_ADTG23 10078 AnimationMode = ONCE 10079 TransitionKey = None 10080 End 10081 10082 ConditionState = FIRING_A 10083 Animation = UISmsd_SKL.UISmsd_ATA 10084 AnimationMode = ONCE 10085 TransitionKey = TRANS_START_FIRING 10086 End 10087 ; AliasConditionState is a new keyword that says, 10088 ; "give me another ConditionState exactly like the previous 10089 ; one, except with different conditions". Useful when you 10090 ; have several states that are the same with only different condition bits. 10091 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 10092 AliasConditionState = MOVING FIRING_A 10093 AliasConditionState = MOVING RELOADING_A 10094 10095 ConditionState = FIRING_B 10096 Animation = UISmsd_SKL.UISmsd_ATB 10097 AnimationMode = ONCE 10098 TransitionKey = TRANS_START_FIRINGB 10099 End 10100 ; AliasConditionState is a new keyword that says, 10101 ; "give me another ConditionState exactly like the previous 10102 ; one, except with different conditions". Useful when you 10103 ; have several states that are the same with only different condition bits. 10104 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 10105 AliasConditionState = MOVING FIRING_B 10106 AliasConditionState = MOVING RELOADING_B 10107 10108 10109 ConditionState = SPECIAL_CHEERING 10110 Animation = UISMSD_SKL.UISMSD_CHA 10111 AnimationMode = LOOP 10112 End 10113 10114 End 10115 10116 ; ***DESIGN parameters *** 10117 DisplayName = OBJECT:StingerSoldier 10118 Side = GLA 10119 EditorSorting = INFANTRY 10120 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 10121 WeaponSet 10122 Conditions = None 10123 Weapon = PRIMARY CINE_StingerMissileWeapon 10124 AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT 10125 Weapon = SECONDARY StingerMissileWeaponAir 10126 PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT 10127 End 10128 ArmorSet 10129 Conditions = None 10130 Armor = StingerSoldierArmor ;Extra protection due to being enclosed by the stinger site. 10131 DamageFX = None 10132 End 10133 VisionRange = 400.0 10134 ShroudClearingRange = 400 10135 10136 Prerequisites 10137 Object = GLABarracks 10138 End 10139 BuildCost = 100 10140 BuildTime = 1.0 ;in seconds 10141 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 10142 10143 ;I don't know what is right, but this is SO wrong. 10144 ; CommandSet = GLAInfantryRebelCommandSet 10145 10146 ; *** AUDIO Parameters *** 10147 VoiceSelect = StingerSoldierVoiceSelect 10148 VoiceMove = StingerSoldierVoiceMove 10149 VoiceAttack = StingerSoldierVoiceAttack 10150 SoundDie = StingerSoldierVoiceDie 10151 SoundDieFire = DieByFireGLA 10152 SoundDieToxin = DieByToxinGLA 10153 10154 10155 ; *** ENGINEERING Parameters *** 10156 RadarPriority = UNIT 10157 KindOf = PRELOAD CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER CLICK_THROUGH 10158 10159 Body = ActiveBody ModuleTag_02 10160 MaxHealth = 100.0 10161 InitialHealth = 100.0 10162 End 10163 10164 Behavior = StealthDetectorUpdate ModuleTag_16 10165 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 10166 DetectionRange = 200 ;Dustin, enable this for independant balancing! 10167 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 10168 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 10169 End 10170 10171 Behavior = AIUpdateInterface ModuleTag_03 10172 AutoAcquireEnemiesWhenIdle = Yes 10173 MoodAttackCheckRate = 250 10174 End 10175 Locomotor = SET_NORMAL BasicHumanLocomotor 10176 Behavior = PhysicsBehavior ModuleTag_04 10177 Mass = 5.0 10178 End 10179 Behavior = SlavedUpdate ModuleTag_06 10180 ;nothing 10181 End 10182 ; Behavior = ProneUpdate ModuleTag_07 10183 ; 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 10184 ; End 10185 10186 Behavior = SquishCollide ModuleTag_08 10187 ;nothing 10188 End 10189 10190 10191 ; --- begin Death modules --- 10192 Behavior = SlowDeathBehavior ModuleTag_Death01 10193 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 10194 SinkDelay = 3000 10195 SinkRate = 0.5 ; in Dist/Sec 10196 DestructionDelay = 8000 10197 FX = INITIAL FX_GIDie 10198 End 10199 Behavior = SlowDeathBehavior ModuleTag_Death02 10200 DeathTypes = NONE +CRUSHED +SPLATTED 10201 SinkDelay = 3000 10202 SinkRate = 0.5 ; in Dist/Sec 10203 DestructionDelay = 8000 10204 FX = INITIAL FX_GIDieCrushed 10205 End 10206 Behavior = SlowDeathBehavior ModuleTag_Death03 10207 DeathTypes = NONE +EXPLODED 10208 SinkDelay = 3000 10209 SinkRate = 0.5 ; in Dist/Sec 10210 DestructionDelay = 8000 10211 FX = INITIAL FX_GIDie 10212 FlingForce = 8 10213 FlingForceVariance = 3 10214 FlingPitch = 60 10215 FlingPitchVariance = 10 10216 End 10217 Behavior = SlowDeathBehavior ModuleTag_Death04 10218 DeathTypes = NONE +BURNED 10219 DestructionDelay = 0 10220 FX = INITIAL FX_GIDie 10221 OCL = INITIAL OCL_FlamingInfantry 10222 End 10223 Behavior = SlowDeathBehavior ModuleTag_Death05 10224 DeathTypes = NONE +POISONED 10225 DestructionDelay = 0 10226 FX = INITIAL FX_GIDie 10227 OCL = INITIAL OCL_ToxicInfantry 10228 End 10229 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 10230 DeathTypes = NONE +POISONED_BETA 10231 DestructionDelay = 0 10232 FX = INITIAL FX_GIDie 10233 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 10234 End 10235 10236 ; --- end Death modules --- 10237 10238 Behavior = PoisonedBehavior ModuleTag_14 10239 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 10240 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 10241 End 10242 10243 Geometry = CYLINDER 10244 Scale = 0.95 ;Scaling 10245 GeometryMajorRadius = 1.0 10246 GeometryMinorRadius = 1.0 10247 GeometryHeight = 8.0 10248 GeometryIsSmall = Yes 10249 Shadow = SHADOW_DECAL 10250 ShadowSizeX = 9 10251 ShadowSizeY = 9 10252 ShadowTexture = ShadowI; 10253 BuildCompletion = APPEARS_AT_RALLY_POINT 10254 10255 End 10256 10257 ;------------------------------------------------------------------------------ 10258 Object GLAInfantryTerrorist 10259 10260 ; *** ART Parameters *** 10261 SelectPortrait = SUTerrorist_L 10262 ButtonImage = SUTerrorist 10263 10264 UpgradeCameo1 = Upgrade_GLACamouflage 10265 ;UpgradeCameo2 = NONE 10266 ;UpgradeCameo3 = NONE 10267 ;UpgradeCameo4 = NONE 10268 ;UpgradeCameo5 = NONE 10269 10270 Draw = W3DModelDraw ModuleTag_01 10271 OkToChangeModelColor = Yes 10272 DefaultConditionState 10273 Model = UITRST_SKN 10274 IdleAnimation = UITRST_SKL.UITRST_STA 0 25 10275 ;Regular spice animations 10276 IdleAnimation = UITRST_SKL.UITRST_IDA 10277 IdleAnimation = UITRST_SKL.UITRST_IDB 10278 AnimationMode = ONCE 10279 TransitionKey = TRANS_Stand 10280 End 10281 10282 ConditionState = REALLYDAMAGED 10283 Animation = UITRST_SKL.UITRST_STA 10284 AnimationMode = LOOP 10285 TransitionKey = TRANS_Stand 10286 End 10287 10288 ConditionState = FREEFALL 10289 Animation = UITRST_SKL.UITRST_PFL 10290 AnimationMode = LOOP 10291 TransitionKey = TRANS_Falling 10292 End 10293 AliasConditionState = FREEFALL REALLYDAMAGED 10294 AliasConditionState = FREEFALL DYING 10295 10296 ConditionState = PARACHUTING 10297 Animation = UITRST_SKL.UITRST_PHG 10298 AnimationMode = LOOP 10299 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 10300 TransitionKey = TRANS_Chute 10301 End 10302 AliasConditionState = PARACHUTING REALLYDAMAGED 10303 AliasConditionState = PARACHUTING DYING 10304 10305 ConditionState = MOVING 10306 Animation = UITRST_SKL.UITRST_RNA 15 10307 AnimationMode = LOOP 10308 Flags = RANDOMSTART 10309 TransitionKey = None 10310 ParticleSysBone = None InfantryDustTrails 10311 End 10312 AliasConditionState = MOVING REALLYDAMAGED 10313 10314 ConditionState = ATTACKING MOVING 10315 Animation = UITRST_SKL.UITRST_RNB 10 10316 AnimationMode = LOOP 10317 Flags = RANDOMSTART 10318 TransitionKey = None 10319 End 10320 AliasConditionState = ATTACKING MOVING REALLYDAMAGED 10321 10322 ConditionState = PREATTACK_A 10323 Animation = UITRST_SKL.UITRST_ATA 10324 AnimationMode = ONCE 10325 End 10326 AliasConditionState = PREATTACK_A MOVING 10327 10328 ConditionState = DYING 10329 Animation = UITRST_SKL.UITRST_DTA 10330 Animation = UITRST_SKL.UITRST_DTC 10331 AnimationMode = ONCE 10332 TransitionKey = TRANS_Dying 10333 End 10334 10335 TransitionState = TRANS_Dying TRANS_Flailing 10336 Animation = UITRST_SKL.UITRST_ADTE1 10337 AnimationMode = ONCE 10338 End 10339 10340 ConditionState = DYING EXPLODED_FLAILING 10341 Animation = UITRST_SKL.UITRST_ADTE2 10342 AnimationMode = LOOP 10343 TransitionKey = TRANS_Flailing 10344 End 10345 10346 ConditionState = DYING EXPLODED_BOUNCING 10347 Animation = UITRST_SKL.UITRST_ADTE3 10348 AnimationMode = ONCE 10349 TransitionKey = None 10350 End 10351 10352 ConditionState = SPECIAL_CHEERING 10353 Animation = UITRST_SKL.UITRST_CHA 10354 AnimationMode = LOOP 10355 End 10356 10357 TransitionState = TRANS_Falling TRANS_Chute 10358 Animation = UITRST_SKL.UITRST_POP 10359 AnimationMode = ONCE 10360 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 10361 End 10362 10363 TransitionState = TRANS_Chute TRANS_Stand 10364 Animation = UITRST_SKL.UITRST_PTD 10365 AnimationMode = ONCE 10366 End 10367 10368 End 10369 10370 ; ***DESIGN parameters *** 10371 DisplayName = OBJECT:Terrorist 10372 Side = GLA 10373 EditorSorting = INFANTRY 10374 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 10375 WeaponSet 10376 Conditions = None 10377 ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE 10378 ;damage to do ini logic for type of death to play -- unresistable for success. 10379 Weapon = PRIMARY TerroristSuicideWeapon 10380 End 10381 ArmorSet 10382 Conditions = None 10383 Armor = HumanArmor 10384 DamageFX = InfantryDamageFX 10385 End 10386 VisionRange = 150 10387 ShroudClearingRange = 200 10388 Prerequisites 10389 Object = GLABarracks 10390 End 10391 BuildCost = 200 10392 BuildTime = 5.0 ;in seconds 10393 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 10394 CommandSet = GLAInfantryTerroristCommandSet 10395 10396 ; *** AUDIO Parameters *** 10397 VoiceSelect = TerroristVoiceSelect 10398 VoiceMove = TerroristVoiceMove 10399 VoiceAttack = TerroristVoiceAttack 10400 SoundDie = TerroristVoiceDie 10401 SoundDieFire = DieByFireGLA 10402 SoundDieToxin = DieByToxinGLA 10403 VoiceFear = TerroristVoiceFear 10404 VoiceGuard = TerroristVoiceMove 10405 UnitSpecificSounds 10406 VoiceGarrison = TerroristVoiceMove 10407 VoiceCreate = TerroristVoiceCreate 10408 VoiceEnter = TerroristVoiceEnter 10409 VoiceEnterHostile = TerroristVoiceEnterHostile 10410 VoiceGetHealed = TerroristVoiceMove 10411 End 10412 10413 ; *** ENGINEERING Parameters *** 10414 RadarPriority = UNIT 10415 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 10416 10417 Body = ActiveBody ModuleTag_02 10418 MaxHealth = 120.0 10419 InitialHealth = 120.0 10420 End 10421 10422 ExperienceValue = 20 20 20 20 ; Experience point value at each level 10423 10424 Behavior = AIUpdateInterface ModuleTag_03 10425 AutoAcquireEnemiesWhenIdle = Yes 10426 End 10427 Locomotor = SET_NORMAL FastHumanLocomotor 10428 Behavior = PhysicsBehavior ModuleTag_04 10429 Mass = 5.0 10430 End 10431 10432 ;Kris 10433 Behavior = ConvertToCarBombCrateCollide ModuleTag_06 10434 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with 10435 ;ForbiddenKindOf = TRANSPORT DOZER ; but not to TRANSPORTs or DOZERs! 10436 FXList = FX_MakeCarBombSuccess 10437 End 10438 10439 Behavior = SquishCollide ModuleTag_07 10440 ;nothing 10441 End 10442 10443 Behavior = StealthUpdate ModuleTag_07 10444 StealthDelay = 2500 ; msec 10445 StealthForbiddenConditions = ATTACKING USING_ABILITY 10446 MoveThresholdSpeed = 3 10447 InnateStealth = No ;Requires upgrade first 10448 OrderIdleEnemiesToAttackMeUponReveal = Yes 10449 End 10450 10451 Behavior = StealthUpgrade ModuleTag_08 10452 TriggeredBy = Upgrade_GLACamouflage 10453 End 10454 10455 ; --- begin Death modules --- 10456 Behavior = SlowDeathBehavior ModuleTag_Death01 10457 DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA 10458 SinkDelay = 50000 10459 SinkRate = 0.5 ; in Dist/Sec 10460 DestructionDelay = 8000000 10461 FX = INITIAL FX_GIDie 10462 End 10463 10464 10465 ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS 10466 Behavior = SlowDeathBehavior ModuleTag_Death02 10467 DeathTypes = NONE +POISONED 10468 DestructionDelay = 0 10469 FX = INITIAL FX_GIDie 10470 OCL = INITIAL OCL_ToxicInfantry 10471 End 10472 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 10473 DeathTypes = NONE +POISONED_BETA 10474 DestructionDelay = 0 10475 FX = INITIAL FX_GIDie 10476 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 10477 End 10478 ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS 10479 10480 10481 ; I have just pulled my ripcord, and this ain't no parachute! 10482 Behavior = SlowDeathBehavior ModuleTag_Death03 10483 DeathTypes = NONE +SUICIDED 10484 SinkDelay = 50000 10485 SinkRate = 0.5 ; in Dist/Sec 10486 DestructionDelay = 8000000 10487 FX = INITIAL FX_TerroristExplode 10488 FlingForce = 8 10489 FlingForceVariance = 3 10490 FlingPitch = 60 10491 FlingPitchVariance = 10 10492 End 10493 Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04 10494 DeathWeapon = SuicideDynamitePack 10495 StartsActive = Yes ; turned on by upgrade 10496 DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED 10497 End 10498 ; --- end Death modules --- 10499 10500 Behavior = PoisonedBehavior ModuleTag_14 10501 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 10502 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 10503 End 10504 10505 Geometry = CYLINDER 10506 Scale = 0.95 ;Scaling 10507 GeometryMajorRadius = 1.0 10508 GeometryMinorRadius = 1.0 10509 GeometryHeight = 8.0 10510 GeometryIsSmall = Yes 10511 Shadow = SHADOW_DECAL 10512 ShadowSizeX = 9; 10513 ShadowSizeY = 9; 10514 ShadowTexture = ShadowI; 10515 BuildCompletion = APPEARS_AT_RALLY_POINT 10516 10517 End 10518 10519 10520 10521 10522 10523 10524 10525 10526 ;------------------------------------------------------------------------------ 10527 ;------------------------------------------------------------------------------ 10528 Object GLAInfantryAngryMobNexus 10529 10530 ;**** ART Parameters ************************** 10531 SelectPortrait = SUAngryMob_L 10532 ButtonImage = SUAngryMob 10533 10534 UpgradeCameo1 = Upgrade_GLAArmTheMob 10535 ;UpgradeCameo2 = NONE 10536 ;UpgradeCameo3 = NONE 10537 ;UpgradeCameo4 = NONE 10538 ;UpgradeCameo5 = NONE 10539 10540 Draw = W3DModelDraw ModuleTag_01 10541 OkToChangeModelColor = Yes 10542 DefaultConditionState 10543 Model = None 10544 ; Model = AVBomber_B 10545 End 10546 End 10547 10548 10549 ;****DESIGN parameters ************************** 10550 10551 DisplayName = OBJECT:AngryMobNexus 10552 Side = GLA 10553 10554 RadarPriority = NOT_ON_RADAR 10555 10556 EditorSorting = INFANTRY 10557 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 10558 10559 WeaponSet 10560 Conditions = None 10561 Weapon = PRIMARY GLAAngryMobNexusHarmlessWeapon 10562 Weapon = SECONDARY GLAAngryMobNexusHarmlessWeapon 10563 Weapon = TERTIARY GLAAngryMobNexusHarmlessWeapon 10564 End 10565 10566 10567 ArmorSet 10568 Conditions = None 10569 Armor = InvulnerableAllArmor 10570 DamageFX = None 10571 End 10572 10573 BuildCost = 800 10574 BuildTime = 15.0 ;in seconds 10575 VisionRange = 150 ; it can scout for the spawn 10576 ShroudClearingRange = 0 10577 10578 Prerequisites 10579 Object = GLABarracks 10580 Object = GLAPalace 10581 End 10582 10583 ExperienceValue = 5 5 5 5 ;Experience point value at each level 10584 10585 IsTrainable = No 10586 10587 10588 10589 CommandSet = GLAInfantryAngryMobCommandSet; 10590 10591 ;**** AUDIO Parameters ***************************** 10592 VoiceSelect = AngryMobVoiceSelect 10593 VoiceMove = AngryMobVoiceMove 10594 VoiceGuard = AngryMobVoiceMove 10595 VoiceAttack = AngryMobVoiceAttack 10596 SoundMoveStart = NoSound 10597 SoundAmbient = AngryMobAmbientLoop 10598 SoundAmbientRubble = NoSound 10599 SoundDie = CivilianArabMaleDie 10600 SoundDieFire = DieByFireGLA 10601 SoundDieToxin = DieByToxinGLA 10602 UnitSpecificSounds 10603 VoiceCreate = AngryMobVoiceCreate 10604 End 10605 10606 10607 ;**** ENGINEERING Parameters ****************************** 10608 10609 RadarPriority = UNIT 10610 KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE SCORE 10611 Body = ImmortalBody ModuleTag_02 10612 MaxHealth = 99999.0 10613 InitialHealth = 99999.0 10614 End 10615 10616 Behavior = AIUpdateInterface ModuleTag_03 10617 AutoAcquireEnemiesWhenIdle = Yes 10618 End 10619 10620 Locomotor = SET_NORMAL AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! 10621 Locomotor = SET_WANDER AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! 10622 Locomotor = SET_PANIC AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! 10623 10624 ; Locomotor = SET_NORMAL WanderHumanLocomotor ;Important! don't make the Nexus any faster! 10625 ; Locomotor = SET_WANDER WanderHumanLocomotor ;Important! don't make the Nexus any faster! 10626 ; Locomotor = SET_PANIC WanderHumanLocomotor ;Important! don't make the Nexus any faster! 10627 10628 Behavior = PhysicsBehavior ModuleTag_04 10629 Mass = 50.0 10630 End 10631 10632 Behavior = SpawnBehavior ModuleTag_05 10633 SpawnNumber = 10 10634 SpawnReplaceDelay = 30000 ; 30 seconds 10635 10636 SpawnTemplateName = GLAInfantryAngryMobPistol01 ; Aladdin 10637 SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume 10638 SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce 10639 SpawnTemplateName = GLAInfantryAngryMobPistol03 ; Skinny Guy with the Green Beret 10640 SpawnTemplateName = GLAInfantryAngryMobRock04 ; Fat guy with the tank top 10641 SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce 10642 SpawnTemplateName = GLAInfantryAngryMobPistol05 ; The robed dude with the Man-Veil 10643 10644 10645 10646 ExitByBudding = Yes;! 10647 10648 InitialBurst = 5 ; the first set of 5 will not delay 10649 OneShot = No 10650 AggregateHealth = Yes 10651 End 10652 10653 Behavior = QueueProductionExitUpdate ModuleTag_06 10654 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 10655 NaturalRallyPoint = X: 0.0 Y: 0.0 Z:0.0 10656 ExitDelay = 5000 ; 5 sec 10657 InitialBurst = 5 ; the first set of 5 will not delay 10658 End 10659 10660 Behavior = DestroyDie ModuleTag_07 10661 DeathTypes = ALL 10662 End 10663 10664 Geometry = CYLINDER 10665 GeometryMajorRadius = 1.0 10666 GeometryMinorRadius = 1.0 10667 GeometryHeight = 1.0 10668 GeometryIsSmall = Yes 10669 Shadow = SHADOW_VOLUME 10670 10671 End 10672 10673 10674 10675 10676 10677 ;------------------------------------------------------------------------------ 10678 ;------------------------------------------------------------------------------ 10679 Object GLAInfantryAngryMobPistol01 10680 10681 ;**** ART Parameters *** 10682 Draw = W3DModelDraw DrawTag_01 10683 OkToChangeModelColor = Yes 10684 10685 10686 10687 ; WHILE CARRYING PISTOL 10688 ;--------------------------------------------------------- 10689 DefaultConditionState ;Idle with Pistol Holstered 10690 Model = UIMOB01_SKN 10691 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA1 0 12 10692 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA2 0 5 10693 IdleAnimation = UIMOB01_SKL.UIMOB01_CHA 0 5 10694 IdleAnimation = UIMOB01_SKL.UIMOB01_STA 0 5 10695 AnimationMode = ONCE 10696 AnimationSpeedFactorRange 0.9 1.1 10697 TransitionKey = TRANS_STAND_A 10698 10699 WeaponFireFXBone = PRIMARY Muzzle 10700 WeaponMuzzleFlash = PRIMARY MuzzleFX 10701 WeaponFireFXBone = SECONDARY MuzzleAK 10702 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 10703 End 10704 10705 ; Drawing pistol 10706 ConditionState = PREATTACK_A 10707 Animation = UIMOB01_SKL.UIMOB01_ATA1_ST ; start firing 10708 AnimationMode = ONCE 10709 End 10710 AliasConditionState = PREATTACK_A FIRING_A 10711 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 10712 10713 ; Firing pistol 10714 ConditionState = FIRING_A 10715 Animation = UIMOB01_SKL.UIMOB01_ATA1_LP ; looping firing 10716 AnimationMode = LOOP 10717 TransitionKey = TRANS_FIRING_A 10718 End 10719 AliasConditionState = BETWEEN_FIRING_SHOTS_A 10720 10721 ConditionState = RELOADING_A 10722 Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing 10723 AnimationMode = ONCE 10724 End 10725 10726 ; This transition allows him to put his gun away when he's finished attacking. 10727 TransitionState = TRANS_FIRING_A TRANS_STAND_A 10728 Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing 10729 AnimationMode = ONCE 10730 End 10731 10732 ConditionState = MOVING 10733 Animation = UIMOB01_SKL.UIMOB01_RNA 10734 AnimationMode = LOOP 10735 Flags = RANDOMSTART 10736 TransitionKey = MOVING 10737 ParticleSysBone = None InfantryDustTrails 10738 End 10739 AliasConditionState = MOVING RELOADING_A 10740 AliasConditionState = MOVING PREATTACK_A 10741 AliasConditionState = MOVING FIRING_A 10742 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 10743 AliasConditionState = MOVING RELOADING_C RELOADING_A 10744 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 10745 10746 ConditionState = DYING 10747 Animation = UIMOB01_SKL.UIMOB01_DA1 10748 Animation = UIMOB01_SKL.UIMOB01_DA2 10749 AnimationMode = ONCE 10750 TransitionKey = TRANS_Dying 10751 End 10752 10753 10754 ConditionState = SPECIAL_CHEERING 10755 Animation = UIMOB01_SKL.UIMOB01_CHA 10756 AnimationMode = ONCE 10757 End 10758 10759 ;-------------------------------------------------------- 10760 ; TRANSITION FROM PISTOL TO AK47 10761 TransitionState = TRANS_STAND_A TRANS_STAND_AK 10762 Animation = UIMOB01_SKL.UIMOB01_TA-D 10763 AnimationMode = ONCE 10764 End 10765 10766 10767 ; WHILE CARRYING AK47 10768 ;--------------------------------------------------------- 10769 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 10770 Model = UIMOB01_SKN 10771 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD1 0 6 10772 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD2 0 6 10773 IdleAnimation = UIMOB01_SKL.UIMOB01_CHD 0 6 10774 IdleAnimation = UIMOB01_SKL.UIMOB01_STD 10775 AnimationMode = ONCE 10776 AnimationSpeedFactorRange 0.9 1.1 10777 TransitionKey = TRANS_STAND_AK 10778 End 10779 10780 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 10781 Animation = UIMOB01_SKL.UIMOB01_RND 10782 AnimationMode = LOOP 10783 Flags = RANDOMSTART 10784 TransitionKey = MOVING_AK 10785 End 10786 10787 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 10788 Animation = UIMOB01_SKL.UIMOB01_DD1 10789 Animation = UIMOB01_SKL.UIMOB01_DD2 10790 AnimationMode = ONCE 10791 TransitionKey = TRANS_Dying 10792 End 10793 10794 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 10795 Animation = UIMOB01_SKL.UIMOB01_CHD 10796 AnimationMode = ONCE 10797 End 10798 10799 ; Drawing AK47 10800 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 10801 Animation = UIMOB01_SKL.UIMOB01_ATD1_ST ; start firing 10802 AnimationMode = ONCE 10803 End 10804 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 10805 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 10806 10807 ; Firing Gun 10808 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 10809 Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing 10810 AnimationMode = LOOP 10811 WeaponFireFXBone = SECONDARY MuzzleAK 10812 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 10813 TransitionKey = TRANS_FIRING_AK 10814 End 10815 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 10816 10817 10818 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 10819 Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing 10820 AnimationMode = ONCE 10821 End 10822 10823 10824 ; This transition allows him to put his gun away when he's finished attacking. 10825 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 10826 Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing 10827 AnimationMode = ONCE 10828 End 10829 10830 10831 10832 10833 10834 10835 ; ;Throwing bottle---------------------------------------------------------------- 10836 ; ConditionState = PREATTACK_C 10837 ; Animation = UIMOB01_SKL.UIMOB01_ATCA_BF ; the wind up 10838 ; End 10839 ; AliasConditionState = PREATTACK_C FIRING_A 10840 ; AliasConditionState = PREATTACK_C RELOADING_A 10841 ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 10842 ; 10843 ; ConditionState = FIRING_C 10844 ; Animation = UIMOB01_SKL.UIMOB01_ATCA_AF ; the release and follow-thru 10845 ; TransitionKey = TRANS_THROW 10846 ; End 10847 ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 10848 ; 10849 ; ConditionState RELOADING_C 10850 ; Animation =UIMOB01_SKL.UIMOB01_IDA1 10851 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 10852 ; End 10853 ; AliasConditionState = RELOADING_C RELOADING_A 10854 ; AliasConditionState = RELOADING_C FIRING_A 10855 ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 10856 10857 10858 ; TransitionState = TRANSXXX TRANS_THROW 10859 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway gun and take out bottle 10860 ; End 10861 10862 ; TransitionState = TRANS_THROW TRANS_FIRING_A 10863 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get PISTOL 10864 ; End 10865 10866 ; TransitionState = TRANSXXXAK TRANS_THROW 10867 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway AK and take out bottle 10868 ; End 10869 10870 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 10871 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get AK 10872 ; End 10873 10874 10875 10876 10877 10878 ;-------------------------------------------------------- 10879 10880 10881 10882 10883 10884 10885 TransitionState = TRANS_Dying TRANS_Flailing 10886 Animation = UIMOB01_SKL.UIMOB01_A_ADTE1 10887 Animation = UIMOB01_SKL.UIMOB01_D_ADTE1 10888 AnimationMode = ONCE 10889 End 10890 10891 ConditionState = DYING EXPLODED_FLAILING 10892 Animation = UIMOB01_SKL.UIMOB01_A_ADTE2 10893 Animation = UIMOB01_SKL.UIMOB01_D_ADTE2 10894 AnimationMode = LOOP 10895 TransitionKey = TRANS_Flailing 10896 End 10897 10898 ConditionState = DYING EXPLODED_BOUNCING 10899 Animation = UIMOB01_SKL.UIMOB01_A_ADTE3 10900 Animation = UIMOB01_SKL.UIMOB01_D_ADTE3 10901 AnimationMode = ONCE 10902 TransitionKey = None 10903 End 10904 10905 10906 End 10907 10908 10909 ;**** DESIGN parameters *** 10910 10911 DisplayName = OBJECT:AngryMob 10912 Side = GLA 10913 EditorSorting = INFANTRY 10914 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 10915 10916 WeaponSet 10917 Conditions = None 10918 Weapon = PRIMARY GLAAngryMobPistolWeapon 10919 End 10920 10921 WeaponSet 10922 Conditions = PLAYER_UPGRADE 10923 Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions 10924 Weapon = SECONDARY GLAAngryMobAK47Weapon 10925 End 10926 10927 ArmorSet 10928 Conditions = None 10929 Armor = HumanArmor 10930 DamageFX = InfantryDamageFX 10931 End 10932 10933 VisionRange = 150 10934 ShroudClearingRange = 150 10935 Prerequisites 10936 Object = GLABarracks 10937 End 10938 BuildCost = 100 10939 BuildTime = 0.0 10940 10941 ExperienceValue = 5 5 5 5 ;Experience point value at each level 10942 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 10943 IsTrainable = Yes ;Can gain experience 10944 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 10945 10946 ; *** AUDIO Parameters *** 10947 VoiceSelect = NoSound 10948 VoiceMove = NoSound 10949 VoiceAttack = NoSound 10950 SoundDie = CivilianArabMaleDie 10951 10952 10953 ;**** ENGINEERING Parameters *** ;MOB01 10954 RadarPriority = UNIT 10955 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 10956 10957 Body = ActiveBody BodyTag_01 10958 MaxHealth = 50.0 10959 InitialHealth = 50.0 10960 End 10961 10962 Behavior = AIUpdateInterface ModuleTag_03 10963 AutoAcquireEnemiesWhenIdle = Yes 10964 End 10965 10966 Behavior = MobMemberSlavedUpdate ModuleTag_04 10967 MustCatchUpRadius = 40 10968 NoNeedToCatchUpRadius = 15 10969 Squirrelliness = 0.05 10970 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 10971 End 10972 10973 Locomotor = SET_NORMAL AngryMobNormalLocomotor 10974 Locomotor = SET_WANDER AngryMobWanderLocomotor 10975 Locomotor = SET_PANIC AngryMobPanicLocomotor 10976 10977 Behavior = PhysicsBehavior BehaviorTag_01 10978 Mass = 5.0 10979 End 10980 10981 Behavior = SquishCollide ModuleTag_08 10982 ;nothing 10983 End 10984 10985 Behavior = WeaponSetUpgrade UpgradeTag_01 10986 TriggeredBy = Upgrade_GLAArmTheMob 10987 End 10988 10989 10990 ; --- begin Death modules --- 10991 Behavior = SlowDeathBehavior DeathTag_01 10992 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 10993 SinkDelay = 3000 10994 SinkRate = 0.5 ; in Dist/Sec 10995 DestructionDelay = 8000 10996 FX = INITIAL FX_GIDie 10997 End 10998 Behavior = SlowDeathBehavior DeathTag_02 10999 DeathTypes = NONE +CRUSHED +SPLATTED 11000 SinkDelay = 3000 11001 SinkRate = 0.5 ; in Dist/Sec 11002 DestructionDelay = 8000 11003 FX = INITIAL FX_GIDieCrushed 11004 End 11005 Behavior = SlowDeathBehavior DeathTag_03 11006 DeathTypes = NONE +EXPLODED 11007 SinkDelay = 3000 11008 SinkRate = 0.5 ; in Dist/Sec 11009 DestructionDelay = 8000 11010 FX = INITIAL FX_GIDie 11011 FlingForce = 8 11012 FlingForceVariance = 3 11013 FlingPitch = 60 11014 FlingPitchVariance = 10 11015 End 11016 Behavior = SlowDeathBehavior DeathTag_04 11017 DeathTypes = NONE +BURNED 11018 DestructionDelay = 0 11019 FX = INITIAL FX_GIDie 11020 OCL = INITIAL OCL_FlamingInfantry 11021 End 11022 Behavior = SlowDeathBehavior DeathTag_05 11023 DeathTypes = NONE +POISONED 11024 DestructionDelay = 0 11025 FX = INITIAL FX_GIDie 11026 OCL = INITIAL OCL_ToxicInfantry 11027 End 11028 ; --- end Death modules --- 11029 11030 Behavior = PoisonedBehavior BehaviorTag_02 11031 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 11032 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 11033 End 11034 11035 Geometry = CYLINDER 11036 Scale = 0.95 ;Scaling 11037 GeometryMajorRadius = 1.0 ; very thin 11038 GeometryHeight = 8.0 11039 GeometryIsSmall = Yes 11040 Shadow = SHADOW_DECAL 11041 ShadowSizeX = 9; 11042 ShadowSizeY = 9; 11043 ShadowTexture = ShadowI; 11044 BuildCompletion = APPEARS_AT_RALLY_POINT 11045 11046 End 11047 11048 11049 ;------------------------------------------------------------------------------ 11050 ;------------------------------------------------------------------------------ 11051 Object GLAInfantryAngryMobRock02 11052 11053 ;**** ART Parameters *** 11054 Draw = W3DModelDraw ModuleTag_01 11055 OkToChangeModelColor = Yes 11056 11057 ; WHILE CARRYING ROCK 11058 ;--------------------------------------------------------- 11059 DefaultConditionState 11060 Model = UIMOB02_SKN 11061 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 11062 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 11063 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 11064 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 11065 AnimationMode = ONCE 11066 AnimationSpeedFactorRange 0.9 1.1 11067 TransitionKey = TRANS_STAND_A 11068 11069 ;WeaponFireFXBone = PRIMARY "UIMOB02 R HAND" 11070 ;WeaponMuzzleFlash = PRIMARY "UIMOB02 R HAND" 11071 WeaponFireFXBone = SECONDARY MuzzleAK 11072 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 11073 End 11074 11075 11076 ; Drawing rock 11077 ConditionState = PREATTACK_A 11078 Animation = UIMOB02_SKL.UIMOB02_ATB2_BF ; wind up 11079 AnimationMode = ONCE 11080 End 11081 AliasConditionState = PREATTACK_A FIRING_A 11082 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 11083 11084 ; throwing rock 11085 ConditionState = FIRING_A 11086 Animation = UIMOB02_SKL.UIMOB02_ATB1_AF ; throw 11087 Animation = UIMOB02_SKL.UIMOB02_ATB2_AF ; throw 11088 AnimationMode = ONCE 11089 TransitionKey = TRANS_FIRING_A 11090 End 11091 11092 ConditionState = BETWEEN_FIRING_SHOTS_A 11093 Animation = UIMOB02_SKL.UIMOB02_STB 11094 AnimationMode = ONCE 11095 ; this is basically a trick: this guy has a nontrivial animation for firing, 11096 ; and a long recycle time between shots. we want him to finish his fire animation 11097 ; (unless he's ordered to do something else), so this is just a handy trick that 11098 ; says, "if the previous state had this transition key, allow it to finish before 11099 ; switching to us, if possible". 11100 WaitForStateToFinishIfPossible = TRANS_FIRING_A 11101 End 11102 AliasConditionState = RELOADING_A 11103 11104 11105 ConditionState = MOVING 11106 Animation = UIMOB02_SKL.UIMOB02_RNB 11107 AnimationMode = LOOP 11108 Flags = RANDOMSTART 11109 TransitionKey = MOVING 11110 ParticleSysBone = None InfantryDustTrails 11111 End 11112 11113 ConditionState = DYING 11114 Animation = UIMOB02_SKL.UIMOB02_DB1 11115 Animation = UIMOB02_SKL.UIMOB02_DB2 11116 AnimationMode = ONCE 11117 TransitionKey = TRANS_Dying 11118 End 11119 11120 ConditionState = SPECIAL_CHEERING 11121 Animation = UIMOB02_SKL.UIMOB02_CHB 11122 Flags = RANDOMSTART 11123 AnimationMode = LOOP 11124 End 11125 11126 11127 ;-------------------------------------------------------- 11128 ; TRANSITION FROM PISTOL TO AK47 11129 TransitionState = TRANS_STAND_A TRANS_STAND_AK 11130 Animation = UIMOB02_SKL.UIMOB02_TB-D 11131 AnimationMode = ONCE 11132 End 11133 11134 11135 ; WHILE CARRYING AK47 11136 ;--------------------------------------------------------- 11137 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 11138 Model = UIMOB02_SKN 11139 IdleAnimation = UIMOB02_SKL.UIMOB02_IDD1 0 6 11140 IdleAnimation = UIMOB02_SKL.UIMOB02_IDD2 0 6 11141 IdleAnimation = UIMOB02_SKL.UIMOB02_CHD 0 6 11142 IdleAnimation = UIMOB02_SKL.UIMOB02_STD 11143 AnimationMode = ONCE 11144 AnimationSpeedFactorRange 0.9 1.1 11145 TransitionKey = TRANS_STAND_AK 11146 End 11147 11148 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 11149 Animation = UIMOB02_SKL.UIMOB02_RND 11150 AnimationMode = LOOP 11151 Flags = RANDOMSTART 11152 TransitionKey = MOVING_AK 11153 End 11154 11155 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 11156 Animation = UIMOB02_SKL.UIMOB02_DD1 11157 Animation = UIMOB02_SKL.UIMOB02_DD2 11158 AnimationMode = ONCE 11159 TransitionKey = TRANS_Dying 11160 End 11161 11162 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 11163 Animation = UIMOB02_SKL.UIMOB02_CHD 11164 AnimationMode = ONCE 11165 End 11166 11167 ; Drawing AK47 11168 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 11169 Animation = UIMOB02_SKL.UIMOB02_ATD1_ST ; start firing 11170 AnimationMode = ONCE 11171 End 11172 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 11173 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 11174 11175 ; Firing Gun 11176 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 11177 Animation = UIMOB02_SKL.UIMOB02_ATD1_LP ; looping firing 11178 AnimationMode = LOOP 11179 WeaponFireFXBone = SECONDARY MuzzleAK 11180 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 11181 TransitionKey = TRANS_FIRING_AK 11182 End 11183 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 11184 11185 11186 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 11187 Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing 11188 AnimationMode = ONCE 11189 End 11190 11191 11192 ; This transition allows him to put his gun away when he's finished attacking. 11193 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 11194 Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing 11195 AnimationMode = ONCE 11196 End 11197 11198 11199 11200 11201 TransitionState = TRANS_Dying TRANS_Flailing 11202 Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 11203 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 11204 AnimationMode = ONCE 11205 End 11206 11207 ConditionState = DYING EXPLODED_FLAILING 11208 Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 11209 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 11210 AnimationMode = LOOP 11211 TransitionKey = TRANS_Flailing 11212 End 11213 11214 ConditionState = DYING EXPLODED_BOUNCING 11215 Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 11216 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 11217 AnimationMode = ONCE 11218 TransitionKey = None 11219 End 11220 11221 11222 End 11223 11224 11225 ;**** DESIGN parameters *** 11226 11227 DisplayName = OBJECT:AngryMob 11228 Side = GLA 11229 EditorSorting = INFANTRY 11230 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 11231 11232 WeaponSet 11233 Conditions = None 11234 Weapon = PRIMARY GLAAngryMobRockProjectileWeapon 11235 End 11236 11237 WeaponSet 11238 Conditions = PLAYER_UPGRADE 11239 Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions 11240 Weapon = SECONDARY GLAAngryMobAK47Weapon 11241 End 11242 11243 ArmorSet 11244 Conditions = None 11245 Armor = HumanArmor 11246 DamageFX = InfantryDamageFX 11247 End 11248 11249 VisionRange = 150 11250 ShroudClearingRange = 150 11251 Prerequisites 11252 Object = GLABarracks 11253 End 11254 BuildCost = 100 11255 BuildTime = 0.0 11256 11257 ExperienceValue = 5 5 5 5 ;Experience point value at each level 11258 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 11259 IsTrainable = Yes ;Can gain experience 11260 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 11261 11262 ; *** AUDIO Parameters *** 11263 VoiceSelect = NoSound 11264 VoiceMove = NoSound 11265 VoiceAttack = NoSound 11266 SoundDie = CivilianArabFemaleDie 11267 11268 11269 ;**** ENGINEERING Parameters *** ;MOB02 11270 RadarPriority = UNIT 11271 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 11272 11273 Body = ActiveBody BodyTag_01 11274 MaxHealth = 50.0 11275 InitialHealth = 50.0 11276 End 11277 11278 Behavior = AIUpdateInterface ModuleTag_03 11279 AutoAcquireEnemiesWhenIdle = Yes 11280 End 11281 11282 Behavior = MobMemberSlavedUpdate ModuleTag_04 11283 MustCatchUpRadius = 40 11284 NoNeedToCatchUpRadius = 15 11285 Squirrelliness = 0.05 11286 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 11287 End 11288 11289 Locomotor = SET_NORMAL AngryMobNormalLocomotor 11290 Locomotor = SET_WANDER AngryMobWanderLocomotor 11291 Locomotor = SET_PANIC AngryMobPanicLocomotor 11292 11293 Behavior = PhysicsBehavior ModuleTag_05 11294 Mass = 5.0 11295 End 11296 11297 Behavior = SquishCollide ModuleTag_08 11298 ;nothing 11299 End 11300 11301 Behavior = WeaponSetUpgrade UpgradeTag_01 11302 TriggeredBy = Upgrade_GLAArmTheMob 11303 End 11304 11305 11306 ; --- begin Death modules --- 11307 Behavior = SlowDeathBehavior ModuleTag_Death01 11308 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 11309 SinkDelay = 3000 11310 SinkRate = 0.5 ; in Dist/Sec 11311 DestructionDelay = 8000 11312 FX = INITIAL FX_GIDie 11313 End 11314 Behavior = SlowDeathBehavior ModuleTag_Death02 11315 DeathTypes = NONE +CRUSHED +SPLATTED 11316 SinkDelay = 3000 11317 SinkRate = 0.5 ; in Dist/Sec 11318 DestructionDelay = 8000 11319 FX = INITIAL FX_GIDieCrushed 11320 End 11321 Behavior = SlowDeathBehavior ModuleTag_Death03 11322 DeathTypes = NONE +EXPLODED 11323 SinkDelay = 3000 11324 SinkRate = 0.5 ; in Dist/Sec 11325 DestructionDelay = 8000 11326 FX = INITIAL FX_GIDie 11327 FlingForce = 8 11328 FlingForceVariance = 3 11329 FlingPitch = 60 11330 FlingPitchVariance = 10 11331 End 11332 Behavior = SlowDeathBehavior ModuleTag_Death04 11333 DeathTypes = NONE +BURNED 11334 DestructionDelay = 0 11335 FX = INITIAL FX_GIDie 11336 OCL = INITIAL OCL_FlamingInfantry 11337 End 11338 Behavior = SlowDeathBehavior ModuleTag_Death05 11339 DeathTypes = NONE +POISONED 11340 DestructionDelay = 0 11341 FX = INITIAL FX_GIDie 11342 OCL = INITIAL OCL_ToxicInfantry 11343 End 11344 ; --- end Death modules --- 11345 11346 Behavior = PoisonedBehavior ModuleTag_13 11347 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 11348 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 11349 End 11350 11351 Geometry = CYLINDER 11352 Scale = 0.95 ;Scaling 11353 GeometryMajorRadius = 1.0 ; very thin 11354 GeometryHeight = 8.0 11355 GeometryIsSmall = Yes 11356 Shadow = SHADOW_DECAL 11357 ShadowSizeX = 9; 11358 ShadowSizeY = 9; 11359 ShadowTexture = ShadowI; 11360 BuildCompletion = APPEARS_AT_RALLY_POINT 11361 11362 End 11363 11364 ;------------------------------------------------------------------------------ 11365 ;------------------------------------------------------------------------------ 11366 11367 ObjectReskin GLAInfantryAngryMobPistol03 GLAInfantryAngryMobPistol01 11368 11369 ;**** ART Parameters *** 11370 Draw = W3DModelDraw DrawTag_01 11371 OkToChangeModelColor = Yes 11372 11373 11374 11375 ; WHILE CARRYING PISTOL 11376 ;--------------------------------------------------------- 11377 DefaultConditionState ;Idle with Pistol Holstered 11378 Model = UIMOB03_SKN 11379 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA1 0 12 11380 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA2 0 5 11381 IdleAnimation = UIMOB03_SKL.UIMOB03_CHA 0 5 11382 IdleAnimation = UIMOB03_SKL.UIMOB03_STA 0 5 11383 AnimationMode = ONCE 11384 AnimationSpeedFactorRange 0.9 1.1 11385 TransitionKey = TRANS_STAND_A 11386 11387 WeaponFireFXBone = PRIMARY Muzzle 11388 WeaponMuzzleFlash = PRIMARY MuzzleFX 11389 WeaponFireFXBone = SECONDARY MuzzleAK 11390 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 11391 WeaponFireFXBone = TERTIARY "UIMOB03 R HAND" 11392 End 11393 11394 ; Drawing pistol 11395 ConditionState = PREATTACK_A 11396 Animation = UIMOB03_SKL.UIMOB03_ATA1_ST ; start firing 11397 AnimationMode = ONCE 11398 End 11399 AliasConditionState = PREATTACK_A FIRING_A 11400 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 11401 11402 ; Firing pistol 11403 ConditionState = FIRING_A 11404 Animation = UIMOB03_SKL.UIMOB03_ATA1_LP ; looping firing 11405 AnimationMode = LOOP 11406 TransitionKey = TRANS_FIRING_A 11407 End 11408 AliasConditionState = BETWEEN_FIRING_SHOTS_A 11409 11410 ConditionState = RELOADING_A 11411 Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing 11412 AnimationMode = ONCE 11413 End 11414 11415 ; This transition allows him to put his gun away when he's finished attacking. 11416 TransitionState = TRANS_FIRING_A TRANS_STAND_A 11417 Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing 11418 AnimationMode = ONCE 11419 End 11420 11421 ConditionState = MOVING 11422 Animation = UIMOB03_SKL.UIMOB03_RNA 11423 AnimationMode = LOOP 11424 Flags = RANDOMSTART 11425 TransitionKey = MOVING 11426 ParticleSysBone = None InfantryDustTrails 11427 End 11428 AliasConditionState = MOVING RELOADING_A 11429 AliasConditionState = MOVING PREATTACK_A 11430 AliasConditionState = MOVING FIRING_A 11431 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 11432 AliasConditionState = MOVING RELOADING_C RELOADING_A 11433 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 11434 11435 ConditionState = DYING 11436 Animation = UIMOB03_SKL.UIMOB03_DA1 11437 Animation = UIMOB03_SKL.UIMOB03_DA2 11438 AnimationMode = ONCE 11439 TransitionKey = TRANS_Dying 11440 End 11441 11442 11443 ConditionState = SPECIAL_CHEERING 11444 Animation = UIMOB03_SKL.UIMOB03_CHA 11445 AnimationMode = ONCE 11446 End 11447 11448 ;-------------------------------------------------------- 11449 ; TRANSITION FROM PISTOL TO AK47 11450 TransitionState = TRANS_STAND_A TRANS_STAND_AK 11451 Animation = UIMOB03_SKL.UIMOB03_TA-D 11452 AnimationMode = ONCE 11453 End 11454 11455 11456 ; WHILE CARRYING AK47 11457 ;--------------------------------------------------------- 11458 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 11459 Model = UIMOB03_SKN 11460 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD1 0 6 11461 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD2 0 6 11462 IdleAnimation = UIMOB03_SKL.UIMOB03_CHD 0 6 11463 IdleAnimation = UIMOB03_SKL.UIMOB03_STD 11464 AnimationMode = ONCE 11465 AnimationSpeedFactorRange 0.9 1.1 11466 TransitionKey = TRANS_STAND_AK 11467 End 11468 11469 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 11470 Animation = UIMOB03_SKL.UIMOB03_RND 11471 AnimationMode = LOOP 11472 Flags = RANDOMSTART 11473 TransitionKey = MOVING_AK 11474 End 11475 11476 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 11477 Animation = UIMOB03_SKL.UIMOB03_DD1 11478 Animation = UIMOB03_SKL.UIMOB03_DD2 11479 AnimationMode = ONCE 11480 TransitionKey = TRANS_Dying 11481 End 11482 11483 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 11484 Animation = UIMOB03_SKL.UIMOB03_CHD 11485 AnimationMode = ONCE 11486 End 11487 11488 ; Drawing AK47 11489 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 11490 Animation = UIMOB03_SKL.UIMOB03_ATD_ST ; start firing 11491 AnimationMode = ONCE 11492 End 11493 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 11494 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 11495 11496 ; Firing Gun 11497 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 11498 Animation = UIMOB03_SKL.UIMOB03_ATD_LP ; looping firing 11499 AnimationMode = LOOP 11500 WeaponFireFXBone = SECONDARY MuzzleAK 11501 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 11502 TransitionKey = TRANS_FIRING_AK 11503 End 11504 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 11505 11506 11507 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 11508 Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing 11509 AnimationMode = ONCE 11510 End 11511 11512 11513 ; This transition allows him to put his gun away when he's finished attacking. 11514 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 11515 Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing 11516 AnimationMode = ONCE 11517 End 11518 11519 11520 ; ;Throwing bottle---------------------------------------------------------------- 11521 ; ConditionState = PREATTACK_C 11522 ; Animation = UIMOB03_SKL.UIMOB03_ATCA_BF ; the wind up 11523 ; End 11524 ; AliasConditionState = PREATTACK_C FIRING_A 11525 ; AliasConditionState = PREATTACK_C RELOADING_A 11526 ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 11527 ; 11528 ; ConditionState = FIRING_C 11529 ; Animation = UIMOB03_SKL.UIMOB03_ATCA_AF ; the release and follow-thru 11530 ; TransitionKey = TRANS_THROW 11531 ; End 11532 ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 11533 ; 11534 ; ConditionState RELOADING_C 11535 ; Animation =UIMOB03_SKL.UIMOB03_IDA1 11536 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 11537 ; 11538 ; End 11539 ; AliasConditionState = RELOADING_C RELOADING_A 11540 ; AliasConditionState = RELOADING_C FIRING_A 11541 ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 11542 11543 11544 ; TransitionState = TRANSXXX TRANS_THROW 11545 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway gun and take out bottle 11546 ; End 11547 11548 ; TransitionState = TRANS_THROW TRANS_FIRING_A 11549 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get PISTOL 11550 ; End 11551 11552 ; TransitionState = TRANSXXXAK TRANS_THROW 11553 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway AK and take out bottle 11554 ; End 11555 11556 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 11557 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get AK 11558 ; End 11559 11560 11561 11562 11563 11564 ;-------------------------------------------------------- 11565 11566 11567 11568 11569 11570 11571 TransitionState = TRANS_Dying TRANS_Flailing 11572 Animation = UIMOB03_SKL.UIMOB03_A_ADTD1 11573 Animation = UIMOB03_SKL.UIMOB03_D_ADTD1 11574 AnimationMode = ONCE 11575 End 11576 11577 ConditionState = DYING EXPLODED_FLAILING 11578 Animation = UIMOB03_SKL.UIMOB03_A_ADTD2 11579 Animation = UIMOB03_SKL.UIMOB03_D_ADTD2 11580 AnimationMode = LOOP 11581 TransitionKey = TRANS_Flailing 11582 End 11583 11584 ConditionState = DYING EXPLODED_BOUNCING 11585 Animation = UIMOB03_SKL.UIMOB03_A_ADTD3 11586 Animation = UIMOB03_SKL.UIMOB03_D_ADTD3 11587 AnimationMode = ONCE 11588 TransitionKey = None 11589 End 11590 11591 11592 End 11593 11594 11595 Geometry = CYLINDER 11596 GeometryMajorRadius = 1.0 ; very thin 11597 GeometryMinorRadius = 1.0 ; very thinD 11598 GeometryHeight = 8.0 11599 GeometryIsSmall = Yes 11600 11601 End 11602 11603 ;------------------------------------------------------------------------------ 11604 ;------------------------------------------------------------------------------ 11605 ObjectReskin GLAInfantryAngryMobRock04 GLAInfantryAngryMobRock02 11606 11607 ;**** ART Parameters *** 11608 Draw = W3DModelDraw ModuleTag_01 11609 OkToChangeModelColor = Yes 11610 11611 ; WHILE CARRYING ROCK 11612 ;--------------------------------------------------------- 11613 DefaultConditionState 11614 Model = UIMOB04_SKN 11615 IdleAnimation = UIMOB04_SKL.UIMOB04_IDB1 0 12 11616 IdleAnimation = UIMOB04_SKL.UIMOB04_IDB2 0 5 11617 IdleAnimation = UIMOB04_SKL.UIMOB04_CHB 0 5 11618 IdleAnimation = UIMOB04_SKL.UIMOB04_STB 0 12 11619 AnimationMode = ONCE 11620 AnimationSpeedFactorRange 0.9 1.1 11621 TransitionKey = TRANS_STAND_A 11622 WaitForStateToFinishIfPossible TRANS_FIRING_A 11623 11624 ;WeaponFireFXBone = PRIMARY "UIMOB04 R HAND" 11625 ;WeaponMuzzleFlash = PRIMARY "UIMOB04 R HAND" 11626 WeaponFireFXBone = SECONDARY MuzzleAK 11627 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 11628 End 11629 11630 11631 ; Drawing rock 11632 ConditionState = PREATTACK_A 11633 Animation = UIMOB04_SKL.UIMOB04_ATB2_BF ; wind up 11634 AnimationMode = ONCE 11635 AnimationSpeedFactorRange 1.0 1.0 11636 End 11637 AliasConditionState = PREATTACK_A FIRING_A 11638 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 11639 11640 ; throwing rock 11641 ConditionState = FIRING_A 11642 Animation = UIMOB04_SKL.UIMOB04_ATB1_AF ; throw 11643 Animation = UIMOB04_SKL.UIMOB04_ATB2_AF ; throw 11644 AnimationMode = ONCE 11645 TransitionKey = TRANS_FIRING_A 11646 End 11647 11648 ConditionState = BETWEEN_FIRING_SHOTS_A 11649 Animation = UIMOB04_SKL.UIMOB04_STB 11650 AnimationMode = ONCE 11651 ; this is basically a trick: this guy has a nontrivial animation for firing, 11652 ; and a long recycle time between shots. we want him to finish his fire animation 11653 ; (unless he's ordered to do something else), so this is just a handy trick that 11654 ; says, "if the previous state had this transition key, allow it to finish before 11655 ; switching to us, if possible". 11656 WaitForStateToFinishIfPossible = TRANS_FIRING_A 11657 End 11658 AliasConditionState = RELOADING_A 11659 11660 ConditionState = MOVING 11661 Animation = UIMOB04_SKL.UIMOB04_RUN 11662 AnimationMode = LOOP 11663 Flags = RANDOMSTART 11664 TransitionKey = MOVING 11665 ParticleSysBone = None InfantryDustTrails 11666 End 11667 11668 ConditionState = DYING 11669 Animation = UIMOB04_SKL.UIMOB04_DB1 11670 Animation = UIMOB04_SKL.UIMOB04_DB2 11671 AnimationMode = ONCE 11672 TransitionKey = TRANS_Dying 11673 End 11674 11675 ConditionState = SPECIAL_CHEERING 11676 Animation = UIMOB04_SKL.UIMOB04_CHB 11677 Flags = RANDOMSTART 11678 AnimationMode = LOOP 11679 End 11680 11681 11682 11683 11684 11685 11686 11687 11688 ;-------------------------------------------------------- 11689 ; TRANSITION FROM PISTOL TO AK47 11690 TransitionState = TRANS_STAND_A TRANS_STAND_AK 11691 Animation = UIMOB04_SKL.UIMOB04_TB-D 11692 AnimationMode = ONCE 11693 End 11694 11695 11696 ; WHILE CARRYING AK47 11697 ;--------------------------------------------------------- 11698 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 11699 Model = UIMOB04_SKN 11700 IdleAnimation = UIMOB04_SKL.UIMOB04_IDD1 0 6 11701 IdleAnimation = UIMOB04_SKL.UIMOB04_IDD2 0 6 11702 IdleAnimation = UIMOB04_SKL.UIMOB04_CHD 0 6 11703 IdleAnimation = UIMOB04_SKL.UIMOB04_STD 11704 AnimationMode = ONCE 11705 AnimationSpeedFactorRange 0.9 1.1 11706 TransitionKey = TRANS_STAND_AK 11707 WeaponFireFXBone = SECONDARY MuzzleAK 11708 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 11709 End 11710 11711 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 11712 Animation = UIMOB04_SKL.UIMOB04_RND 11713 AnimationMode = LOOP 11714 Flags = RANDOMSTART 11715 TransitionKey = MOVING_AK 11716 End 11717 11718 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 11719 Animation = UIMOB04_SKL.UIMOB04_DD1 11720 Animation = UIMOB04_SKL.UIMOB04_DD2 11721 AnimationMode = ONCE 11722 TransitionKey = TRANS_Dying 11723 End 11724 11725 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 11726 Animation = UIMOB04_SKL.UIMOB04_CHD 11727 AnimationMode = ONCE 11728 End 11729 11730 ; Drawing AK47 11731 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 11732 Animation = UIMOB04_SKL.UIMOB04_ATD1_ST ; start firing 11733 AnimationMode = ONCE 11734 End 11735 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 11736 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 11737 11738 ; Firing Gun 11739 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 11740 Animation = UIMOB04_SKL.UIMOB04_ATD1_LP ; looping firing 11741 AnimationMode = LOOP 11742 WeaponFireFXBone = PRIMARY MuzzleAK 11743 WeaponMuzzleFlash = PRIMARY MuzzleAKFX 11744 TransitionKey = TRANS_FIRING_AK 11745 End 11746 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 11747 11748 11749 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 11750 Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing 11751 AnimationMode = ONCE 11752 End 11753 11754 11755 ; This transition allows him to put his gun away when he's finished attacking. 11756 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 11757 Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing 11758 AnimationMode = ONCE 11759 End 11760 11761 11762 11763 11764 11765 11766 11767 11768 11769 11770 TransitionState = TRANS_Dying TRANS_Flailing 11771 Animation = UIMOB04_SKL.UIMOB04_B_ADTF1 11772 Animation = UIMOB04_SKL.UIMOB04_D_ADTF1 11773 AnimationMode = ONCE 11774 End 11775 11776 ConditionState = DYING EXPLODED_FLAILING 11777 Animation = UIMOB04_SKL.UIMOB04_B_ADTF2 11778 Animation = UIMOB04_SKL.UIMOB04_D_ADTF2 11779 AnimationMode = LOOP 11780 TransitionKey = TRANS_Flailing 11781 End 11782 11783 ConditionState = DYING EXPLODED_BOUNCING 11784 Animation = UIMOB04_SKL.UIMOB04_B_ADTF3 11785 Animation = UIMOB04_SKL.UIMOB04_D_ADTF3 11786 AnimationMode = ONCE 11787 TransitionKey = None 11788 End 11789 11790 11791 End 11792 11793 Geometry = CYLINDER 11794 GeometryMajorRadius = 1.0 ; kinda thin 11795 GeometryMinorRadius = 1.0 ; kinda thinD 11796 GeometryHeight = 8.0 11797 GeometryIsSmall = Yes 11798 11799 End 11800 11801 ;------------------------------------------------------------------------------ 11802 ;------------------------------------------------------------------------------ 11803 ObjectReskin GLAInfantryAngryMobPistol05 GLAInfantryAngryMobPistol01 11804 11805 ;**** ART Parameters *** 11806 Draw = W3DModelDraw DrawTag_01 11807 OkToChangeModelColor = Yes 11808 11809 11810 11811 ; WHILE CARRYING PISTOL 11812 ;--------------------------------------------------------- 11813 DefaultConditionState ;Idle with Pistol Holstered 11814 Model = UIMOB05_SKN 11815 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA1 0 12 11816 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA2 0 5 11817 IdleAnimation = UIMOB05_SKL.UIMOB05_CHA 0 5 11818 IdleAnimation = UIMOB05_SKL.UIMOB05_STA 0 5 11819 AnimationMode = ONCE 11820 AnimationSpeedFactorRange 0.9 1.1 11821 TransitionKey = TRANS_STAND_A 11822 11823 WeaponFireFXBone = PRIMARY Muzzle01 11824 WeaponMuzzleFlash = PRIMARY Muzzle01 11825 End 11826 11827 ; Drawing pistol 11828 ConditionState = PREATTACK_A 11829 Animation = UIMOB05_SKL.UIMOB05_ATA1_ST ; start firing 11830 AnimationMode = ONCE 11831 End 11832 AliasConditionState = PREATTACK_A FIRING_A 11833 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 11834 11835 ; Firing pistol 11836 ConditionState = FIRING_A 11837 Animation = UIMOB05_SKL.UIMOB05_ATA1_LP ; looping firing 11838 AnimationMode = LOOP 11839 TransitionKey = TRANS_FIRING_A 11840 End 11841 AliasConditionState = BETWEEN_FIRING_SHOTS_A 11842 11843 ConditionState = RELOADING_A 11844 Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing 11845 AnimationMode = ONCE 11846 End 11847 11848 ; This transition allows him to put his gun away when he's finished attacking. 11849 TransitionState = TRANS_FIRING_A TRANS_STAND_A 11850 Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing 11851 AnimationMode = ONCE 11852 End 11853 11854 ConditionState = MOVING 11855 Animation = UIMOB05_SKL.UIMOB05_RNA 11856 AnimationMode = LOOP 11857 Flags = RANDOMSTART 11858 TransitionKey = MOVING 11859 ParticleSysBone = None InfantryDustTrails 11860 End 11861 AliasConditionState = MOVING RELOADING_A 11862 AliasConditionState = MOVING PREATTACK_A 11863 AliasConditionState = MOVING FIRING_A 11864 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 11865 AliasConditionState = MOVING RELOADING_C RELOADING_A 11866 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 11867 11868 ConditionState = DYING 11869 Animation = UIMOB05_SKL.UIMOB05_DA1 11870 Animation = UIMOB05_SKL.UIMOB05_DA2 11871 AnimationMode = ONCE 11872 TransitionKey = TRANS_Dying 11873 End 11874 11875 11876 ConditionState = SPECIAL_CHEERING 11877 Animation = UIMOB05_SKL.UIMOB05_CHA 11878 AnimationMode = ONCE 11879 End 11880 11881 ;-------------------------------------------------------- 11882 11883 ; TRANSITION FROM PISTOL TO AK47 11884 TransitionState = TRANS_STAND_A TRANS_STAND_AK 11885 Animation = UIMOB05_SKL.UIMOB05_TA-D 11886 AnimationMode = ONCE 11887 End 11888 11889 11890 ; WHILE CARRYING AK47 11891 ;--------------------------------------------------------- 11892 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 11893 Model = UIMOB05_SKN 11894 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD1 0 6 11895 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD2 0 6 11896 IdleAnimation = UIMOB05_SKL.UIMOB05_CHD 0 6 11897 IdleAnimation = UIMOB05_SKL.UIMOB05_STD 11898 AnimationMode = ONCE 11899 AnimationSpeedFactorRange 0.9 1.1 11900 TransitionKey = TRANS_STAND_AK 11901 WeaponFireFXBone = SECONDARY MuzzleAK 11902 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 11903 End 11904 11905 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 11906 Animation = UIMOB05_SKL.UIMOB05_RND 11907 AnimationMode = LOOP 11908 Flags = RANDOMSTART 11909 TransitionKey = MOVING_AK 11910 End 11911 11912 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 11913 Animation = UIMOB05_SKL.UIMOB05_DD1 11914 Animation = UIMOB05_SKL.UIMOB05_DD2 11915 AnimationMode = ONCE 11916 TransitionKey = TRANS_Dying 11917 End 11918 11919 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 11920 Animation = UIMOB05_SKL.UIMOB05_CHD 11921 AnimationMode = ONCE 11922 End 11923 11924 ; Drawing AK47 11925 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 11926 Animation = UIMOB05_SKL.UIMOB05_ATD1_ST ; start firing 11927 AnimationMode = ONCE 11928 End 11929 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 11930 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 11931 11932 ; Firing Gun 11933 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 11934 Animation = UIMOB05_SKL.UIMOB05_ATD1_LP ; looping firing 11935 AnimationMode = LOOP 11936 WeaponFireFXBone = PRIMARY MuzzleAK 11937 WeaponMuzzleFlash = PRIMARY MuzzleAKFX 11938 TransitionKey = TRANS_FIRING_AK 11939 End 11940 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 11941 11942 11943 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 11944 Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing 11945 AnimationMode = ONCE 11946 End 11947 11948 11949 ; This transition allows him to put his gun away when he's finished attacking. 11950 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 11951 Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing 11952 AnimationMode = ONCE 11953 End 11954 11955 11956 ; ;Throwing bottle---------------------------------------------------------------- 11957 ; ConditionState = PREATTACK_C 11958 ; Animation = UIMOB05_SKL.UIMOB05_ATCA_BF ; the wind up 11959 ; End 11960 ; AliasConditionState = PREATTACK_C FIRING_A 11961 ; AliasConditionState = PREATTACK_C RELOADING_A 11962 ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 11963 ; 11964 ; ConditionState = FIRING_C 11965 ; Animation = UIMOB05_SKL.UIMOB05_ATCA_AF ; the release and follow-thru 11966 ; TransitionKey = TRANS_THROW 11967 ; End 11968 ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 11969 ; 11970 ; ConditionState RELOADING_C 11971 ; Animation =UIMOB05_SKL.UIMOB05_IDA1 11972 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 11973 ; End 11974 ; AliasConditionState = RELOADING_C RELOADING_A 11975 ; AliasConditionState = RELOADING_C FIRING_A 11976 ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 11977 11978 11979 ; TransitionState = TRANSXXX TRANS_THROW 11980 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway gun and take out bottle 11981 ; End 11982 11983 ; TransitionState = TRANS_THROW TRANS_FIRING_A 11984 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get PISTOL 11985 ; End 11986 11987 ; TransitionState = TRANSXXXAK TRANS_THROW 11988 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway AK and take out bottle 11989 ; End 11990 11991 11992 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 11993 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get AK 11994 ; End 11995 11996 11997 11998 11999 12000 ;-------------------------------------------------------- 12001 12002 12003 12004 12005 12006 12007 TransitionState = TRANS_Dying TRANS_Flailing 12008 Animation = UIMOB05_SKL.UIMOB05_A_ADTA1 12009 Animation = UIMOB05_SKL.UIMOB05_D_ADTA1 12010 AnimationMode = ONCE 12011 End 12012 12013 ConditionState = DYING EXPLODED_FLAILING 12014 Animation = UIMOB05_SKL.UIMOB05_A_ADTA2 12015 Animation = UIMOB05_SKL.UIMOB05_D_ADTA2 12016 AnimationMode = LOOP 12017 TransitionKey = TRANS_Flailing 12018 End 12019 12020 ConditionState = DYING EXPLODED_BOUNCING 12021 Animation = UIMOB05_SKL.UIMOB05_A_ADTA3 12022 Animation = UIMOB05_SKL.UIMOB05_D_ADTA3 12023 AnimationMode = ONCE 12024 TransitionKey = None 12025 End 12026 12027 12028 End 12029 12030 12031 12032 Geometry = CYLINDER 12033 GeometryMajorRadius = 1.0 ; very thin 12034 GeometryMinorRadius = 1.0 ; very thinD 12035 GeometryHeight = 8.0 12036 GeometryIsSmall = Yes 12037 12038 End 12039 12040 12041 ;------------------------------------------------------------------------------ 12042 ;------------------------------------------------------------------------------ 12043 Object GLAInfantryAngryMobMolotov02 12044 12045 ;**** ART Parameters *** 12046 Draw = W3DModelDraw ModuleTag_01 12047 OkToChangeModelColor = Yes 12048 12049 ; WHILE CARRYING ROCK 12050 ;--------------------------------------------------------- 12051 DefaultConditionState 12052 Model = UIMOB02_SKN 12053 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 12054 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 12055 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 12056 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 12057 AnimationMode = ONCE 12058 AnimationSpeedFactorRange 0.9 1.1 12059 TransitionKey = TRANS_STAND_B 12060 12061 WeaponFireFXBone = SECONDARY "UIMOB02 R HAND" 12062 12063 End 12064 12065 12066 ; Drawing rock 12067 ConditionState = PREATTACK_B 12068 Animation = UIMOB02_SKL.UIMOB02_ATCB_BF ; wind up 12069 AnimationMode = ONCE 12070 End 12071 AliasConditionState = PREATTACK_B FIRING_B 12072 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 12073 12074 ; throwing rock 12075 ConditionState = FIRING_B 12076 Animation = UIMOB02_SKL.UIMOB02_ATCB_AF ; throw 12077 AnimationMode = ONCE 12078 TransitionKey = TRANS_FIRING_B 12079 End 12080 12081 ConditionState = BETWEEN_FIRING_SHOTS_B 12082 Animation = UIMOB02_SKL.UIMOB02_STB 12083 AnimationMode = ONCE 12084 ; this is basically a trick: this guy has a nontrivial animation for firing, 12085 ; and a long recycle time between shots. we want him to finish his fire animation 12086 ; (unless he's ordered to do something else), so this is just a handy trick that 12087 ; says, "if the previous state had this transition key, allow it to finish before 12088 ; switching to us, if possible". 12089 WaitForStateToFinishIfPossible = TRANS_FIRING_B 12090 End 12091 AliasConditionState = RELOADING_B 12092 12093 12094 ConditionState = MOVING 12095 Animation = UIMOB02_SKL.UIMOB02_RNB 12096 AnimationMode = LOOP 12097 Flags = RANDOMSTART 12098 TransitionKey = MOVING 12099 ParticleSysBone = None InfantryDustTrails 12100 End 12101 12102 ConditionState = DYING 12103 Animation = UIMOB02_SKL.UIMOB02_DB1 12104 Animation = UIMOB02_SKL.UIMOB02_DB2 12105 AnimationMode = ONCE 12106 TransitionKey = TRANS_Dying 12107 End 12108 12109 ConditionState = SPECIAL_CHEERING 12110 Animation = UIMOB02_SKL.UIMOB02_CHB 12111 Flags = RANDOMSTART 12112 AnimationMode = LOOP 12113 End 12114 12115 12116 12117 12118 12119 12120 TransitionState = TRANS_Dying TRANS_Flailing 12121 Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 12122 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 12123 AnimationMode = ONCE 12124 End 12125 12126 ConditionState = DYING EXPLODED_FLAILING 12127 Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 12128 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 12129 AnimationMode = LOOP 12130 TransitionKey = TRANS_Flailing 12131 End 12132 12133 ConditionState = DYING EXPLODED_BOUNCING 12134 Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 12135 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 12136 AnimationMode = ONCE 12137 TransitionKey = None 12138 End 12139 12140 12141 End 12142 12143 12144 ;**** DESIGN parameters *** 12145 12146 DisplayName = OBJECT:AngryMob 12147 Side = GLA 12148 EditorSorting = INFANTRY 12149 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 12150 12151 WeaponSet 12152 Conditions = None 12153 Weapon = PRIMARY GLAAngryMobMolotovCocktailProjectileWeapon ; all she does is throw molotovs 12154 End 12155 12156 ArmorSet 12157 Conditions = None 12158 Armor = HumanArmor 12159 DamageFX = InfantryDamageFX 12160 End 12161 12162 VisionRange = 150 12163 ShroudClearingRange = 150 12164 Prerequisites 12165 Object = GLABarracks 12166 12167 End 12168 BuildCost = 100 12169 BuildTime = 0.0 12170 12171 ExperienceValue = 5 5 5 5 ;Experience point value at each level 12172 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 12173 IsTrainable = Yes ;Can gain experience 12174 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 12175 12176 ; *** AUDIO Parameters *** 12177 VoiceSelect = NoSound 12178 VoiceMove = NoSound 12179 VoiceAttack = NoSound 12180 SoundDie = CivilianArabFemaleDie 12181 12182 12183 ;**** ENGINEERING Parameters *** ;MOB02 12184 RadarPriority = UNIT 12185 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 12186 12187 Body = ActiveBody BodyTag_01 12188 MaxHealth = 50.0 12189 InitialHealth = 50.0 12190 End 12191 12192 Behavior = AIUpdateInterface ModuleTag_03 12193 AutoAcquireEnemiesWhenIdle = Yes 12194 End 12195 12196 Behavior = MobMemberSlavedUpdate ModuleTag_04 12197 MustCatchUpRadius = 40 12198 NoNeedToCatchUpRadius = 15 12199 Squirrelliness = 0.05 12200 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 12201 End 12202 12203 Locomotor = SET_NORMAL AngryMobNormalLocomotor 12204 Locomotor = SET_WANDER AngryMobWanderLocomotor 12205 Locomotor = SET_PANIC AngryMobPanicLocomotor 12206 12207 Behavior = PhysicsBehavior ModuleTag_05 12208 Mass = 5.0 12209 End 12210 12211 Behavior = SquishCollide ModuleTag_08 12212 ;nothing 12213 End 12214 12215 Behavior = WeaponSetUpgrade UpgradeTag_01 12216 TriggeredBy = Upgrade_GLAArmTheMob 12217 End 12218 12219 12220 ; --- begin Death modules --- 12221 Behavior = SlowDeathBehavior ModuleTag_Death01 12222 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 12223 SinkDelay = 3000 12224 SinkRate = 0.5 ; in Dist/Sec 12225 DestructionDelay = 8000 12226 FX = INITIAL FX_GIDie 12227 End 12228 Behavior = SlowDeathBehavior ModuleTag_Death02 12229 DeathTypes = NONE +CRUSHED +SPLATTED 12230 SinkDelay = 3000 12231 SinkRate = 0.5 ; in Dist/Sec 12232 DestructionDelay = 8000 12233 FX = INITIAL FX_GIDieCrushed 12234 End 12235 Behavior = SlowDeathBehavior ModuleTag_Death03 12236 DeathTypes = NONE +EXPLODED 12237 SinkDelay = 3000 12238 SinkRate = 0.5 ; in Dist/Sec 12239 DestructionDelay = 8000 12240 FX = INITIAL FX_GIDie 12241 FlingForce = 8 12242 FlingForceVariance = 3 12243 FlingPitch = 60 12244 FlingPitchVariance = 10 12245 End 12246 Behavior = SlowDeathBehavior ModuleTag_Death04 12247 DeathTypes = NONE +BURNED 12248 DestructionDelay = 0 12249 FX = INITIAL FX_GIDie 12250 OCL = INITIAL OCL_FlamingInfantry 12251 End 12252 Behavior = SlowDeathBehavior ModuleTag_Death05 12253 DeathTypes = NONE +POISONED 12254 DestructionDelay = 0 12255 FX = INITIAL FX_GIDie 12256 OCL = INITIAL OCL_ToxicInfantry 12257 End 12258 ; --- end Death modules --- 12259 12260 Behavior = PoisonedBehavior ModuleTag_13 12261 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 12262 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 12263 End 12264 12265 Geometry = CYLINDER 12266 Scale = 0.95 ;Scaling 12267 GeometryMajorRadius = 1.0 ; very thin 12268 GeometryHeight = 8.0 12269 GeometryIsSmall = Yes 12270 Shadow = SHADOW_DECAL 12271 ShadowSizeX = 9; 12272 ShadowSizeY = 9; 12273 ShadowTexture = ShadowI; 12274 BuildCompletion = APPEARS_AT_RALLY_POINT 12275 12276 End 12277 12278 ;------------------------------------------------------------------------------ 12279 ;------------------------------------------------------------------------------ 12280 12281 12282 12283 ;------------------------------------------------------------------------------ 12284 ;------------------------------------------------------------------------------ 12285 ;------------------------------------------------------------------------------ 12286 Object GLAInfantryHijacker 12287 12288 ; *** ART Parameters *** 12289 SelectPortrait = SUHijacker_L 12290 ButtonImage = SUHijacker 12291 12292 ;UpgradeCameo1 = NONE 12293 ;UpgradeCameo2 = NONE 12294 ;UpgradeCameo3 = NONE 12295 ;UpgradeCameo4 = NONE 12296 ;UpgradeCameo5 = NONE 12297 12298 Draw = W3DModelDraw ModuleTag_01 12299 OkToChangeModelColor = Yes 12300 12301 DefaultConditionState 12302 Model = UIHJCK_SKN 12303 IdleAnimation = UIHJCK_SKL.UIHJCK_STA 0 25 12304 IdleAnimation = UIHJCK_SKL.UIHJCK_IDA 12305 IdleAnimation = UIHJCK_SKL.UIHJCK_IDB 12306 AnimationMode = ONCE 12307 TransitionKey = TRANS_Stand 12308 End 12309 AliasConditionState = REALLYDAMAGED 12310 12311 ConditionState = MOVING 12312 Animation = UIHJCK_SKL.UIHJCK_RUN 12313 AnimationMode = LOOP 12314 Flags = RANDOMSTART 12315 TransitionKey = None 12316 ParticleSysBone = None InfantryDustTrails 12317 End 12318 AliasConditionState = REALLYDAMAGED MOVING 12319 12320 12321 ConditionState = DYING 12322 Animation = UIHJCK_SKL.UIHJCK_DTA 12323 Animation = UIHJCK_SKL.UIHJCK_DTB 12324 AnimationMode = ONCE 12325 TransitionKey = TRANS_Dying 12326 End 12327 12328 TransitionState = TRANS_Dying TRANS_Flailing 12329 Animation = UIHJCK_SKL.UIHJCK_ADTE1 12330 AnimationMode = ONCE 12331 End 12332 12333 ConditionState = DYING EXPLODED_FLAILING 12334 Animation = UIHJCK_SKL.UIHJCK_ADTE2 12335 AnimationMode = LOOP 12336 TransitionKey = TRANS_Flailing 12337 End 12338 12339 ConditionState = DYING EXPLODED_BOUNCING 12340 Animation = UIHJCK_SKL.UIHJCK_ADTE3 12341 AnimationMode = ONCE 12342 TransitionKey = None 12343 End 12344 12345 ConditionState = SPECIAL_CHEERING 12346 Animation = UIHJCK_SKL.UIHJCK_CHA 12347 AnimationMode = LOOP 12348 End 12349 12350 12351 ConditionState = PARACHUTING 12352 Animation = UIHJCK_SKL.UIHJCK_PHG 12353 AnimationMode = LOOP 12354 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 12355 TransitionKey = TRANS_Chute 12356 End 12357 AliasConditionState = PARACHUTING REALLYDAMAGED 12358 AliasConditionState = PARACHUTING DYING 12359 TransitionState = TRANS_Falling TRANS_Chute 12360 Animation = UIHJCK_SKL.UIHJCK_POP 12361 AnimationMode = ONCE 12362 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 12363 End 12364 TransitionState = TRANS_Chute TRANS_Stand 12365 Animation = UIHJCK_SKL.UIHJCK_PTD 12366 AnimationMode = ONCE 12367 End 12368 End 12369 12370 ; ***DESIGN parameters *** 12371 DisplayName = OBJECT:Hijacker 12372 Side = GLA 12373 EditorSorting = INFANTRY 12374 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 12375 12376 12377 12378 ArmorSet 12379 Conditions = None 12380 Armor = HumanArmor 12381 DamageFX = InfantryDamageFX 12382 End 12383 12384 VisionRange = 100 12385 ShroudClearingRange = 200 12386 Prerequisites 12387 Object = GLABarracks 12388 Object = GLAPalace 12389 Science = SCIENCE_Hijacker 12390 End 12391 12392 BuildCost = 250 12393 BuildTime = 10.0 ;in seconds 12394 12395 12396 12397 12398 ExperienceValue = 50 100 150 400 ;Experience point value at each level 12399 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 12400 IsTrainable = No ;Can gain experience 12401 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 12402 CommandSet = GLAInfantryHijackerCommandSet 12403 12404 ; *** AUDIO Parameters *** 12405 VoiceSelect = HijackerVoiceSelect 12406 VoiceMove = HijackerVoiceMove 12407 VoiceGuard = HijackerVoiceMove 12408 VoiceAttack = HijackerVoiceAttack 12409 SoundDie = HijackerVoiceDie 12410 SoundDieFire = DieByFireGLA 12411 SoundDieToxin = DieByToxinGLA 12412 VoiceFear = HijackerVoiceFear 12413 UnitSpecificSounds 12414 VoiceGarrison = HijackerVoiceGarrison 12415 VoiceCreate = HijackerVoiceCreate 12416 VoiceEnter = HijackerVoiceEnter 12417 VoiceEnterHostile = HijackerVoiceEnterHostile 12418 VoiceGetHealed = HijackerVoiceMove 12419 End 12420 12421 12422 ; *** ENGINEERING Parameters *** 12423 RadarPriority = UNIT 12424 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE STEALTH_GARRISON 12425 ;STEALTH_GARRISON Added per Dustin, 12/14--ML 12426 12427 12428 Behavior = StealthUpdate ModuleTag_02 12429 StealthDelay = 500 ; half second delay before stealthy 12430 StealthForbiddenConditions = MOVING ; only stealthy while stationary 12431 MoveThresholdSpeed = 3 12432 InnateStealth = Yes 12433 OrderIdleEnemiesToAttackMeUponReveal = Yes 12434 End 12435 12436 Body = ActiveBody ModuleTag_03 12437 MaxHealth = 100.0 12438 InitialHealth = 100.0 12439 End 12440 12441 Behavior = HijackerUpdate ModuleTag_04 12442 ParachuteName = AmericaParachute 12443 End 12444 12445 Behavior = AIUpdateInterface ModuleTag_05 12446 AutoAcquireEnemiesWhenIdle = Yes 12447 End 12448 Locomotor = SET_NORMAL JarmenKellLocomotor 12449 12450 Behavior = PhysicsBehavior ModuleTag_06 12451 Mass = 5.0 12452 End 12453 12454 Behavior = ConvertToHijackedVehicleCrateCollide ModuleTag_08 12455 RequiredKindOf = VEHICLE ; This is my car now, infidel! 12456 End 12457 12458 Behavior = SquishCollide ModuleTag_09 12459 ;nothing 12460 End 12461 12462 12463 ; --- begin Death modules --- 12464 Behavior = SlowDeathBehavior ModuleTag_Death01 12465 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 12466 SinkDelay = 50000 12467 SinkRate = 0.5 ; in Dist/Sec 12468 DestructionDelay = 8000000 12469 FX = INITIAL FX_GIDie 12470 End 12471 Behavior = SlowDeathBehavior ModuleTag_Death02 12472 DeathTypes = NONE +CRUSHED +SPLATTED 12473 SinkDelay = 50000 12474 SinkRate = 0.5 ; in Dist/Sec 12475 DestructionDelay = 8000000 12476 FX = INITIAL FX_GIDieCrushed 12477 End 12478 Behavior = SlowDeathBehavior ModuleTag_Death03 12479 DeathTypes = NONE +EXPLODED 12480 SinkDelay = 50000 12481 SinkRate = 0.5 ; in Dist/Sec 12482 DestructionDelay = 8000000 12483 FX = INITIAL FX_GIDie 12484 FlingForce = 8 12485 FlingForceVariance = 3 12486 FlingPitch = 60 12487 FlingPitchVariance = 10 12488 End 12489 Behavior = SlowDeathBehavior ModuleTag_Death04 12490 DeathTypes = NONE +BURNED 12491 DestructionDelay = 0 12492 FX = INITIAL FX_GIDie 12493 OCL = INITIAL OCL_FlamingInfantry 12494 End 12495 Behavior = SlowDeathBehavior ModuleTag_Death05 12496 DeathTypes = NONE +POISONED 12497 DestructionDelay = 0 12498 FX = INITIAL FX_GIDie 12499 OCL = INITIAL OCL_ToxicInfantry 12500 End 12501 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 12502 DeathTypes = NONE +POISONED_BETA 12503 DestructionDelay = 0 12504 FX = INITIAL FX_GIDie 12505 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 12506 End 12507 ; --- end Death modules --- 12508 12509 Behavior = PoisonedBehavior ModuleTag_14 12510 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 12511 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 12512 End 12513 12514 Geometry = CYLINDER 12515 Scale = 0.95 ;Scaling 12516 GeometryMajorRadius = 1.0 12517 GeometryMinorRadius = 1.0 12518 GeometryHeight = 8.0 12519 GeometryIsSmall = Yes 12520 Shadow = SHADOW_DECAL 12521 ShadowSizeX = 9; 12522 ShadowSizeY = 9; 12523 ShadowTexture = ShadowI; 12524 BuildCompletion = APPEARS_AT_RALLY_POINT 12525 12526 End 12527 12528 ;------------------------------------------------------------------------------ 12529 Object ChinaInfantryRedguard 12530 12531 ; *** ART Parameters *** 12532 SelectPortrait = T9 12533 ButtonImage = T9 12534 12535 UpgradeCameo1 = Upgrade_Nationalism 12536 UpgradeCameo2 = Upgrade_InfantryCaptureBuilding 12537 ;UpgradeCameo3 = NONE 12538 ;UpgradeCameo4 = NONE 12539 ;UpgradeCameo5 = NONE 12540 12541 Draw = W3DModelDraw ModuleTag_01 12542 12543 OkToChangeModelColor = Yes 12544 12545 ; this says "we don't use these condition states at all, so completely 12546 ; ignore them for purposes of matchmaking"... this is useful to help 12547 ; reduce the number of AliasConditionState clauses you must add in 12548 ; order to avoid ambiguity in some cases. 12549 IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A 12550 12551 ; ------- Standing-Around Animations 12552 12553 DefaultConditionState 12554 Model = NICNSC_SKN 12555 IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35 12556 IdleAnimation = NICNSC_SKL.NICNSC_IDA 12557 IdleAnimation = NICNSC_SKL.NICNSC_IDB 12558 AnimationMode = ONCE 12559 WeaponFireFXBone = PRIMARY Muzzle 12560 WeaponMuzzleFlash = PRIMARY MuzzleFX 12561 TransitionKey = TRANS_Stand 12562 End 12563 12564 ConditionState = REALLYDAMAGED 12565 IdleAnimation = NICNSC_SKL.NICNSC_STB 12566 AnimationMode = ONCE 12567 TransitionKey = TRANS_StandDamaged 12568 End 12569 12570 ; ------- Machine Gun Animations 12571 12572 ConditionState = USING_WEAPON_A 12573 Animation = NICNSC_SKL.NICNSC_ATA 12574 AnimationMode = LOOP 12575 TransitionKey = TRANS_Firing 12576 End 12577 12578 ConditionState = USING_WEAPON_A REALLYDAMAGED 12579 Animation = NICNSC_SKL.NICNSC_ATC 12580 AnimationMode = LOOP 12581 TransitionKey = TRANS_FiringDamaged 12582 End 12583 12584 12585 ; ------- Firing-related Transitions 12586 12587 TransitionState = TRANS_Firing TRANS_FiringDamaged 12588 Animation = NICNSC_SKL.NICNSC_AA2AC 12589 AnimationMode = ONCE 12590 End 12591 12592 TransitionState = TRANS_Stand TRANS_Firing 12593 Animation = NICNSC_SKL.NICNSC_SA2AA 12594 AnimationMode = ONCE 12595 End 12596 12597 TransitionState = TRANS_Firing TRANS_Stand 12598 Animation = NICNSC_SKL.NICNSC_AA2SA 12599 AnimationMode = ONCE 12600 End 12601 12602 TransitionState = TRANS_StandDamaged TRANS_FiringDamaged 12603 Animation = NICNSC_SKL.NICNSC_ATCST 12604 AnimationMode = ONCE 12605 End 12606 12607 TransitionState = TRANS_FiringDamaged TRANS_StandDamaged 12608 Animation = NICNSC_SKL.NICNSC_ATCED 12609 AnimationMode = ONCE 12610 End 12611 12612 12613 ; ------------- Damage Transitions -------------------- 12614 TransitionState = TRANS_StandDamaged TRANS_RunDamaged 12615 Animation = NICNSC_SKL.NICNSC_AA2AC 12616 AnimationMode = ONCE 12617 AnimationSpeedFactorRange = 2 2 12618 End 12619 TransitionState = TRANS_RunDamaged TRANS_StandDamaged 12620 Animation = NICNSC_SKL.NICNSC_AA2AC 12621 AnimationMode = ONCE_BACKWARDS 12622 AnimationSpeedFactorRange = 2 2 12623 Flags = START_FRAME_LAST 12624 End 12625 TransitionState = TRANS_Stand TRANS_StandDamaged 12626 Animation = NICNSC_SKL.NICNSC_AA2SA 12627 AnimationMode = ONCE_BACKWARDS 12628 AnimationSpeedFactorRange = 4 5 12629 Flags = START_FRAME_LAST 12630 End 12631 12632 12633 12634 ; Stab animations 12635 ConditionState = PREATTACK_C 12636 Animation = AIHERO_SKL.AIHERO_ATC 12637 AnimationMode = ONCE 12638 TransitionKey = TRANS_Stabbing 12639 HideSubObject = MUZZLEFX01 12640 End 12641 AliasConditionState = PREATTACK_C MOVING 12642 AliasConditionState = PREATTACK_C FIRING_B 12643 AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C 12644 12645 ConditionState = FIRING_C 12646 Animation = AIHERO_SKL.AIHERO_ATC 12647 AnimationMode = MANUAL 12648 Flags = START_FRAME_LAST 12649 TransitionKey = TRANS_Stabbing 12650 HideSubObject = MUZZLEFX01 12651 End 12652 AliasConditionState = BETWEEN_FIRING_SHOTS_C 12653 AliasConditionState = RELOADING_C 12654 12655 TransitionState = TRANS_Stabbing TRANS_Stand 12656 Animation = AIHERO_SKL.AIHERO_ATC2 12657 AnimationMode = ONCE 12658 End 12659 12660 ; Injured Stab animations 12661 ConditionState = PREATTACK_C REALLYDAMAGED 12662 Animation = AIHERO_SKL.AIHERO_IATC1 12663 AnimationMode = ONCE 12664 TransitionKey = TRANS_StabbingInjured 12665 HideSubObject = MUZZLEFX01 12666 End 12667 AliasConditionState = PREATTACK_C MOVING REALLYDAMAGED 12668 AliasConditionState = PREATTACK_C FIRING_B REALLYDAMAGED 12669 AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C REALLYDAMAGED 12670 12671 ConditionState = FIRING_C REALLYDAMAGED 12672 Animation = AIHERO_SKL.AIHERO_IATC2 12673 AnimationMode = MANUAL 12674 Flags = START_FRAME_LAST 12675 TransitionKey = TRANS_StabbingInjured 12676 HideSubObject = MUZZLEFX01 12677 End 12678 AliasConditionState = BETWEEN_FIRING_SHOTS_C REALLYDAMAGED 12679 AliasConditionState = RELOADING_C REALLYDAMAGED 12680 12681 TransitionState = TRANS_StabbingInjured TRANS_StandInjured 12682 Animation = AIHERO_SKL.AIHERO_IATC2 12683 AnimationMode = ONCE 12684 End 12685 12686 12687 ; ------- Parachuting Animations 12688 12689 ConditionState = FREEFALL 12690 Animation = NICNSC_SKL.NICNSC_POP 12691 AnimationMode = MANUAL 12692 Flags = START_FRAME_FIRST 12693 TransitionKey = TRANS_Falling 12694 End 12695 AliasConditionState = FREEFALL REALLYDAMAGED 12696 AliasConditionState = FREEFALL DYING 12697 12698 ConditionState = PARACHUTING 12699 Animation = NICNSC_SKL.NICNSC_PHG 12700 AnimationMode = LOOP 12701 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 12702 TransitionKey = TRANS_Chute 12703 End 12704 AliasConditionState = PARACHUTING REALLYDAMAGED 12705 AliasConditionState = PARACHUTING DYING 12706 12707 TransitionState = TRANS_Falling TRANS_Chute 12708 Animation = NICNSC_SKL.NICNSC_POP 12709 AnimationMode = ONCE 12710 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 12711 End 12712 12713 TransitionState = TRANS_Chute TRANS_Stand 12714 Animation = NICNSC_SKL.NICNSC_PTD 12715 AnimationMode = ONCE 12716 End 12717 12718 ; ------- Movement Animations 12719 12720 ConditionState = MOVING 12721 Animation = NICNSC_SKL.NICNSC_RNA 26 12722 AnimationMode = LOOP 12723 Flags = RANDOMSTART 12724 TransitionKey = None 12725 ParticleSysBone = None InfantryDustTrails 12726 End 12727 AliasConditionState = MOVING ATTACKING 12728 12729 ConditionState = MOVING REALLYDAMAGED 12730 Animation = NICNSC_SKL.NICNSC_RNB 28 12731 AnimationMode = LOOP 12732 Flags = RANDOMSTART 12733 TransitionKey = TRANS_RunDamaged 12734 TransitionKey = None 12735 End 12736 AliasConditionState = MOVING ATTACKING REALLYDAMAGED 12737 12738 ; ------- Bldg-capture 12739 12740 ConditionState = UNPACKING 12741 Model = NICNSC_F_SKN 12742 Animation = NICNSC_F_SKL.NICNSC_F_FDP1 12743 AnimationMode = ONCE 12744 End 12745 AliasConditionState = UNPACKING REALLYDAMAGED 12746 12747 ConditionState = RAISING_FLAG 12748 Model = NICNSC_F_SKN 12749 Animation = NICNSC_F_SKL.NICNSC_F_FDP2 12750 AnimationMode = ONCE 12751 TransitionKey = TRANS_Raising 12752 End 12753 AliasConditionState = RAISING_FLAG REALLYDAMAGED 12754 12755 ConditionState = PACKING 12756 Model = NICNSC_F_SKN 12757 Animation = NICNSC_F_SKL.NICNSC_F_FDP1 12758 AnimationMode = ONCE_BACKWARDS 12759 Flags = START_FRAME_LAST 12760 TransitionKey = TRANS_Packing 12761 End 12762 AliasConditionState = PACKING REALLYDAMAGED 12763 12764 TransitionState = TRANS_Raising TRANS_Packing 12765 Model = NICNSC_F_SKN 12766 Animation = NICNSC_F_SKL.NICNSC_F_FDP2 12767 AnimationMode = ONCE_BACKWARDS 12768 Flags = START_FRAME_LAST 12769 End 12770 12771 ; ------- Dying Animations 12772 12773 ConditionState = DYING 12774 Animation = NICNSC_SKL.NICNSC_DTA 12775 Animation = NICNSC_SKL.NICNSC_DTB 12776 AnimationMode = ONCE 12777 TransitionKey = TRANS_Dying 12778 End 12779 12780 TransitionState = TRANS_Dying TRANS_Flailing 12781 Animation = NICNSC_SKL.NICNSC_ATDE1 12782 AnimationMode = ONCE 12783 End 12784 12785 ConditionState = DYING EXPLODED_FLAILING 12786 Animation = NICNSC_SKL.NICNSC_ATDE2 12787 AnimationMode = LOOP 12788 TransitionKey = TRANS_Flailing 12789 End 12790 12791 ConditionState = DYING EXPLODED_BOUNCING 12792 Animation = NICNSC_SKL.NICNSC_ATDE3 12793 AnimationMode = ONCE 12794 TransitionKey = None 12795 End 12796 12797 ; ------- Misc Animations 12798 12799 ConditionState = SPECIAL_CHEERING 12800 Animation = NICNSC_SKL.NICNSC_CHA 12801 AnimationMode = LOOP 12802 End 12803 12804 End 12805 12806 ; ***DESIGN parameters *** 12807 DisplayName = OBJECT:Redguard 12808 Side = China 12809 EditorSorting = INFANTRY 12810 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 12811 WeaponSet 12812 Conditions = None 12813 Weapon = PRIMARY RedguardMachineGun 12814 Weapon = SECONDARY RedguardBayonet 12815 AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 12816 AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI 12817 End 12818 ArmorSet 12819 Conditions = None 12820 Armor = HumanArmor 12821 DamageFX = InfantryDamageFX 12822 End 12823 VisionRange = 100 12824 ShroudClearingRange = 200 12825 Prerequisites 12826 Object = ChinaBarracks 12827 End 12828 BuildCost = 300 12829 BuildTime = 10.0 ;in seconds 12830 12831 ExperienceValue = 5 5 10 20 ;Experience point value at each level 12832 ExperienceRequired = 0 20 40 80 ;Experience points needed to gain each level 12833 IsTrainable = Yes ;Can gain experience 12834 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 12835 CommandSet = ChinaInfantryRedguardCommandSet 12836 12837 ; *** AUDIO Parameters *** 12838 VoiceSelect = RedGuardVoiceSelect 12839 VoiceMove = RedGuardVoiceMove 12840 VoiceGuard = RedGuardVoiceMove 12841 VoiceAttack = RedGuardVoiceAttack 12842 VoiceGroupSelect = BattleCrySound 12843 SoundDie = RedGuardVoiceDie 12844 SoundDieFire = DieByFireChina 12845 SoundDieToxin = DieByToxinChina 12846 VoiceFear = RedGuardVoiceFear 12847 VoiceTaskComplete = RedGuardVoiceCaptureComplete 12848 UnitSpecificSounds 12849 VoiceMelee = RedGuardVoiceAttackBayonet 12850 VoiceGarrison = RedGuardVoiceGarrison 12851 VoiceCreate = RedGuardVoiceCreate 12852 VoiceSubdue = RedGuardVoiceSubdue 12853 VoiceEnter = RedGuardVoiceMove 12854 VoiceEnterHostile = RedGuardVoiceMove 12855 VoiceGetHealed = RedGuardVoiceMove 12856 End 12857 12858 ; *** ENGINEERING Parameters *** 12859 RadarPriority = UNIT 12860 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE PARACHUTABLE 12861 12862 Body = ActiveBody ModuleTag_02 12863 MaxHealth = 150.0 12864 InitialHealth = 150.0 12865 End 12866 12867 Behavior = VeterancyGainCreate ModuleTag_03 12868 StartingLevel = VETERAN 12869 ScienceRequired = SCIENCE_RedGuardTraining 12870 End 12871 12872 Behavior = AIUpdateInterface ModuleTag_04 12873 AutoAcquireEnemiesWhenIdle = Yes 12874 End 12875 12876 Behavior = CommandButtonHuntUpdate ModuleTag_05 ; allows use of command button hunt script with this unit. 12877 End 12878 12879 Locomotor = SET_NORMAL chinainfantryLocomotor 12880 12881 Behavior = HordeUpdate ModuleTag_06 12882 RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 12883 UpdateRate = 1000 ; how often to recheck horde status (msec) 12884 Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 12885 KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness 12886 AlliesOnly = Yes ; do we only count allies towards horde status? 12887 ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) 12888 Count = 5 ; how many units must be within Radius to grant us horde-ness 12889 Action = HORDE ; when horde-ing, grant us the HORDE bonus 12890 End 12891 Behavior = PhysicsBehavior ModuleTag_07 12892 Mass = 5.0 12893 End 12894 12895 ; sorry, no tranq or stun bullets, cut for this version (srj) 12896 ; Behavior = WeaponSetUpgrade ModuleTag_09 12897 ; TriggeredBy = Upgrade_ChinaStunBullets 12898 ; End 12899 12900 Behavior = SquishCollide ModuleTag_10 12901 ;nothing 12902 End 12903 12904 ; --- begin Death modules --- 12905 Behavior = SlowDeathBehavior ModuleTag_Death01 12906 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 12907 SinkDelay = 50000 12908 SinkRate = 0.5 ; in Dist/Sec 12909 DestructionDelay = 8000000 12910 FX = INITIAL FX_GIDie 12911 End 12912 Behavior = SlowDeathBehavior ModuleTag_Death02 12913 DeathTypes = NONE +CRUSHED +SPLATTED 12914 SinkDelay = 50000 12915 SinkRate = 0.5 ; in Dist/Sec 12916 DestructionDelay = 8000000 12917 FX = INITIAL FX_GIDieCrushed 12918 End 12919 Behavior = SlowDeathBehavior ModuleTag_Death03 12920 DeathTypes = NONE +EXPLODED 12921 SinkDelay = 50000 12922 SinkRate = 0.5 ; in Dist/Sec 12923 DestructionDelay = 8000000 12924 FX = INITIAL FX_GIDie 12925 FlingForce = 8 12926 FlingForceVariance = 3 12927 FlingPitch = 60 12928 FlingPitchVariance = 10 12929 End 12930 Behavior = SlowDeathBehavior ModuleTag_Death04 12931 DeathTypes = NONE +BURNED 12932 DestructionDelay = 0 12933 FX = INITIAL FX_GIDie 12934 OCL = INITIAL OCL_FlamingInfantry 12935 End 12936 Behavior = SlowDeathBehavior ModuleTag_Death05 12937 DeathTypes = NONE +POISONED 12938 DestructionDelay = 0 12939 FX = INITIAL FX_GIDie 12940 OCL = INITIAL OCL_ToxicInfantry 12941 End 12942 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 12943 DeathTypes = NONE +POISONED_BETA 12944 DestructionDelay = 0 12945 FX = INITIAL FX_GIDie 12946 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 12947 End 12948 ; --- end Death modules --- 12949 12950 Behavior = PoisonedBehavior ModuleTag_15 12951 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 12952 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 12953 End 12954 12955 Behavior = SpecialAbility ModuleTag_16 12956 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 12957 UpdateModuleStartsAttack = Yes 12958 StartsPaused = Yes 12959 InitiateSound = RedGuardVoiceCapture 12960 End 12961 Behavior = SpecialAbilityUpdate ModuleTag_17 12962 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 12963 StartAbilityRange = 5.0 12964 UnpackTime = 3000 ; (changing this will scale anim speed) 12965 PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) 12966 PackTime = 2000 ; (changing this will scale anim speed) 12967 DoCaptureFX = Yes 12968 AwardXPForTriggering = 4 12969 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 12970 End 12971 12972 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18 12973 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 12974 TriggeredBy = Upgrade_InfantryCaptureBuilding 12975 End 12976 12977 Geometry = CYLINDER 12978 Scale = 0.95 ;Scaling 12979 GeometryMajorRadius = 1.0 12980 GeometryMinorRadius = 1.0 12981 GeometryHeight = 8.0 12982 GeometryIsSmall = Yes 12983 Shadow = SHADOW_DECAL 12984 ShadowSizeX = 9; 12985 ShadowSizeY = 9; 12986 ShadowTexture = ShadowI; 12987 BuildCompletion = APPEARS_AT_RALLY_POINT 12988 12989 End 12990 ;------------------------------------------------------------------------------ 12991 Object ChinaInfantryParadeRedGuard 12992 12993 ; Unit added per John Lee's request. - GB 12994 12995 ; *** ART Parameters *** 12996 Draw = W3DModelDraw ModuleTag_01 12997 OkToChangeModelColor = Yes 12998 12999 ; ------- Standing-Around Animations 13000 13001 DefaultConditionState 13002 Model = NICNSC_SKN 13003 IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35 13004 IdleAnimation = NICNSC_SKL.NICNSC_IDA 13005 IdleAnimation = NICNSC_SKL.NICNSC_IDB 13006 AnimationMode = ONCE 13007 WeaponFireFXBone = PRIMARY Muzzle 13008 WeaponMuzzleFlash = PRIMARY MuzzleFX 13009 TransitionKey = TRANS_Stand 13010 End 13011 13012 ConditionState = REALLYDAMAGED 13013 IdleAnimation = NICNSC_SKL.NICNSC_STB 13014 AnimationMode = ONCE 13015 TransitionKey = TRANS_StandDamaged 13016 End 13017 13018 ; ------- Machine Gun Animations 13019 13020 ConditionState = FIRING_A 13021 Animation = NICNSC_SKL.NICNSC_ATA 13022 AnimationMode = LOOP 13023 TransitionKey = TRANS_Firing 13024 End 13025 AliasConditionState = BETWEEN_FIRING_SHOTS_A 13026 AliasConditionState = RELOADING_A 13027 13028 ConditionState = USING_WEAPON_A REALLYDAMAGED 13029 Animation = NICNSC_SKL.NICNSC_ATC 13030 AnimationMode = LOOP 13031 TransitionKey = TRANS_FiringDamaged 13032 End 13033 13034 13035 ; ------- Firing-related Transitions 13036 13037 TransitionState = TRANS_Firing TRANS_FiringDamaged 13038 Animation = NICNSC_SKL.NICNSC_AA2AC 13039 AnimationMode = ONCE 13040 End 13041 13042 TransitionState = TRANS_Stand TRANS_Firing 13043 Animation = NICNSC_SKL.NICNSC_SA2AA 13044 AnimationMode = ONCE 13045 End 13046 13047 TransitionState = TRANS_Firing TRANS_Stand 13048 Animation = NICNSC_SKL.NICNSC_AA2SA 13049 AnimationMode = ONCE 13050 End 13051 13052 TransitionState = TRANS_StandDamaged TRANS_FiringDamaged 13053 Animation = NICNSC_SKL.NICNSC_ATCST 13054 AnimationMode = ONCE 13055 End 13056 13057 TransitionState = TRANS_FiringDamaged TRANS_StandDamaged 13058 Animation = NICNSC_SKL.NICNSC_ATCED 13059 AnimationMode = ONCE 13060 End 13061 13062 13063 ; ------------- Damage Transitions -------------------- 13064 TransitionState = TRANS_StandDamaged TRANS_RunDamaged 13065 Animation = NICNSC_SKL.NICNSC_AA2AC 13066 AnimationMode = ONCE 13067 AnimationSpeedFactorRange = 2 2 13068 End 13069 TransitionState = TRANS_RunDamaged TRANS_StandDamaged 13070 Animation = NICNSC_SKL.NICNSC_AA2AC 13071 AnimationMode = ONCE_BACKWARDS 13072 AnimationSpeedFactorRange = 2 2 13073 Flags = START_FRAME_LAST 13074 End 13075 TransitionState = TRANS_Stand TRANS_StandDamaged 13076 Animation = NICNSC_SKL.NICNSC_AA2SA 13077 AnimationMode = ONCE_BACKWARDS 13078 AnimationSpeedFactorRange = 4 5 13079 Flags = START_FRAME_LAST 13080 End 13081 13082 13083 ; ------- Bayonet Animations 13084 13085 ConditionState = PREATTACK_C 13086 Animation = NICNSC_SKL.NICNSC_ATB1 13087 AnimationMode = ONCE 13088 TransitionKey = TRANS_Stab 13089 End 13090 AliasConditionState = PREATTACK_C MOVING 13091 AliasConditionState = PREATTACK_C FIRING_C 13092 AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C 13093 13094 ConditionState = FIRING_C 13095 Animation = NICNSC_SKL.NICNSC_ATB2 13096 AnimationMode = ONCE 13097 ; this is basically a trick: this guy has a nontrivial animation for firing, 13098 ; and a long recycle time between shots. we want him to finish his fire animation 13099 ; (unless he's ordered to do something else), so this is just a handy trick that 13100 ; says, "if the previous state had this transition key, allow it to finish before 13101 ; switching to us, if possible". 13102 WaitForStateToFinishIfPossible = TRANS_Stab 13103 End 13104 AliasConditionState = BETWEEN_FIRING_SHOTS_C 13105 AliasConditionState = RELOADING_C 13106 13107 ; ------- Parachuting Animations 13108 13109 ConditionState = FREEFALL 13110 Animation = NICNSC_SKL.NICNSC_POP 13111 AnimationMode = MANUAL 13112 Flags = START_FRAME_FIRST 13113 TransitionKey = TRANS_Falling 13114 End 13115 AliasConditionState = FREEFALL REALLYDAMAGED 13116 AliasConditionState = FREEFALL DYING 13117 13118 ConditionState = PARACHUTING 13119 Animation = NICNSC_SKL.NICNSC_PHG 13120 AnimationMode = LOOP 13121 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 13122 TransitionKey = TRANS_Chute 13123 End 13124 AliasConditionState = PARACHUTING REALLYDAMAGED 13125 AliasConditionState = PARACHUTING DYING 13126 13127 TransitionState = TRANS_Falling TRANS_Chute 13128 Animation = NICNSC_SKL.NICNSC_POP 13129 AnimationMode = ONCE 13130 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 13131 End 13132 13133 TransitionState = TRANS_Chute TRANS_Stand 13134 Animation = NICNSC_SKL.NICNSC_PTD 13135 AnimationMode = ONCE 13136 End 13137 13138 ; ------- Movement Animations 13139 13140 ConditionState = MOVING 13141 Animation = NICNSC_SKL.NICNSC_MAR 12 13142 AnimationMode = LOOP 13143 Flags = RANDOMSTART 13144 TransitionKey = None 13145 ParticleSysBone = None InfantryDustTrails 13146 End 13147 AliasConditionState = MOVING ATTACKING 13148 13149 ConditionState = MOVING REALLYDAMAGED 13150 Animation = NICNSC_SKL.NICNSC_RNB 13151 AnimationMode = LOOP 13152 Flags = RANDOMSTART 13153 TransitionKey = TRANS_RunDamaged 13154 ParticleSysBone = None InfantryDustTrails 13155 End 13156 AliasConditionState = MOVING ATTACKING REALLYDAMAGED 13157 13158 ; ------- Bldg-capture 13159 13160 ConditionState = UNPACKING 13161 Animation = NICNSC_SKL.NICNSC_FDP1 13162 AnimationMode = ONCE 13163 End 13164 AliasConditionState = UNPACKING REALLYDAMAGED 13165 13166 ConditionState = RAISING_FLAG 13167 Animation = NICNSC_SKL.NICNSC_FDP2 13168 AnimationMode = ONCE 13169 TransitionKey = TRANS_Raising 13170 End 13171 AliasConditionState = RAISING_FLAG REALLYDAMAGED 13172 13173 ConditionState = PACKING 13174 Animation = NICNSC_SKL.NICNSC_FDP1 13175 AnimationMode = ONCE_BACKWARDS 13176 Flags = START_FRAME_LAST 13177 TransitionKey = TRANS_Packing 13178 End 13179 AliasConditionState = PACKING REALLYDAMAGED 13180 13181 TransitionState = TRANS_Raising TRANS_Packing 13182 Animation = NICNSC_SKL.NICNSC_FDP2 13183 AnimationMode = ONCE_BACKWARDS 13184 Flags = START_FRAME_LAST 13185 End 13186 13187 ; ------- Misc Animations 13188 13189 ; ------- Dying Animations 13190 13191 ConditionState = DYING 13192 Animation = NICNSC_SKL.NICNSC_DTA 13193 Animation = NICNSC_SKL.NICNSC_DTB 13194 AnimationMode = ONCE 13195 TransitionKey = TRANS_Dying 13196 End 13197 13198 TransitionState = TRANS_Dying TRANS_Flailing 13199 Animation = NICNSC_SKL.NICNSC_ATDE1 13200 AnimationMode = ONCE 13201 End 13202 13203 ConditionState = DYING EXPLODED_FLAILING 13204 Animation = NICNSC_SKL.NICNSC_ATDE2 13205 AnimationMode = LOOP 13206 TransitionKey = TRANS_Flailing 13207 End 13208 13209 ConditionState = DYING EXPLODED_BOUNCING 13210 Animation = NICNSC_SKL.NICNSC_ATDE3 13211 AnimationMode = ONCE 13212 TransitionKey = None 13213 End 13214 13215 ConditionState = SPECIAL_CHEERING 13216 Animation = NICNSC_SKL.NICNSC_CHA 13217 AnimationMode = LOOP 13218 End 13219 13220 End 13221 13222 ; ***DESIGN parameters *** 13223 DisplayName = OBJECT:Redguard 13224 Side = China 13225 EditorSorting = INFANTRY 13226 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 13227 WeaponSet 13228 Conditions = None 13229 Weapon = PRIMARY RedguardMachineGun 13230 Weapon = SECONDARY None 13231 Weapon = TERTIARY RedguardBayonet 13232 AutoChooseSources = TERTIARY None 13233 End 13234 ; sorry, no stun bullets, cut for this version (srj) 13235 ; WeaponSet 13236 ; Conditions = PLAYER_UPGRADE 13237 ; Weapon = PRIMARY RedguardMachineGun 13238 ; Weapon = SECONDARY RedguardStunBulletsMachineGun 13239 ; Weapon = TERTIARY RedguardBayonet 13240 ; AutoChooseSources = SECONDARY None 13241 ; AutoChooseSources = TERTIARY None 13242 ; End 13243 ArmorSet 13244 Conditions = None 13245 Armor = HumanArmor 13246 DamageFX = InfantryDamageFX 13247 End 13248 VisionRange = 100 13249 ShroudClearingRange = 200 13250 Prerequisites 13251 Object = ChinaBarracks 13252 End 13253 BuildCost = 225 13254 BuildTime = 10.0 ;in seconds 13255 13256 ExperienceValue = 5 5 10 20 ;Experience point value at each level 13257 ExperienceRequired = 0 20 40 80 ;Experience points needed to gain each level 13258 IsTrainable = Yes ;Can gain experience 13259 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 13260 CommandSet = ChinaInfantryRedguardCommandSet 13261 13262 ; *** AUDIO Parameters *** 13263 VoiceSelect = RedGuardVoiceSelect 13264 VoiceMove = RedGuardVoiceMove 13265 VoiceAttack = RedGuardVoiceAttack 13266 VoiceGroupSelect = BattleCrySound 13267 SoundDie = RedGuardVoiceDie 13268 SoundDieFire = DieByFireChina 13269 SoundDieToxin = DieByToxinChina 13270 13271 ; *** ENGINEERING Parameters *** 13272 RadarPriority = UNIT 13273 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE PARACHUTABLE 13274 13275 Body = ActiveBody ModuleTag_02 13276 MaxHealth = 90.0 13277 InitialHealth = 90.0 13278 End 13279 13280 Behavior = VeterancyGainCreate ModuleTag_03 13281 StartingLevel = VETERAN 13282 ScienceRequired = SCIENCE_RedGuardTraining 13283 End 13284 13285 Behavior = AIUpdateInterface ModuleTag_04 13286 AutoAcquireEnemiesWhenIdle = Yes 13287 End 13288 13289 Locomotor = SET_NORMAL ParadeRedguardLocomotor 13290 13291 Behavior = PhysicsBehavior ModuleTag_06 13292 Mass = 5.0 13293 End 13294 13295 ; sorry, no tranq or stun bullets, cut for this version (srj) 13296 ; Behavior = WeaponSetUpgrade ModuleTag_08 13297 ; TriggeredBy = Upgrade_ChinaStunBullets 13298 ; End 13299 13300 Behavior = SquishCollide ModuleTag_09 13301 ;nothing 13302 End 13303 13304 ; --- begin Death modules --- 13305 Behavior = SlowDeathBehavior ModuleTag_Death01 13306 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 13307 SinkDelay = 3000 13308 SinkRate = 0.5 ; in Dist/Sec 13309 DestructionDelay = 8000 13310 FX = INITIAL FX_GIDie 13311 End 13312 Behavior = SlowDeathBehavior ModuleTag_Death02 13313 DeathTypes = NONE +CRUSHED +SPLATTED 13314 SinkDelay = 3000 13315 SinkRate = 0.5 ; in Dist/Sec 13316 DestructionDelay = 8000 13317 FX = INITIAL FX_GIDieCrushed 13318 End 13319 Behavior = SlowDeathBehavior ModuleTag_Death03 13320 DeathTypes = NONE +EXPLODED 13321 SinkDelay = 3000 13322 SinkRate = 0.5 ; in Dist/Sec 13323 DestructionDelay = 8000 13324 FX = INITIAL FX_GIDie 13325 FlingForce = 8 13326 FlingForceVariance = 3 13327 FlingPitch = 60 13328 FlingPitchVariance = 10 13329 End 13330 Behavior = SlowDeathBehavior ModuleTag_Death04 13331 DeathTypes = NONE +BURNED 13332 DestructionDelay = 0 13333 FX = INITIAL FX_GIDie 13334 OCL = INITIAL OCL_FlamingInfantry 13335 End 13336 Behavior = SlowDeathBehavior ModuleTag_Death05 13337 DeathTypes = NONE +POISONED 13338 DestructionDelay = 0 13339 FX = INITIAL FX_GIDie 13340 OCL = INITIAL OCL_ToxicInfantry 13341 End 13342 ; --- end Death modules --- 13343 13344 Behavior = PoisonedBehavior ModuleTag_14 13345 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 13346 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 13347 End 13348 13349 Behavior = SpecialAbility ModuleTag_15 13350 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 13351 UpdateModuleStartsAttack = Yes 13352 InitiateSound = RedGuardVoiceCapture 13353 End 13354 Behavior = SpecialAbilityUpdate ModuleTag_16 13355 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 13356 StartAbilityRange = 5.0 13357 UnpackTime = 3000 ; (changing this will scale anim speed) 13358 PreparationTime = 10000 ; time to complete hack once prepared (changing this will scale anim speed) 13359 PackTime = 2000 ; (changing this will scale anim speed) 13360 DoCaptureFX = Yes 13361 End 13362 13363 Geometry = CYLINDER 13364 Scale = 0.95 ;Scaling 13365 GeometryMajorRadius = 1.0 13366 GeometryMinorRadius = 1.0 13367 GeometryHeight = 8.0 13368 GeometryIsSmall = Yes 13369 Shadow = SHADOW_DECAL 13370 ShadowSizeX = 9; 13371 ShadowSizeY = 9; 13372 ShadowTexture = ShadowI; 13373 BuildCompletion = APPEARS_AT_RALLY_POINT 13374 13375 End 13376 13377 ;------------------------------------------------------------------------------ 13378 ;**************************** Cinematic-Only unit **************************** 13379 Object CINE_ChinaInfantryParadeRedGuard 13380 13381 ; Unit added per John Lee's request. - GB 13382 13383 ; *** ART Parameters *** 13384 Draw = W3DModelDraw ModuleTag_01 13385 OkToChangeModelColor = Yes 13386 13387 ; ------- Standing-Around Animations 13388 13389 DefaultConditionState 13390 Model = NICNSC_SKN 13391 IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35 13392 IdleAnimation = NICNSC_SKL.NICNSC_IDA 13393 IdleAnimation = NICNSC_SKL.NICNSC_IDB 13394 AnimationMode = ONCE 13395 WeaponFireFXBone = PRIMARY Muzzle 13396 WeaponMuzzleFlash = PRIMARY MuzzleFX 13397 TransitionKey = TRANS_Stand 13398 End 13399 13400 ConditionState = REALLYDAMAGED 13401 IdleAnimation = NICNSC_SKL.NICNSC_STB 13402 AnimationMode = ONCE 13403 TransitionKey = TRANS_Stand 13404 End 13405 13406 ; ------- Machine Gun Animations 13407 13408 ConditionState = FIRING_A 13409 Animation = NICNSC_SKL.NICNSC_ATA 13410 AnimationMode = LOOP 13411 TransitionKey = TRANS_Firing 13412 End 13413 AliasConditionState = BETWEEN_FIRING_SHOTS_A 13414 AliasConditionState = RELOADING_A 13415 13416 ConditionState = FIRING_A REALLYDAMAGED 13417 Animation = NICNSC_SKL.NICNSC_ATC 13418 AnimationMode = LOOP 13419 TransitionKey = TRANS_FiringDamaged 13420 End 13421 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 13422 AliasConditionState = RELOADING_A REALLYDAMAGED 13423 13424 ; ------- Stun Bullet Animations 13425 ; sorry, no tranq or stun bullets, cut for this version (srj) 13426 ; 13427 ; ConditionState = FIRING_B 13428 ; Animation = NICNSC_SKL.NICNSC_ATA 13429 ; AnimationMode = LOOP 13430 ; TransitionKey = TRANS_Firing 13431 ; End 13432 ; AliasConditionState = BETWEEN_FIRING_SHOTS_B 13433 ; AliasConditionState = RELOADING_B 13434 ; 13435 ; ConditionState = FIRING_B REALLYDAMAGED 13436 ; Animation = NICNSC_SKL.NICNSC_ATC 13437 ; AnimationMode = LOOP 13438 ; TransitionKey = TRANS_FiringDamaged 13439 ; End 13440 ; AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 13441 ; AliasConditionState = RELOADING_B REALLYDAMAGED 13442 13443 ; ------- Firing-related Transitions 13444 13445 TransitionState = TRANS_Firing TRANS_FiringDamaged 13446 Animation = NICNSC_SKL.NICNSC_AA2AC 13447 AnimationMode = ONCE 13448 End 13449 13450 TransitionState = TRANS_Stand TRANS_Firing 13451 Animation = NICNSC_SKL.NICNSC_SA2AA 13452 AnimationMode = ONCE 13453 AnimationSpeedFactorRange = 40 40 13454 End 13455 13456 TransitionState = TRANS_Firing TRANS_Stand 13457 Animation = NICNSC_SKL.NICNSC_AA2SA 13458 AnimationMode = ONCE 13459 AnimationSpeedFactorRange = 4 4 13460 End 13461 13462 TransitionState = TRANS_Stand TRANS_FiringDamaged 13463 Animation = NICNSC_SKL.NICNSC_ATCST 13464 AnimationMode = ONCE 13465 AnimationSpeedFactorRange = 40 40 13466 End 13467 13468 TransitionState = TRANS_FiringDamaged TRANS_Stand 13469 Animation = NICNSC_SKL.NICNSC_ATCED 13470 AnimationMode = ONCE 13471 13472 End 13473 13474 ; ------- Bayonet Animations 13475 13476 ConditionState = PREATTACK_C 13477 Animation = NICNSC_SKL.NICNSC_ATB1 13478 AnimationMode = ONCE 13479 TransitionKey = TRANS_Stab 13480 End 13481 AliasConditionState = PREATTACK_C MOVING 13482 AliasConditionState = PREATTACK_C FIRING_C 13483 AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C 13484 13485 ConditionState = FIRING_C 13486 Animation = NICNSC_SKL.NICNSC_ATB2 13487 AnimationMode = ONCE 13488 ; this is basically a trick: this guy has a nontrivial animation for firing, 13489 ; and a long recycle time between shots. we want him to finish his fire animation 13490 ; (unless he's ordered to do something else), so this is just a handy trick that 13491 ; says, "if the previous state had this transition key, allow it to finish before 13492 ; switching to us, if possible". 13493 WaitForStateToFinishIfPossible = TRANS_Stab 13494 End 13495 AliasConditionState = BETWEEN_FIRING_SHOTS_C 13496 AliasConditionState = RELOADING_C 13497 13498 ; ------- Parachuting Animations 13499 13500 ConditionState = FREEFALL 13501 Animation = NICNSC_SKL.NICNSC_POP 13502 AnimationMode = MANUAL 13503 Flags = START_FRAME_FIRST 13504 TransitionKey = TRANS_Falling 13505 End 13506 AliasConditionState = FREEFALL REALLYDAMAGED 13507 AliasConditionState = FREEFALL DYING 13508 13509 ConditionState = PARACHUTING 13510 Animation = NICNSC_SKL.NICNSC_PHG 13511 AnimationMode = LOOP 13512 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 13513 TransitionKey = TRANS_Chute 13514 End 13515 AliasConditionState = PARACHUTING REALLYDAMAGED 13516 AliasConditionState = PARACHUTING DYING 13517 13518 TransitionState = TRANS_Falling TRANS_Chute 13519 Animation = NICNSC_SKL.NICNSC_POP 13520 AnimationMode = ONCE 13521 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 13522 End 13523 13524 TransitionState = TRANS_Chute TRANS_Stand 13525 Animation = NICNSC_SKL.NICNSC_PTD 13526 AnimationMode = ONCE 13527 End 13528 13529 ; ------- Movement Animations 13530 13531 ConditionState = MOVING 13532 Animation = NICNSC_SKL.NICNSC_MAR 12 13533 AnimationMode = LOOP 13534 Flags = RANDOMSTART 13535 TransitionKey = None 13536 End 13537 AliasConditionState = MOVING FIRING_A 13538 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 13539 AliasConditionState = MOVING RELOADING_A 13540 AliasConditionState = MOVING FIRING_B 13541 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B 13542 AliasConditionState = MOVING RELOADING_B 13543 AliasConditionState = MOVING FIRING_C 13544 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_C 13545 AliasConditionState = MOVING RELOADING_C 13546 13547 ConditionState = MOVING REALLYDAMAGED 13548 Animation = NICNSC_SKL.NICNSC_RNB 13549 AnimationMode = LOOP 13550 Flags = RANDOMSTART 13551 TransitionKey = None 13552 End 13553 AliasConditionState = MOVING FIRING_A REALLYDAMAGED 13554 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 13555 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 13556 AliasConditionState = MOVING FIRING_B REALLYDAMAGED 13557 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 13558 AliasConditionState = MOVING RELOADING_B REALLYDAMAGED 13559 AliasConditionState = MOVING FIRING_C REALLYDAMAGED 13560 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_C REALLYDAMAGED 13561 AliasConditionState = MOVING RELOADING_C REALLYDAMAGED 13562 13563 ; ------- Bldg-capture 13564 13565 ConditionState = UNPACKING 13566 Animation = NICNSC_SKL.NICNSC_FDP1 13567 AnimationMode = ONCE 13568 End 13569 AliasConditionState = UNPACKING REALLYDAMAGED 13570 13571 ConditionState = RAISING_FLAG 13572 Animation = NICNSC_SKL.NICNSC_FDP2 13573 AnimationMode = ONCE 13574 TransitionKey = TRANS_Raising 13575 End 13576 AliasConditionState = RAISING_FLAG REALLYDAMAGED 13577 13578 ConditionState = PACKING 13579 Animation = NICNSC_SKL.NICNSC_FDP1 13580 AnimationMode = ONCE_BACKWARDS 13581 Flags = START_FRAME_LAST 13582 TransitionKey = TRANS_Packing 13583 End 13584 AliasConditionState = PACKING REALLYDAMAGED 13585 13586 TransitionState = TRANS_Raising TRANS_Packing 13587 Animation = NICNSC_SKL.NICNSC_FDP2 13588 AnimationMode = ONCE_BACKWARDS 13589 Flags = START_FRAME_LAST 13590 End 13591 13592 ; ------- Misc Animations 13593 13594 ConditionState = DYING 13595 Animation = NICNSC_SKL.NICNSC_DTA 13596 Animation = NICNSC_SKL.NICNSC_DTB 13597 AnimationMode = ONCE 13598 TransitionKey = TRANS_Dying 13599 End 13600 13601 TransitionState = TRANS_Dying TRANS_Flailing 13602 Animation = NICNSC_SKL.NICNSC_ATDE1 13603 AnimationMode = ONCE 13604 End 13605 13606 ConditionState = DYING EXPLODED_FLAILING 13607 Animation = NICNSC_SKL.NICNSC_ATDE2 13608 AnimationMode = LOOP 13609 TransitionKey = TRANS_Flailing 13610 End 13611 13612 ConditionState = DYING EXPLODED_BOUNCING 13613 Animation = NICNSC_SKL.NICNSC_ATDE3 13614 AnimationMode = ONCE 13615 TransitionKey = None 13616 End 13617 13618 ConditionState = SPECIAL_CHEERING 13619 Animation = NICNSC_SKL.NICNSC_CHA 13620 AnimationMode = LOOP 13621 End 13622 13623 End 13624 13625 ; ***DESIGN parameters *** 13626 DisplayName = OBJECT:Redguard 13627 Side = China 13628 EditorSorting = INFANTRY 13629 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 13630 WeaponSet 13631 Conditions = None 13632 Weapon = PRIMARY RedguardMachineGun 13633 Weapon = SECONDARY None 13634 Weapon = TERTIARY RedguardBayonet 13635 AutoChooseSources = TERTIARY None 13636 End 13637 ; sorry, no stun bullets, cut for this version (srj) 13638 ; WeaponSet 13639 ; Conditions = PLAYER_UPGRADE 13640 ; Weapon = PRIMARY RedguardMachineGun 13641 ; Weapon = SECONDARY RedguardStunBulletsMachineGun 13642 ; Weapon = TERTIARY RedguardBayonet 13643 ; AutoChooseSources = SECONDARY None 13644 ; AutoChooseSources = TERTIARY None 13645 ; End 13646 ArmorSet 13647 Conditions = None 13648 Armor = HumanArmor 13649 DamageFX = InfantryDamageFX 13650 End 13651 VisionRange = 100 13652 ShroudClearingRange = 200 13653 Prerequisites 13654 Object = ChinaBarracks 13655 End 13656 BuildCost = 225 13657 BuildTime = 10.0 ;in seconds 13658 13659 ExperienceValue = 5 5 10 20 ;Experience point value at each level 13660 ExperienceRequired = 0 20 40 80 ;Experience points needed to gain each level 13661 IsTrainable = Yes ;Can gain experience 13662 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 13663 CommandSet = ChinaInfantryRedguardCommandSet 13664 13665 ; *** AUDIO Parameters *** 13666 VoiceSelect = RedGuardVoiceSelect 13667 VoiceMove = RedGuardVoiceMove 13668 VoiceAttack = RedGuardVoiceAttack 13669 VoiceGroupSelect = BattleCrySound 13670 SoundDie = RedGuardVoiceDie 13671 SoundDieFire = DieByFireChina 13672 SoundDieToxin = DieByToxinChina 13673 13674 ; *** ENGINEERING Parameters *** 13675 RadarPriority = UNIT 13676 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE PARACHUTABLE 13677 13678 Body = ActiveBody ModuleTag_02 13679 MaxHealth = 90.0 13680 InitialHealth = 90.0 13681 End 13682 13683 Behavior = VeterancyGainCreate ModuleTag_03 13684 StartingLevel = VETERAN 13685 ScienceRequired = SCIENCE_RedGuardTraining 13686 End 13687 13688 Behavior = AIUpdateInterface ModuleTag_04 13689 AutoAcquireEnemiesWhenIdle = Yes 13690 End 13691 13692 Locomotor = SET_NORMAL CINE_ParadeRedguardLocomotor 13693 13694 Behavior = PhysicsBehavior ModuleTag_06 13695 Mass = 5.0 13696 End 13697 13698 ; sorry, no tranq or stun bullets, cut for this version (srj) 13699 ; Behavior = WeaponSetUpgrade ModuleTag_08 13700 ; TriggeredBy = Upgrade_ChinaStunBullets 13701 ; End 13702 13703 Behavior = SquishCollide ModuleTag_09 13704 ;nothing 13705 End 13706 13707 ; --- begin Death modules --- 13708 Behavior = SlowDeathBehavior ModuleTag_Death01 13709 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 13710 SinkDelay = 3000 13711 SinkRate = 0.5 ; in Dist/Sec 13712 DestructionDelay = 8000 13713 FX = INITIAL FX_GIDie 13714 End 13715 Behavior = SlowDeathBehavior ModuleTag_Death02 13716 DeathTypes = NONE +CRUSHED +SPLATTED 13717 SinkDelay = 3000 13718 SinkRate = 0.5 ; in Dist/Sec 13719 DestructionDelay = 8000 13720 FX = INITIAL FX_GIDieCrushed 13721 End 13722 Behavior = SlowDeathBehavior ModuleTag_Death03 13723 DeathTypes = NONE +EXPLODED 13724 SinkDelay = 3000 13725 SinkRate = 0.5 ; in Dist/Sec 13726 DestructionDelay = 8000 13727 FX = INITIAL FX_GIDie 13728 FlingForce = 8 13729 FlingForceVariance = 3 13730 FlingPitch = 60 13731 FlingPitchVariance = 10 13732 End 13733 Behavior = SlowDeathBehavior ModuleTag_Death04 13734 DeathTypes = NONE +BURNED 13735 DestructionDelay = 0 13736 FX = INITIAL FX_GIDie 13737 OCL = INITIAL OCL_FlamingInfantry 13738 End 13739 Behavior = SlowDeathBehavior ModuleTag_Death05 13740 DeathTypes = NONE +POISONED 13741 DestructionDelay = 0 13742 FX = INITIAL FX_GIDie 13743 OCL = INITIAL OCL_ToxicInfantry 13744 End 13745 ; --- end Death modules --- 13746 13747 Behavior = PoisonedBehavior ModuleTag_14 13748 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 13749 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 13750 End 13751 13752 Behavior = SpecialAbility ModuleTag_15 13753 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 13754 UpdateModuleStartsAttack = Yes 13755 InitiateSound = RedGuardVoiceCapture 13756 End 13757 Behavior = SpecialAbilityUpdate ModuleTag_16 13758 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 13759 StartAbilityRange = 5.0 13760 UnpackTime = 3000 ; (changing this will scale anim speed) 13761 PreparationTime = 10000 ; time to complete hack once prepared (changing this will scale anim speed) 13762 PackTime = 2000 ; (changing this will scale anim speed) 13763 DoCaptureFX = Yes 13764 End 13765 13766 Geometry = CYLINDER 13767 Scale = 0.95 ;Scaling 13768 GeometryMajorRadius = 1.0 13769 GeometryMinorRadius = 1.0 13770 GeometryHeight = 8.0 13771 GeometryIsSmall = Yes 13772 Shadow = SHADOW_DECAL 13773 ShadowSizeX = 9; 13774 ShadowSizeY = 9; 13775 ShadowTexture = ShadowI; 13776 BuildCompletion = APPEARS_AT_RALLY_POINT 13777 13778 End 13779 13780 ;------------------------------------------------------------------------------ 13781 Object ChinaInfantryBlackLotus 13782 13783 ; *** ART Parameters *** 13784 SelectPortrait = SNBlkLotus_L2 13785 ButtonImage = SNBlkLotus2 13786 13787 ;UpgradeCameo1 = NONE 13788 ;UpgradeCameo2 = NONE 13789 ;UpgradeCameo3 = NONE 13790 ;UpgradeCameo4 = NONE 13791 ;UpgradeCameo5 = NONE 13792 13793 Draw = W3DModelDraw ModuleTag_01 13794 13795 OkToChangeModelColor = Yes 13796 13797 ; --- idle 13798 DefaultConditionState 13799 Model = NIHERO_SKN 13800 IdleAnimation = NIHERO_SKL.NIHERO_STA 0 17 13801 IdleAnimation = NIHERO_SKL.NIHero_IDA 13802 IdleAnimation = NIHERO_SKL.NIHero_IDB 13803 AnimationMode = ONCE 13804 TransitionKey = TRANS_Stand 13805 End 13806 13807 ConditionState = REALLYDAMAGED 13808 IdleAnimation = NIHERO_SKL.NIHERO_ISTA 0 30 13809 IdleAnimation = NIHERO_SKL.NIHero_IIDA 13810 AnimationMode = ONCE 13811 TransitionKey = TRANS_StandInjured 13812 End 13813 13814 TransitionState = TRANS_Stand TRANS_StandInjured 13815 Animation = NIHero_SKL.NIHero_ISTAHIT 13816 AnimationMode = ONCE 13817 End 13818 13819 ; --- moving 13820 ConditionState = MOVING 13821 Animation = NIHero_SKL.NIHero_RNA 13822 AnimationMode = LOOP 13823 Flags = RANDOMSTART 13824 TransitionKey = None 13825 ParticleSysBone = None InfantryDustTrails 13826 End 13827 AliasConditionState = MOVING UNPACKING 13828 13829 ConditionState = MOVING REALLYDAMAGED 13830 Animation = NIHero_SKL.NIHero_IRNA 13831 AnimationMode = LOOP 13832 Flags = RANDOMSTART 13833 TransitionKey = None 13834 ParticleSysBone = None InfantryDustTrails 13835 End 13836 AliasConditionState = MOVING UNPACKING REALLYDAMAGED 13837 13838 ; --- packing states 13839 ConditionState = UNPACKING 13840 ;Preparing to attack (unpacking gear) 13841 Animation = NIHero_SKL.NIHero_ATA1 13842 AnimationMode = ONCE 13843 End 13844 AliasConditionState = UNPACKING FIRING_A 13845 13846 ConditionState = FIRING_A 13847 ;Processing attack (hacking) 13848 Animation = NIHero_SKL.NIHero_ATA2 13849 AnimationMode = LOOP 13850 TransitionKey = TRANS_FiringA 13851 End 13852 13853 ConditionState = PACKING 13854 ;Completing attack (packing gear) 13855 Animation = NIHero_SKL.NIHero_ATA3 13856 AnimationMode = ONCE 13857 End 13858 AliasConditionState = FIRING_A PACKING 13859 13860 TransitionState = TRANS_FiringA TRANS_FiringAInjured 13861 Animation = NIHero_SKL.NIHero_IATAHIT 13862 AnimationMode = ONCE 13863 End 13864 13865 ; --- injured-packing states 13866 ConditionState = UNPACKING REALLYDAMAGED 13867 ;Preparing to attack (unpacking gear) 13868 Animation = NIHero_SKL.NIHero_IATA1 13869 AnimationMode = ONCE 13870 End 13871 AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED 13872 13873 ConditionState = FIRING_A REALLYDAMAGED 13874 ;Processing attack (hacking) 13875 Animation = NIHero_SKL.NIHero_IATA2 13876 AnimationMode = LOOP 13877 TransitionKey = TRANS_FiringAInjured 13878 End 13879 13880 ConditionState = PACKING REALLYDAMAGED 13881 ;Completing attack (packing gear) 13882 Animation = NIHero_SKL.NIHero_IATA3 13883 AnimationMode = ONCE 13884 End 13885 AliasConditionState = FIRING_A PACKING REALLYDAMAGED 13886 13887 ; --- packing-dying states 13888 ; code doesn't really support this. Oh well. 13889 ; ConditionState = DYING RAISING_FLAG 13890 ; Animation = NIHero_SKL.NIHero_IDTA 13891 ; Animation = NIHero_SKL.NIHero_IDTB 13892 ; AnimationMode = ONCE 13893 ; End 13894 ; AliasConditionState = DYING RAISING_FLAG EXPLODED_FLAILING EXPLODED_BOUNCING 13895 13896 ; --- normal-dying states 13897 ConditionState = DYING 13898 Animation = NIHero_SKL.NIHero_DTA 13899 Animation = NIHero_SKL.NIHero_DTB 13900 AnimationMode = ONCE 13901 TransitionKey = TRANS_Dying 13902 End 13903 13904 TransitionState = TRANS_Dying TRANS_Flailing 13905 Animation = NIHero_SKL.NIHero_ADTF1 13906 AnimationMode = ONCE 13907 End 13908 13909 ConditionState = DYING EXPLODED_FLAILING 13910 Animation = NIHero_SKL.NIHero_ADTF2 13911 AnimationMode = LOOP 13912 TransitionKey = TRANS_Flailing 13913 End 13914 13915 ConditionState = DYING EXPLODED_BOUNCING 13916 Animation = NIHero_SKL.NIHero_ADTF3 13917 AnimationMode = ONCE 13918 TransitionKey = None 13919 End 13920 13921 ; --- cheering states 13922 ConditionState = SPECIAL_CHEERING 13923 Animation = NIHERO_SKL.NIHERO_CHA 13924 AnimationMode = ONCE 13925 End 13926 13927 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 13928 Animation = NIHERO_SKL.NIHERO_ICHA 13929 AnimationMode = ONCE 13930 End 13931 13932 ; --- falling states 13933 ConditionState = FREEFALL 13934 Animation = NIHero_SKL.NIHero_PFL 13935 AnimationMode = LOOP 13936 TransitionKey = TRANS_Falling 13937 End 13938 AliasConditionState = FREEFALL REALLYDAMAGED 13939 AliasConditionState = FREEFALL DYING 13940 13941 ConditionState = PARACHUTING 13942 Animation = NIHero_SKL.NIHero_PHG 13943 AnimationMode = LOOP 13944 TransitionKey = TRANS_Chute 13945 End 13946 AliasConditionState = PARACHUTING REALLYDAMAGED 13947 AliasConditionState = PARACHUTING DYING 13948 13949 TransitionState = TRANS_Falling TRANS_Chute 13950 Animation = NIHero_SKL.NIHero_POP 13951 AnimationMode = ONCE 13952 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 13953 End 13954 13955 TransitionState = TRANS_Chute TRANS_Stand 13956 Animation = NIHero_SKL.NIHero_PTD 13957 AnimationMode = ONCE 13958 End 13959 13960 TransitionState = TRANS_Chute TRANS_StandInjured 13961 Animation = NIHero_SKL.NIHero_PTD 13962 AnimationMode = ONCE 13963 End 13964 13965 End 13966 13967 ; ***DESIGN parameters *** 13968 DisplayName = OBJECT:BlackLotus 13969 Side = China 13970 EditorSorting = INFANTRY 13971 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 13972 WeaponSet 13973 Conditions = None 13974 Weapon = PRIMARY RedguardMachineGun 13975 End 13976 ArmorSet 13977 Conditions = None 13978 Armor = HumanArmor 13979 DamageFX = InfantryDamageFX 13980 End 13981 VisionRange = 300 13982 ShroudClearingRange = 400 13983 Prerequisites 13984 Object = ChinaBarracks 13985 Object = ChinaPropagandaCenter 13986 End 13987 BuildCost = 1500 13988 BuildTime = 20.0 ;in seconds 13989 MaxSimultaneousOfType = 1 13990 CommandSet = ChinaInfantryBlackLotusCommandSet 13991 13992 ExperienceValue = 50 100 150 400 ;Experience point value at each level 13993 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 13994 IsTrainable = Yes ;Can gain experience 13995 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 13996 CommandSet = ChinaInfantryBlackLotusCommandSet 13997 13998 ; *** AUDIO Parameters *** 13999 VoiceSelect = BlackLotusVoiceSelect 14000 VoiceMove = BlackLotusVoiceMove 14001 VoiceAttack = BlackLotusVoiceAttack 14002 VoiceGuard = BlackLotusVoiceMove 14003 VoiceFear = BlackLotusVoiceFear 14004 VoiceTaskComplete = BlackLotusVoiceCaptureComplete 14005 SoundDie = BlackLotusVoiceDie 14006 SoundDieFire = DieByFireFemale 14007 SoundDieToxin = DieByToxinFemale 14008 SoundStealthOn = StealthOn 14009 SoundStealthOff = StealthOff 14010 14011 UnitSpecificSounds 14012 VoiceCreate = BlackLotusVoiceCreate 14013 VoiceGarrison = BlackLotusVoiceMove 14014 VoiceEnter = BlackLotusVoiceMove 14015 VoiceEnterHostile = BlackLotusVoiceMove 14016 VoiceStealCashComplete = BlackLotusVoiceCashComplete 14017 VoiceDisableVehicleComplete = BlackLotusVoiceDisableComplete 14018 VoiceCaptureBuildingComplete = BlackLotusVoiceCaptureComplete 14019 VoiceGetHealed = BlackLotusVoiceMove 14020 End 14021 14022 ; *** ENGINEERING Parameters *** 14023 RadarPriority = UNIT 14024 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE HERO 14025 14026 Body = ActiveBody ModuleTag_02 14027 MaxHealth = 150.0 14028 InitialHealth = 150.0 14029 End 14030 14031 Behavior = CommandButtonHuntUpdate ModuleTag_03 ; allows use of command button hunt script with this unit. 14032 End 14033 14034 Behavior = AIUpdateInterface ModuleTag_04 14035 AutoAcquireEnemiesWhenIdle = No 14036 End 14037 Locomotor = SET_NORMAL BlackLotusLocomotor 14038 Locomotor = SET_FREEFALL FreeFallLocomotor 14039 Behavior = PhysicsBehavior ModuleTag_05 14040 Mass = 5.0 14041 End 14042 Behavior = StealthUpdate ModuleTag_07 14043 StealthDelay = 2500 ; msec 14044 StealthForbiddenConditions = USING_ABILITY 14045 HintDetectableConditions = USING_ABILITY 14046 InnateStealth = Yes 14047 OrderIdleEnemiesToAttackMeUponReveal = Yes 14048 End 14049 14050 Behavior = StealthDetectorUpdate ModuleTag_44 14051 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 14052 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 14053 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 14054 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 14055 End 14056 14057 Behavior = SpecialAbility ModuleTag_08 14058 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding 14059 UpdateModuleStartsAttack = Yes 14060 InitiateSound = BlackLotusVoiceHackBuilding 14061 End 14062 Behavior = SpecialAbilityUpdate ModuleTag_09 14063 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding 14064 StartAbilityRange = 150.0 14065 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) 14066 PackTime = 2800 ;animation time is 5800 (changing this will scale anim speed) 14067 PreparationTime = 6000 ;time to complete hack once prepared (unpacked) 14068 SpecialObject = BinaryDataStream 14069 DoCaptureFX = Yes 14070 PackSound = BlackLotusPack 14071 UnpackSound = BlackLotusUnpack 14072 TriggerSound = BlackLotusTrigger 14073 PrepSoundLoop = BlackLotusPrepLoop 14074 AwardXPForTriggering = 20 14075 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 14076 End 14077 Behavior = SpecialAbility ModuleTag_10 14078 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack 14079 UpdateModuleStartsAttack = Yes 14080 InitiateSound = BlackLotusVoiceHackVehicle 14081 End 14082 Behavior = SpecialAbilityUpdate ModuleTag_11 14083 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack 14084 StartAbilityRange = 150.0 14085 UnpackTime = 2000 ;6730 ;animation time is 6730 (changing this will scale anim speed) 14086 PackTime = 1000 ;2800 ;animation time is 5800 (changing this will scale anim speed) 14087 PreparationTime = 2000 ;time to complete hack once prepared (unpacked) 14088 EffectDuration = 15000 ;duration vehicle is disabled (30 seconds) 14089 DisableFXParticleSystem = DisabledEffectBinaryShower0 14090 SpecialObject = BinaryDataStream 14091 PackSound = BlackLotusPack 14092 UnpackSound = BlackLotusUnpack 14093 TriggerSound = BlackLotusTrigger 14094 PrepSoundLoop = BlackLotusPrepLoop 14095 AwardXPForTriggering = 0 14096 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 14097 End 14098 Behavior = SpecialAbility ModuleTag_12 14099 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack 14100 UpdateModuleStartsAttack = Yes 14101 InitiateSound = BlackLotusVoiceHackCash 14102 End 14103 Behavior = SpecialAbilityUpdate ModuleTag_13 14104 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack 14105 StartAbilityRange = 150.0 14106 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) 14107 PackTime = 5800 ;animation time is 5800 (changing this will scale anim speed) 14108 PreparationTime = 6000 ;time to complete hack once prepared (unpacked) 14109 EffectValue = 1000 ;amount of cash stolen 14110 SpecialObject = BinaryDataStream 14111 PackSound = BlackLotusPack 14112 UnpackSound = BlackLotusUnpack 14113 TriggerSound = BlackLotusTrigger 14114 PrepSoundLoop = BlackLotusPrepLoop 14115 AwardXPForTriggering = 20 14116 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 14117 End 14118 14119 ;Hero units can't be squished! 14120 ;Behavior = SquishCollide ModuleTag_14 14121 ; ;nothing 14122 ;End 14123 14124 14125 ; --- begin Death modules --- 14126 Behavior = SlowDeathBehavior ModuleTag_Death01 14127 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 14128 SinkDelay = 50000 14129 SinkRate = 0.5 ; in Dist/Sec 14130 DestructionDelay = 8000000 14131 FX = INITIAL FX_GIDie 14132 End 14133 Behavior = SlowDeathBehavior ModuleTag_Death02 14134 DeathTypes = NONE +CRUSHED +SPLATTED 14135 SinkDelay = 50000 14136 SinkRate = 0.5 ; in Dist/Sec 14137 DestructionDelay = 8000000 14138 FX = INITIAL FX_GIDieCrushed 14139 End 14140 Behavior = SlowDeathBehavior ModuleTag_Death03 14141 DeathTypes = NONE +EXPLODED 14142 SinkDelay = 50000 14143 SinkRate = 0.5 ; in Dist/Sec 14144 DestructionDelay = 8000000 14145 FX = INITIAL FX_GIDie 14146 FlingForce = 8 14147 FlingForceVariance = 3 14148 FlingPitch = 60 14149 FlingPitchVariance = 10 14150 End 14151 Behavior = SlowDeathBehavior ModuleTag_Death04 14152 DeathTypes = NONE +BURNED 14153 DestructionDelay = 0 14154 FX = INITIAL FX_GIDie 14155 OCL = INITIAL OCL_FlamingInfantry 14156 End 14157 Behavior = SlowDeathBehavior ModuleTag_Death05 14158 DeathTypes = NONE +POISONED 14159 DestructionDelay = 0 14160 FX = INITIAL FX_GIDie 14161 OCL = INITIAL OCL_ToxicInfantry 14162 End 14163 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 14164 DeathTypes = NONE +POISONED_BETA 14165 DestructionDelay = 0 14166 FX = INITIAL FX_GIDie 14167 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 14168 End 14169 ; --- end Death modules --- 14170 14171 Behavior = PoisonedBehavior ModuleTag_17 14172 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 14173 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 14174 End 14175 14176 Geometry = CYLINDER 14177 Scale = 0.95 ;Scaling 14178 GeometryMajorRadius = 1.0 14179 GeometryMinorRadius = 1.0 14180 GeometryHeight = 8.0 14181 GeometryIsSmall = Yes 14182 Shadow = SHADOW_DECAL 14183 ShadowSizeX = 9; 14184 ShadowSizeY = 9; 14185 ShadowTexture = ShadowI; 14186 BuildCompletion = APPEARS_AT_RALLY_POINT 14187 14188 End 14189 14190 ;------------------------------------------------------------------------------ 14191 ;------------------------------------------ 14192 ;------------------------------------------------------------------------------ 14193 14194 ;------------------------------------------------------------------------------ 14195 Object ChinaInfantryTankHunter 14196 14197 ; *** ART Parameters *** 14198 SelectPortrait = SNTankHunter_L 14199 ButtonImage = SNTankHunter_L 14200 14201 UpgradeCameo1 = Upgrade_Nationalism 14202 ;UpgradeCameo2 = NONE 14203 ;UpgradeCameo3 = NONE 14204 ;UpgradeCameo4 = NONE 14205 ;UpgradeCameo5 = NONE 14206 14207 Draw = W3DModelDraw ModuleTag_01 14208 OkToChangeModelColor = Yes 14209 14210 14211 DefaultConditionState 14212 Model = NIMSST_SKN 14213 IdleAnimation = NIMSST_SKL.NIMSST_STA 0 30 14214 IdleAnimation = NIMSST_SKL.NIMSST_IDA 14215 IdleAnimation = NIMSST_SKL.NIMSST_IDB 14216 AnimationMode = ONCE 14217 AnimationSpeedFactorRange = 0.8 1.2 14218 TransitionKey = TRANS_Stand 14219 WeaponMuzzleFlash = PRIMARY MuzzleFX 14220 WeaponFireFXBone = PRIMARY Muzzle 14221 WeaponLaunchBone = PRIMARY Muzzle 14222 WeaponLaunchBone = SECONDARY Muzzle 14223 End 14224 AliasConditionState = REALLYDAMAGED 14225 14226 ConditionState = FIRING_A 14227 Animation = NIMSST_SKL.NIMSST_ATA 14228 AnimationMode = ONCE 14229 TransitionKey = TRANS_START_FIRING 14230 End 14231 AliasConditionState = REALLYDAMAGED FIRING_A 14232 14233 ConditionState = BETWEEN_FIRING_SHOTS_A 14234 Animation = NIMSST_SKL.NIMSST_STA 14235 AnimationMode = ONCE 14236 ; this is basically a trick: this guy has a nontrivial animation for firing, 14237 ; and a long recycle time between shots. we want him to finish his fire animation 14238 ; (unless he's ordered to do something else), so this is just a handy trick that 14239 ; says, "if the previous state had this transition key, allow it to finish before 14240 ; switching to us, if possible". 14241 WaitForStateToFinishIfPossible = TRANS_START_FIRING 14242 End 14243 AliasConditionState = REALLYDAMAGED BETWEEN_FIRING_SHOTS_A 14244 14245 ConditionState = MOVING 14246 Animation = NIMSST_SKL.NIMSST_RNA 20 14247 AnimationMode = LOOP 14248 Flags = RANDOMSTART 14249 TransitionKey = None 14250 ParticleSysBone = None InfantryDustTrails 14251 End 14252 AliasConditionState = REALLYDAMAGED MOVING 14253 14254 ConditionState = RELOADING_A 14255 Animation = NIMSST_SKL.NIMSST_ATA 10 14256 AnimationMode = ONCE 14257 ;WeaponLaunchBone = PRIMARY WeaponA 14258 End 14259 AliasConditionState = MOVING RELOADING_A 14260 AliasConditionState = REALLYDAMAGED MOVING RELOADING_A 14261 14262 ConditionState = DYING 14263 Animation = NIMSST_SKL.NIMSST_DTA 14264 Animation = NIMSST_SKL.NIMSST_DTB 14265 AnimationSpeedFactorRange = 0.9 1.25 14266 AnimationMode = ONCE 14267 TransitionKey = TRANS_Dying 14268 End 14269 14270 TransitionState = TRANS_Dying TRANS_Flailing 14271 Animation = NIMSST_SKL.NIMSST_ADTD1 14272 AnimationMode = ONCE 14273 End 14274 14275 ConditionState = DYING EXPLODED_FLAILING 14276 Animation = NIMSST_SKL.NIMSST_ADTD2 14277 AnimationMode = LOOP 14278 TransitionKey = TRANS_Flailing 14279 End 14280 14281 ConditionState = DYING EXPLODED_BOUNCING 14282 Animation = NIMSST_SKL.NIMSST_ADTD3 14283 AnimationMode = ONCE 14284 TransitionKey = None 14285 End 14286 14287 ;PARACHUTING ANIMATIONS 14288 ConditionState = FREEFALL 14289 Animation = NIMSST_SKL.NIMSST_POP 14290 AnimationMode = ONCE 14291 TransitionKey = TRANS_Falling 14292 End 14293 AliasConditionState = FREEFALL REALLYDAMAGED 14294 AliasConditionState = FREEFALL DYING 14295 14296 ConditionState = PARACHUTING 14297 Animation = NIMSST_SKL.NIMSST_PHG 14298 AnimationMode = LOOP 14299 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 14300 TransitionKey = TRANS_Chute 14301 End 14302 AliasConditionState = PARACHUTING REALLYDAMAGED 14303 AliasConditionState = PARACHUTING DYING 14304 14305 ; TransitionState = TRANS_Falling TRANS_Chute 14306 ; Animation = NIMSST_SKL.NIMSST_POP 14307 ; AnimationMode = ONCE 14308 ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 14309 ; End 14310 14311 TransitionState = TRANS_Chute TRANS_Stand 14312 Animation = NIMSST_SKL.NIMSST_PDN 14313 AnimationMode = ONCE 14314 End 14315 14316 End 14317 14318 14319 ; ***DESIGN parameters *** 14320 DisplayName = OBJECT:TankHunter 14321 Side = China 14322 EditorSorting = INFANTRY 14323 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 14324 WeaponSet 14325 Conditions = None 14326 Weapon = PRIMARY ChinaInfantryTankHunterMissileLauncher 14327 End 14328 ArmorSet 14329 Conditions = None 14330 Armor = HumanArmor 14331 DamageFX = InfantryDamageFX 14332 End 14333 VisionRange = 150 14334 ShroudClearingRange = 400 14335 Prerequisites 14336 Object = ChinaBarracks 14337 End 14338 BuildCost = 300 14339 BuildTime = 5.0 ;in seconds 14340 14341 ExperienceValue = 20 20 40 60 ;Experience point value at each level 14342 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 14343 IsTrainable = Yes ;Can gain experience 14344 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 14345 CommandSet = ChinaInfantryTankHunterCommandSet 14346 14347 ; *** AUDIO Parameters *** 14348 VoiceSelect = TankHunterVoiceSelect 14349 VoiceMove = TankHunterVoiceMove 14350 VoiceAttack = TankHunterVoiceAttack 14351 VoiceAttackAir = TankHunterVoiceAttack 14352 SoundDie = TankHunterVoiceDie 14353 SoundDieFire = DieByFireChina 14354 SoundDieToxin = DieByToxinChina 14355 VoiceGuard = TankHunterVoiceMove 14356 VoiceFear = TankHunterVoiceFear 14357 UnitSpecificSounds 14358 VoiceCreate = TankHunterVoiceCreate 14359 VoiceGarrison = TankHunterVoiceGarrison 14360 VoiceEnter = TankHunterVoiceMove 14361 VoiceEnterHostile = TankHunterVoiceMove 14362 VoiceGetHealed = TankHunterVoiceMove 14363 End 14364 14365 ; *** ENGINEERING Parameters *** 14366 RadarPriority = UNIT 14367 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE 14368 14369 Body = ActiveBody ModuleTag_02 14370 MaxHealth = 100.0 14371 InitialHealth = 100.0 14372 End 14373 14374 Behavior = VeterancyGainCreate ModuleTag_03 14375 StartingLevel = VETERAN 14376 ScienceRequired = SCIENCE_RedGuardTraining 14377 End 14378 Behavior = AIUpdateInterface ModuleTag_03 14379 AutoAcquireEnemiesWhenIdle = Yes 14380 End 14381 Locomotor = SET_NORMAL MissileDefenderLocomotor 14382 Behavior = HordeUpdate ModuleTag_04 14383 UpdateRate = 1000 ; how often to recheck horde status (msec) 14384 RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 14385 Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 14386 KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness 14387 AlliesOnly = Yes ; do we only count allies towards horde status? 14388 ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) 14389 Count = 5 ; how many units must be within Radius to grant us horde-ness 14390 Action = HORDE ; when horde-ing, grant us the HORDE bonus 14391 End 14392 Behavior = PhysicsBehavior ModuleTag_05 14393 Mass = 5.0 14394 End 14395 14396 Behavior = SpecialAbility ModuleTag_07 14397 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack 14398 UpdateModuleStartsAttack = Yes 14399 InitiateSound = TankHunterVoiceTNT 14400 End 14401 Behavior = SpecialAbilityUpdate ModuleTag_08 14402 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack 14403 StartAbilityRange = 5.0 14404 PreparationTime = 0 14405 SpecialObject = TNTStickyBomb 14406 MaxSpecialObjects = 8 14407 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). 14408 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 14409 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 14410 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 14411 End 14412 14413 14414 Behavior = SquishCollide ModuleTag_09 14415 ;nothing 14416 End 14417 14418 14419 ; --- begin Death modules --- 14420 Behavior = SlowDeathBehavior ModuleTag_Death01 14421 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 14422 SinkDelay = 50000 14423 SinkRate = 0.5 ; in Dist/Sec 14424 DestructionDelay = 8000000 14425 FX = INITIAL FX_GIDie 14426 End 14427 Behavior = SlowDeathBehavior ModuleTag_Death02 14428 DeathTypes = NONE +CRUSHED +SPLATTED 14429 SinkDelay = 50000 14430 SinkRate = 0.5 ; in Dist/Sec 14431 DestructionDelay = 8000000 14432 FX = INITIAL FX_GIDieCrushed 14433 End 14434 Behavior = SlowDeathBehavior ModuleTag_Death03 14435 DeathTypes = NONE +EXPLODED 14436 SinkDelay = 50000 14437 SinkRate = 0.5 ; in Dist/Sec 14438 DestructionDelay = 8000000 14439 FX = INITIAL FX_GIDie 14440 FlingForce = 8 14441 FlingForceVariance = 3 14442 FlingPitch = 60 14443 FlingPitchVariance = 10 14444 End 14445 Behavior = SlowDeathBehavior ModuleTag_Death04 14446 DeathTypes = NONE +BURNED 14447 DestructionDelay = 0 14448 FX = INITIAL FX_GIDie 14449 OCL = INITIAL OCL_FlamingInfantry 14450 End 14451 Behavior = SlowDeathBehavior ModuleTag_Death05 14452 DeathTypes = NONE +POISONED 14453 DestructionDelay = 0 14454 FX = INITIAL FX_GIDie 14455 OCL = INITIAL OCL_ToxicInfantry 14456 End 14457 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 14458 DeathTypes = NONE +POISONED_BETA 14459 DestructionDelay = 0 14460 FX = INITIAL FX_GIDie 14461 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 14462 End 14463 ; --- end Death modules --- 14464 14465 Behavior = PoisonedBehavior ModuleTag_12 14466 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 14467 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 14468 End 14469 14470 Geometry = CYLINDER 14471 Scale = 0.95 ;Scaling 14472 GeometryMajorRadius = 1.0 14473 GeometryMinorRadius = 1.0 14474 GeometryHeight = 8.0 14475 GeometryIsSmall = Yes 14476 Shadow = SHADOW_DECAL 14477 ShadowSizeX = 9; 14478 ShadowSizeY = 9; 14479 ShadowTexture = ShadowI; 14480 BuildCompletion = APPEARS_AT_RALLY_POINT 14481 14482 End 14483 14484 ;------------------------------------------------------------------------------ 14485 Object TNTStickyBomb ;Created by Chinese Tank Hunters 14486 14487 ;No drawable because it's invisible 14488 ; *** ART Parameters *** 14489 14490 ; ***DESIGN parameters *** 14491 Side = China 14492 EditorSorting = SYSTEM 14493 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 14494 VisionRange = 75.0 ;Allow the stickybomb to show itself to user? 14495 ShroudClearingRange = 75 14496 ArmorSet 14497 Conditions = None 14498 Armor = InvulnerableAllArmor 14499 End 14500 14501 ; *** AUDIO Parameters *** 14502 SoundDie = BombTruckDefaultBombDetonation 14503 UnitSpecificSounds 14504 UnitBombPing = BombTickTimed 14505 End 14506 14507 ; *** ENGINEERING Parameters *** 14508 RadarPriority = NOT_ON_RADAR 14509 KindOf = PROJECTILE MINE NO_COLLIDE 14510 14511 Behavior = PhysicsBehavior ModuleTag_01 14512 Mass = 5 14513 End 14514 14515 ;This determines how long the bomb lives before it explodes (via SlowDeathBehavior) 14516 Behavior = LifetimeUpdate ModuleTag_02 14517 MinLifetime = 10000 ; min lifetime in msec 14518 MaxLifetime = 10000 ; max lifetime in msec 14519 End 14520 14521 Behavior = StickyBombUpdate ModuleTag_03 14522 ; nothing 14523 End 14524 14525 Behavior = SlowDeathBehavior ModuleTag_04 14526 DestructionDelay = 1 14527 FX = INITIAL WeaponFX_TNTStickyBombDetonation 14528 Weapon = FINAL TNTDetonationWeapon 14529 End 14530 14531 Body = HighlanderBody ModuleTag_NewBody 14532 MaxHealth = 1.0 14533 InitialHealth = 1.0 14534 End 14535 14536 End 14537 14538 ;------------------------------------------------------------------------------ 14539 Object RemoteC4Charge ;Created by ColonelBurton 14540 14541 ;No drawable because it's invisible 14542 ; *** ART Parameters *** 14543 14544 ; ***DESIGN parameters *** 14545 Side = America 14546 EditorSorting = SYSTEM 14547 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 14548 VisionRange = 75.0 ;Allow the stickybomb to show itself to user? 14549 ShroudClearingRange = 75 14550 ArmorSet 14551 Conditions = None 14552 Armor = InvulnerableAllArmor 14553 End 14554 14555 ; *** AUDIO Parameters *** 14556 SoundDie = RemoteDemoChargeExplosion 14557 UnitSpecificSounds 14558 UnitBombPing = BombTickRemote 14559 End 14560 14561 ; *** ENGINEERING Parameters *** 14562 RadarPriority = NOT_ON_RADAR 14563 KindOf = PROJECTILE MINE NO_COLLIDE 14564 14565 ;Body = ActiveBody ModuleTag_02 14566 ; MaxHealth = 1.0 14567 ; InitialHealth = 1.0 14568 ;End 14569 14570 Body = HighlanderBody ModuleTag_NewBody 14571 MaxHealth = 1.0 14572 InitialHealth = 1.0 14573 End 14574 14575 Behavior = StealthUpdate ModuleTag_03 14576 StealthDelay = 0 ; msec 14577 StealthForbiddenConditions = NONE 14578 FriendlyOpacityMin = 50.0% 14579 InnateStealth = Yes 14580 End 14581 14582 Behavior = StickyBombUpdate ModuleTag_04 14583 ;Keeps it attached properly to the intended target should it move. 14584 End 14585 14586 14587 Behavior = SlowDeathBehavior ModuleTag_05 14588 DestructionDelay = 1 14589 FX = INITIAL WeaponFX_TNTStickyBombDetonation 14590 Weapon = FINAL BurtonC4ChargeWeapon 14591 End 14592 14593 Geometry = CYLINDER 14594 GeometryMajorRadius = 0.0 14595 GeometryHeight = 0.0 14596 GeometryIsSmall = No 14597 14598 End 14599 14600 ;------------------------------------------------------------------------------ 14601 Object TimedC4Charge ;Created by Colonel Burton 14602 14603 ;No drawable because it's invisible 14604 ; *** ART Parameters *** 14605 14606 ; ***DESIGN parameters *** 14607 Side = America 14608 EditorSorting = SYSTEM 14609 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 14610 VisionRange = 75.0 ;Allow the stickybomb to show itself to user? 14611 ShroudClearingRange = 75 14612 ArmorSet 14613 Conditions = None 14614 Armor = InvulnerableAllArmor 14615 End 14616 14617 ; *** AUDIO Parameters *** 14618 SoundDie = RemoteDemoChargeExplosion 14619 UnitSpecificSounds 14620 UnitBombPing = BombTickTimed 14621 End 14622 14623 ; *** ENGINEERING Parameters *** 14624 RadarPriority = NOT_ON_RADAR 14625 KindOf = PROJECTILE MINE NO_COLLIDE 14626 14627 ;Body = ActiveBody ModuleTag_02 14628 ; MaxHealth = 1.0 14629 ; InitialHealth = 1.0 14630 ;End 14631 Body = HighlanderBody ModuleTag_NewBody 14632 MaxHealth = 1.0 14633 InitialHealth = 1.0 14634 End 14635 14636 Behavior = StealthUpdate ModuleTag_03 14637 StealthDelay = 0 ; msec 14638 StealthForbiddenConditions = NONE 14639 FriendlyOpacityMin = 50.0% 14640 InnateStealth = Yes 14641 End 14642 14643 ;This determines how long the bomb lives before it explodes (via SlowDeathBehavior) 14644 Behavior = LifetimeUpdate ModuleTag_04 14645 MinLifetime = 20000 ; min lifetime in msec 14646 MaxLifetime = 20000 ; max lifetime in msec 14647 End 14648 14649 Behavior = StickyBombUpdate ModuleTag_05 14650 ;Keeps it attached properly to the intended target should it move. 14651 End 14652 14653 Behavior = SlowDeathBehavior ModuleTag_06 14654 DestructionDelay = 1 14655 FX = INITIAL WeaponFX_TNTStickyBombDetonation 14656 Weapon = FINAL BurtonC4ChargeWeapon 14657 End 14658 14659 Geometry = CYLINDER 14660 GeometryMajorRadius = 0.0 14661 GeometryHeight = 0.0 14662 GeometryIsSmall = No 14663 14664 End 14665 14666 ;------------------------------------------------------------------------------ 14667 Object DemoTrapDetonationObject ;The explodes-next-frame object when demo trap is triggered. 14668 14669 ; ***DESIGN parameters *** 14670 Side = GLA 14671 EditorSorting = SYSTEM 14672 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 14673 VisionRange = 0.0 ;Allow the stickybomb to show itself to user? 14674 14675 ; *** AUDIO Parameters *** 14676 14677 ; *** ENGINEERING Parameters *** 14678 RadarPriority = NOT_ON_RADAR 14679 KindOf = PROJECTILE 14680 14681 Behavior = PhysicsBehavior ModuleTag_01 14682 Mass = 5 14683 End 14684 14685 ;This determines how long the bomb lives before it explodes (via SlowDeathBehavior) 14686 Behavior = LifetimeUpdate ModuleTag_02 14687 MinLifetime = 1 ; min lifetime in msec 14688 MaxLifetime = 1 ; max lifetime in msec 14689 End 14690 14691 Behavior = SlowDeathBehavior ModuleTag_03 14692 DestructionDelay = 1 14693 FX = INITIAL WeaponFX_DemoTrapDetonation 14694 Weapon = FINAL DemoTrapDetonationWeapon 14695 End 14696 End 14697 14698 ;------------------------------------------------------------------------------ 14699 Object CINE_DemoTrapDetonationObject ;The explodes-next-frame object when demo trap is triggered. 14700 14701 ; ***DESIGN parameters *** 14702 Side = GLA 14703 EditorSorting = SYSTEM 14704 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 14705 VisionRange = 0.0 ;Allow the stickybomb to show itself to user? 14706 14707 ; *** AUDIO Parameters *** 14708 14709 ; *** ENGINEERING Parameters *** 14710 RadarPriority = NOT_ON_RADAR 14711 KindOf = PROJECTILE 14712 14713 Behavior = PhysicsBehavior ModuleTag_01 14714 Mass = 5 14715 End 14716 14717 ;This determines how long the bomb lives before it explodes (via SlowDeathBehavior) 14718 Behavior = LifetimeUpdate ModuleTag_02 14719 MinLifetime = 1 ; min lifetime in msec 14720 MaxLifetime = 1 ; max lifetime in msec 14721 End 14722 14723 Behavior = SlowDeathBehavior ModuleTag_03 14724 DestructionDelay = 1 14725 FX = INITIAL CINE_WeaponFX_DemoTrapDetonation 14726 Weapon = FINAL DummyWeapon 14727 End 14728 End 14729 14730 ;------------------------------------------------------------------------------ 14731 ; @todo -- this entire unit is "first pass only" and needs lots of specialization 14732 Object ChinaInfantrySecretPolice 14733 14734 ; *** ART Parameters *** 14735 Draw = W3DModelDraw ModuleTag_01 14736 OkToChangeModelColor = Yes 14737 14738 ; @todo srj -- all these states are using placeholder art; need to add anims, etc. 14739 DefaultConditionState 14740 Model = NIHacker 14741 End 14742 14743 End 14744 14745 ; ***DESIGN parameters *** 14746 DisplayName = OBJECT:SecretPolice 14747 Side = China 14748 EditorSorting = INFANTRY 14749 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 14750 WeaponSet 14751 Conditions = None 14752 Weapon = PRIMARY None 14753 End 14754 ArmorSet 14755 Conditions = None 14756 Armor = HumanArmor 14757 DamageFX = InfantryDamageFX 14758 End 14759 VisionRange = 150 14760 ShroudClearingRange = 150 14761 Prerequisites 14762 Object = ChinaBarracks 14763 End 14764 BuildCost = 100 14765 BuildTime = 3.0 ;in seconds 14766 14767 ExperienceValue = 50 100 150 400 ;Experience point value at each level 14768 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 14769 IsTrainable = Yes ;Can gain experience 14770 14771 ; *** AUDIO Parameters *** 14772 VoiceSelect = RedGuardVoiceSelect 14773 VoiceMove = RedGuardVoiceMove 14774 VoiceAttack = RedGuardVoiceAttack 14775 SoundDie = RedGuardVoiceDie 14776 SoundDieFire = DieByFireChina 14777 SoundDieToxin = DieByToxinChina 14778 14779 14780 ; *** ENGINEERING Parameters *** 14781 RadarPriority = UNIT 14782 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 14783 14784 Body = ActiveBody ModuleTag_02 14785 MaxHealth = 50.0 14786 InitialHealth = 50.0 14787 End 14788 14789 Behavior = AIUpdateInterface ModuleTag_03 14790 AutoAcquireEnemiesWhenIdle = Yes 14791 End 14792 Locomotor = SET_NORMAL BasicHumanLocomotor 14793 Behavior = PhysicsBehavior ModuleTag_04 14794 Mass = 5.0 14795 End 14796 Behavior = SlowDeathBehavior ModuleTag_05 14797 SinkDelay = 3000 14798 SinkRate = 0.5 ; in Dist/Sec 14799 DestructionDelay = 8000 14800 End 14801 14802 14803 Behavior = SquishCollide ModuleTag_06 14804 ;nothing 14805 End 14806 14807 14808 Behavior = FXListDie ModuleTag_07 14809 DeathTypes = ALL -CRUSHED -SPLATTED 14810 DeathFX = FX_GIDie 14811 End 14812 Behavior = FXListDie ModuleTag_08 14813 DeathTypes = NONE +CRUSHED +SPLATTED 14814 DeathFX = FX_GIDieCrushed 14815 End 14816 14817 Behavior = PoisonedBehavior ModuleTag_09 14818 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 14819 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 14820 End 14821 14822 Geometry = CYLINDER 14823 GeometryMajorRadius = 1.0 14824 GeometryMinorRadius = 1.0 14825 GeometryHeight = 8.0 14826 GeometryIsSmall = Yes 14827 Shadow = SHADOW_DECAL 14828 ShadowSizeX = 14; 14829 ShadowSizeY = 14; 14830 ShadowTexture = ShadowI; 14831 BuildCompletion = APPEARS_AT_RALLY_POINT 14832 14833 End 14834 14835 ;------------------------------------------------------------------------------ 14836 Object GLAInfantryWorker 14837 14838 ; *** ART Parameters *** 14839 SelectPortrait = SUWorker_L 14840 ButtonImage = SUWorker 14841 14842 ;UpgradeCameo1 = NONE 14843 ;UpgradeCameo2 = NONE 14844 ;UpgradeCameo3 = NONE 14845 ;UpgradeCameo4 = NONE 14846 ;UpgradeCameo5 = NONE 14847 14848 Draw = W3DModelDraw ModuleTag_01 14849 OkToChangeModelColor = Yes 14850 14851 DefaultConditionState 14852 Model = UIWRKR_SKN 14853 IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 14854 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA 14855 AnimationMode = ONCE 14856 TransitionKey = TRANS_Stand 14857 End 14858 14859 ConditionState = MOVING 14860 Animation = UIWRKR_SKL.UIWRKR_RNA 16 14861 AnimationMode = LOOP 14862 Flags = RANDOMSTART 14863 TransitionKey = TRANS_Moving 14864 ParticleSysBone = None InfantryDustTrails 14865 End 14866 ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, 14867 ; since we flip the bit once we get pretty close to the target. but it looks 14868 ; funky to do the construction animation while moving. 14869 ; so just use the normal move animation in that case. 14870 AliasConditionState = ACTIVELY_CONSTRUCTING MOVING 14871 14872 ConditionState = ATTACKING 14873 ShowSubObject = MINED_SKIN 14874 Animation = UIWRKR_SKL.UIWRKR_MS 14875 AnimationMode = LOOP 14876 Flags = RANDOMSTART 14877 TransitionKey = TRANS_MetalDetector_Standing 14878 End 14879 14880 ConditionState = MOVING ATTACKING 14881 ShowSubObject = MINED_SKIN 14882 Animation = UIWRKR_SKL.UIWRKR_MSW 50 14883 AnimationMode = LOOP 14884 Flags = RANDOMSTART 14885 TransitionKey = TRANS_MetalDetector_Moving 14886 ParticleSysBone = None InfantryDustTrails 14887 End 14888 AliasConditionState = MOVING ATTACKING CARRYING 14889 14890 TransitionState = TRANS_Stand TRANS_MetalDetector_Standing ;STANDING -> ATTACKING 14891 ShowSubObject = MINED_SKIN 14892 Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing 14893 AnimationMode = ONCE 14894 End 14895 TransitionState = TRANS_MetalDetector_Standing TRANS_Stand ;ATTACKING -> STANDING 14896 ShowSubObject = MINED_SKIN 14897 Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing 14898 AnimationMode = ONCE 14899 End 14900 14901 TransitionState = TRANS_Carry TRANS_MetalDetector_Standing ;CARRYING -> ATTACKING 14902 ShowSubObject = MINED_SKIN 14903 Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing 14904 AnimationMode = ONCE 14905 End 14906 TransitionState = TRANS_MetalDetector_Standing TRANS_Carry ;ATTACKING -> CARRYING 14907 ShowSubObject = MINED_SKIN 14908 Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing 14909 AnimationMode = ONCE 14910 End 14911 TransitionState = TRANS_Carry TRANS_MetalDetector_Moving ;CARRYING -> MOVING ATTACKING 14912 ShowSubObject = MINED_SKIN 14913 Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] 14914 AnimationMode = ONCE 14915 AnimationSpeedFactorRange = 2.0 2.0 14916 End 14917 14918 TransitionState = TRANS_MetalDetector_Moving TRANS_Stand ;MOVING ATTACKING -> STANDING 14919 ShowSubObject = MINED_SKIN 14920 Animation = UIWRKR_SKL.UIWRKR_TRB2;put away moving 14921 AnimationMode = ONCE 14922 End 14923 TransitionState = TRANS_Stand TRANS_MetalDetector_Moving ;STANDING -> MOVING ATTACKING 14924 ShowSubObject = MINED_SKIN 14925 Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] 14926 AnimationMode = ONCE 14927 AnimationSpeedFactorRange = 2.0 2.0 14928 End 14929 14930 TransitionState = TRANS_Moving TRANS_MetalDetector_Standing ;MOVING -> ATTACKING [STANDING] 14931 ShowSubObject = MINED_SKIN 14932 Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing 14933 AnimationMode = ONCE 14934 End 14935 TransitionState = TRANS_MetalDetector_Standing TRANS_Moving ;ATTACKING [STANDING] -> MOVING 14936 ShowSubObject = MINED_SKIN 14937 Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] 14938 AnimationMode = ONCE 14939 AnimationSpeedFactorRange = 2.0 2.0 14940 End 14941 14942 TransitionState = TRANS_Moving TRANS_MetalDetector_Moving ;MOVING -> MOVING ATTACKING 14943 ShowSubObject = MINED_SKIN 14944 Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] 14945 AnimationMode = ONCE 14946 AnimationSpeedFactorRange = 2.0 2.0 14947 End 14948 TransitionState = TRANS_MetalDetector_Moving TRANS_Moving ;MOVING ATTACKING -> MOVING 14949 ShowSubObject = MINED_SKIN 14950 Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] 14951 AnimationMode = ONCE 14952 AnimationSpeedFactorRange = 2.0 2.0 14953 End 14954 14955 14956 ConditionState = MOVING CARRYING 14957 ShowSubObject = BOX 14958 Animation = UIWRKR_SKL.UIWRKR_CARY 12 14959 AnimationMode = LOOP 14960 Flags = RANDOMSTART 14961 TransitionKey = TRANS_Carry 14962 ParticleSysBone = None InfantryDustTrails 14963 End 14964 ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, 14965 ; since we flip the bit once we get pretty close to the target. but it looks 14966 ; funky to do the construction animation while moving. 14967 ; so just use the normal move animation in that case. 14968 AliasConditionState = ACTIVELY_CONSTRUCTING MOVING CARRYING 14969 14970 ConditionState = CARRYING 14971 ShowSubObject = BOX 14972 Animation = UIWRKR_SKL.UIWRKR_CARST 30 14973 AnimationMode = LOOP 14974 Flags = RANDOMSTART 14975 TransitionKey = TRANS_Carry 14976 End 14977 14978 ConditionState = DYING 14979 Animation = UIWRKR_SKL.UIWRKR_DTA 14980 AnimationMode = ONCE 14981 TransitionKey = TRANS_Dying 14982 End 14983 AliasConditionState = DYING CARRYING 14984 14985 TransitionState = TRANS_Dying TRANS_Flailing 14986 Animation = UIWRKR_SKL.UIWRKR_ADTE1 14987 AnimationMode = ONCE 14988 End 14989 14990 ConditionState = DYING EXPLODED_FLAILING 14991 Animation = UIWRKR_SKL.UIWRKR_ADTE2 14992 AnimationMode = LOOP 14993 TransitionKey = TRANS_Flailing 14994 End 14995 14996 ConditionState = DYING EXPLODED_BOUNCING 14997 Animation = UIWRKR_SKL.UIWRKR_ADTE3 14998 AnimationMode = ONCE 14999 TransitionKey = None 15000 End 15001 15002 ConditionState = SPECIAL_CHEERING 15003 Animation = UIWRKR_SKL.UIWRKR_CHA 15004 AnimationMode = ONCE 15005 End 15006 15007 ConditionState = ACTIVELY_CONSTRUCTING 15008 Animation = UIWRKR_SKL.UIWRKR_BDA 15009 AnimationMode = LOOP 15010 TransitionKey = TRANS_Constructing 15011 End 15012 AliasConditionState = ACTIVELY_CONSTRUCTING CARRYING 15013 15014 ; -------------------- 15015 15016 TransitionState = TRANS_Stand TRANS_Carry 15017 ShowSubObject = BOX 15018 Animation = UIWRKR_SKL.UIWRKR_PIK 15019 AnimationMode = ONCE 15020 End 15021 15022 TransitionState = TRANS_Carry TRANS_Stand 15023 ShowSubObject = BOX 15024 Animation = UIWRKR_SKL.UIWRKR_PIK 15025 AnimationMode = ONCE_BACKWARDS 15026 Flags = START_FRAME_LAST 15027 End 15028 15029 TransitionState = TRANS_Stand TRANS_Constructing 15030 Animation = UIWRKR_SKL.UIWRKR_TRA1 15031 AnimationMode = ONCE 15032 End 15033 15034 TransitionState = TRANS_Constructing TRANS_Stand 15035 Animation = UIWRKR_SKL.UIWRKR_TRA2 15036 AnimationMode = ONCE 15037 End 15038 End 15039 15040 ; ***DESIGN parameters *** 15041 DisplayName = OBJECT:Worker 15042 Side = GLA 15043 EditorSorting = INFANTRY 15044 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 15045 15046 15047 WeaponSet 15048 Conditions = None 15049 Weapon = PRIMARY None 15050 End 15051 WeaponSet 15052 Conditions = MINE_CLEARING_DETAIL 15053 Weapon = PRIMARY WorkerMineDisarmingWeapon 15054 End 15055 15056 15057 ArmorSet 15058 Conditions = None 15059 Armor = HumanArmor 15060 DamageFX = InfantryDamageFX 15061 End 15062 VisionRange = 100 15063 ShroudClearingRange = 200 15064 ;Prerequisites 15065 ; Object = GLABarracks GLASupplyStash ;commented out, or else you can't build from Con Yard as Dozer. 15066 ;End 15067 BuildCost = 200 15068 BuildTime = 5.0 ;in seconds 15069 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 15070 CommandSet = GLAWorkerCommandSet 15071 15072 ; *** AUDIO Parameters *** 15073 VoiceSelect = WorkerVoiceSelect 15074 VoiceMove = WorkerVoiceMove 15075 VoiceAttack = WorkerVoiceMove 15076 SoundDie = WorkerVoiceDie 15077 SoundDieFire = DieByFireGLA 15078 SoundDieToxin = DieByToxinChina 15079 VoiceGuard = WorkerVoiceMove 15080 VoiceFear = WorkerVoiceFear 15081 VoiceTaskComplete = WorkerVoiceBuildComplete 15082 UnitSpecificSounds 15083 VoiceEnter = WorkerVoiceMove 15084 VoiceEnterHostile = WorkerVoiceMove 15085 VoiceGarrison = WorkerVoiceGarrison 15086 VoiceCreate = WorkerVoiceCreate 15087 VoiceSupply = WorkerVoiceSupply 15088 VoiceNoBuild = WorkerVoiceBuildNot 15089 VoiceRepair = WorkerVoiceRepair 15090 VoiceDisarm = WorkerVoiceClearMine 15091 VoiceBuildResponse = WorkerVoiceBuild 15092 VoiceGetHealed = WorkerVoiceMove 15093 15094 End 15095 15096 ; *** ENGINEERING Parameters *** 15097 RadarPriority = UNIT 15098 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER DOZER HARVESTER SCORE 15099 15100 Body = ActiveBody ModuleTag_02 15101 MaxHealth = 100.0 15102 InitialHealth = 100.0 15103 End 15104 15105 Behavior = WorkerAIUpdate ModuleTag_03 15106 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second 15107 BoredTime = 5000 ; in milliseconds 15108 BoredRange = 150 ; when bored, we look this far away to do something 15109 MaxBoxes = 1 15110 SupplyCenterActionDelay = 150 ;400 ; ms for whole thing (one transaction) 15111 SupplyWarehouseActionDelay = 150 ;400 ;ms per box (many small transactions) 15112 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) 15113 SuppliesDepletedVoice = WorkerVoiceSuppliesDepleted 15114 ; the only "enemies" that workers can acquire are mines, to be disarmed... 15115 AutoAcquireEnemiesWhenIdle = Yes 15116 End 15117 Locomotor = SET_NORMAL FastHumanLocomotor 15118 Behavior = PhysicsBehavior ModuleTag_04 15119 Mass = 5.0 15120 End 15121 15122 Behavior = SquishCollide ModuleTag_06 15123 ;nothing 15124 End 15125 15126 ; --- begin Death modules --- 15127 Behavior = SlowDeathBehavior ModuleTag_Death01 15128 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 15129 SinkDelay = 50000 15130 SinkRate = 0.5 ; in Dist/Sec 15131 DestructionDelay = 8000000 15132 FX = INITIAL FX_GIDie 15133 End 15134 Behavior = SlowDeathBehavior ModuleTag_Death02 15135 DeathTypes = NONE +CRUSHED +SPLATTED 15136 SinkDelay = 50000 15137 SinkRate = 0.5 ; in Dist/Sec 15138 DestructionDelay = 8000000 15139 FX = INITIAL FX_GIDieCrushed 15140 End 15141 Behavior = SlowDeathBehavior ModuleTag_Death03 15142 DeathTypes = NONE +EXPLODED 15143 SinkDelay = 50000 15144 SinkRate = 0.5 ; in Dist/Sec 15145 DestructionDelay = 8000000 15146 FX = INITIAL FX_GIDie 15147 FlingForce = 8 15148 FlingForceVariance = 3 15149 FlingPitch = 60 15150 FlingPitchVariance = 10 15151 End 15152 Behavior = SlowDeathBehavior ModuleTag_Death04 15153 DeathTypes = NONE +BURNED 15154 DestructionDelay = 0 15155 FX = INITIAL FX_GIDie 15156 OCL = INITIAL OCL_FlamingInfantry 15157 End 15158 Behavior = SlowDeathBehavior ModuleTag_Death05 15159 DeathTypes = NONE +POISONED 15160 DestructionDelay = 0 15161 FX = INITIAL FX_GIDie 15162 OCL = INITIAL OCL_ToxicInfantry 15163 End 15164 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 15165 DeathTypes = NONE +POISONED_BETA 15166 DestructionDelay = 0 15167 FX = INITIAL FX_GIDie 15168 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 15169 End 15170 ; --- end Death modules --- 15171 15172 Behavior = StealthDetectorUpdate ModuleTag_12 15173 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 15174 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 15175 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 15176 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 15177 ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things 15178 End 15179 15180 Behavior = PoisonedBehavior ModuleTag_13 15181 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 15182 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 15183 End 15184 15185 Geometry = CYLINDER 15186 Scale = 0.95 ;Scaling 15187 GeometryMajorRadius = 1.0 15188 GeometryMinorRadius = 1.0 15189 GeometryHeight = 8.0 15190 GeometryIsSmall = Yes 15191 Shadow = SHADOW_DECAL 15192 ShadowSizeX = 9; 15193 ShadowSizeY = 9; 15194 ShadowTexture = ShadowI; 15195 BuildCompletion = APPEARS_AT_RALLY_POINT 15196 15197 End 15198 15199 ;------------------------------------------------------------------------------ 15200 ; Also known as the Ambulance 15201 Object AmericaVehicleMedic 15202 15203 ; *** ART Parameters *** 15204 SelectPortrait = SAAmbulance_L 15205 ButtonImage = SAAmbulance 15206 15207 UpgradeCameo1 = Upgrade_AmericaBattleDrone 15208 UpgradeCameo2 = Upgrade_AmericaScoutDrone 15209 ;UpgradeCameo3 = NONE 15210 ;UpgradeCameo4 = NONE 15211 ;UpgradeCameo5 = NONE 15212 15213 Draw = W3DTruckDraw ModuleTag_01 15214 15215 ConditionState = NONE 15216 Model = AVAmbulance 15217 Turret = Turret 15218 TurretPitch = TurretEL 15219 WeaponFireFXBone = PRIMARY WeaponA 15220 WeaponLaunchBone = PRIMARY WeaponA 15221 End 15222 ConditionState = REALLYDAMAGED 15223 Model = AVAmbulance_D 15224 Turret = Turret 15225 TurretPitch = TurretEL 15226 WeaponFireFXBone = PRIMARY WeaponA 15227 WeaponLaunchBone = PRIMARY WeaponA 15228 End 15229 15230 ConditionState = RUBBLE 15231 Model = AVAmbulance_D 15232 End 15233 15234 TrackMarks = EXTireTrack.tga 15235 OkToChangeModelColor = Yes 15236 15237 Dust = RocketBuggyDust 15238 DirtSpray = RocketBuggyDirtSpray 15239 PowerslideSpray = RocketBuggyDirtPowerSlide 15240 15241 ; These parameters are only used if the model has a separate suspension, 15242 ; and the locomotor has HasSuspension = Yes. 15243 LeftFrontTireBone = Tire01 15244 RightFrontTireBone = Tire02 15245 LeftRearTireBone = Tire03 15246 RightRearTireBone = Tire04 15247 TireRotationMultiplier = 0.2 ; this * speed = rotation. 15248 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 15249 15250 15251 End 15252 15253 ; ***DESIGN parameters *** 15254 DisplayName = OBJECT:Medic 15255 Side = America 15256 EditorSorting = VEHICLE 15257 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 15258 WeaponSet 15259 ;*** Fully automated and driven by the CleanupHazardUpdate *** 15260 Conditions = None 15261 Weapon = PRIMARY AmbulanceCleanHazardWeapon 15262 AutoChooseSources = PRIMARY NONE 15263 End 15264 ArmorSet 15265 Conditions = None 15266 Armor = ToxinTruckArmor 15267 DamageFX = TruckDamageFX 15268 End 15269 BuildCost = 600 15270 BuildTime = 10.0 ;in seconds 15271 VisionRange = 100 15272 ShroudClearingRange = 400 15273 Prerequisites 15274 Object = AmericaWarFactory 15275 End 15276 ExperienceValue = 50 50 50 50 ;Experience point value at each level 15277 IsTrainable = No 15278 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 15279 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 15280 CommandSet = AmericaVehicleAmbulanceCommandSet 15281 15282 ; *** AUDIO Parameters *** 15283 VoiceSelect = AmbulanceVoiceSelect 15284 VoiceMove = AmbulanceVoiceMove 15285 VoiceGuard = AmbulanceVoiceMove 15286 VoiceAttack = AmbulanceVoiceDetox 15287 SoundMoveStart = HumveeMoveStart 15288 SoundMoveStartDamaged = HumveeMoveStart 15289 SoundEnter = HumveeEnter 15290 SoundExit = HumveeExit 15291 15292 UnitSpecificSounds 15293 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 15294 VoiceCreate = AmbulanceVoiceCreate 15295 TurretMoveStart = NoSound 15296 TurretMoveLoop = TurretMoveLoop 15297 ; Required for the W3DTruckDraw module 15298 TruckLandingSound = RocketBuggyLand 15299 TruckPowerslideSound = RocketBuggyPowerslide 15300 VoiceCrush = AmbulanceVoiceCrush 15301 VoiceEnter = AmbulanceVoiceMove 15302 End 15303 15304 15305 ; *** ENGINEERING Parameters *** 15306 RadarPriority = UNIT 15307 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT 15308 15309 Body = ActiveBody ModuleTag_02 15310 MaxHealth = 240.0 15311 InitialHealth = 240.0 15312 End 15313 15314 Behavior = CleanupHazardUpdate ModuleTag_03 15315 WeaponSlot = PRIMARY 15316 ScanRate = 1000 15317 ScanRange = 100.0 ;If this range exceeds the AmbulanceCleanHazardWeapon AttackRange, it'll move! 15318 End 15319 15320 ;Can be ordered to clean up a larger area with the ability to move around at an extended range. 15321 Behavior = CleanupAreaPower ModuleTag_04 15322 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea 15323 MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up 15324 InitiateSound = AmbulanceVoiceDetox 15325 End 15326 15327 Behavior = TransportAIUpdate ModuleTag_05 15328 AutoAcquireEnemiesWhenIdle = No ;CleanupHazardUpdate handles this... 15329 Turret 15330 TurretTurnRate = 180 15331 TurretPitchRate = 180 15332 AllowsPitch = Yes 15333 MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) 15334 TurretFireAngleSweep = PRIMARY 25 15335 ControlledWeaponSlots = PRIMARY 15336 End 15337 End 15338 Locomotor = SET_NORMAL HumveeLocomotor 15339 15340 Behavior = TransportContain ModuleTag_06 15341 Slots = 3 15342 HealthRegen%PerSec = 25 15343 DamagePercentToUnits = 10% 15344 AllowInsideKindOf = INFANTRY 15345 AllowAlliesInside = Yes 15346 AllowNeutralInside = No 15347 AllowEnemiesInside = No 15348 ExitDelay = 250 15349 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn 15350 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 15351 End 15352 15353 Behavior = PhysicsBehavior ModuleTag_07 15354 Mass = 50.0 15355 End 15356 Behavior = SlowDeathBehavior ModuleTag_08 15357 DeathTypes = ALL -CRUSHED -SPLATTED 15358 DestructionDelay = 0 15359 FX = FINAL FX_GenericTankDeathExplosion 15360 OCL = FINAL OCL_FinalAmbulanceDebris 15361 End 15362 15363 Behavior = ObjectCreationUpgrade ModuleTag_09 15364 UpgradeObject = OCL_AmericanBattleDrone 15365 TriggeredBy = Upgrade_AmericaBattleDrone 15366 ConflictsWith = Upgrade_AmericaScoutDrone 15367 End 15368 Behavior = ObjectCreationUpgrade ModuleTag_10 15369 UpgradeObject = OCL_AmericanScoutDrone 15370 TriggeredBy = Upgrade_AmericaScoutDrone 15371 ConflictsWith = Upgrade_AmericaBattleDrone 15372 End 15373 Behavior = ProductionUpdate ModuleTag_11 15374 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 15375 End 15376 15377 Behavior = DestroyDie ModuleTag_12 15378 DeathTypes = NONE +CRUSHED +SPLATTED 15379 End 15380 15381 Behavior = FXListDie ModuleTag_13 15382 DeathTypes = NONE +CRUSHED +SPLATTED 15383 DeathFX = FX_CarCrush 15384 End 15385 15386 Behavior = CreateObjectDie ModuleTag_14 15387 DeathTypes = NONE +CRUSHED +SPLATTED 15388 CreationList = OCL_CrusaderTank_CrushEffect 15389 End 15390 15391 Behavior = FXListDie ModuleTag_15 15392 DeathTypes = ALL -CRUSHED -SPLATTED 15393 DeathFX = FX_GenericTankDeathEffect 15394 End 15395 15396 Behavior = CreateCrateDie ModuleTag_16 15397 CrateData = SalvageCrateData 15398 ;CrateData = EliteTankCrateData 15399 ;CrateData = HeroicTankCrateData 15400 End 15401 15402 Behavior = ExperienceScalarUpgrade ModuleTag_17 15403 TriggeredBy = Upgrade_AmericaAdvancedTraining 15404 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 15405 End 15406 15407 Behavior = TransitionDamageFX ModuleTag_18 15408 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 15409 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 15410 End 15411 15412 Behavior = FlammableUpdate ModuleTag_21 15413 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 15414 AflameDamageAmount = 3 ; taking this much damage... 15415 AflameDamageDelay = 500 ; this often. 15416 15417 End 15418 15419 Behavior = AutoHealBehavior ModuleTag_22 15420 HealingAmount = 4 15421 HealingDelay = 1000 ; msec 15422 Radius = 100.0f 15423 StartsActive = Yes 15424 KindOf = INFANTRY 15425 End 15426 15427 Geometry = BOX 15428 GeometryMajorRadius = 14.0 15429 GeometryMinorRadius = 7.0 15430 GeometryHeight = 12.0 ; height set to allow clear clipping of projectile streams 15431 GeometryIsSmall = Yes 15432 Shadow = SHADOW_VOLUME 15433 15434 End 15435 15436 ;------------------------------------------------------------------------------ 15437 Object AmericaVehicleBattleDrone 15438 15439 ; *** ART Parameters *** 15440 SelectPortrait = SABattleDrone_L 15441 ButtonImage = SABattleDrone 15442 15443 UpgradeCameo1 = Upgrade_AmericaDroneArmor 15444 ;UpgradeCameo2 = NONE 15445 ;UpgradeCameo3 = NONE 15446 ;UpgradeCameo4 = NONE 15447 ;UpgradeCameo5 = NONE 15448 15449 ;MAIN CHASSIS 15450 Draw = W3DModelDraw ModuleTag_01 15451 OkToChangeModelColor = Yes 15452 15453 DefaultConditionState 15454 Model = AVBATTLEDR 15455 Animation = AVBATTLEDR.AVBATTLEDR 15456 AnimationMode = LOOP 15457 Turret = Turret01 15458 TurretPitch = TurretEL01 15459 WeaponMuzzleFlash = PRIMARY TurretFX01 15460 WeaponFireFXBone = PRIMARY Muzzle01 15461 End 15462 15463 ConditionState = REALLYDAMAGED 15464 Model = AVBATTLEDR_D 15465 Animation = AVBATTLEDR_D.AVBATTLEDR_D 15466 AnimationMode = LOOP 15467 End 15468 End 15469 15470 ;EXTENDING ARM (FOR REPAIRING) 15471 Draw = W3DModelDraw ModuleTag_02 15472 OkToChangeModelColor = Yes 15473 15474 DefaultConditionState 15475 Model = AVBATTLEDR_A 15476 End 15477 15478 ;Unloading the arm (before starting to repair) 15479 ConditionState = UNPACKING 15480 Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 15481 AnimationMode = ONCE 15482 End 15483 15484 ;Loading the arm (after reparing complete) 15485 ConditionState = PACKING 15486 Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 15487 AnimationMode = ONCE_BACKWARDS 15488 Flags = START_FRAME_LAST 15489 End 15490 15491 ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set) 15492 ConditionState = FIRING_B 15493 Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 15494 AnimationMode = ONCE 15495 End 15496 15497 15498 ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set) 15499 ConditionState = FIRING_C 15500 Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 15501 AnimationMode = ONCE_BACKWARDS 15502 Flags = START_FRAME_LAST 15503 End 15504 15505 End 15506 15507 15508 ; ***DESIGN parameters *** 15509 DisplayName = OBJECT:BattleDrone 15510 Side = America 15511 EditorSorting = VEHICLE 15512 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 15513 WeaponSet 15514 Conditions = None 15515 Weapon = PRIMARY BattleDroneMachineGun 15516 End 15517 ArmorSet 15518 Conditions = None 15519 Armor = TankArmor 15520 DamageFX = SmallTankDamageFX 15521 End 15522 15523 BuildCost = 200 15524 BuildTime = 5.0 ;in seconds 15525 VisionRange = 150 15526 ShroudClearingRange = 150 15527 Prerequisites 15528 Object = AmericaWarFactory 15529 End 15530 ExperienceValue = 10 10 10 10 ;Experience point value at each level 15531 IsTrainable = No 15532 15533 ; *** AUDIO Parameters *** 15534 VoiceSelect = NoSound 15535 VoiceMove = NoSound 15536 VoiceAttack = NoSound 15537 SoundMoveStart = NoSound 15538 UnitSpecificSounds 15539 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 15540 TurretMoveStart = NoSound 15541 TurretMoveLoop = TurretMoveLoop 15542 End 15543 15544 ; *** ENGINEERING Parameters *** 15545 RadarPriority = UNIT 15546 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE 15547 Body = ActiveBody ModuleTag_03 15548 MaxHealth = 100.0 15549 InitialHealth = 100.0 15550 End 15551 15552 Behavior = AIUpdateInterface ModuleTag_04 15553 Turret 15554 TurretTurnRate = 360 // turn rate, in degrees per sec 15555 TurretPitchRate = 360 15556 MinPhysicalPitch = -75 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) 15557 AllowsPitch = Yes 15558 ControlledWeaponSlots = PRIMARY 15559 End 15560 AutoAcquireEnemiesWhenIdle = Yes 15561 End 15562 Locomotor = SET_NORMAL BattleDroneLocomotor 15563 Locomotor = SET_PANIC BattleDronePanicLocomotor ;used for repairing master (zippy) 15564 Behavior = PhysicsBehavior ModuleTag_05 15565 Mass = 50.0 15566 KillWhenRestingOnGround = Yes 15567 AllowBouncing = No 15568 End 15569 15570 Behavior = MaxHealthUpgrade ModuleTag_06 15571 TriggeredBy = Upgrade_AmericaDroneArmor 15572 AddMaxHealth = 50.0 15573 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 15574 End 15575 15576 Behavior = SlavedUpdate ModuleTag_07 15577 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) 15578 GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. 15579 AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. 15580 AttackWanderRange = 10 ;How far I'm allowed to wander from target. 15581 ScoutRange = 75 ;How far away from master I'm allowed when master is moving. 15582 ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. 15583 RepairRange = 8 ;How far I can zip around while repair (only moves when he stops welding) 15584 RepairMinAltitude = 18.0 ;My minimum repair hover altitude. 15585 RepairMaxAltitude = 24.0 ;My maximum repair hover altitude. 15586 RepairRatePerSecond = 5.0 ;How many health points can I repair per second. 15587 RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing. 15588 RepairMinReadyTime = 300 15589 RepairMaxReadyTime = 750 15590 RepairMinWeldTime = 250 15591 RepairMaxWeldTime = 500 15592 RepairWeldingSys = BlueSparks 15593 RepairWeldingFXBone = Muzzle02 15594 StayOnSameLayerAsMaster = Yes 15595 End 15596 15597 Behavior = DestroyDie ModuleTag_08 15598 DeathTypes = ALL 15599 End 15600 Behavior = CreateObjectDie ModuleTag_09 15601 DeathTypes = ALL 15602 CreationList = OCL_AmericaBattleDroneExplode 15603 End 15604 15605 Behavior = TransitionDamageFX ModuleTag_10 15606 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 15607 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall 15608 End 15609 15610 Behavior = FXListDie ModuleTag_11 15611 DeathTypes = ALL 15612 DeathFX = FX_AmericaBattleDroneExplode 15613 End 15614 15615 Behavior = UpgradeDie ModuleTag_12 15616 ;This frees the object based upgrade for the producer object. 15617 DeathTypes = ALL 15618 UpgradeToRemove = Upgrade_AmericaBattleDrone ModuleTag_13 15619 End 15620 15621 Behavior = FlammableUpdate ModuleTag_21 15622 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 15623 AflameDamageAmount = 3 ; taking this much damage... 15624 AflameDamageDelay = 500 ; this often. 15625 End 15626 15627 Geometry = CYLINDER 15628 GeometryMajorRadius = 5 15629 GeometryMinorRadius = 5 15630 GeometryHeight = 10.0 15631 GeometryIsSmall = Yes 15632 Shadow = SHADOW_VOLUME 15633 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 15634 15635 End 15636 15637 ;------------------------------------------------------------------------------ 15638 ; **data here is a copy and paste of AmericaVehicleMedic** 15639 Object AmericaVehicleGuardianDrone 15640 15641 ; *** ART Parameters *** 15642 Draw = W3DTankDraw ModuleTag_01 15643 DefaultConditionState 15644 Model = AVGuardDr 15645 Turret = Turret 15646 WeaponFireFXBone = PRIMARY TurretMS 15647 WeaponMuzzleFlash = PRIMARY TurretFX 15648 End 15649 TrackMarks = EXTnkTrack.tga 15650 OkToChangeModelColor = Yes 15651 End 15652 15653 ; ***DESIGN parameters *** 15654 DisplayName = OBJECT:GuardianDrone 15655 Side = America 15656 EditorSorting = VEHICLE 15657 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 15658 WeaponSet 15659 Conditions = None 15660 Weapon = PRIMARY CrusaderTankGun 15661 End 15662 ArmorSet 15663 Conditions = None 15664 Armor = TankArmor 15665 DamageFX = TankDamageFX 15666 End 15667 BuildCost = 700 15668 BuildTime = 8.0 ;in seconds 15669 VisionRange = 150 15670 ShroudClearingRange = 150 15671 Prerequisites 15672 Object = AmericaWarFactory 15673 End 15674 ExperienceValue = 50 100 150 400 ;Experience point value at each level 15675 IsTrainable = No 15676 15677 ; *** AUDIO Parameters *** 15678 VoiceSelect = NoSound 15679 VoiceMove = NoSound 15680 VoiceAttack = NoSound 15681 SoundMoveStart = NoSound 15682 15683 UnitSpecificSounds 15684 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 15685 TurretMoveStart = NoSound 15686 TurretMoveLoop = TurretMoveLoop 15687 End 15688 15689 15690 ; *** ENGINEERING Parameters *** 15691 RadarPriority = UNIT 15692 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 15693 15694 Body = ActiveBody ModuleTag_02 15695 MaxHealth = 300.0 15696 InitialHealth = 300.0 15697 End 15698 15699 15700 Behavior = AIUpdateInterface ModuleTag_03 15701 Turret 15702 TurretTurnRate = 60 // turn rate, in degrees per sec 15703 ControlledWeaponSlots = PRIMARY 15704 End 15705 AutoAcquireEnemiesWhenIdle = Yes 15706 End 15707 Locomotor = SET_NORMAL BasicTankLocomotor 15708 Behavior = PhysicsBehavior ModuleTag_04 15709 Mass = 50.0 15710 End 15711 Behavior = SlowDeathBehavior ModuleTag_05 15712 DestructionDelay = 500 15713 FX = FINAL FX_GenericTankDeathExplosion 15714 End 15715 15716 Behavior = MaxHealthUpgrade ModuleTag_06 15717 TriggeredBy = Upgrade_AmericaDroneArmor 15718 AddMaxHealth = 50.0 15719 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 15720 End 15721 15722 Behavior = FXListDie ModuleTag_07 15723 DeathFX = FX_GenericTankDeathEffect 15724 End 15725 Behavior = CreateObjectDie ModuleTag_08 15726 CreationList = OCL_GenericTankDeathEffect 15727 End 15728 Behavior = CreateCrateDie ModuleTag_09 15729 CrateData = SalvageCrateData 15730 ;CrateData = EliteTankCrateData 15731 ;CrateData = HeroicTankCrateData 15732 End 15733 15734 Behavior = TransitionDamageFX ModuleTag_10 15735 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 15736 End 15737 15738 Behavior = FlammableUpdate ModuleTag_21 15739 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 15740 AflameDamageAmount = 3 ; taking this much damage... 15741 AflameDamageDelay = 500 ; this often. 15742 End 15743 15744 Geometry = BOX 15745 GeometryMajorRadius = 15.0 15746 GeometryMinorRadius = 10.0 15747 GeometryHeight = 10.0 15748 GeometryIsSmall = Yes 15749 Shadow = SHADOW_VOLUME 15750 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 15751 15752 End 15753 15754 15755 ;------------------------------------------------------------------------------ 15756 Object AmericaVehicleScoutDrone 15757 15758 ; *** ART Parameters *** 15759 SelectPortrait = SAScout_L 15760 ButtonImage = SAScout 15761 15762 UpgradeCameo1 = Upgrade_AmericaDroneArmor 15763 ;UpgradeCameo2 = NONE 15764 ;UpgradeCameo3 = NONE 15765 ;UpgradeCameo4 = NONE 15766 ;UpgradeCameo5 = NONE 15767 15768 Draw = W3DModelDraw ModuleTag_01 15769 OkToChangeModelColor = Yes 15770 15771 ConditionState = NONE 15772 Model = AVScoutDr 15773 Animation = AVScoutDr.AVScoutDr 15774 AnimationMode = LOOP 15775 End 15776 15777 ConditionState = REALLYDAMAGED 15778 Model = AVScoutDr_d 15779 Animation = AVScoutDr_d.AVScoutDr_d 15780 AnimationMode = LOOP 15781 End 15782 End 15783 15784 ; ***DESIGN parameters *** 15785 DisplayName = OBJECT:ScoutDrone 15786 Side = America 15787 EditorSorting = VEHICLE 15788 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 15789 ArmorSet 15790 Conditions = None 15791 Armor = TankArmor 15792 DamageFX = SmallTankDamageFX 15793 End 15794 BuildCost = 100 15795 BuildTime = 5.0 ;in seconds 15796 VisionRange = 150 15797 ShroudClearingRange = 500 15798 IsTrainable = No ;Can gain experience 15799 15800 ; *** AUDIO Parameters *** 15801 VoiceSelect = NoSound 15802 VoiceMove = NoSound 15803 VoiceAttack = NoSound 15804 SoundMoveStart = NoSound 15805 15806 UnitSpecificSounds 15807 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 15808 TurretMoveStart = NoSound 15809 TurretMoveLoop = TurretMoveLoop 15810 End 15811 15812 15813 ; *** ENGINEERING Parameters *** 15814 RadarPriority = UNIT 15815 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE DRONE 15816 15817 Body = ActiveBody ModuleTag_02 15818 MaxHealth = 20.0 15819 InitialHealth = 20.0 15820 End 15821 15822 Behavior = AIUpdateInterface ModuleTag_03 15823 Turret 15824 TurretTurnRate = 60 // turn rate, in degrees per sec 15825 ControlledWeaponSlots = PRIMARY 15826 End 15827 AutoAcquireEnemiesWhenIdle = Yes 15828 End 15829 Locomotor = SET_NORMAL DroneLocomotor 15830 Behavior = StealthDetectorUpdate ModuleTag_04 15831 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 15832 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 15833 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 15834 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 15835 End 15836 Behavior = PhysicsBehavior ModuleTag_05 15837 Mass = 50.0 15838 KillWhenRestingOnGround = Yes 15839 AllowBouncing = No 15840 End 15841 15842 Behavior = SlavedUpdate ModuleTag_06 15843 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) 15844 GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. 15845 AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. 15846 AttackWanderRange = 10 ;How far I'm allowed to wander from target. 15847 ScoutRange = 75 ;How far away from master I'm allowed when master is moving. 15848 ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. 15849 DistToTargetToGrantRangeBonus = 20 ;How close I have to be to the master's target in order to grant master a range bonus. 15850 StayOnSameLayerAsMaster = Yes 15851 End 15852 15853 Behavior = MaxHealthUpgrade ModuleTag_07 15854 TriggeredBy = Upgrade_AmericaDroneArmor 15855 AddMaxHealth = 50.0 15856 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 15857 End 15858 15859 Behavior = DestroyDie ModuleTag_08 15860 DeathTypes = ALL 15861 End 15862 Behavior = CreateObjectDie ModuleTag_09 15863 DeathTypes = ALL 15864 CreationList = OCL_AmericaScoutDroneExplode 15865 End 15866 Behavior = FXListDie ModuleTag_10 15867 DeathTypes = ALL 15868 DeathFX = FX_AmericaScoutDroneExplode 15869 End 15870 15871 Behavior = TransitionDamageFX ModuleTag_11 15872 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 15873 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall 15874 End 15875 15876 Behavior = UpgradeDie ModuleTag_12 15877 ;This frees the object based upgrade for the producer object. 15878 DeathTypes = ALL 15879 UpgradeToRemove = Upgrade_AmericaScoutDrone ModuleTag_13 15880 End 15881 15882 15883 Behavior = FlammableUpdate ModuleTag_21 15884 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 15885 AflameDamageAmount = 3 ; taking this much damage... 15886 AflameDamageDelay = 500 ; this often. 15887 End 15888 15889 Geometry = CYLINDER 15890 GeometryMajorRadius = 5.0 15891 GeometryMinorRadius = 6.0 15892 GeometryHeight = 3.0 15893 GeometryIsSmall = Yes 15894 Shadow = SHADOW_VOLUME 15895 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 15896 15897 End 15898 15899 ;------------------------------------------------------------------------------ 15900 Object AmericaVehicleSpyDrone 15901 15902 ; *** ART Parameters *** 15903 SelectPortrait = SAScout_L 15904 ButtonImage = SAScout 15905 Draw = W3DModelDraw ModuleTag_01 15906 OkToChangeModelColor = Yes 15907 15908 ConditionState = NONE 15909 Model = AVSpyDrone 15910 Animation = AVSpyDrone.AVSpyDrone 15911 AnimationMode = LOOP 15912 End 15913 15914 ; Damage state waiting for pristine's approval (or may just not need one) 15915 ; ConditionState = REALLYDAMAGED 15916 ; Model = AVSpyDrone_d 15917 ; Animation = AVSpyDrone_d.AVSpyDrone_d 15918 ; AnimationMode = LOOP 15919 ; End 15920 End 15921 15922 ; ***DESIGN parameters *** 15923 DisplayName = OBJECT:SpyDrone 15924 Side = America 15925 EditorSorting = VEHICLE 15926 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 15927 ArmorSet 15928 Conditions = None 15929 Armor = AirplaneArmor 15930 DamageFX = SmallTankDamageFX 15931 End 15932 VisionRange = 250 15933 ShroudClearingRange = 0; Dynamic range below 15934 IsTrainable = No 15935 15936 ; *** AUDIO Parameters *** 15937 VoiceSelect = NoSound 15938 VoiceMove = NoSound 15939 VoiceAttack = NoSound 15940 SoundMoveStart = NoSound 15941 15942 UnitSpecificSounds 15943 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 15944 TurretMoveStart = NoSound 15945 TurretMoveLoop = TurretMoveLoop 15946 End 15947 15948 15949 ; *** ENGINEERING Parameters *** 15950 RadarPriority = UNIT 15951 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE SELECTABLE INERT 15952 15953 Body = ActiveBody ModuleTag_02 15954 MaxHealth = 200.0 15955 InitialHealth = 200.0 15956 End 15957 15958 Behavior = AIUpdateInterface ModuleTag_03 15959 AutoAcquireEnemiesWhenIdle = No 15960 End 15961 15962 Locomotor = SET_NORMAL SpyDroneLocomtor 15963 15964 Behavior = DynamicShroudClearingRangeUpdate ModuleTag_04 15965 FinalVision = 250.0 15966 ChangeInterval = 50 15967 ShrinkDelay = 2000 15968 ShrinkTime = 1000 15969 GrowDelay = 0 15970 GrowTime = 1000 15971 GrowInterval = 10 ; Faster than most 15972 15973 GridDecalTemplate 15974 Texture = EXGrid 15975 Style = SHADOW_ADDITIVE_DECAL 15976 OpacityMin = 50% 15977 OpacityMax = 100% 15978 OpacityThrobTime = 500 15979 Color = R:32 G:64 B:128 A:0 //dim blue, additive 15980 End 15981 15982 End 15983 15984 Behavior = StealthDetectorUpdate ModuleTag_05 15985 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 15986 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 15987 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 15988 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 15989 End 15990 Behavior = PhysicsBehavior ModuleTag_06 15991 Mass = 50.0 15992 End 15993 15994 Behavior = DestroyDie ModuleTag_07 15995 DeathTypes = ALL 15996 End 15997 Behavior = CreateObjectDie ModuleTag_08 15998 DeathTypes = ALL 15999 CreationList = OCL_AmericaScoutDroneExplode 16000 End 16001 Behavior = StealthUpdate ModuleTag_09 16002 StealthDelay = 0 ; msec 16003 StealthForbiddenConditions = NONE 16004 InnateStealth = Yes 16005 OrderIdleEnemiesToAttackMeUponReveal = Yes 16006 End 16007 Behavior = MaxHealthUpgrade ModuleTag_10 16008 TriggeredBy = Upgrade_AmericaDroneArmor 16009 AddMaxHealth = 50.0 16010 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 16011 End 16012 16013 Behavior = FlammableUpdate ModuleTag_21 16014 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 16015 AflameDamageAmount = 3 ; taking this much damage... 16016 AflameDamageDelay = 500 ; this often. 16017 End 16018 16019 Geometry = CYLINDER 16020 GeometryMajorRadius = 5.0 16021 GeometryMinorRadius = 6.0 16022 GeometryHeight = 3.0 16023 GeometryIsSmall = Yes 16024 Shadow = SHADOW_VOLUME 16025 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 16026 16027 End 16028 16029 ;------------------------------------------------------------------------------ 16030 Object AmericaTankCrusader 16031 16032 ; *** ART Parameters *** 16033 SelectPortrait = SACLeopard_L 16034 ButtonImage = SACLeopard 16035 16036 UpgradeCameo1 = Upgrade_AmericaBattleDrone 16037 UpgradeCameo2 = Upgrade_AmericaScoutDrone 16038 UpgradeCameo3 = Upgrade_AmericaAdvancedTraining 16039 UpgradeCameo4 = Upgrade_AmericaCompositeArmor 16040 ;UpgradeCameo5 = NONE 16041 16042 Draw = W3DTankDraw ModuleTag_01 16043 DefaultConditionState 16044 Model = AVLeopard 16045 Turret = Turret 16046 WeaponFireFXBone = PRIMARY TurretMS 16047 WeaponRecoilBone = PRIMARY Barrel 16048 WeaponMuzzleFlash = PRIMARY TurretFX 16049 WeaponLaunchBone = PRIMARY TurretMS 16050 End 16051 ConditionState = REALLYDAMAGED 16052 Model = AVLeopard_D 16053 End 16054 ConditionState = RUBBLE 16055 Model = AVLeopard_D 16056 End 16057 16058 TrackMarks = EXTnkTrack.tga 16059 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 16060 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 16061 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 16062 OkToChangeModelColor = Yes 16063 End 16064 16065 ; ***DESIGN parameters *** 16066 DisplayName = OBJECT:Crusader 16067 Side = America 16068 EditorSorting = VEHICLE 16069 TransportSlotCount = 3 16070 WeaponSet 16071 Conditions = None 16072 Weapon = PRIMARY CrusaderTankGun 16073 ; Uncomment this when we want the crusader to have a machine too again 16074 ;Weapon = SECONDARY CrusaderMachineGun 16075 End 16076 ArmorSet 16077 Conditions = None 16078 Armor = TankArmor 16079 DamageFX = TankDamageFX 16080 End 16081 ;ArmorSet 16082 ; Conditions = PLAYER_UPGRADE 16083 ; Armor = UpgradedTankArmor 16084 ; DamageFX = TankDamageFX 16085 ;End 16086 BuildCost = 900 16087 BuildTime = 10.0 ;in seconds 16088 VisionRange = 150 16089 ShroudClearingRange = 300 16090 Prerequisites 16091 Object = AmericaWarFactory 16092 End 16093 ExperienceValue = 100 100 200 400 ;Experience point value at each level 16094 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 16095 IsTrainable = Yes ;Can gain experience 16096 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 16097 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 16098 CommandSet = AmericaTankCrusaderCommandSet 16099 16100 ; *** AUDIO Parameters *** 16101 VoiceSelect = CrusaderTankVoiceSelect 16102 VoiceMove = CrusaderTankVoiceMove 16103 VoiceGuard = CrusaderTankVoiceMove 16104 VoiceAttack = CrusaderTankVoiceAttack 16105 SoundMoveStart = CrusaderTankMoveStart 16106 SoundMoveStartDamaged = CrusaderTankMoveStart 16107 UnitSpecificSounds 16108 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 16109 VoiceCreate = CrusaderTankVoiceCreate 16110 VoiceEnter = CrusaderTankVoiceMove 16111 TurretMoveStart = NoSound 16112 TurretMoveLoop = TurretMoveLoop 16113 SoundEject = PilotSoundEject 16114 VoiceEject = PilotVoiceEject 16115 VoiceCrush = CrusaderTankVoiceCrush 16116 End 16117 16118 ; *** ENGINEERING Parameters *** 16119 RadarPriority = UNIT 16120 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 16121 16122 Body = ActiveBody ModuleTag_02 16123 MaxHealth = 550 16124 InitialHealth = 550 16125 End 16126 16127 Behavior = AIUpdateInterface ModuleTag_03 16128 Turret 16129 TurretTurnRate = 180 ;60 // turn rate, in degrees per sec 16130 ControlledWeaponSlots= PRIMARY 16131 End 16132 AutoAcquireEnemiesWhenIdle = Yes 16133 End 16134 Locomotor = SET_NORMAL CrusaderLocomotor 16135 Behavior = PhysicsBehavior ModuleTag_04 16136 Mass = 50.0 16137 End 16138 16139 Behavior = ObjectCreationUpgrade ModuleTag_05 16140 UpgradeObject = OCL_AmericanBattleDrone 16141 TriggeredBy = Upgrade_AmericaBattleDrone 16142 ConflictsWith = Upgrade_AmericaScoutDrone 16143 End 16144 Behavior = ObjectCreationUpgrade ModuleTag_06 16145 UpgradeObject = OCL_AmericanScoutDrone 16146 TriggeredBy = Upgrade_AmericaScoutDrone 16147 ConflictsWith = Upgrade_AmericaBattleDrone 16148 End 16149 Behavior = ProductionUpdate ModuleTag_07 16150 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 16151 End 16152 16153 Behavior = ExperienceScalarUpgrade ModuleTag_08 16154 TriggeredBy = Upgrade_AmericaAdvancedTraining 16155 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 16156 End 16157 Behavior = MaxHealthUpgrade ModuleTag_09 16158 TriggeredBy = Upgrade_AmericaCompositeArmor 16159 AddMaxHealth = 100.0 16160 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 16161 End 16162 16163 ; Turret fly off death 16164 Behavior = SlowDeathBehavior ModuleTag_10 16165 DeathTypes = ALL -CRUSHED -SPLATTED 16166 ProbabilityModifier = 50 16167 DestructionDelay = 500 16168 DestructionDelayVariance = 100 16169 FX = INITIAL FX_GenericTankDeathEffect 16170 OCL = MIDPOINT OCL_GenericTankDeathEffect 16171 FX = FINAL FX_GenericTankDeathExplosion 16172 OCL = FINAL OCL_CrusaderTurret 16173 End 16174 16175 ; Catch fire, and explode death 16176 Behavior = SlowDeathBehavior ModuleTag_11 16177 DeathTypes = ALL -CRUSHED -SPLATTED 16178 ProbabilityModifier = 50 16179 DestructionDelay = 2000 16180 DestructionDelayVariance = 300 16181 FX = INITIAL FX_CrusaderCatchFire 16182 OCL = FINAL OCL_GenericTankDeathEffect 16183 FX = FINAL FX_GenericTankDeathExplosion 16184 End 16185 16186 Behavior = TransitionDamageFX ModuleTag_12 16187 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 16188 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 16189 End 16190 16191 Behavior = DestroyDie ModuleTag_13 16192 DeathTypes = NONE +CRUSHED +SPLATTED 16193 End 16194 16195 ; A crushing defeat 16196 Behavior = FXListDie ModuleTag_14 16197 DeathTypes = NONE +CRUSHED +SPLATTED 16198 DeathFX = FX_CarCrush 16199 End 16200 16201 Behavior = CreateObjectDie ModuleTag_15 16202 DeathTypes = NONE +CRUSHED +SPLATTED 16203 CreationList = OCL_CrusaderTank_CrushEffect 16204 End 16205 16206 Behavior = CreateCrateDie ModuleTag_CratesChange 16207 CrateData = SalvageCrateData 16208 ;CrateData = EliteTankCrateData 16209 ;CrateData = HeroicTankCrateData 16210 End 16211 16212 Behavior = EjectPilotDie ModuleTag_17 16213 GroundCreationList = OCL_EjectPilotOnGround 16214 AirCreationList = OCL_EjectPilotViaParachute 16215 ExemptStatus = HIJACKED 16216 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 16217 End 16218 16219 Behavior = MaxHealthUpgrade ModuleTag_18 16220 TriggeredBy = Upgrade_AmericaCompositeArmor 16221 AddMaxHealth = 100.0 16222 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 16223 End 16224 16225 Behavior = FlammableUpdate ModuleTag_21 16226 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 16227 AflameDamageAmount = 3 ; taking this much damage... 16228 AflameDamageDelay = 500 ; this often. 16229 End 16230 16231 Geometry = BOX 16232 GeometryMajorRadius = 15.0 16233 GeometryMinorRadius = 10.0 16234 GeometryHeight = 10.0 16235 GeometryIsSmall = Yes 16236 Shadow = SHADOW_VOLUME 16237 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 16238 16239 End 16240 16241 ;------------------------------------------------------------------------------ 16242 ;******************************* Cinematic-Only unit ************************** 16243 Object CINE_AmericaTankCrusader 16244 16245 ; *** ART Parameters *** 16246 SelectPortrait = SACLeopard_L 16247 ButtonImage = SACLeopard 16248 16249 UpgradeCameo1 = Upgrade_AmericaBattleDrone 16250 UpgradeCameo2 = Upgrade_AmericaScoutDrone 16251 UpgradeCameo3 = Upgrade_AmericaAdvancedTraining 16252 UpgradeCameo4 = Upgrade_AmericaCompositeArmor 16253 ;UpgradeCameo5 = NONE 16254 16255 Draw = W3DTankDraw ModuleTag_01 16256 DefaultConditionState 16257 Model = AVLeopard 16258 Turret = Turret 16259 WeaponFireFXBone = PRIMARY TurretMS 16260 WeaponRecoilBone = PRIMARY Barrel 16261 WeaponMuzzleFlash = PRIMARY TurretFX 16262 WeaponLaunchBone = PRIMARY TurretMS 16263 End 16264 ConditionState = REALLYDAMAGED 16265 Model = AVLeopard_D 16266 End 16267 ConditionState = RUBBLE 16268 Model = AVLeopard_D 16269 End 16270 16271 TrackMarks = EXTnkTrack.tga 16272 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 16273 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 16274 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 16275 OkToChangeModelColor = Yes 16276 End 16277 16278 ; ***DESIGN parameters *** 16279 DisplayName = OBJECT:Crusader 16280 Side = America 16281 EditorSorting = VEHICLE 16282 TransportSlotCount = 3 16283 WeaponSet 16284 Conditions = None 16285 Weapon = PRIMARY CrusaderTankGun 16286 ; Uncomment this when we want the crusader to have a machine too again 16287 ;Weapon = SECONDARY CrusaderMachineGun 16288 End 16289 ArmorSet 16290 Conditions = None 16291 Armor = TankArmor 16292 DamageFX = TankDamageFX 16293 End 16294 ;ArmorSet 16295 ; Conditions = PLAYER_UPGRADE 16296 ; Armor = UpgradedTankArmor 16297 ; DamageFX = TankDamageFX 16298 ;End 16299 BuildCost = 900 16300 BuildTime = 10.0 ;in seconds 16301 VisionRange = 150 16302 ShroudClearingRange = 300 16303 Prerequisites 16304 Object = AmericaWarFactory 16305 End 16306 ExperienceValue = 100 100 200 400 ;Experience point value at each level 16307 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 16308 IsTrainable = Yes ;Can gain experience 16309 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 16310 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 16311 CommandSet = AmericaTankCrusaderCommandSet 16312 16313 ; *** AUDIO Parameters *** 16314 VoiceSelect = CrusaderTankVoiceSelect 16315 VoiceMove = CrusaderTankVoiceMove 16316 VoiceGuard = CrusaderTankVoiceMove 16317 VoiceAttack = CrusaderTankVoiceAttack 16318 SoundMoveStart = CrusaderTankMoveStart 16319 SoundMoveStartDamaged = CrusaderTankMoveStart 16320 UnitSpecificSounds 16321 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 16322 VoiceCreate = CrusaderTankVoiceCreate 16323 VoiceEnter = CrusaderTankVoiceMove 16324 TurretMoveStart = NoSound 16325 TurretMoveLoop = TurretMoveLoop 16326 SoundEject = PilotSoundEject 16327 VoiceEject = PilotVoiceEject 16328 VoiceCrush = CrusaderTankVoiceCrush 16329 End 16330 16331 ; *** ENGINEERING Parameters *** 16332 RadarPriority = UNIT 16333 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 16334 16335 Body = ActiveBody ModuleTag_02 16336 MaxHealth = 480 16337 InitialHealth = 480 16338 End 16339 16340 Behavior = AIUpdateInterface ModuleTag_03 16341 Turret 16342 TurretTurnRate = 180 ;60 // turn rate, in degrees per sec 16343 ControlledWeaponSlots= PRIMARY 16344 End 16345 AutoAcquireEnemiesWhenIdle = Yes 16346 End 16347 Locomotor = SET_NORMAL CINE_CrusaderLocomotor 16348 Behavior = PhysicsBehavior ModuleTag_04 16349 Mass = 50.0 16350 End 16351 16352 Behavior = ObjectCreationUpgrade ModuleTag_05 16353 UpgradeObject = OCL_AmericanBattleDrone 16354 TriggeredBy = Upgrade_AmericaBattleDrone 16355 ConflictsWith = Upgrade_AmericaScoutDrone 16356 End 16357 Behavior = ObjectCreationUpgrade ModuleTag_06 16358 UpgradeObject = OCL_AmericanScoutDrone 16359 TriggeredBy = Upgrade_AmericaScoutDrone 16360 ConflictsWith = Upgrade_AmericaBattleDrone 16361 End 16362 Behavior = ProductionUpdate ModuleTag_07 16363 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 16364 End 16365 16366 Behavior = ExperienceScalarUpgrade ModuleTag_08 16367 TriggeredBy = Upgrade_AmericaAdvancedTraining 16368 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 16369 End 16370 Behavior = MaxHealthUpgrade ModuleTag_09 16371 TriggeredBy = Upgrade_AmericaCompositeArmor 16372 AddMaxHealth = 100.0 16373 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 16374 End 16375 16376 ; Turret fly off death 16377 Behavior = SlowDeathBehavior ModuleTag_10 16378 DeathTypes = ALL -CRUSHED -SPLATTED 16379 ProbabilityModifier = 50 16380 DestructionDelay = 500 16381 DestructionDelayVariance = 100 16382 FX = INITIAL FX_GenericTankDeathEffect 16383 OCL = MIDPOINT OCL_GenericTankDeathEffect 16384 FX = FINAL FX_GenericTankDeathExplosion 16385 OCL = FINAL OCL_CrusaderTurret 16386 End 16387 16388 ; Catch fire, and explode death 16389 Behavior = SlowDeathBehavior ModuleTag_11 16390 DeathTypes = ALL -CRUSHED -SPLATTED 16391 ProbabilityModifier = 50 16392 DestructionDelay = 2000 16393 DestructionDelayVariance = 300 16394 FX = INITIAL FX_CrusaderCatchFire 16395 OCL = FINAL OCL_GenericTankDeathEffect 16396 FX = FINAL FX_GenericTankDeathExplosion 16397 End 16398 16399 Behavior = TransitionDamageFX ModuleTag_12 16400 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 16401 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 16402 End 16403 16404 Behavior = DestroyDie ModuleTag_13 16405 DeathTypes = NONE +CRUSHED +SPLATTED 16406 End 16407 16408 ; A crushing defeat 16409 Behavior = FXListDie ModuleTag_14 16410 DeathTypes = NONE +CRUSHED +SPLATTED 16411 DeathFX = FX_CarCrush 16412 End 16413 16414 Behavior = CreateObjectDie ModuleTag_15 16415 DeathTypes = NONE +CRUSHED +SPLATTED 16416 CreationList = OCL_CrusaderTank_CrushEffect 16417 End 16418 16419 Behavior = CreateCrateDie ModuleTag_CratesChange 16420 CrateData = SalvageCrateData 16421 ;CrateData = EliteTankCrateData 16422 ;CrateData = HeroicTankCrateData 16423 End 16424 16425 ;Behavior = EjectPilotDie ModuleTag_17 16426 ; GroundCreationList = OCL_EjectPilotOnGround 16427 ; AirCreationList = OCL_EjectPilotViaParachute 16428 ; ExemptStatus = HIJACKED 16429 ; VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 16430 ;End 16431 16432 Behavior = MaxHealthUpgrade ModuleTag_18 16433 TriggeredBy = Upgrade_AmericaCompositeArmor 16434 AddMaxHealth = 100.0 16435 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 16436 End 16437 16438 Behavior = FlammableUpdate ModuleTag_21 16439 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 16440 AflameDamageAmount = 3 ; taking this much damage... 16441 AflameDamageDelay = 500 ; this often. 16442 End 16443 16444 Geometry = BOX 16445 GeometryMajorRadius = 15.0 16446 GeometryMinorRadius = 10.0 16447 GeometryHeight = 10.0 16448 GeometryIsSmall = Yes 16449 Shadow = SHADOW_VOLUME 16450 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 16451 16452 End 16453 16454 ;------------------------------------------------------------------------------ 16455 Object GLATankScorpion 16456 16457 ; *** ART Parameters *** 16458 SelectPortrait = SUScorpion_L 16459 ButtonImage = SUScorpion 16460 16461 UpgradeCameo1 = Upgrade_GLAScorpionRocket 16462 UpgradeCameo2 = Upgrade_GLAAPRockets 16463 UpgradeCameo3 = Upgrade_GLAToxinShells 16464 UpgradeCameo4 = Upgrade_GLAJunkRepair 16465 ;UpgradeCameo5 = NONE 16466 16467 Draw = W3DTankDraw ModuleTag_01 16468 OkToChangeModelColor = Yes 16469 16470 ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset 16471 16472 DefaultConditionState 16473 Model = UVLiteTank 16474 Turret = Turret01 16475 ; note, order-dependent: we must hide/show Missile AFTER we hide/show MissileRack! 16476 HideSubObject = MissleRack01 Missile ; MissileRack misspelled in the Art 16477 WeaponFireFXBone = PRIMARY Muzzle 16478 WeaponRecoilBone = PRIMARY Barrel 16479 WeaponMuzzleFlash = PRIMARY MuzzleFX 16480 WeaponLaunchBone = PRIMARY Muzzle 16481 End 16482 16483 ConditionState = REALLYDAMAGED 16484 Model = UVLiteTank_d 16485 End 16486 16487 ConditionState = RUBBLE 16488 Model = UVLiteTank_d 16489 End 16490 16491 ConditionState = WEAPONSET_PLAYER_UPGRADE 16492 ShowSubObject = MissleRack01 16493 WeaponFireFXBone = SECONDARY WeaponA 16494 WeaponLaunchBone = SECONDARY WeaponA 16495 WeaponHideShowBone = SECONDARY Missile 16496 End 16497 16498 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 16499 Model = UVLiteTank_d 16500 ShowSubObject = MissleRack01 16501 WeaponFireFXBone = SECONDARY WeaponA 16502 WeaponLaunchBone = SECONDARY WeaponA 16503 WeaponHideShowBone = SECONDARY Missile 16504 End 16505 16506 TrackMarks = EXTnkTrack.tga 16507 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 16508 End 16509 16510 ; ***DESIGN parameters *** 16511 DisplayName = OBJECT:Scorpion 16512 Side = GLA 16513 EditorSorting = VEHICLE 16514 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 16515 WeaponSet 16516 Conditions = None 16517 Weapon = PRIMARY ScorpionTankGun 16518 Weapon = SECONDARY None 16519 End 16520 WeaponSet 16521 Conditions = PLAYER_UPGRADE 16522 Weapon = PRIMARY ScorpionTankGun 16523 Weapon = SECONDARY ScorpionMissileWeapon 16524 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 16525 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 16526 End 16527 ArmorSet 16528 Conditions = None 16529 Armor = TankArmor 16530 DamageFX = TankDamageFX 16531 End 16532 BuildCost = 600 16533 BuildTime = 7.0 ;in seconds 16534 VisionRange = 125 16535 ShroudClearingRange = 300 16536 Prerequisites 16537 Object = GLAArmsDealer 16538 End 16539 16540 ExperienceValue = 60 60 120 200 ;Experience point value at each level 16541 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 16542 IsTrainable = Yes ;Can gain experience 16543 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 16544 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 16545 CommandSet = GLATankScorpionCommandSet 16546 16547 ; *** AUDIO Parameters *** 16548 VoiceSelect = ScorpionTankVoiceSelect 16549 VoiceMove = ScorpionTankVoiceMove 16550 VoiceAttack = ScorpionTankVoiceAttack 16551 SoundMoveStart = ScorpionTankMoveStart 16552 SoundMoveStartDamaged = ScorpionTankMoveStart 16553 VoiceGuard = ScorpionTankVoiceMove 16554 16555 UnitSpecificSounds 16556 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 16557 VoiceCreate = ScorpionTankVoiceCreate 16558 ;TurretMoveStart = NoSound 16559 TurretMoveLoop = TurretMoveLoop 16560 VoiceEnter = ScorpionTankVoiceMove 16561 End 16562 16563 ; *** ENGINEERING Parameters *** 16564 RadarPriority = UNIT 16565 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 16566 16567 Body = ActiveBody ModuleTag_02 16568 MaxHealth = 370.0 16569 InitialHealth = 370.0 16570 End 16571 16572 16573 Behavior = AIUpdateInterface ModuleTag_03 16574 Turret 16575 TurretTurnRate = 100 16576 RecenterTime = 5000 ; how long to wait during idle before recentering 16577 ControlledWeaponSlots = PRIMARY SECONDARY 16578 End 16579 AutoAcquireEnemiesWhenIdle = Yes 16580 End 16581 Locomotor = SET_NORMAL ScorpionLocomotor 16582 Behavior = PhysicsBehavior ModuleTag_04 16583 Mass = 50.0 16584 End 16585 Behavior = AutoHealBehavior ModuleTag_05 16586 HealingAmount = 2 16587 HealingDelay = 1000 ; msec 16588 TriggeredBy = Upgrade_GLAJunkRepair 16589 End 16590 16591 ; Catch fire, and explode death 16592 Behavior = SlowDeathBehavior ModuleTag_06 16593 DeathTypes = ALL -CRUSHED -SPLATTED 16594 ProbabilityModifier = 50 16595 DestructionDelay = 2000 16596 DestructionDelayVariance = 300 16597 FX = INITIAL FX_CrusaderCatchFire 16598 OCL = FINAL OCL_GenericTankDeathEffect 16599 FX = FINAL FX_BattleMasterExplosionOneFinal 16600 End 16601 16602 Behavior = WeaponSetUpgrade ModuleTag_07 16603 TriggeredBy = Upgrade_GLAScorpionRocket 16604 End 16605 16606 Behavior = DestroyDie ModuleTag_09 16607 DeathTypes = NONE +CRUSHED +SPLATTED 16608 End 16609 16610 ; A crushing defeat 16611 Behavior = FXListDie ModuleTag_10 16612 DeathTypes = NONE +CRUSHED +SPLATTED 16613 DeathFX = FX_CarCrush 16614 End 16615 Behavior = CreateObjectDie ModuleTag_11 16616 DeathTypes = NONE +CRUSHED +SPLATTED 16617 CreationList = OCL_CrusaderTank_CrushEffect 16618 End 16619 Behavior = CreateCrateDie ModuleTag_12 16620 CrateData = SalvageCrateData 16621 ;CrateData = EliteTankCrateData 16622 ;CrateData = HeroicTankCrateData 16623 End 16624 16625 Behavior = TransitionDamageFX ModuleTag_13 16626 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 16627 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 16628 End 16629 16630 Behavior = FlammableUpdate ModuleTag_21 16631 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 16632 AflameDamageAmount = 3 ; taking this much damage... 16633 AflameDamageDelay = 500 ; this often. 16634 End 16635 16636 Geometry = BOX 16637 GeometryMajorRadius = 14.0 16638 GeometryMinorRadius = 9.0 16639 GeometryHeight = 10.5 16640 GeometryIsSmall = Yes 16641 Shadow = SHADOW_VOLUME 16642 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 16643 16644 End 16645 16646 ;------------------------------------------------------------------------------ 16647 ;GLA Rocket Buggy 16648 Object GLAVehicleRocketBuggy 16649 16650 ; *** ART Parameters *** 16651 SelectPortrait = SURocketBuggy_L 16652 ButtonImage = SURocketBuggy 16653 16654 UpgradeCameo1 = Upgrade_GLABuggyAmmo 16655 UpgradeCameo2 = Upgrade_GLAAPRockets 16656 UpgradeCameo3 = Upgrade_GLAJunkRepair 16657 ;UpgradeCameo4 = NONE 16658 ;UpgradeCameo5 = NONE 16659 16660 Draw = W3DTruckDraw ModuleTag_01 16661 OkToChangeModelColor = Yes 16662 16663 DefaultConditionState 16664 Model = UVRockBug 16665 Turret = Turret 16666 ShowSubObject = Turret 16667 HideSubObject = TurretUp01 16668 WeaponFireFXBone = PRIMARY WeaponA 16669 WeaponLaunchBone = PRIMARY WeaponA 16670 End 16671 16672 ConditionState = REALLYDAMAGED 16673 Model = UVRockBug_D 16674 Turret = Turret 16675 ShowSubObject = Turret 16676 HideSubObject = TurretUp01 16677 WeaponFireFXBone = PRIMARY WeaponA 16678 WeaponLaunchBone = PRIMARY WeaponA 16679 End 16680 16681 ConditionState = RUBBLE 16682 Model = UVRockBug_D 16683 Turret = Turret 16684 ShowSubObject = Turret 16685 HideSubObject = TurretUp01 16686 WeaponFireFXBone = PRIMARY WeaponA 16687 WeaponLaunchBone = PRIMARY WeaponA 16688 End 16689 16690 ConditionState = WEAPONSET_PLAYER_UPGRADE 16691 Model = UVRockBug 16692 Turret = TurretUp01 16693 ShowSubObject = TurretUp01 16694 HideSubObject = Turret 16695 WeaponFireFXBone = PRIMARY WeaponB 16696 WeaponLaunchBone = PRIMARY WeaponB 16697 End 16698 16699 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 16700 Model = UVRockBug_D 16701 Turret = TurretUp01 16702 ShowSubObject = TurretUp01 16703 HideSubObject = Turret 16704 WeaponFireFXBone = PRIMARY WeaponB 16705 WeaponLaunchBone = PRIMARY WeaponB 16706 End 16707 16708 ConditionState = WEAPONSET_PLAYER_UPGRADE RUBBLE 16709 Model = UVRockBug_D 16710 Turret = TurretUp01 16711 ShowSubObject = TurretUp01 16712 HideSubObject = Turret 16713 WeaponFireFXBone = PRIMARY WeaponB 16714 WeaponLaunchBone = PRIMARY WeaponB 16715 End 16716 16717 TrackMarks = EXTireTrack.tga 16718 16719 Dust = RocketBuggyDust 16720 DirtSpray = RocketBuggyDirtSpray 16721 PowerslideSpray = RocketBuggyDirtPowerSlide 16722 16723 ; These parameters are only used if the model has a separate suspension, 16724 ; and the locomotor has HasSuspension = Yes. 16725 LeftFrontTireBone = Tire01 16726 RightFrontTireBone = Tire02 16727 LeftRearTireBone = Tire03 16728 RightRearTireBone = Tire04 16729 TireRotationMultiplier = 0.2 ; this * speed = rotation. 16730 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 16731 16732 End 16733 16734 ; ***DESIGN parameters *** 16735 DisplayName = OBJECT:RocketBuggy 16736 Side = GLA 16737 EditorSorting = VEHICLE 16738 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 16739 WeaponSet 16740 Conditions = None 16741 Weapon = PRIMARY BuggyRocketWeapon 16742 End 16743 WeaponSet 16744 Conditions = PLAYER_UPGRADE 16745 Weapon = PRIMARY BuggyRocketWeaponUpgraded 16746 End 16747 ArmorSet 16748 Conditions = None 16749 Armor = TruckArmor 16750 DamageFX = TankDamageFX 16751 End 16752 BuildCost = 900 16753 BuildTime = 10.0 ;in seconds 16754 VisionRange = 180 16755 ShroudClearingRange = 300 16756 Prerequisites 16757 Object = GLAArmsDealer 16758 Object = GLAPalace 16759 End 16760 16761 ExperienceValue = 50 50 100 150 ;Experience point value at each level 16762 ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level 16763 IsTrainable = Yes ;Can gain experience 16764 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 16765 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 16766 CommandSet = GLAVehicleRocketBuggyCommandSet 16767 16768 ; *** AUDIO Parameters *** 16769 VoiceSelect = RocketBuggyVoiceSelect 16770 VoiceMove = RocketBuggyVoiceMove 16771 VoiceAttack = RocketBuggyVoiceAttack 16772 SoundMoveStart = RocketBuggyMoveStart 16773 SoundMoveStartDamaged = RocketBuggyMoveStart 16774 VoiceGuard = RocketBuggyVoiceMove 16775 16776 16777 UnitSpecificSounds 16778 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 16779 VoiceCreate = RocketBuggyVoiceCreate 16780 TurretMoveStart = NoSound 16781 TurretMoveLoop = TurretMoveLoop 16782 ; Required for the W3DTruckDraw module 16783 TruckLandingSound = RocketBuggyLand 16784 TruckPowerslideSound = RocketBuggyPowerslide 16785 VoiceCrush = RocketBuggyVoiceCrush 16786 VoiceEnter = RocketBuggyVoiceMove 16787 End 16788 16789 ; *** ENGINEERING Parameters *** 16790 RadarPriority = UNIT 16791 KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 16792 16793 Body = ActiveBody ModuleTag_02 16794 MaxHealth = 120 16795 InitialHealth = 120 16796 End 16797 Behavior = AIUpdateInterface ModuleTag_03 16798 Turret 16799 TurretTurnRate = 90 16800 ControlledWeaponSlots = PRIMARY 16801 End 16802 AutoAcquireEnemiesWhenIdle = Yes 16803 End 16804 Locomotor = SET_NORMAL RocketBuggyLocomotor 16805 Behavior = PhysicsBehavior ModuleTag_04 16806 Mass = 50.0 16807 End 16808 16809 ; The pop up AirDeath 16810 Behavior = SlowDeathBehavior ModuleTag_05 16811 DeathTypes = ALL -CRUSHED -SPLATTED 16812 ProbabilityModifier = 5 16813 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 16814 DestructionDelay = 0 16815 FX = INITIAL FX_BuggyNewDeathExplosion 16816 OCL = FINAL OCL_RocketBuggyAirDeathStart 16817 End 16818 16819 Behavior = AutoHealBehavior ModuleTag_08 16820 HealingAmount = 2 16821 HealingDelay = 1000 ; msec 16822 TriggeredBy = Upgrade_GLAJunkRepair 16823 End 16824 16825 Behavior = WeaponSetUpgrade ModuleTag_09 16826 TriggeredBy = Upgrade_GLABuggyAmmo 16827 End 16828 16829 Behavior = DestroyDie ModuleTag_11 16830 DeathTypes = NONE +CRUSHED +SPLATTED 16831 End 16832 16833 ; A crushing defeat 16834 Behavior = FXListDie ModuleTag_12 16835 DeathTypes = NONE +CRUSHED +SPLATTED 16836 DeathFX = FX_CarCrush 16837 End 16838 Behavior = CreateObjectDie ModuleTag_13 16839 DeathTypes = NONE +CRUSHED +SPLATTED 16840 CreationList = OCL_RocketBuggy_CrushEffect 16841 End 16842 Behavior = CreateCrateDie ModuleTag_14 16843 CrateData = SalvageCrateData 16844 ;CrateData = EliteTankCrateData 16845 ;CrateData = HeroicTankCrateData 16846 End 16847 16848 Behavior = TransitionDamageFX ModuleTag_15 16849 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 16850 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 16851 End 16852 16853 Behavior = FlammableUpdate ModuleTag_21 16854 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 16855 AflameDamageAmount = 3 ; taking this much damage... 16856 AflameDamageDelay = 500 ; this often. 16857 End 16858 16859 Geometry = BOX 16860 GeometryMajorRadius = 13.0 16861 GeometryMinorRadius = 9.0 16862 GeometryHeight = 7.5 16863 GeometryIsSmall = Yes 16864 16865 Shadow = SHADOW_VOLUME 16866 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 16867 16868 End 16869 16870 ;------------------------------------------------------------------------------ 16871 ;------------------------------------------------------------------------------ 16872 ;GLA Rocket Buggy 16873 Object CINE_GLAVehicleRocketBuggy 16874 16875 ; *** ART Parameters *** 16876 SelectPortrait = SURocketBuggy_L 16877 ButtonImage = SURocketBuggy 16878 16879 UpgradeCameo1 = Upgrade_GLABuggyAmmo 16880 UpgradeCameo2 = Upgrade_GLAAPRockets 16881 UpgradeCameo3 = Upgrade_GLAJunkRepair 16882 ;UpgradeCameo4 = NONE 16883 ;UpgradeCameo5 = NONE 16884 16885 Draw = W3DTruckDraw ModuleTag_01 16886 OkToChangeModelColor = Yes 16887 16888 DefaultConditionState 16889 Model = UVRockBug 16890 Turret = Turret 16891 ShowSubObject = Turret 16892 HideSubObject = TurretUp01 16893 WeaponFireFXBone = PRIMARY WeaponA 16894 WeaponLaunchBone = PRIMARY WeaponA 16895 End 16896 16897 ConditionState = REALLYDAMAGED 16898 Model = UVRockBug_D 16899 Turret = Turret 16900 ShowSubObject = Turret 16901 HideSubObject = TurretUp01 16902 WeaponFireFXBone = PRIMARY WeaponA 16903 WeaponLaunchBone = PRIMARY WeaponA 16904 End 16905 16906 ConditionState = RUBBLE 16907 Model = UVRockBug_D 16908 Turret = Turret 16909 ShowSubObject = Turret 16910 HideSubObject = TurretUp01 16911 WeaponFireFXBone = PRIMARY WeaponA 16912 WeaponLaunchBone = PRIMARY WeaponA 16913 End 16914 16915 ConditionState = WEAPONSET_PLAYER_UPGRADE 16916 Model = UVRockBug 16917 Turret = TurretUp01 16918 ShowSubObject = TurretUp01 16919 HideSubObject = Turret 16920 WeaponFireFXBone = PRIMARY WeaponB 16921 WeaponLaunchBone = PRIMARY WeaponB 16922 End 16923 16924 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 16925 Model = UVRockBug_D 16926 Turret = TurretUp01 16927 ShowSubObject = TurretUp01 16928 HideSubObject = Turret 16929 WeaponFireFXBone = PRIMARY WeaponB 16930 WeaponLaunchBone = PRIMARY WeaponB 16931 End 16932 16933 ConditionState = WEAPONSET_PLAYER_UPGRADE RUBBLE 16934 Model = UVRockBug_D 16935 Turret = TurretUp01 16936 ShowSubObject = TurretUp01 16937 HideSubObject = Turret 16938 WeaponFireFXBone = PRIMARY WeaponB 16939 WeaponLaunchBone = PRIMARY WeaponB 16940 End 16941 16942 TrackMarks = EXTireTrack.tga 16943 16944 Dust = RocketBuggyDust 16945 DirtSpray = RocketBuggyDirtSpray 16946 PowerslideSpray = RocketBuggyDirtPowerSlide 16947 16948 ; These parameters are only used if the model has a separate suspension, 16949 ; and the locomotor has HasSuspension = Yes. 16950 LeftFrontTireBone = Tire01 16951 RightFrontTireBone = Tire02 16952 LeftRearTireBone = Tire03 16953 RightRearTireBone = Tire04 16954 TireRotationMultiplier = 0.2 ; this * speed = rotation. 16955 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 16956 16957 End 16958 16959 ; ***DESIGN parameters *** 16960 DisplayName = OBJECT:RocketBuggy 16961 Side = GLA 16962 EditorSorting = VEHICLE 16963 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 16964 WeaponSet 16965 Conditions = None 16966 Weapon = PRIMARY CINE_BuggyRocketWeapon 16967 End 16968 WeaponSet 16969 Conditions = PLAYER_UPGRADE 16970 Weapon = PRIMARY BuggyRocketWeaponUpgraded 16971 End 16972 ArmorSet 16973 Conditions = None 16974 Armor = TruckArmor 16975 DamageFX = TankDamageFX 16976 End 16977 BuildCost = 900 16978 BuildTime = 10.0 ;in seconds 16979 VisionRange = 200 16980 ShroudClearingRange = 300 16981 Prerequisites 16982 Object = GLAArmsDealer 16983 Object = GLAPalace 16984 End 16985 16986 ExperienceValue = 50 50 100 150 ;Experience point value at each level 16987 ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level 16988 IsTrainable = Yes ;Can gain experience 16989 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 16990 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 16991 CommandSet = GLAVehicleRocketBuggyCommandSet 16992 16993 ; *** AUDIO Parameters *** 16994 VoiceSelect = RocketBuggyVoiceSelect 16995 VoiceMove = RocketBuggyVoiceMove 16996 VoiceAttack = RocketBuggyVoiceAttack 16997 SoundMoveStart = RocketBuggyMoveStart 16998 SoundMoveStartDamaged = RocketBuggyMoveStart 16999 VoiceGuard = RocketBuggyVoiceMove 17000 17001 17002 UnitSpecificSounds 17003 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 17004 VoiceCreate = RocketBuggyVoiceCreate 17005 TurretMoveStart = NoSound 17006 TurretMoveLoop = TurretMoveLoop 17007 ; Required for the W3DTruckDraw module 17008 TruckLandingSound = RocketBuggyLand 17009 TruckPowerslideSound = RocketBuggyPowerslide 17010 VoiceCrush = RocketBuggyVoiceCrush 17011 VoiceEnter = RocketBuggyVoiceMove 17012 End 17013 17014 ; *** ENGINEERING Parameters *** 17015 RadarPriority = UNIT 17016 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 17017 17018 Body = ActiveBody ModuleTag_02 17019 MaxHealth = 120 17020 InitialHealth = 120 17021 End 17022 Behavior = AIUpdateInterface ModuleTag_03 17023 Turret 17024 TurretTurnRate = 90 17025 ControlledWeaponSlots = PRIMARY 17026 End 17027 AutoAcquireEnemiesWhenIdle = Yes 17028 End 17029 Locomotor = SET_NORMAL CINE_RocketBuggyLocomotor 17030 Behavior = PhysicsBehavior ModuleTag_04 17031 Mass = 50.0 17032 End 17033 17034 ; The pop up AirDeath 17035 Behavior = SlowDeathBehavior ModuleTag_05 17036 DeathTypes = ALL -CRUSHED -SPLATTED 17037 ProbabilityModifier = 5 17038 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 17039 DestructionDelay = 0 17040 FX = INITIAL FX_BuggyNewDeathExplosion 17041 OCL = FINAL OCL_RocketBuggyAirDeathStart 17042 End 17043 17044 Behavior = AutoHealBehavior ModuleTag_08 17045 HealingAmount = 2 17046 HealingDelay = 1000 ; msec 17047 TriggeredBy = Upgrade_GLAJunkRepair 17048 End 17049 17050 Behavior = WeaponSetUpgrade ModuleTag_09 17051 TriggeredBy = Upgrade_GLABuggyAmmo 17052 End 17053 17054 Behavior = DestroyDie ModuleTag_11 17055 DeathTypes = NONE +CRUSHED +SPLATTED 17056 End 17057 17058 ; A crushing defeat 17059 Behavior = FXListDie ModuleTag_12 17060 DeathTypes = NONE +CRUSHED +SPLATTED 17061 DeathFX = FX_CarCrush 17062 End 17063 Behavior = CreateObjectDie ModuleTag_13 17064 DeathTypes = NONE +CRUSHED +SPLATTED 17065 CreationList = OCL_CrusaderTank_CrushEffect 17066 End 17067 Behavior = CreateCrateDie ModuleTag_14 17068 CrateData = SalvageCrateData 17069 ;CrateData = EliteTankCrateData 17070 ;CrateData = HeroicTankCrateData 17071 End 17072 17073 Behavior = TransitionDamageFX ModuleTag_15 17074 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 17075 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 17076 End 17077 17078 Behavior = FlammableUpdate ModuleTag_21 17079 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 17080 AflameDamageAmount = 3 ; taking this much damage... 17081 AflameDamageDelay = 500 ; this often. 17082 End 17083 17084 Geometry = BOX 17085 GeometryMajorRadius = 13.0 17086 GeometryMinorRadius = 9.0 17087 GeometryHeight = 7.5 17088 GeometryIsSmall = Yes 17089 17090 Shadow = SHADOW_VOLUME 17091 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 17092 17093 End 17094 17095 ;------------------------------------------------------------------------------ 17096 Object StingerMissile 17097 17098 ; *** ART Parameters *** 17099 Draw = W3DModelDraw ModuleTag_01 17100 OkToChangeModelColor = Yes 17101 ConditionState = NONE 17102 Model = UVRockBug_m 17103 End 17104 End 17105 17106 ; ***DESIGN parameters *** 17107 DisplayName = OBJECT:StingerMissile 17108 EditorSorting = SYSTEM 17109 VisionRange = 0.0 17110 ArmorSet 17111 Conditions = None 17112 Armor = ProjectileArmor 17113 DamageFX = None 17114 End 17115 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 17116 17117 ; *** ENGINEERING Parameters *** 17118 KindOf = PROJECTILE SMALL_MISSILE 17119 Body = ActiveBody ModuleTag_02 17120 MaxHealth = 100.0 17121 InitialHealth = 100.0 17122 End 17123 17124 ; ---- begin Projectile death behaviors 17125 Behavior = InstantDeathBehavior DeathModuleTag_01 17126 DeathTypes = NONE +DETONATED 17127 ; we detonated normally. 17128 ; no FX, just quiet destroy ourselves 17129 End 17130 Behavior = InstantDeathBehavior DeathModuleTag_02 17131 DeathTypes = NONE +LASERED 17132 ; shot down by laser. 17133 FX = FX_GenericMissileDisintegrate 17134 OCL = OCL_GenericMissileDisintegrate 17135 End 17136 Behavior = InstantDeathBehavior DeathModuleTag_03 17137 DeathTypes = ALL -LASERED -DETONATED 17138 ; shot down by nonlaser. 17139 FX = FX_GenericMissileDeath 17140 End 17141 ; ---- end Projectile death behaviors 17142 17143 Behavior = PhysicsBehavior ModuleTag_06 17144 Mass = 1 17145 End 17146 Behavior = MissileAIUpdate ModuleTag_07 17147 TryToFollowTarget = Yes 17148 FuelLifetime = 5000 17149 InitialVelocity = 200 ; in dist/sec 17150 IgnitionDelay = 0 17151 DistanceToTravelBeforeTurning = 5 17152 IgnitionFX = None 17153 DistanceToTargetForLock = 100 ; If it gets within 100 of the target, it kills the target. 17154 End 17155 17156 Behavior = WeaponBonusUpgrade Upgrade_01 17157 TriggeredBy = Upgrade_GLAAPRockets 17158 End 17159 17160 Locomotor = SET_NORMAL StingerMissileLocomotor 17161 17162 Geometry = Sphere 17163 GeometryIsSmall = Yes 17164 GeometryMajorRadius = 2.0 17165 17166 End 17167 17168 17169 ;------------------------------------------------------------------------------ 17170 Object ComancheAntiTankMissile 17171 17172 ; *** ART Parameters *** 17173 Draw = W3DModelDraw ModuleTag_01 17174 OkToChangeModelColor = Yes 17175 ConditionState = NONE 17176 ; @todo -- need real art here 17177 Model = UVRockBug_m 17178 End 17179 End 17180 17181 ; ***DESIGN parameters *** 17182 DisplayName = OBJECT:Prop 17183 EditorSorting = SYSTEM 17184 VisionRange = 0.0 17185 ArmorSet 17186 Conditions = None 17187 Armor = ProjectileArmor 17188 DamageFX = None 17189 End 17190 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 17191 17192 ; *** ENGINEERING Parameters *** 17193 KindOf = PROJECTILE SMALL_MISSILE 17194 Body = ActiveBody ModuleTag_02 17195 MaxHealth = 100.0 17196 InitialHealth = 100.0 17197 End 17198 17199 ; ---- begin Projectile death behaviors 17200 Behavior = InstantDeathBehavior DeathModuleTag_01 17201 DeathTypes = NONE +DETONATED 17202 ; we detonated normally. 17203 ; no FX, just quiet destroy ourselves 17204 End 17205 Behavior = InstantDeathBehavior DeathModuleTag_02 17206 DeathTypes = NONE +LASERED 17207 ; shot down by laser. 17208 FX = FX_GenericMissileDisintegrate 17209 OCL = OCL_GenericMissileDisintegrate 17210 End 17211 Behavior = InstantDeathBehavior DeathModuleTag_03 17212 DeathTypes = ALL -LASERED -DETONATED 17213 ; shot down by nonlaser. 17214 FX = FX_GenericMissileDeath 17215 End 17216 ; ---- end Projectile death behaviors 17217 17218 Behavior = PhysicsBehavior ModuleTag_06 17219 Mass = 1 17220 End 17221 Behavior = MissileAIUpdate ModuleTag_07 17222 TryToFollowTarget = Yes 17223 FuelLifetime = 1000 17224 InitialVelocity = 150 ; in dist/sec 17225 IgnitionDelay = 0 17226 DistanceToTravelBeforeTurning = 10 17227 IgnitionFX = FX_BuggyMissileIgnition 17228 End 17229 Locomotor = SET_NORMAL ComancheAntiTankMissileLocomotor 17230 17231 Geometry = Sphere 17232 GeometryIsSmall = Yes 17233 GeometryMajorRadius = 2.0 17234 17235 End 17236 17237 ;------------------------------------------------------------------------------ 17238 Object ComancheRocketPodRocket 17239 17240 ; *** ART Parameters *** 17241 Draw = W3DModelDraw ModuleTag_01 17242 OkToChangeModelColor = Yes 17243 ConditionState = NONE 17244 ; @todo -- need real art here 17245 Model = UVRockBug_m 17246 End 17247 End 17248 17249 ; ***DESIGN parameters *** 17250 DisplayName = OBJECT:Prop 17251 EditorSorting = SYSTEM 17252 VisionRange = 0.0 17253 ArmorSet 17254 Conditions = None 17255 Armor = ProjectileArmor 17256 DamageFX = None 17257 End 17258 17259 ; *** ENGINEERING Parameters *** 17260 KindOf = PROJECTILE SMALL_MISSILE 17261 Body = ActiveBody ModuleTag_02 17262 MaxHealth = 100.0 17263 InitialHealth = 100.0 17264 End 17265 17266 ; ---- begin Projectile death behaviors 17267 Behavior = InstantDeathBehavior DeathModuleTag_01 17268 DeathTypes = NONE +DETONATED 17269 ; we detonated normally. 17270 ; no FX, just quiet destroy ourselves 17271 End 17272 Behavior = InstantDeathBehavior DeathModuleTag_02 17273 DeathTypes = NONE +LASERED 17274 ; shot down by laser. 17275 FX = FX_GenericMissileDisintegrate 17276 OCL = OCL_GenericMissileDisintegrate 17277 End 17278 Behavior = InstantDeathBehavior DeathModuleTag_03 17279 DeathTypes = ALL -LASERED -DETONATED 17280 ; shot down by nonlaser. 17281 FX = FX_GenericMissileDeath 17282 End 17283 ; ---- end Projectile death behaviors 17284 17285 Behavior = PhysicsBehavior ModuleTag_06 17286 Mass = 1 17287 End 17288 Behavior = MissileAIUpdate ModuleTag_07 17289 TryToFollowTarget = No 17290 FuelLifetime = 1000 17291 InitialVelocity = 150 ; in dist/sec 17292 IgnitionDelay = 0 17293 DistanceToTravelBeforeTurning = 10 17294 IgnitionFX = FX_BuggyMissileIgnition 17295 End 17296 Locomotor = SET_NORMAL ComancheRocketPodLocomotor 17297 Geometry = Sphere 17298 GeometryIsSmall = Yes 17299 GeometryMajorRadius = 2.0 17300 17301 End 17302 17303 ;------------------------------------------------------------------------------ 17304 Object RocketBuggyMissile 17305 17306 ; *** ART Parameters *** 17307 Draw = W3DModelDraw ModuleTag_01 17308 OkToChangeModelColor = Yes 17309 ConditionState = NONE 17310 Model = UVRockBug_m 17311 End 17312 End 17313 17314 ; ***DESIGN parameters *** 17315 EditorSorting = SYSTEM 17316 VisionRange = 0.0 17317 ArmorSet 17318 Conditions = None 17319 Armor = ProjectileArmor 17320 DamageFX = None 17321 End 17322 17323 ; *** ENGINEERING Parameters *** 17324 KindOf = PROJECTILE SMALL_MISSILE 17325 Body = ActiveBody ModuleTag_02 17326 MaxHealth = 100.0 17327 InitialHealth = 100.0 17328 End 17329 17330 ; ---- begin Projectile death behaviors 17331 Behavior = InstantDeathBehavior DeathModuleTag_01 17332 DeathTypes = NONE +DETONATED 17333 ; we detonated normally. 17334 ; no FX, just quiet destroy ourselves 17335 End 17336 Behavior = InstantDeathBehavior DeathModuleTag_02 17337 DeathTypes = NONE +LASERED 17338 ; shot down by laser. 17339 FX = FX_GenericMissileDisintegrate 17340 OCL = OCL_GenericMissileDisintegrate 17341 End 17342 Behavior = InstantDeathBehavior DeathModuleTag_03 17343 DeathTypes = ALL -LASERED -DETONATED 17344 ; shot down by nonlaser. 17345 FX = FX_GenericMissileDeath 17346 End 17347 ; ---- end Projectile death behaviors 17348 17349 Behavior = PhysicsBehavior ModuleTag_06 17350 Mass = 1 17351 End 17352 Behavior = MissileAIUpdate ModuleTag_07 17353 TryToFollowTarget = Yes 17354 FuelLifetime = 1500 17355 InitialVelocity = 150 ; in dist/sec 17356 IgnitionDelay = 0 17357 DistanceToTravelBeforeTurning = 3 17358 IgnitionFX = FX_BuggyMissileIgnition 17359 End 17360 Locomotor = SET_NORMAL RocketBuggyMissileLocomotor 17361 17362 Behavior = WeaponBonusUpgrade ModuleTag_08 17363 TriggeredBy = Upgrade_GLAAPRockets 17364 End 17365 17366 Geometry = Sphere 17367 GeometryIsSmall = Yes 17368 GeometryMajorRadius = 2.0 17369 17370 End 17371 17372 ;------------------------------------------------------------------------------ 17373 Object SCUDMissile 17374 17375 ; *** ART Parameters *** 17376 Draw = W3DModelDraw ModuleTag_01 17377 OkToChangeModelColor = Yes 17378 ConditionState = NONE 17379 Model = UVScudLchr_M 17380 End 17381 ConditionState = REALLYDAMAGED 17382 Model = UVScudLchr_DM 17383 End 17384 End 17385 17386 ; ***DESIGN parameters *** 17387 DisplayName = OBJECT:SCUDMissile 17388 EditorSorting = SYSTEM 17389 VisionRange = 0.0 17390 ArmorSet 17391 Conditions = None 17392 ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting 17393 ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have 17394 ;*AntiBallisticMissile = Yes set in the Weapon.ini. 17395 Armor = BallisticMissileArmor 17396 DamageFX = None 17397 End 17398 17399 ; *** ENGINEERING Parameters *** 17400 KindOf = PROJECTILE BALLISTIC_MISSILE 17401 Body = ActiveBody ModuleTag_02 17402 MaxHealth = 100.0 17403 InitialHealth = 100.0 17404 End 17405 17406 ; ---- begin Projectile death behaviors 17407 Behavior = InstantDeathBehavior DeathModuleTag_01 17408 DeathTypes = NONE +DETONATED 17409 ; we detonated normally. 17410 ; no FX, just quiet destroy ourselves 17411 End 17412 Behavior = InstantDeathBehavior DeathModuleTag_02 17413 DeathTypes = NONE +LASERED 17414 ; shot down by laser. 17415 FX = FX_GenericMissileDisintegrate 17416 OCL = OCL_GenericMissileDisintegrate 17417 End 17418 Behavior = InstantDeathBehavior DeathModuleTag_03 17419 DeathTypes = ALL -LASERED -DETONATED 17420 ; shot down by nonlaser. 17421 FX = FX_GenericMissileDeath 17422 End 17423 ; ---- end Projectile death behaviors 17424 17425 Behavior = PhysicsBehavior ModuleTag_06 17426 Mass = 1 17427 End 17428 Behavior = MissileAIUpdate ModuleTag_07 17429 TryToFollowTarget = No 17430 FuelLifetime = 5000 17431 IgnitionDelay = 0 17432 ; IgnitionFX = FX_ScudStormIgnition ;NOT WORKING 17433 InitialVelocity = 50 ; in dist/sec 17434 DistanceToTravelBeforeTurning = 200 17435 DistanceToTargetBeforeDiving = 200 ; When I hit this close to target, I ignore PreferredHeight. 17436 End 17437 Locomotor = SET_NORMAL SCUDMissileLocomotor 17438 17439 Behavior = WeaponBonusUpgrade ModuleTag_08 17440 TriggeredBy = Upgrade_GLAAPRockets 17441 End 17442 17443 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 17444 GeometryMajorRadius = 4.0 17445 GeometryHeight = 4.0 17446 GeometryIsSmall = Yes 17447 17448 Shadow = SHADOW_DECAL 17449 End 17450 17451 ;------------------------------------------------------------------------------ 17452 ;*********************** Cinematic Only Unit ********************************** 17453 Object CINE_SCUDMissile 17454 17455 ; *** ART Parameters *** 17456 Draw = W3DModelDraw ModuleTag_01 17457 OkToChangeModelColor = Yes 17458 ConditionState = NONE 17459 Model = UVScudLchr_M 17460 End 17461 ConditionState = REALLYDAMAGED 17462 Model = UVScudLchr_DM 17463 End 17464 End 17465 17466 ; ***DESIGN parameters *** 17467 DisplayName = OBJECT:SCUDMissile 17468 EditorSorting = SYSTEM 17469 VisionRange = 0.0 17470 ArmorSet 17471 Conditions = None 17472 ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting 17473 ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have 17474 ;*AntiBallisticMissile = Yes set in the Weapon.ini. 17475 Armor = BallisticMissileArmor 17476 DamageFX = None 17477 End 17478 17479 ; *** ENGINEERING Parameters *** 17480 KindOf = PROJECTILE BALLISTIC_MISSILE 17481 Body = ActiveBody ModuleTag_02 17482 MaxHealth = 100.0 17483 InitialHealth = 100.0 17484 End 17485 17486 ; ---- begin Projectile death behaviors 17487 Behavior = InstantDeathBehavior DeathModuleTag_01 17488 DeathTypes = NONE +DETONATED 17489 ; we detonated normally. 17490 ; no FX, just quiet destroy ourselves 17491 End 17492 Behavior = InstantDeathBehavior DeathModuleTag_02 17493 DeathTypes = NONE +LASERED 17494 ; shot down by laser. 17495 FX = FX_GenericMissileDisintegrate 17496 OCL = OCL_GenericMissileDisintegrate 17497 End 17498 Behavior = InstantDeathBehavior DeathModuleTag_03 17499 DeathTypes = ALL -LASERED -DETONATED 17500 ; shot down by nonlaser. 17501 FX = FX_GenericMissileDeath 17502 End 17503 ; ---- end Projectile death behaviors 17504 17505 Behavior = PhysicsBehavior ModuleTag_06 17506 Mass = 1 17507 End 17508 Behavior = MissileAIUpdate ModuleTag_07 17509 TryToFollowTarget = No 17510 FuelLifetime = 8000 17511 IgnitionDelay = 0 17512 ; IgnitionFX = FX_ScudStormIgnition ;NOT WORKING 17513 InitialVelocity = 50 ; in dist/sec 17514 DistanceToTravelBeforeTurning = 200 17515 DistanceToTargetBeforeDiving = 200 ; When I hit this close to target, I ignore PreferredHeight. 17516 End 17517 Locomotor = SET_NORMAL SCUDMissileLocomotor 17518 17519 Behavior = WeaponBonusUpgrade ModuleTag_08 17520 TriggeredBy = Upgrade_GLAAPRockets 17521 End 17522 17523 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 17524 GeometryMajorRadius = 4.0 17525 GeometryHeight = 4.0 17526 GeometryIsSmall = Yes 17527 17528 Shadow = SHADOW_DECAL 17529 End 17530 17531 17532 ;------------------------------------------------------------------------------ 17533 Object TomahawkMissile 17534 17535 ; *** ART Parameters *** 17536 Draw = W3DModelDraw ModuleTag_01 17537 OkToChangeModelColor = Yes 17538 ConditionState = NONE 17539 Model = AVTomahawk_M 17540 17541 End 17542 End 17543 17544 ; ***DESIGN parameters *** 17545 DisplayName = OBJECT:TomahawkMissile 17546 EditorSorting = SYSTEM 17547 VisionRange = 0.0 17548 ArmorSet 17549 Conditions = None 17550 ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting 17551 ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have 17552 ;*AntiBallisticMissile = Yes set in the Weapon.ini. 17553 Armor = BallisticMissileArmor 17554 DamageFX = None 17555 End 17556 17557 ; *** ENGINEERING Parameters *** 17558 KindOf = PROJECTILE BALLISTIC_MISSILE 17559 Body = ActiveBody ModuleTag_02 17560 MaxHealth = 200.0 17561 InitialHealth = 100.0 17562 End 17563 17564 ; ---- begin Projectile death behaviors 17565 Behavior = InstantDeathBehavior DeathModuleTag_01 17566 DeathTypes = NONE +DETONATED 17567 ; we detonated normally. 17568 FX = WeaponFX_TomahawkMissileDetonation 17569 End 17570 Behavior = InstantDeathBehavior DeathModuleTag_02 17571 DeathTypes = NONE +LASERED 17572 ; shot down by laser. 17573 FX = FX_GenericMissileDisintegrate 17574 OCL = OCL_GenericMissileDisintegrate 17575 End 17576 Behavior = InstantDeathBehavior DeathModuleTag_03 17577 DeathTypes = ALL -LASERED -DETONATED 17578 ; shot down by nonlaser. 17579 FX = FX_GenericMissileDeath 17580 End 17581 ; ---- end Projectile death behaviors 17582 17583 Behavior = PhysicsBehavior ModuleTag_06 17584 Mass = 1 17585 End 17586 Behavior = MissileAIUpdate ModuleTag_07 17587 TryToFollowTarget = Yes 17588 FuelLifetime = 4000 17589 IgnitionDelay = 0 17590 IgnitionFX = FX_TomahawkIgnition 17591 InitialVelocity = 50 ; in dist/sec 17592 DistanceToTravelBeforeTurning = 80 17593 DistanceToTargetBeforeDiving = 100 ; When I hit this close to target, I ignore PreferredHeight. 17594 ; Note, if this is too small, the missile will turn too late to hit. And, since we have a 2D 17595 ; heart, being over the target counts as "there", so we'll give up and just go straight. 17596 17597 DistanceToTargetForLock = 10 ; Short lock on, as it looks better flying. jba. 17598 End 17599 Locomotor = SET_NORMAL TomahawkMissileLocomotor 17600 17601 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 17602 GeometryMajorRadius = 8.0 17603 GeometryHeight = 4.0 17604 GeometryIsSmall = Yes 17605 17606 Shadow = SHADOW_DECAL 17607 End 17608 17609 ;------------------------------------------------------------------------------ 17610 Object NuclearCannonShell 17611 17612 ; *** ART Parameters *** 17613 Draw = W3DModelDraw ModuleTag_01 17614 OkToChangeModelColor = Yes 17615 ConditionState = NONE 17616 Model = NVNUKECN_B 17617 End 17618 End 17619 17620 ; ***DESIGN parameters *** 17621 DisplayName = OBJECT:Missile 17622 EditorSorting = SYSTEM 17623 VisionRange = 0.0 17624 ArmorSet 17625 Conditions = None 17626 Armor = ProjectileArmor 17627 DamageFX = None 17628 End 17629 17630 ; *** ENGINEERING Parameters *** 17631 KindOf = PROJECTILE 17632 Body = ActiveBody ModuleTag_02 17633 MaxHealth = 100.0 17634 InitialHealth = 100.0 17635 End 17636 17637 17638 Behavior = FireWeaponWhenDeadBehavior ModuleTag_03 17639 DeathWeapon = ChinaPowerPlantDeathWeapon 17640 StartsActive = Yes 17641 End 17642 17643 Behavior = HeightDieUpdate ModuleTag_04 17644 TargetHeight = 1.0 17645 TargetHeightIncludesStructures = No 17646 OnlyWhenMovingDown = Yes 17647 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 17648 End 17649 17650 ; ---- begin Projectile death behaviors 17651 Behavior = InstantDeathBehavior DeathModuleTag_01 17652 DeathTypes = NONE +DETONATED 17653 ; we detonated normally. 17654 FX = FX_NukeGLA 17655 End 17656 Behavior = InstantDeathBehavior DeathModuleTag_02 17657 DeathTypes = NONE +LASERED 17658 ; shot down by laser. 17659 FX = FX_GenericMissileDisintegrate 17660 OCL = OCL_GenericMissileDisintegrate 17661 End 17662 Behavior = InstantDeathBehavior DeathModuleTag_03 17663 DeathTypes = ALL -LASERED -DETONATED 17664 ; shot down by nonlaser. 17665 FX = FX_GenericMissileDeath 17666 End 17667 ; ---- end Projectile death behaviors 17668 17669 Behavior = PhysicsBehavior ModuleTag_09 17670 Mass = 1 17671 End 17672 Behavior = MissileAIUpdate ModuleTag_10 17673 TryToFollowTarget = No 17674 FuelLifetime = 4000 17675 IgnitionDelay = 0 17676 IgnitionFX = FX_BuggyMissileIgnition 17677 InitialVelocity = 20 ; in dist/sec 17678 DistanceToTravelBeforeTurning = 40 17679 DistanceToTargetBeforeDiving = 50 ; When I hit this close to target, I ignore PreferredHeight. 17680 ; Note, if this is too small, the missile will turn too late to hit. And, since we have a 2D 17681 ; heart, being over the target counts as "there", so we'll give up and just go straight. 17682 End 17683 Locomotor = SET_NORMAL NuclearCannonShellLocomotor 17684 17685 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 17686 GeometryMajorRadius = 4.0 17687 GeometryHeight = 4.0 17688 GeometryIsSmall = Yes 17689 17690 Shadow = SHADOW_DECAL 17691 End 17692 17693 ;------------------------------------------------------------------------------ 17694 Object StrategyCenterArtilleryShell 17695 17696 ; *** ART Parameters *** 17697 Draw = W3DModelDraw ModuleTag_01 17698 OkToChangeModelColor = Yes 17699 ConditionState = NONE 17700 Model = NVNUKECN_B 17701 17702 End 17703 End 17704 17705 ; ***DESIGN parameters *** 17706 DisplayName = OBJECT:Missile 17707 EditorSorting = SYSTEM 17708 VisionRange = 0.0 17709 ArmorSet 17710 Conditions = None 17711 Armor = ProjectileArmor 17712 DamageFX = None 17713 End 17714 17715 17716 ; *** ENGINEERING Parameters *** 17717 KindOf = PROJECTILE 17718 Body = ActiveBody ModuleTag_02 17719 MaxHealth = 100.0 17720 InitialHealth = 100.0 17721 End 17722 17723 ; ---- begin Projectile death behaviors 17724 Behavior = InstantDeathBehavior DeathModuleTag_01 17725 DeathTypes = NONE +DETONATED 17726 ; we detonated normally. 17727 ; no FX, just quiet destroy ourselves 17728 End 17729 Behavior = InstantDeathBehavior DeathModuleTag_02 17730 DeathTypes = NONE +LASERED 17731 ; shot down by laser. 17732 FX = FX_GenericMissileDisintegrate 17733 OCL = OCL_GenericMissileDisintegrate 17734 End 17735 Behavior = InstantDeathBehavior DeathModuleTag_03 17736 DeathTypes = ALL -LASERED -DETONATED 17737 ; shot down by nonlaser. 17738 FX = FX_GenericMissileDeath 17739 End 17740 ; ---- end Projectile death behaviors 17741 17742 Behavior = PhysicsBehavior ModuleTag_04 17743 Mass = 1 17744 End 17745 Behavior = MissileAIUpdate ModuleTag_05 17746 TryToFollowTarget = No 17747 FuelLifetime = 4000 17748 IgnitionDelay = 0 17749 IgnitionFX = FX_BuggyMissileIgnition 17750 InitialVelocity = 20 ; in dist/sec 17751 DistanceToTravelBeforeTurning = 40 17752 DistanceToTargetBeforeDiving = 50 ; When I hit this close to target, I ignore PreferredHeight. 17753 ; Note, if this is too small, the missile will turn too late to hit. And, since we have a 2D 17754 ; heart, being over the target counts as "there", so we'll give up and just go straight. 17755 End 17756 Locomotor = SET_NORMAL NuclearCannonShellLocomotor 17757 17758 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 17759 GeometryMajorRadius = 4.0 17760 GeometryHeight = 4.0 17761 GeometryIsSmall = Yes 17762 17763 Shadow = SHADOW_DECAL 17764 End 17765 17766 ;------------------------------------------------------------------------------ 17767 Object MissileDefenderMissile 17768 17769 ; *** ART Parameters *** 17770 Draw = W3DModelDraw ModuleTag_01 17771 OkToChangeModelColor = Yes 17772 ConditionState = NONE 17773 Model = ExMsslTm 17774 End 17775 End 17776 17777 ; ***DESIGN parameters *** 17778 DisplayName = OBJECT:RangerTeamMissile 17779 EditorSorting = SYSTEM 17780 VisionRange = 0.0 17781 ArmorSet 17782 Conditions = None 17783 Armor = ProjectileArmor 17784 DamageFX = None 17785 End 17786 17787 ; *** ENGINEERING Parameters *** 17788 KindOf = PROJECTILE SMALL_MISSILE 17789 Body = ActiveBody ModuleTag_02 17790 MaxHealth = 100.0 17791 InitialHealth = 100.0 17792 End 17793 17794 ; ---- begin Projectile death behaviors 17795 Behavior = InstantDeathBehavior DeathModuleTag_01 17796 DeathTypes = NONE +DETONATED 17797 ; we detonated normally. 17798 ; no FX, just quiet destroy ourselves 17799 End 17800 Behavior = InstantDeathBehavior DeathModuleTag_02 17801 DeathTypes = NONE +LASERED 17802 ; shot down by laser. 17803 FX = FX_GenericMissileDisintegrate 17804 OCL = OCL_GenericMissileDisintegrate 17805 End 17806 Behavior = InstantDeathBehavior DeathModuleTag_03 17807 DeathTypes = ALL -LASERED -DETONATED 17808 ; shot down by nonlaser. 17809 FX = FX_GenericMissileDeath 17810 End 17811 ; ---- end Projectile death behaviors 17812 17813 Behavior = PhysicsBehavior ModuleTag_06 17814 Mass = 1 17815 End 17816 Behavior = MissileAIUpdate ModuleTag_07 17817 TryToFollowTarget = Yes;;;;;;;;;No 17818 FuelLifetime = 3000 17819 InitialVelocity = 150 ; in dist/sec 17820 IgnitionDelay = 0 17821 DistanceToTravelBeforeTurning = 3 17822 IgnitionFX = FX_BuggyMissileIgnition 17823 End 17824 Locomotor = SET_NORMAL MissileDefenderMissileLocomotor 17825 Geometry = Sphere 17826 GeometryIsSmall = Yes 17827 GeometryMajorRadius = 2.0 17828 17829 End 17830 17831 ;------------------------------------------------------------------------------ 17832 Object TunnelDefenderMissile 17833 17834 ; *** ART Parameters *** 17835 Draw = W3DModelDraw ModuleTag_01 17836 OkToChangeModelColor = Yes 17837 ConditionState = NONE 17838 Model = EXStinger01 17839 End 17840 End 17841 17842 ; ***DESIGN parameters *** 17843 EditorSorting = SYSTEM 17844 VisionRange = 0.0 17845 ArmorSet 17846 Conditions = None 17847 Armor = ProjectileArmor 17848 DamageFX = None 17849 End 17850 17851 ; *** ENGINEERING Parameters *** 17852 KindOf = PROJECTILE SMALL_MISSILE 17853 Body = ActiveBody ModuleTag_02 17854 MaxHealth = 100.0 17855 InitialHealth = 100.0 17856 End 17857 17858 ; ---- begin Projectile death behaviors 17859 Behavior = InstantDeathBehavior DeathModuleTag_01 17860 DeathTypes = NONE +DETONATED 17861 ; we detonated normally. 17862 ; no FX, just quiet destroy ourselves 17863 End 17864 Behavior = InstantDeathBehavior DeathModuleTag_02 17865 DeathTypes = NONE +LASERED 17866 ; shot down by laser. 17867 FX = FX_GenericMissileDisintegrate 17868 OCL = OCL_GenericMissileDisintegrate 17869 End 17870 Behavior = InstantDeathBehavior DeathModuleTag_03 17871 DeathTypes = ALL -LASERED -DETONATED 17872 ; shot down by nonlaser. 17873 FX = FX_GenericMissileDeath 17874 End 17875 ; ---- end Projectile death behaviors 17876 17877 Behavior = WeaponBonusUpgrade ModuleTag_08 17878 TriggeredBy = Upgrade_GLAAPRockets 17879 End 17880 17881 Behavior = PhysicsBehavior ModuleTag_06 17882 Mass = 1 17883 End 17884 Behavior = MissileAIUpdate ModuleTag_07 17885 TryToFollowTarget = Yes;;;;;;;;;;No 17886 FuelLifetime = 1250 17887 InitialVelocity = 150 ; in dist/sec 17888 IgnitionDelay = 0 17889 DistanceToTravelBeforeTurning = 20 17890 IgnitionFX = FX_BuggyMissileIgnition 17891 End 17892 Locomotor = SET_NORMAL TunnelDefenderMissileLocomotor 17893 17894 Geometry = Sphere 17895 GeometryIsSmall = Yes 17896 GeometryMajorRadius = 2.0 17897 17898 End 17899 17900 ;------------------------------------------------------------------------------ 17901 Object TechnicalRPGMissile 17902 17903 ; *** ART Parameters *** 17904 Draw = W3DModelDraw ModuleTag_01 17905 OkToChangeModelColor = Yes 17906 DefaultConditionState 17907 Model = EXStinger01 17908 End 17909 End 17910 17911 ; ***DESIGN parameters *** 17912 EditorSorting = SYSTEM 17913 VisionRange = 0.0 17914 ArmorSet 17915 Conditions = None 17916 Armor = ProjectileArmor 17917 DamageFX = None 17918 End 17919 17920 ; *** ENGINEERING Parameters *** 17921 KindOf = PROJECTILE SMALL_MISSILE 17922 Body = ActiveBody ModuleTag_02 17923 MaxHealth = 100.0 17924 InitialHealth = 100.0 17925 End 17926 17927 ; ---- begin Projectile death behaviors 17928 Behavior = InstantDeathBehavior DeathModuleTag_01 17929 DeathTypes = NONE +DETONATED 17930 ; we detonated normally. 17931 ; no FX, just quiet destroy ourselves 17932 End 17933 Behavior = InstantDeathBehavior DeathModuleTag_02 17934 DeathTypes = NONE +LASERED 17935 ; shot down by laser. 17936 FX = FX_GenericMissileDisintegrate 17937 OCL = OCL_GenericMissileDisintegrate 17938 End 17939 Behavior = InstantDeathBehavior DeathModuleTag_03 17940 DeathTypes = ALL -LASERED -DETONATED 17941 ; shot down by nonlaser. 17942 FX = FX_GenericMissileDeath 17943 End 17944 ; ---- end Projectile death behaviors 17945 17946 Behavior = PhysicsBehavior ModuleTag_06 17947 Mass = 1 17948 End 17949 Behavior = MissileAIUpdate ModuleTag_07 17950 TryToFollowTarget = Yes 17951 FuelLifetime = 1000 17952 InitialVelocity = 150 ; in dist/sec 17953 IgnitionDelay = 0 17954 DistanceToTravelBeforeTurning = 20 17955 IgnitionFX = FX_BuggyMissileIgnition 17956 End 17957 Locomotor = SET_NORMAL TechnicalRPGMissileLocomotor 17958 17959 Geometry = Sphere 17960 GeometryIsSmall = Yes 17961 GeometryMajorRadius = 2.0 17962 17963 End 17964 17965 ;------------------------------------------------------------------------------ 17966 Object TankHunterMissile 17967 17968 ; *** ART Parameters *** 17969 Draw = W3DModelDraw ModuleTag_01 17970 OkToChangeModelColor = Yes 17971 ConditionState = NONE 17972 Model = EXStinger01 17973 End 17974 End 17975 17976 ; ***DESIGN parameters *** 17977 EditorSorting = SYSTEM 17978 VisionRange = 0.0 17979 ArmorSet 17980 Conditions = None 17981 Armor = ProjectileArmor 17982 DamageFX = None 17983 End 17984 17985 ; *** ENGINEERING Parameters *** 17986 KindOf = PROJECTILE SMALL_MISSILE 17987 Body = ActiveBody ModuleTag_02 17988 MaxHealth = 100.0 17989 InitialHealth = 100.0 17990 End 17991 17992 ; ---- begin Projectile death behaviors 17993 Behavior = InstantDeathBehavior DeathModuleTag_01 17994 DeathTypes = NONE +DETONATED 17995 ; we detonated normally. 17996 ; no FX, just quiet destroy ourselves 17997 End 17998 Behavior = InstantDeathBehavior DeathModuleTag_02 17999 DeathTypes = NONE +LASERED 18000 ; shot down by laser. 18001 FX = FX_GenericMissileDisintegrate 18002 OCL = OCL_GenericMissileDisintegrate 18003 End 18004 Behavior = InstantDeathBehavior DeathModuleTag_03 18005 DeathTypes = ALL -LASERED -DETONATED 18006 ; shot down by nonlaser. 18007 FX = FX_GenericMissileDeath 18008 End 18009 ; ---- end Projectile death behaviors 18010 18011 Behavior = PhysicsBehavior ModuleTag_06 18012 Mass = 1 18013 End 18014 Behavior = MissileAIUpdate ModuleTag_07 18015 TryToFollowTarget = Yes;;;;;;;;;;;;No 18016 FuelLifetime = 1250 18017 InitialVelocity = 150 ; in dist/sec 18018 IgnitionDelay = 0 18019 DistanceToTravelBeforeTurning = 20 18020 IgnitionFX = FX_BuggyMissileIgnition 18021 End 18022 Locomotor = SET_NORMAL TankHunterMissileLocomotor 18023 18024 Geometry = Sphere 18025 GeometryIsSmall = Yes 18026 GeometryMajorRadius = 2.0 18027 18028 End 18029 18030 18031 ;------------------------------------------------------------------------------ 18032 Object GLARocketBuggyFullDebris 18033 18034 ; *** ART Parameters *** 18035 Draw = W3DModelDraw ModuleTag_01 18036 OkToChangeModelColor = Yes 18037 18038 DefaultConditionState 18039 Model = UVRockBug_D1 18040 ShowSubObject = Turret 18041 HideSubObject = TurretUp01 18042 End 18043 18044 ConditionState = WEAPONSET_PLAYER_UPGRADE 18045 ShowSubObject = TurretUp01 18046 HideSubObject = Turret 18047 End 18048 End 18049 18050 ; ***DESIGN parameters *** 18051 DisplayName = OBJECT:RocketBuggyDebris 18052 Side = GLA 18053 EditorSorting = SYSTEM 18054 TransportSlotCount = 0 18055 18056 ; *** AUDIO Parameters *** 18057 ; *** ENGINEERING Parameters *** 18058 RadarPriority = UNIT 18059 KindOf = CAN_CAST_REFLECTIONS 18060 18061 Body = ActiveBody ModuleTag_02 18062 MaxHealth = 1.0 18063 InitialHealth = 1.0 18064 End 18065 18066 Behavior = PhysicsBehavior ModuleTag_03 18067 Mass = 50 18068 AllowBouncing = Yes 18069 End 18070 Behavior = LifetimeUpdate ModuleTag_04 18071 MinLifetime = 0 ; min lifetime in msec 18072 MaxLifetime = 0 ; max lifetime in msec 18073 End 18074 18075 Behavior = WeaponSetUpgrade ModuleTag_05 18076 TriggeredBy = Upgrade_GLABuggyAmmo 18077 End 18078 18079 Behavior = SlowDeathBehavior ModuleTag_06 18080 DestructionDelay = 500 18081 DestructionDelayVariance = 1500 18082 OCL = FINAL OCL_RocketBuggyAirDeath 18083 FX = INITIAL FX_RocketBuggyAirDeathGroundPart 18084 FX = FINAL FX_RocketBuggyAirDeathAirPart ; This happens in the air 18085 End 18086 18087 Geometry = BOX 18088 GeometryMajorRadius = 9.0 18089 GeometryMinorRadius = 6.0 18090 GeometryHeight = 7.5 18091 GeometryIsSmall = Yes 18092 18093 End 18094 18095 ;------------------------------------------------------------------------------ 18096 Object RocketBuggyMissileDebris 18097 18098 ; *** ART Parameters *** 18099 Draw = W3DModelDraw ModuleTag_01 18100 OkToChangeModelColor = Yes 18101 ConditionState = NONE 18102 Model = NVMBuggy_m 18103 End 18104 End 18105 18106 ; ***DESIGN parameters *** 18107 DisplayName = OBJECT:RocketBuggyDebris 18108 EditorSorting = SYSTEM 18109 ArmorSet 18110 Conditions = None 18111 Armor = ProjectileArmor 18112 DamageFX = None 18113 End 18114 18115 ; *** ENGINEERING Parameters *** 18116 Body = ActiveBody ModuleTag_02 18117 MaxHealth = 100.0 18118 InitialHealth = 100.0 18119 End 18120 18121 Behavior = PhysicsBehavior ModuleTag_03 18122 Mass = 3 18123 AllowBouncing = Yes 18124 End 18125 18126 Behavior = LifetimeUpdate ModuleTag_04 18127 MinLifetime = 0 ; min lifetime in msec 18128 MaxLifetime = 0 ; max lifetime in msec 18129 End 18130 Behavior = SlowDeathBehavior ModuleTag_05 18131 DestructionDelay = 500 18132 DestructionDelayVariance = 500 18133 FX = INITIAL FX_BuggyMissileDebris 18134 FX = FINAL WeaponFX_RocketBuggyMissileDetonation 18135 End 18136 18137 Geometry = Sphere 18138 GeometryIsSmall = Yes 18139 GeometryMajorRadius = 2.0 18140 18141 End 18142 18143 ;------------------------------------------------------------------------------ 18144 Object GLAVehicleQuadCannon 18145 18146 ; *** ART Parameters *** 18147 SelectPortrait = SUQuadCannon_L 18148 ButtonImage = SUQuadCannon 18149 18150 UpgradeCameo1 = Upgrade_GLAAPBullets 18151 UpgradeCameo2 = Upgrade_GLAJunkRepair 18152 ;UpgradeCameo3 = XXX 18153 ;UpgradeCameo4 = XXX 18154 ;UpgradeCameo5 = XXX 18155 18156 Draw = W3DTankTruckDraw ModuleTag_01 18157 OkToChangeModelColor = Yes 18158 18159 ConditionState = NONE 18160 Model = UVQuadCann 18161 Turret = TURRET 18162 TurretPitch = TURRETEL 18163 WeaponFireFXBone = PRIMARY BarrelMS 18164 WeaponMuzzleFlash = PRIMARY BarrelFX 18165 WeaponRecoilBone = PRIMARY Barrel 18166 WeaponFireFXBone = SECONDARY BarrelMS 18167 WeaponMuzzleFlash = SECONDARY BarrelFX 18168 WeaponRecoilBone = SECONDARY Barrel 18169 ShowSubObject = TURRET 18170 HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash 18171 End 18172 18173 ConditionState = REALLYDAMAGED 18174 Model = UVQuadCann_D 18175 Turret = TURRET 18176 TurretPitch = TURRETEL 18177 WeaponFireFXBone = PRIMARY BarrelMS 18178 WeaponMuzzleFlash = PRIMARY BarrelFX 18179 WeaponRecoilBone = PRIMARY Barrel 18180 WeaponFireFXBone = SECONDARY BarrelMS 18181 WeaponMuzzleFlash = SECONDARY BarrelFX 18182 WeaponRecoilBone = SECONDARY Barrel 18183 ShowSubObject = TURRET 18184 HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 18185 End 18186 18187 ConditionState = RUBBLE 18188 Model = UVQuadCann_D 18189 Turret = TURRET 18190 TurretPitch = TURRETEL 18191 WeaponFireFXBone = PRIMARY BarrelMS 18192 WeaponMuzzleFlash = PRIMARY BarrelFX 18193 WeaponRecoilBone = PRIMARY Barrel 18194 WeaponFireFXBone = SECONDARY BarrelMS 18195 WeaponMuzzleFlash = SECONDARY BarrelFX 18196 WeaponRecoilBone = SECONDARY Barrel 18197 ShowSubObject = TURRET 18198 HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 18199 End 18200 18201 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 18202 Model = UVQuadCann 18203 Turret = TURRETUP01 18204 TurretPitch = TURRETEL01 18205 WeaponFireFXBone = PRIMARY BarrelUp01MS 18206 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 18207 WeaponRecoilBone = PRIMARY BarrelUp01 18208 WeaponFireFXBone = SECONDARY BarrelUp01MS 18209 WeaponMuzzleFlash = SECONDARY BarrelUp01FX 18210 WeaponRecoilBone = SECONDARY BarrelUp01 18211 ShowSubObject = TURRETUP01 18212 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 18213 End 18214 18215 ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED 18216 Model = UVQuadCann 18217 Turret = TURRETUP01 18218 TurretPitch = TURRETEL01 18219 WeaponFireFXBone = PRIMARY BarrelUp01MS 18220 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 18221 WeaponRecoilBone = PRIMARY BarrelUp01 18222 WeaponFireFXBone = SECONDARY BarrelUp01MS 18223 WeaponMuzzleFlash = SECONDARY BarrelUp01FX 18224 WeaponRecoilBone = SECONDARY BarrelUp01 18225 ShowSubObject = TURRETUP01 18226 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 18227 End 18228 18229 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE 18230 Model = UVQuadCann 18231 Turret = TURRETUP01 18232 TurretPitch = TURRETEL01 18233 WeaponFireFXBone = PRIMARY BarrelUp01MS 18234 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 18235 WeaponRecoilBone = PRIMARY BarrelUp01 18236 WeaponFireFXBone = SECONDARY BarrelUp01MS 18237 WeaponMuzzleFlash = SECONDARY BarrelUp01FX 18238 WeaponRecoilBone = SECONDARY BarrelUp01 18239 ShowSubObject = TURRETUP01 18240 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 18241 End 18242 18243 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 18244 Model = UVQuadCann 18245 Turret = TURRETUP02 18246 TurretPitch = TURRETEL02 18247 WeaponFireFXBone = PRIMARY BarrelUp02MS 18248 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 18249 WeaponRecoilBone = PRIMARY BarrelUp02 18250 WeaponFireFXBone = SECONDARY BarrelUp02MS 18251 WeaponMuzzleFlash = SECONDARY BarrelUp02FX 18252 WeaponRecoilBone = SECONDARY BarrelUp02 18253 ShowSubObject = TURRETUP02 18254 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 18255 End 18256 18257 ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED 18258 Model = UVQuadCann_D 18259 Turret = TURRETUP02 18260 TurretPitch = TURRETEL02 18261 WeaponFireFXBone = PRIMARY BarrelUp02MS 18262 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 18263 WeaponRecoilBone = PRIMARY BarrelUp02 18264 WeaponFireFXBone = SECONDARY BarrelUp02MS 18265 WeaponMuzzleFlash = SECONDARY BarrelUp02FX 18266 WeaponRecoilBone = SECONDARY BarrelUp02 18267 ShowSubObject = TURRETUP02 18268 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 18269 End 18270 18271 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE 18272 Model = UVQuadCann_D 18273 Turret = TURRETUP02 18274 TurretPitch = TURRETEL02 18275 WeaponFireFXBone = PRIMARY BarrelUp02MS 18276 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 18277 WeaponRecoilBone = PRIMARY BarrelUp02 18278 WeaponFireFXBone = SECONDARY BarrelUp02MS 18279 WeaponMuzzleFlash = SECONDARY BarrelUp02FX 18280 WeaponRecoilBone = SECONDARY BarrelUp02 18281 ShowSubObject = TURRETUP02 18282 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 18283 End 18284 18285 TrackMarks = EXTnkTrack.tga 18286 18287 TreadAnimationRate = 2.0; amount of tread texture to move per second 18288 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 18289 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 18290 18291 Dust = RocketBuggyDust 18292 DirtSpray = RocketBuggyDirtSpray 18293 18294 ; These parameters are only used if the model has a separate suspension, 18295 ; and the locomotor has HasSuspension = Yes. 18296 LeftFrontTireBone = Tire01 18297 RightFrontTireBone = Tire02 18298 TireRotationMultiplier = 0.2 ; this * speed = rotation. 18299 PowerslideRotationAddition = 0 ; This unit doesn't powerslide. 18300 End 18301 18302 ; ***DESIGN parameters *** 18303 DisplayName = OBJECT:QuadCannon 18304 Side = GLA 18305 EditorSorting = VEHICLE 18306 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 18307 WeaponSet 18308 Conditions = None 18309 Weapon = PRIMARY QuadCannonGun 18310 Weapon = SECONDARY QuadCannonGunAir 18311 End 18312 WeaponSet 18313 Conditions = CRATEUPGRADE_ONE 18314 Weapon = PRIMARY QuadCannonGunUpgradeOne 18315 Weapon = SECONDARY QuadCannonGunUpgradeOneAir 18316 End 18317 WeaponSet 18318 Conditions = CRATEUPGRADE_TWO 18319 Weapon = PRIMARY QuadCannonGunUpgradeTwo 18320 Weapon = SECONDARY QuadCannonGunUpgradeTwoAir 18321 End 18322 ArmorSet 18323 Conditions = None 18324 Armor = AntiAirVehicle 18325 DamageFX = TankDamageFX 18326 End 18327 BuildCost = 700 18328 BuildTime = 10.0 ;in seconds 18329 VisionRange = 150 18330 ShroudClearingRange = 300 18331 Prerequisites 18332 Object = GLAArmsDealer 18333 End 18334 18335 CommandSet = GLAVehicleQuadCannon 18336 18337 ExperienceValue = 50 50 100 150 ;Experience point value at each level 18338 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 18339 IsTrainable = Yes ;Can gain experience 18340 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 18341 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 18342 18343 ; *** AUDIO Parameters *** 18344 VoiceSelect = QuadCannonVoiceSelect 18345 VoiceMove = QuadCannonVoiceMove 18346 VoiceAttack = QuadCannonVoiceAttack 18347 VoiceAttackAir = QuadCannonVoiceAttackAir 18348 SoundMoveStart = QuadCannonMoveStart 18349 SoundMoveStartDamaged = QuadCannonMoveStart 18350 VoiceGuard = QuadCannonVoiceMove 18351 UnitSpecificSounds 18352 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 18353 VoiceCreate = QuadCannonVoiceCreate 18354 TurretMoveStart = NoSound 18355 TurretMoveLoop = TurretMoveLoop 18356 ; Required for the W3DTruckDraw module 18357 TruckLandingSound = NoSound 18358 TruckPowerslideSound = NoSound 18359 VoiceSalvage = QuadCannonVoiceSalvage 18360 VoiceCrush = QuadCannonVoiceCrush 18361 VoiceEnter = QuadCannonVoiceMove 18362 End 18363 18364 Behavior = AIUpdateInterface ModuleTag_20 18365 AutoAcquireEnemiesWhenIdle = Yes 18366 MoodAttackCheckRate = 250 18367 End 18368 18369 ; *** ENGINEERING Parameters *** 18370 RadarPriority = UNIT 18371 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE 18372 18373 Body = ActiveBody ModuleTag_02 18374 MaxHealth = 220.0 18375 InitialHealth = 220.0 18376 End 18377 18378 Behavior = AIUpdateInterface ModuleTag_03 18379 Turret 18380 TurretTurnRate = 360 18381 TurretPitchRate = 360 18382 AllowsPitch = Yes 18383 ControlledWeaponSlots = PRIMARY SECONDARY 18384 End 18385 AutoAcquireEnemiesWhenIdle = Yes 18386 End 18387 18388 Locomotor = SET_NORMAL QuadCannonLocomotor 18389 18390 Behavior = PhysicsBehavior ModuleTag_04 18391 Mass = 40.0 18392 End 18393 18394 ; Catch fire, and explode death 18395 Behavior = SlowDeathBehavior ModuleTag_05 18396 DeathTypes = ALL -CRUSHED -SPLATTED 18397 ProbabilityModifier = 411 18398 DestructionDelay = 150 18399 DestructionDelayVariance = 250 18400 OCL = FINAL OCL_QuadCannonDeathEffect 18401 FX = FINAL FX_BattleMasterExplosionOneFinal 18402 End 18403 18404 Behavior = AutoHealBehavior ModuleTag_06 18405 HealingAmount = 2 18406 HealingDelay = 1000 ; msec 18407 TriggeredBy = Upgrade_GLAJunkRepair 18408 End 18409 18410 Behavior = FlammableUpdate ModuleTag_08 18411 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 18412 AflameDamageAmount = 3 ; taking this much damage... 18413 AflameDamageDelay = 500 ; this often. 18414 End 18415 18416 Behavior = TransitionDamageFX ModuleTag_09 18417 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 18418 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 18419 End 18420 18421 18422 ; A crushing defeat 18423 Behavior = FXListDie ModuleTag_10 18424 DeathTypes = NONE +CRUSHED +SPLATTED 18425 DeathFX = FX_CarCrush 18426 End 18427 18428 Behavior = CreateCrateDie ModuleTag_11 18429 CrateData = SalvageCrateData 18430 ;CrateData = EliteTankCrateData 18431 ;CrateData = HeroicTankCrateData 18432 End 18433 18434 Behavior = WeaponBonusUpgrade ModuleTag_12 18435 TriggeredBy = Upgrade_GLAAPBullets 18436 End 18437 18438 Behavior = DestroyDie ModuleTag_13 18439 DeathTypes = NONE +CRUSHED +SPLATTED 18440 End 18441 Behavior = VeterancyGainCreate ModuleTag_03 18442 StartingLevel = VETERAN 18443 ScienceRequired = SCIENCE_TechnicalTraining 18444 End 18445 Geometry = BOX 18446 GeometryMajorRadius = 18.0 18447 GeometryMinorRadius = 7.0 18448 GeometryHeight = 11.5 18449 GeometryIsSmall = No 18450 Shadow = SHADOW_VOLUME 18451 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 18452 18453 End 18454 18455 ;------------------------------------------------------------------------------ 18456 ;Also called Toxin Tractor && ToxinTractor 18457 Object GLAVehicleToxinTruck 18458 18459 ; *** ART Parameters *** 18460 SelectPortrait = SUToxinTractor_L 18461 ButtonImage = SUToxinTractor 18462 18463 UpgradeCameo1 = Upgrade_GLAAnthraxBeta 18464 UpgradeCameo2 = Upgrade_GLAJunkRepair 18465 ;UpgradeCameo3 = NONE 18466 ;UpgradeCameo4 = NONE 18467 ;UpgradeCameo5 = NONE 18468 18469 Draw = W3DTruckDraw ModuleTag_01 18470 OkToChangeModelColor = Yes 18471 DefaultConditionState 18472 Model = UVToxinTrk 18473 Turret = Turret 18474 TurretPitch = TurretEL 18475 WeaponFireFXBone = PRIMARY WeaponA 18476 WeaponLaunchBone = PRIMARY WeaponA 18477 WeaponFireFXBone = SECONDARY Spigot 18478 WeaponLaunchBone = SECONDARY Spigot 18479 End 18480 AliasConditionState WEAPONSET_PLAYER_UPGRADE 18481 ConditionState = USING_WEAPON_B 18482 Model = UVToxinTrk 18483 ParticleSysBone = none ToxinPuddleContinuous 18484 END 18485 ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE 18486 Model = UVToxinTrk 18487 ParticleSysBone = none AnthraxPuddleContinuous 18488 END 18489 18490 ConditionState = REALLYDAMAGED 18491 Model = UVToxinTrk_D 18492 End 18493 AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE 18494 ConditionState = USING_WEAPON_B REALLYDAMAGED 18495 Model = UVToxinTrk_D 18496 ParticleSysBone = none ToxinPuddleContinuous 18497 END 18498 ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE 18499 Model = UVToxinTrk_D 18500 ParticleSysBone = none AnthraxPuddleContinuous 18501 END 18502 18503 ConditionState = RUBBLE 18504 Model = UVToxinTrk_D 18505 End 18506 AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE 18507 18508 TrackMarks = EXTireTrack.tga 18509 LeftFrontTireBone = Tire01 18510 RightFrontTireBone = Tire02 18511 LeftRearTireBone = Tire03 18512 18513 RightRearTireBone = Tire04 18514 TireRotationMultiplier = 0.2 ; this * speed = rotation. 18515 PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. 18516 18517 Dust = RocketBuggyDust 18518 DirtSpray = RocketBuggyDirtSpray 18519 18520 End 18521 18522 ; ***DESIGN parameters *** 18523 DisplayName = OBJECT:ToxinTruck 18524 Side = GLA 18525 EditorSorting = VEHICLE 18526 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 18527 WeaponSet 18528 Conditions = None 18529 Weapon = PRIMARY ToxinTruckGun 18530 Weapon = SECONDARY ToxinTruckSprayer 18531 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 18532 AutoChooseSources = SECONDARY NONE ;Special attack only 18533 End 18534 WeaponSet 18535 Conditions = PLAYER_UPGRADE 18536 Weapon = PRIMARY ToxinTruckGunUpgraded 18537 Weapon = SECONDARY ToxinTruckSprayerUpgraded 18538 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 18539 AutoChooseSources = SECONDARY NONE ;Special attack only 18540 End 18541 ArmorSet 18542 Conditions = None 18543 Armor = ToxinTruckArmor 18544 DamageFX = TruckDamageFX 18545 End 18546 BuildCost = 600 18547 BuildTime = 5.0 ;in seconds 18548 VisionRange = 100 18549 ShroudClearingRange = 200 18550 Prerequisites 18551 Object = GLAArmsDealer 18552 End 18553 18554 ExperienceValue = 50 50 100 150 ;Experience point value at each level 18555 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 18556 IsTrainable = Yes ;Can gain experience 18557 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 18558 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 18559 CommandSet = GLAVehicleToxinTruckCommandSet 18560 18561 ; *** AUDIO Parameters *** 18562 VoiceSelect = ToxinTractorVoiceSelect 18563 VoiceMove = ToxinTractorVoiceMove 18564 VoiceGuard = ToxinTractorVoiceMove 18565 VoiceAttack = ToxinTractorVoiceAttack 18566 SoundMoveStart = ToxinTractorMoveStart 18567 SoundMoveStartDamaged = ToxinTractorMoveStart 18568 SoundDie = ToxinTractorDie 18569 18570 UnitSpecificSounds 18571 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 18572 VoiceCreate = ToxinTractorVoiceCreate 18573 TurretMoveStart = NoSound 18574 TurretMoveLoop = TurretMoveLoop 18575 TruckLandingSound = NoSound 18576 TruckPowerslideSound = NoSound 18577 VoiceCrush = ToxinTractorVoiceCrush 18578 VoiceEnter = ToxinTractorVoiceMove 18579 VoicePoisonLocation = ToxinTractorVoiceAttackContam 18580 18581 End 18582 18583 ; *** ENGINEERING Parameters *** 18584 RadarPriority = UNIT 18585 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 18586 18587 Body = ActiveBody ModuleTag_02 18588 MaxHealth = 240.0 18589 InitialHealth = 240.0 18590 End 18591 18592 Behavior = AIUpdateInterface ModuleTag_03 18593 AutoAcquireEnemiesWhenIdle = Yes 18594 Turret 18595 TurretTurnRate = 180 18596 TurretPitchRate = 180 18597 AllowsPitch = Yes 18598 MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) 18599 TurretFireAngleSweep = PRIMARY 8 18600 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn 18601 ControlledWeaponSlots = PRIMARY 18602 End 18603 End 18604 Locomotor = SET_NORMAL ToxinTruckLocomotor 18605 Behavior = PhysicsBehavior ModuleTag_04 18606 Mass = 10.0 18607 End 18608 18609 Behavior = SlowDeathBehavior ModuleTag_05 18610 DeathTypes = ALL -CRUSHED -SPLATTED 18611 ProbabilityModifier = 5 18612 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 18613 DestructionDelay = 0 18614 DestructionDelayVariance = 200 18615 OCL = INITIAL OCL_ToxinTractorDeathEffect 18616 FX = FINAL FX_ToxinTruckExplosionOneFinal 18617 End 18618 Behavior = InstantDeathBehavior ModuleTag_06 18619 DeathTypes = NONE +CRUSHED +SPLATTED 18620 FX = FX_CarCrush 18621 OCL = OCL_CrusaderTank_CrushEffect 18622 End 18623 18624 Behavior = CreateCrateDie ModuleTag_07 18625 CrateData = SalvageCrateData 18626 ;CrateData = EliteTankCrateData 18627 ;CrateData = HeroicTankCrateData 18628 End 18629 18630 Behavior = WeaponSetUpgrade ModuleTag_08 18631 ; the Toxin Tractor gets this upgrade if we either buy the upgrade, 18632 ; or if it gets HEROIC status 18633 TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC 18634 End 18635 18636 Behavior = TransitionDamageFX ModuleTag_11 18637 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 18638 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 18639 End 18640 18641 Behavior = AutoHealBehavior ModuleTag_12 18642 HealingAmount = 2 18643 HealingDelay = 1000 ; msec 18644 TriggeredBy = Upgrade_GLAJunkRepair 18645 End 18646 18647 Behavior = FlammableUpdate ModuleTag_21 18648 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 18649 AflameDamageAmount = 3 ; taking this much damage... 18650 AflameDamageDelay = 500 ; this often. 18651 End 18652 18653 Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_13 18654 WeaponSlot = SECONDARY 18655 ConflictsWith = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC 18656 OCL = OCL_PoisonFieldMedium 18657 MinShotsToCreateOCL = 4 18658 OCLLifetimePerSecond = 10000 18659 OCLLifetimeMaxCap = 180000 18660 End 18661 Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_14 18662 WeaponSlot = SECONDARY 18663 TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC 18664 OCL = OCL_PoisonFieldUpgradedMedium 18665 MinShotsToCreateOCL = 4 18666 OCLLifetimePerSecond = 10000 18667 OCLLifetimeMaxCap = 180000 18668 End 18669 18670 Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 ;These two make the right damage field at death 18671 DeathWeapon = ToxinShellWeapon 18672 StartsActive = Yes 18673 ConflictsWith = Upgrade_GLAAnthraxBeta 18674 End 18675 Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 18676 DeathWeapon = ToxinShellWeaponUpgraded 18677 StartsActive = No 18678 TriggeredBy = Upgrade_GLAAnthraxBeta 18679 End 18680 18681 Geometry = BOX 18682 GeometryMajorRadius = 13.0 18683 GeometryMinorRadius = 9.0 18684 GeometryHeight = 10.0 ; set to make the projectile stream look right 18685 GeometryIsSmall = Yes 18686 Shadow = SHADOW_VOLUME 18687 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 18688 18689 End 18690 18691 ;------------------------------------------------------------------------------ 18692 Object ToxinTruckStreamProjectile 18693 18694 ; Explanation - Particles can't do damage, so this is a fast shooting low 18695 ; damage invisible missile launcher with a toxin trail for exhaust 18696 18697 ; *** ART Parameters *** 18698 Draw = W3DModelDraw ModuleTag_01 18699 DefaultConditionState 18700 Model = NONE 18701 End 18702 End 18703 ; Must have a draw module to be allowed to draw detonation FX 18704 18705 ; ***DESIGN parameters *** 18706 EditorSorting = SYSTEM 18707 VisionRange = 0.0 18708 ArmorSet 18709 Conditions = None 18710 Armor = ProjectileArmor 18711 DamageFX = None 18712 End 18713 18714 ; *** ENGINEERING Parameters *** 18715 KindOf = PROJECTILE 18716 Body = ActiveBody ModuleTag_02 18717 MaxHealth = 100.0 18718 InitialHealth = 100.0 18719 End 18720 18721 Behavior = DestroyDie ModuleTag_03 18722 ;nothing 18723 End 18724 18725 Behavior = PhysicsBehavior ModuleTag_04 18726 Mass = 1 18727 AllowCollideForce = No ; toxins collide, but never apply forces when they do so 18728 End 18729 18730 Behavior = MissileAIUpdate ModuleTag_05 18731 TryToFollowTarget = No 18732 FuelLifetime = 500 18733 InitialVelocity = 120 ; in dist/sec 18734 IgnitionDelay = 0 18735 DistanceToTravelBeforeTurning = 2 18736 GarrisonHitKillRequiredKindOf = INFANTRY 18737 GarrisonHitKillForbiddenKindOf = NONE 18738 GarrisonHitKillCount = 2 18739 GarrisonHitKillFX = FX_ToxinStreamGarrisonBuildingHit 18740 End 18741 18742 Locomotor = SET_NORMAL ToxinTruckStreamLocomotor 18743 18744 Behavior = BoneFXUpdate ModuleTag_06 18745 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:ToxinTrail01 ; Covers gap at beginning of line 18746 End 18747 18748 Behavior = BoneFXDamage ModuleTag_07 18749 ;nothing 18750 End 18751 18752 Geometry = Sphere 18753 GeometryIsSmall = Yes 18754 GeometryMajorRadius = 2.0 18755 18756 End 18757 18758 ;------------------------------------------------------------------------------ 18759 Object ToxinTruckStreamProjectileUpgraded 18760 18761 ; Explanation - Particles can't do damage, so this is a fast shooting low 18762 ; damage invisible missile launcher with a toxin trail for exhaust 18763 18764 ; *** ART Parameters *** 18765 Draw = W3DModelDraw ModuleTag_01 18766 DefaultConditionState 18767 Model = NONE 18768 End 18769 End 18770 ; Must have a draw module to be allowed to draw detonation FX 18771 18772 ; ***DESIGN parameters *** 18773 EditorSorting = SYSTEM 18774 VisionRange = 0.0 18775 ArmorSet 18776 Conditions = None 18777 Armor = ProjectileArmor 18778 DamageFX = None 18779 End 18780 18781 ; *** ENGINEERING Parameters *** 18782 KindOf = PROJECTILE 18783 Body = ActiveBody ModuleTag_02 18784 MaxHealth = 100.0 18785 InitialHealth = 100.0 18786 End 18787 18788 Behavior = DestroyDie ModuleTag_03 18789 ;nothing 18790 End 18791 18792 Behavior = PhysicsBehavior ModuleTag_04 18793 Mass = 1 18794 AllowCollideForce = No ; flames collide, but never apply forces when they do so 18795 End 18796 18797 Behavior = MissileAIUpdate ModuleTag_05 18798 TryToFollowTarget = No 18799 FuelLifetime = 500 18800 InitialVelocity = 120 ; in dist/sec 18801 IgnitionDelay = 0 18802 DistanceToTravelBeforeTurning = 2 18803 GarrisonHitKillRequiredKindOf = INFANTRY 18804 GarrisonHitKillForbiddenKindOf = NONE 18805 GarrisonHitKillCount = 2 18806 GarrisonHitKillFX = FX_ToxinStreamUpgradedGarrisonBuildingHit 18807 End 18808 Locomotor = SET_NORMAL ToxinTruckStreamLocomotor 18809 18810 Behavior = BoneFXUpdate ModuleTag_06 18811 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:AnthraxTrail01 ; Covers gap at beginning of line 18812 End 18813 18814 Behavior = BoneFXDamage ModuleTag_07 18815 ;nothing 18816 End 18817 18818 Geometry = Sphere 18819 GeometryIsSmall = Yes 18820 GeometryMajorRadius = 2.0 18821 18822 End 18823 18824 ;------------------------------------------------------------------------------ 18825 Object ToxinTruckProjectileStream 18826 18827 ; *** ART Parameters *** 18828 Draw = W3DProjectileStreamDraw ModuleTag_01 18829 Texture = EXToxinStream.tga 18830 Width = 1.5 18831 TileFactor = 2.0 ; put the texture on the line segment this many times 18832 ScrollRate = 6.0; scroll the texture offset this fast 18833 MaxSegments = 14 ; only play the first X if there are a ton of them. 0 means play all 18834 End 18835 18836 ; *** ENGINEERING Parameters *** 18837 KindOf = INERT 18838 Behavior = ProjectileStreamUpdate ModuleTag_02 18839 ;nothing 18840 End 18841 18842 End 18843 18844 18845 ;------------------------------------------------------------------------------ 18846 Object ToxinTruckProjectileStreamUpgraded 18847 18848 ; *** ART Parameters *** 18849 Draw = W3DProjectileStreamDraw ModuleTag_01 18850 Texture = EXAnthraxStream.tga 18851 Width = 1.5 18852 TileFactor = 2.0 ; put the texture on the line segment this many times 18853 ScrollRate = 6.0; scroll the texture offset this fast 18854 MaxSegments = 14 ; only play the first X if there are a ton of them. 0 means play all 18855 End 18856 18857 ; *** ENGINEERING Parameters *** 18858 KindOf = INERT 18859 Behavior = ProjectileStreamUpdate ModuleTag_02 18860 ;nothing 18861 End 18862 18863 End 18864 18865 ;------------------------------------------------------------------------------ 18866 Object ToxinTruckSprayProjectile 18867 18868 ; Explanation - Particles can't do damage, so this is a fast shooting low 18869 ; damage invisible missile launcher with a flame trail for exhaust 18870 18871 ; *** ART Parameters *** 18872 Draw = W3DModelDraw ModuleTag_01 18873 DefaultConditionState 18874 Model = NONE 18875 End 18876 End 18877 ; Must have a draw module to be allowed to draw detonation FX 18878 18879 ; ***DESIGN parameters *** 18880 EditorSorting = SYSTEM 18881 VisionRange = 0.0 18882 ArmorSet 18883 Conditions = None 18884 Armor = ProjectileArmor 18885 DamageFX = None 18886 End 18887 18888 ; *** ENGINEERING Parameters *** 18889 KindOf = PROJECTILE 18890 Body = ActiveBody ModuleTag_02 18891 MaxHealth = 100.0 18892 InitialHealth = 100.0 18893 End 18894 18895 Behavior = DestroyDie ModuleTag_03 18896 ;nothing 18897 End 18898 18899 Behavior = PhysicsBehavior ModuleTag_04 18900 Mass = 50 18901 AllowCollideForce = No ; flames collide, but never apply forces when they do so 18902 End 18903 18904 Behavior = MissileAIUpdate ModuleTag_05 18905 TryToFollowTarget = No 18906 FuelLifetime = 1 18907 InitialVelocity = 1 ; in dist/sec 18908 IgnitionDelay = 0 18909 DistanceToTravelBeforeTurning = 0 18910 DistanceToTargetForLock = 0 ; If it gets within 100 of the target, it kills the target. 18911 18912 End 18913 18914 Locomotor = SET_NORMAL ToxinTruckDribbleLocomotor 18915 18916 Geometry = Sphere 18917 GeometryIsSmall = Yes 18918 GeometryMajorRadius = 2.0 18919 18920 End 18921 18922 ;------------------------------------------------------------------------------ 18923 Object CleanupHazardProjectileStream 18924 18925 ; *** ART Parameters *** 18926 Draw = W3DProjectileStreamDraw ModuleTag_01 18927 Texture = EXCleanupStream.tga 18928 Width = 1.5 18929 TileFactor = 2.0 ; put the texture on the line segment this many times 18930 ScrollRate = 6.0; scroll the texture offset this fast 18931 MaxSegments = 14 ; only play the first X if there are a ton of them. 0 means play all 18932 End 18933 18934 ; *** ENGINEERING Parameters *** 18935 KindOf = INERT 18936 Behavior = ProjectileStreamUpdate ModuleTag_02 18937 ;nothing 18938 End 18939 18940 End 18941 18942 ;------------------------------------------------------------------------------ 18943 Object CleanupStreamProjectile 18944 18945 ; Explanation - Particles can't do damage, so this is a fast shooting low 18946 ; damage invisible missile launcher with a flame trail for exhaust 18947 18948 ; *** ART Parameters *** 18949 Draw = W3DModelDraw ModuleTag_01 18950 DefaultConditionState 18951 Model = NONE 18952 End 18953 End 18954 ; Must have a draw module to be allowed to draw detonation FX 18955 18956 ; ***DESIGN parameters *** 18957 EditorSorting = SYSTEM 18958 VisionRange = 0.0 18959 ArmorSet 18960 Conditions = None 18961 Armor = ProjectileArmor 18962 DamageFX = None 18963 End 18964 18965 ; *** ENGINEERING Parameters *** 18966 KindOf = PROJECTILE 18967 Body = ActiveBody ModuleTag_02 18968 MaxHealth = 100.0 18969 InitialHealth = 100.0 18970 End 18971 18972 Behavior = DestroyDie ModuleTag_03 18973 ;nothing 18974 End 18975 18976 Behavior = PhysicsBehavior ModuleTag_04 18977 Mass = 1 18978 AllowCollideForce = No ; flames collide, but never apply forces when they do so 18979 End 18980 18981 Behavior = MissileAIUpdate ModuleTag_05 18982 TryToFollowTarget = No 18983 FuelLifetime = 600 18984 InitialVelocity = 120 ; in dist/sec 18985 IgnitionDelay = 0 18986 DistanceToTravelBeforeTurning = 2 18987 End 18988 18989 Locomotor = SET_NORMAL ToxinTruckStreamLocomotor 18990 18991 Behavior = BoneFXUpdate ModuleTag_06 18992 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:CleanupTrail01 ; Covers gap at beginning of line 18993 End 18994 18995 Behavior = BoneFXDamage ModuleTag_07 18996 ;nothing 18997 End 18998 18999 Geometry = Sphere 19000 GeometryIsSmall = Yes 19001 GeometryMajorRadius = 2.0 19002 19003 End 19004 19005 ;------------------------------------------------------------------------------ 19006 Object BioHazardCleanupStreamProjectile 19007 19008 ; Explanation - Particles can't do damage, so this is a fast shooting low 19009 ; damage invisible missile launcher with a flame trail for exhaust 19010 19011 ; *** ART Parameters *** 19012 Draw = W3DModelDraw ModuleTag_01 19013 DefaultConditionState 19014 Model = NONE 19015 End 19016 End 19017 ; Must have a draw module to be allowed to draw detonation FX 19018 19019 ; ***DESIGN parameters *** 19020 EditorSorting = SYSTEM 19021 VisionRange = 0.0 19022 ArmorSet 19023 Conditions = None 19024 Armor = ProjectileArmor 19025 DamageFX = None 19026 End 19027 19028 ; *** ENGINEERING Parameters *** 19029 KindOf = PROJECTILE 19030 Body = ActiveBody ModuleTag_02 19031 MaxHealth = 100.0 19032 InitialHealth = 100.0 19033 End 19034 19035 Behavior = DestroyDie ModuleTag_03 19036 ;nothing 19037 End 19038 19039 Behavior = PhysicsBehavior ModuleTag_04 19040 Mass = 1 19041 AllowCollideForce = No ; flames collide, but never apply forces when they do so 19042 End 19043 19044 Behavior = MissileAIUpdate ModuleTag_05 19045 TryToFollowTarget = No 19046 FuelLifetime = 500 19047 InitialVelocity = 120 ; in dist/sec 19048 IgnitionDelay = 0 19049 DistanceToTravelBeforeTurning = 2 19050 ;GarrisonHitKillRequiredKindOf = INFANTRY 19051 ;GarrisonHitKillForbiddenKindOf = NONE 19052 ;GarrisonHitKillCount = 2 19053 ;GarrisonHitKillFX = FX_ToxinStreamGarrisonBuildingHit 19054 End 19055 19056 Locomotor = SET_NORMAL FasterToxinTruckStreamLocomotor 19057 19058 19059 Behavior = BoneFXUpdate ModuleTag_06 19060 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:CleanupTrail01 ; Covers gap at beginning of line 19061 End 19062 19063 Behavior = BoneFXDamage ModuleTag_07 19064 ;nothing 19065 End 19066 19067 Geometry = Sphere 19068 GeometryIsSmall = Yes 19069 GeometryMajorRadius = 2.0 19070 End 19071 19072 19073 ;------------------------------------------------------------------------------ 19074 Object GLAVehicleBombTruck 19075 19076 ; *** ART Parameters *** 19077 SelectPortrait = SUBombTruck_L 19078 ButtonImage = SUBombTruck 19079 19080 UpgradeCameo1 = Upgrade_GLABombTruckHighExplosiveBomb 19081 UpgradeCameo2 = Upgrade_GLABombTruckBioBomb 19082 UpgradeCameo3 = Upgrade_GLAJunkRepair 19083 ;UpgradeCameo4 = NONE 19084 ;UpgradeCameo5 = NONE 19085 19086 19087 Draw = W3DTruckDraw ModuleTag_01 19088 OkToChangeModelColor = Yes 19089 TrackMarks = EXTireTrack.tga 19090 19091 DefaultConditionState 19092 Model = UVBMBTRUK 19093 Animation = UVBMBTRUK.UVBMBTRUK 19094 AnimationMode = LOOP 19095 19096 ;Display the default bombload -- and the upgrades will handle the rest! 19097 HideSubObject = Bombload02 Bombload03 Bombload04 19098 End 19099 19100 ConditionState = REALLYDAMAGED 19101 Model = UVBMBTRUK_D 19102 Animation = UVBMBTRUK_D.UVBMBTRUK_D 19103 AnimationMode = LOOP 19104 End 19105 19106 ConditionState = RUBBLE 19107 Model = UVBMBTRUK_D 19108 End 19109 19110 LeftFrontTireBone = Tire01 19111 RightFrontTireBone = Tire02 19112 MidLeftFrontTireBone = Tire03 19113 MidRightFrontTireBone = Tire04 19114 LeftRearTireBone = Tire05 19115 RightRearTireBone = Tire06 19116 TireRotationMultiplier = 0.2 ; this * speed = rotation. 19117 19118 Dust = RocketBuggyDust 19119 DirtSpray = RocketBuggyDirtSpray 19120 PowerslideSpray = RocketBuggyDirtPowerSlide 19121 19122 End 19123 19124 ; ***DESIGN parameters *** 19125 DisplayName = OBJECT:BombTruck 19126 Side = GLA 19127 EditorSorting = VEHICLE 19128 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 19129 WeaponSet 19130 Conditions = None 19131 Weapon = PRIMARY SuicideWeapon 19132 End 19133 ArmorSet 19134 Conditions = None 19135 Armor = TruckArmor 19136 DamageFX = TruckDamageFX 19137 End 19138 BuildCost = 1200 19139 BuildTime = 15.0 ;in seconds 19140 VisionRange = 150 ; Used in attack move targeting 19141 ShroudClearingRange = 200 19142 Prerequisites 19143 Object = GLAArmsDealer 19144 Object = GLAPalace 19145 End 19146 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 19147 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 19148 CommandSet = GLAVehicleBombTruckCommandSet 19149 19150 ; *** AUDIO Parameters *** 19151 VoiceSelect = BombTruckVoiceSelect 19152 VoiceMove = BombTruckVoiceMove 19153 VoiceGuard = BombTruckVoiceMove 19154 VoiceAttack = BombTruckVoiceAttack 19155 SoundMoveStart = BombTruckMoveStart 19156 SoundMoveStartDamaged = BombTruckMoveStart 19157 UnitSpecificSounds 19158 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 19159 VoiceCreate = BombTruckVoiceCreate 19160 TurretMoveStart = NoSound 19161 TurretMoveLoop = NoSound 19162 TruckLandingSound = RocketBuggyLand 19163 TruckPowerslideSound = RocketBuggyPowerslide 19164 DisguiseStarted = BombTruckDisguiseStarted 19165 DisguiseRevealedSuccess = BombTruckDisguiseRevealedSuccess 19166 DisguiseRevealedFailure = BombTruckDisguiseRevealedFailure 19167 VoiceEnter = BombTruckVoiceMove 19168 End 19169 19170 ; *** ENGINEERING Parameters *** 19171 RadarPriority = UNIT 19172 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE DISGUISER 19173 19174 Body = ActiveBody ModuleTag_02 19175 MaxHealth = 220.0 19176 InitialHealth = 220.0 19177 End 19178 19179 ExperienceValue = 50 50 50 50 ; Experience point value at each level 19180 19181 Behavior = VeterancyGainCreate ModuleTag_03 19182 StartingLevel = VETERAN 19183 End 19184 19185 Behavior = AIUpdateInterface ModuleTag_04 19186 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS 19187 End 19188 Locomotor = SET_NORMAL BombTruckLocomotor 19189 19190 Behavior = PhysicsBehavior ModuleTag_05 19191 Mass = 40.0 19192 End 19193 19194 Behavior = AutoHealBehavior ModuleTag_06 19195 HealingAmount = 2 19196 HealingDelay = 1000 ; msec 19197 TriggeredBy = Upgrade_GLAJunkRepair 19198 End 19199 19200 Behavior = ProductionUpdate ModuleTag_07 19201 ; nothing 19202 End 19203 19204 Behavior = SlowDeathBehavior ModuleTag_08 19205 DeathTypes = ALL -CRUSHED -SPLATTED 19206 ProbabilityModifier = 5 19207 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 19208 DestructionDelay = 0 19209 DestructionDelayVariance = 200 19210 FX = FINAL FX_BuggyNewDeathExplosion 19211 OCL = FINAL OCL_BombTruckDeathEffect 19212 End 19213 19214 ;Behavior = DestroyDie 19215 ;nothing 19216 ;End 19217 19218 19219 ;************************************************************************************************ 19220 ;* WHICH BOMB DO WE USE??? 19221 ;* We have 2 damage possibilities -- (normal OR high explosive) 19222 ;* So part 1 is inflicting the damage itself without creating effects 19223 ;* The complicated part is the part where we have 6 possible effect explosions based on 19224 ;* all the possible upgrade combinations. Note that bio weapons don't inflict damage through 19225 ;* the explosion. 19226 ;* 19227 ;* DAMAGE COMBINATIONS (NO EFFECTS): 19228 ;* 1) Normal (doesn't have high explosive upgrade) 19229 ;* 2) High explosive (has high-explosive upgrade) 19230 ;* 19231 ;* EFFECT COMBINATIONS (NO DAMAGE): 19232 ;* 1) Normal (no upgrades) 19233 ;* 2) Bio (bio-bomb upgrade) 19234 ;* 3) Anthrax (bio-bomb and anthrax upgrade) 19235 ;* 4) High explosive (high explosive upgrade) 19236 ;* 5) High explosive bio (high explosive and bio-bomb upgrade) 19237 ;* 6) High explosive anthrax (high explosive, bio-bomb, and anthrax upgrades) 19238 ;************************************************************************************************ 19239 19240 ;************************************************************************************************ 19241 ;* EXCLUSIVE DAMAGE POSSIBILITY 1 -- Normal explosion (can't have high-explosive upgrade) 19242 ;************************************************************************************************ 19243 Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 19244 DeathWeapon = BombTruckDefaultBombDamage 19245 StartsActive = Yes ; turned on by upgrade 19246 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb 19247 End 19248 19249 ;************************************************************************************************ 19250 ;* EXCLUSIVE DAMAGE POSSIBILITY 2 -- High explosion (always plays if it has high-explosive upgrade) 19251 ;************************************************************************************************ 19252 Behavior = FireWeaponWhenDeadBehavior ModuleTag_10 19253 DeathWeapon = BombTruckHighExplosionBombDamage 19254 StartsActive = No ; turned on by upgrade 19255 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 19256 End 19257 19258 ;************************************************************************************************ 19259 ;* EXCLUSIVE EFFECT COMBINATION 1 - Regular explosion (no upgrades) 19260 ;************************************************************************************************ 19261 Behavior = FireWeaponWhenDeadBehavior ModuleTag_11 19262 DeathWeapon = BombTruckDefaultBombEffect 19263 StartsActive = Yes ; turned on by upgrade 19264 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb 19265 End 19266 19267 ;************************************************************************************************ 19268 ;* EXCLUSIVE EFFECT COMBINATION 2 - Bio explosion 19269 ;* Requires: Bio upgrade 19270 ;* Can't have: Anthrax upgrade, high explosive upgrade 19271 ;************************************************************************************************ 19272 Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 19273 DeathWeapon = BombTruckBioBombEffect 19274 StartsActive = No ; turned on by upgrade 19275 TriggeredBy = Upgrade_GLABombTruckBioBomb 19276 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta 19277 RequiresAllTriggers = Yes 19278 End 19279 19280 ;************************************************************************************************ 19281 ;* EXCLUSIVE EFFECT COMBINATION 3 - Anthrax explosion 19282 ;* Requires: Bio upgrade and anthrax upgrade 19283 ;* Can't have: High explosive upgrade 19284 ;************************************************************************************************ 19285 Behavior = FireWeaponWhenDeadBehavior ModuleTag_13 19286 DeathWeapon = BombTruckAnthraxBombEffect 19287 StartsActive = No ; turned on by upgrade 19288 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLAAnthraxBeta 19289 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb 19290 RequiresAllTriggers = Yes 19291 End 19292 19293 ;************************************************************************************************ 19294 ;* EXCLUSIVE EFFECT COMBINATION 4 - High explosion 19295 ;* Requires: High explosive upgrade 19296 ;* Can't have: Bio upgrade and anthrax upgrade 19297 ;************************************************************************************************ 19298 Behavior = FireWeaponWhenDeadBehavior ModuleTag_14 19299 DeathWeapon = BombTruckHighExplosiveBombEffect 19300 StartsActive = No ; turned on by upgrade 19301 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 19302 ConflictsWith = Upgrade_GLABombTruckBioBomb 19303 RequiresAllTriggers = Yes 19304 End 19305 19306 ;************************************************************************************************ 19307 ;* EXCLUSIVE EFFECT COMBINATION 5 - High explosive bio explosion 19308 ;* Requires: High explosive upgrade and bio upgrade 19309 ;* Can't have: Anthrax upgrade 19310 ;************************************************************************************************ 19311 Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 19312 DeathWeapon = BombTruckHighExplosiveBioBombEffect 19313 StartsActive = No ; turned on by upgrade 19314 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb 19315 ConflictsWith = Upgrade_GLAAnthraxBeta 19316 RequiresAllTriggers = Yes 19317 End 19318 19319 ;************************************************************************************************ 19320 ;* EXCLUSIVE EFFECT COMBINATION 6 - High explosive Anthrax explosion 19321 ;* Requires: High explosive, Bio, and anthrax upgrade 19322 ;************************************************************************************************ 19323 Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 19324 DeathWeapon = BombTruckHighExplosiveAnthraxBombEffect 19325 StartsActive = No ; turned on by upgrade 19326 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta 19327 RequiresAllTriggers = Yes 19328 End 19329 19330 ;------------------------------------------------------------------- 19331 ; Wheeeee! Now we get to display the payload based on upgrades!!! 19332 ;------------------------------------------------------------------- 19333 Behavior = SubObjectsUpgrade ModuleTag_17 19334 ;*** Bio bomb load *** 19335 TriggeredBy = Upgrade_GLABombTruckBioBomb 19336 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb 19337 ShowSubObjects = Bombload02 19338 HideSubObjects = Bombload01 Bombload03 Bombload04 19339 End 19340 Behavior = SubObjectsUpgrade ModuleTag_18 19341 ;*** High-explosive bomb load *** 19342 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 19343 ConflictsWith = Upgrade_GLABombTruckBioBomb 19344 ShowSubObjects = Bombload03 19345 HideSubObjects = Bombload01 Bombload02 Bombload04 19346 End 19347 Behavior = SubObjectsUpgrade ModuleTag_19 19348 ;*** High-explosive bio bomb load *** 19349 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb 19350 ShowSubObjects = Bombload04 19351 HideSubObjects = Bombload01 Bombload02 Bombload03 19352 RequiresAllTriggers = Yes 19353 End 19354 ;------------------------------------------------------------------- 19355 19356 19357 Behavior = SpecialAbility ModuleTag_20 19358 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle 19359 UpdateModuleStartsAttack = Yes 19360 InitiateSound = BombTruckVoiceDisguise 19361 End 19362 Behavior = SpecialAbilityUpdate ModuleTag_21 19363 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle 19364 StartAbilityRange = 1000000.0 19365 ApproachRequiresLOS = No 19366 End 19367 19368 Behavior = StealthUpdate ModuleTag_22 19369 StealthDelay = 1 19370 DisguisesAsTeam = Yes 19371 RevealDistanceFromTarget = 100.0f 19372 OrderIdleEnemiesToAttackMeUponReveal = Yes 19373 DisguiseFX = FX_BombTruckDisguise 19374 DisguiseRevealFX = FX_BombTruckDisguiseReveal 19375 InnateStealth = Yes 19376 DisguiseTransitionTime = 2000 19377 DisguiseRevealTransitionTime = 1000 19378 End 19379 19380 ; A crushing defeat 19381 Behavior = FXListDie ModuleTag_23 19382 DeathTypes = NONE +CRUSHED +SPLATTED 19383 DeathFX = FX_CarCrush 19384 End 19385 Behavior = CreateObjectDie ModuleTag_24 19386 DeathTypes = NONE +CRUSHED +SPLATTED 19387 CreationList = OCL_CrusaderTank_CrushEffect 19388 End 19389 Behavior = CreateCrateDie ModuleTag_25 19390 CrateData = SalvageCrateData 19391 ;CrateData = EliteTankCrateData 19392 ;CrateData = HeroicTankCrateData 19393 End 19394 19395 Behavior = TransitionDamageFX ModuleTag_26 19396 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 19397 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 19398 End 19399 19400 Behavior = FlammableUpdate ModuleTag_28 19401 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 19402 AflameDamageAmount = 3 ; taking this much damage... 19403 AflameDamageDelay = 500 ; this often. 19404 End 19405 19406 Behavior = DestroyDie ModuleTag_29 19407 DeathTypes = NONE +CRUSHED +SPLATTED 19408 End 19409 19410 Geometry = BOX 19411 GeometryMajorRadius = 19.0 19412 GeometryMinorRadius = 8.0 19413 GeometryHeight = 11.5 19414 GeometryIsSmall = No 19415 Shadow = SHADOW_VOLUME 19416 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 19417 19418 End 19419 19420 ;------------------------------------------------------------------------------ 19421 Object GLAVehicleScudLauncher 19422 19423 ; *** ART Parameters *** 19424 SelectPortrait = SUScudLauncher_L 19425 ButtonImage = SUScudLauncher_L 19426 19427 UpgradeCameo1 = Upgrade_GLAJunkRepair 19428 UpgradeCameo2 = Upgrade_GLAAnthraxBeta 19429 ;UpgradeCameo3 = NONE 19430 ;UpgradeCameo4 = NONE 19431 ;UpgradeCameo5 = NONE 19432 19433 Draw = W3DTruckDraw ModuleTag_01 19434 OkToChangeModelColor = Yes 19435 19436 ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset 19437 19438 DefaultConditionState 19439 Model = UVScudLchr 19440 Turret = TURRET 19441 TurretPitch = TURRETEL 19442 WeaponLaunchBone = PRIMARY WeaponA 19443 WeaponLaunchBone = SECONDARY WeaponA 19444 WeaponHideShowBone = PRIMARY MISSILE 19445 WeaponHideShowBone = SECONDARY MISSILE 19446 End 19447 19448 ConditionState = REALLYDAMAGED 19449 Model = UVScudLchr_d 19450 End 19451 AliasConditionState = RUBBLE 19452 19453 TrackMarks = EXTireTrack.tga 19454 19455 Dust = ScudLauncherDust 19456 DirtSpray = RocketBuggyDirtSpray 19457 PowerslideSpray = RocketBuggyDirtPowerSlide 19458 19459 ; These parameters are only used if the model has a separate suspension, 19460 ; and the locomotor has HasSuspension = Yes. 19461 LeftFrontTireBone = Tire01 19462 RightFrontTireBone = Tire05 19463 LeftRearTireBone = Tire04 19464 RightRearTireBone = Tire08 19465 MidLeftFrontTireBone = Tire02 19466 MidRightFrontTireBone = Tire06 19467 MidLeftRearTireBone = Tire03 19468 MidRightRearTireBone = Tire07 19469 19470 TireRotationMultiplier = 0.2 ; this * speed = rotation. 19471 ;PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. 19472 19473 End 19474 19475 19476 ; ***DESIGN parameters *** 19477 19478 DisplayName = OBJECT:ScudLauncher 19479 Side = GLA 19480 EditorSorting = VEHICLE 19481 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 19482 WeaponSet 19483 Conditions = None 19484 Weapon = PRIMARY SCUDLauncherGunExplosive 19485 Weapon = SECONDARY SCUDLauncherGunToxin 19486 AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 19487 AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI 19488 PreferredAgainst = SECONDARY INFANTRY 19489 ShareWeaponReloadTime = Yes 19490 End 19491 WeaponSet 19492 Conditions = PLAYER_UPGRADE 19493 Weapon = PRIMARY SCUDLauncherGunExplosive 19494 Weapon = SECONDARY SCUDLauncherGunAnthrax 19495 AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 19496 AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI 19497 PreferredAgainst = SECONDARY INFANTRY 19498 ShareWeaponReloadTime = Yes 19499 End 19500 ArmorSet 19501 Conditions = None 19502 Armor = TruckArmor 19503 DamageFX = TankDamageFX 19504 End 19505 BuildCost = 1200 19506 BuildTime = 20.0 ;in seconds 19507 VisionRange = 180 19508 ShroudClearingRange = 300 19509 Prerequisites 19510 Object = GLAArmsDealer 19511 Object = GLAPalace 19512 Science = SCIENCE_ScudLauncher 19513 End 19514 19515 ExperienceValue = 50 50 100 150 ;Experience point value at each level 19516 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 19517 IsTrainable = Yes ;Can gain experience 19518 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 19519 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 19520 CommandSet = GLAVehicleScudLauncherCommandSet 19521 19522 ; *** AUDIO Parameters *** 19523 VoiceSelect = ScudLauncherVoiceSelect 19524 VoiceMove = ScudLauncherVoiceMove 19525 VoiceGuard = ScudLauncherVoiceMove 19526 VoiceAttack = ScudLauncherVoiceAttack 19527 SoundMoveStart = ScudLauncherMoveStart 19528 SoundMoveStartDamaged = ScudLauncherMoveStart 19529 UnitSpecificSounds 19530 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 19531 VoiceCreate = ScudLauncherVoiceCreate 19532 TurretMoveStart = NoSound 19533 TurretMoveLoop = TurretMoveLoop 19534 TruckLandingSound = NoSound 19535 TruckPowerslideSound = NoSound 19536 VoiceCrush = ScudLauncherVoiceCrush 19537 VoiceEnter = ScudLauncherVoiceMove 19538 VoicePrimaryWeaponMode = ScudLauncherVoiceModeHiEx 19539 VoiceSecondaryWeaponMode = ScudLauncherVoiceModeAnthrax 19540 End 19541 19542 ; *** ENGINEERING Parameters *** 19543 RadarPriority = UNIT 19544 KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 19545 19546 Body = ActiveBody ModuleTag_02 19547 MaxHealth = 180.0 19548 InitialHealth = 180.0 19549 End 19550 19551 Behavior = AIUpdateInterface ModuleTag_03 19552 Turret 19553 TurretTurnRate = 60 ; turn rate, in degrees per sec 19554 TurretPitchRate = 60 19555 FirePitch = 90 ; Instead of aiming pitchwise at the target, it will aim here 19556 AllowsPitch = Yes 19557 ControlledWeaponSlots = PRIMARY SECONDARY 19558 End 19559 AutoAcquireEnemiesWhenIdle = No NotWhileAttacking 19560 End 19561 19562 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 19563 End 19564 19565 Locomotor = SET_NORMAL ScudLauncherLocomotor 19566 Behavior = PhysicsBehavior ModuleTag_05 19567 Mass = 40.0 19568 End 19569 19570 Behavior = AutoHealBehavior ModuleTag_06 19571 HealingAmount = 2 19572 HealingDelay = 1000 ; msec 19573 TriggeredBy = Upgrade_GLAJunkRepair 19574 End 19575 19576 Behavior = TransitionDamageFX ModuleTag_08 19577 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 19578 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ScudLauncherDamageTransition 19579 End 19580 19581 ; Catch fire, and explode death 19582 Behavior = SlowDeathBehavior ModuleTag_09 19583 DeathTypes = ALL -CRUSHED -SPLATTED 19584 ProbabilityModifier = 50 19585 DestructionDelay = 2000 19586 DestructionDelayVariance = 300 19587 FX = INITIAL FX_CrusaderCatchFire 19588 OCL = FINAL OCL_SCUDLauncherDeathEffect 19589 FX = FINAL FX_ScudLauncherExplosionOneFinal 19590 End 19591 19592 ; A crushing defeat 19593 Behavior = FXListDie ModuleTag_10 19594 DeathTypes = NONE +CRUSHED +SPLATTED 19595 DeathFX = FX_CarCrush 19596 End 19597 19598 Behavior = CreateObjectDie ModuleTag_11 19599 DeathTypes = NONE +CRUSHED +SPLATTED 19600 CreationList = OCL_CrusaderTank_CrushEffect 19601 End 19602 19603 Behavior = FlammableUpdate ModuleTag_21 19604 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 19605 AflameDamageAmount = 3 ; taking this much damage... 19606 AflameDamageDelay = 500 ; this often. 19607 End 19608 19609 Behavior = DestroyDie ModuleTag_22 19610 DeathTypes = NONE +CRUSHED +SPLATTED 19611 End 19612 19613 Behavior = WeaponSetUpgrade ModuleTag_23 19614 TriggeredBy = Upgrade_GLAAnthraxBeta 19615 End 19616 19617 Geometry = BOX 19618 GeometryMajorRadius = 14.0 19619 GeometryMinorRadius = 7.0 19620 GeometryHeight = 11.5 19621 GeometryIsSmall = No 19622 Shadow = SHADOW_VOLUME 19623 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 19624 19625 End 19626 19627 ;------------------------------------------------------------------------------ 19628 Object ChinaTankBattleMaster 19629 19630 ; *** ART Parameters *** 19631 SelectPortrait = SNBattlemaster_L 19632 ButtonImage = SNBattlemaster 19633 19634 UpgradeCameo1 = Upgrade_Nationalism 19635 UpgradeCameo2 = Upgrade_ChinaUraniumShells 19636 UpgradeCameo3 = Upgrade_ChinaNuclearTanks 19637 UpgradeCameo4 = Upgrade_ChinaT98ReactiveArmor 19638 ;UpgradeCameo5 = NONE 19639 19640 Draw = W3DTankDraw ModuleTag_01 19641 OkToChangeModelColor = Yes 19642 DefaultConditionState 19643 Model = NVBtMstr 19644 Turret = Turret01 19645 WeaponFireFXBone = PRIMARY Muzzle 19646 WeaponRecoilBone = PRIMARY Barrel 19647 WeaponMuzzleFlash = PRIMARY MuzzleFX 19648 WeaponLaunchBone = PRIMARY Muzzle 19649 End 19650 ConditionState = REALLYDAMAGED 19651 Model = NVBtMstr_D 19652 Turret = Turret01 19653 WeaponFireFXBone = PRIMARY Muzzle 19654 WeaponRecoilBone = PRIMARY Barrel 19655 WeaponMuzzleFlash = PRIMARY MuzzleFX 19656 WeaponLaunchBone = PRIMARY Muzzle 19657 End 19658 ConditionState = RUBBLE 19659 Model = NVBtMstr_D 19660 Turret = Turret01 19661 End 19662 19663 TrackMarks = EXTnkTrack.tga 19664 End 19665 19666 ; ***DESIGN parameters *** 19667 DisplayName = OBJECT:BattleMaster 19668 Side = China 19669 EditorSorting = VEHICLE 19670 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 19671 WeaponSet 19672 Conditions = None 19673 Weapon = PRIMARY BattleMasterTankGun 19674 End 19675 ArmorSet 19676 Conditions = None 19677 Armor = TankArmor 19678 DamageFX = TankDamageFX 19679 End 19680 BuildCost = 800 19681 BuildTime = 10.0 ;in seconds 19682 VisionRange = 150 19683 ShroudClearingRange = 300 19684 Prerequisites 19685 Object = ChinaWarFactory 19686 End 19687 19688 ExperienceValue = 100 100 200 400 ;Experience point value at each level 19689 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 19690 IsTrainable = Yes ;Can gain experience 19691 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 19692 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 19693 CommandSet = ChinaVehicleBattleMasterCommandSet 19694 19695 ; *** AUDIO Parameters *** 19696 VoiceSelect = BattleMasterTankVoiceSelect 19697 VoiceMove = BattleMasterTankVoiceMove 19698 VoiceGuard = BattleMasterTankVoiceMove 19699 VoiceAttack = BattleMasterTankVoiceAttack 19700 SoundMoveStart = BattleMasterTankMoveStart 19701 SoundMoveStartDamaged = BattleMasterTankMoveStart 19702 19703 UnitSpecificSounds 19704 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 19705 VoiceCreate = BattleMasterTankVoiceCreate 19706 TurretMoveStart = NoSound 19707 TurretMoveLoop = TurretMoveLoop 19708 VoiceCrush = BattleMasterTankVoiceCrush 19709 VoiceEnter = BattleMasterTankVoiceMove 19710 End 19711 19712 ; *** ENGINEERING Parameters *** 19713 RadarPriority = UNIT 19714 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 19715 19716 Body = ActiveBody ModuleTag_02 19717 MaxHealth = 400.0 19718 InitialHealth = 400.0 19719 End 19720 19721 Behavior = AIUpdateInterface ModuleTag_03 19722 Turret 19723 TurretTurnRate = 120 ; turn rate, in degrees per sec 19724 ControlledWeaponSlots = PRIMARY 19725 End 19726 AutoAcquireEnemiesWhenIdle = Yes 19727 End 19728 19729 Locomotor = SET_NORMAL BattleMasterLocomotor 19730 Locomotor = SET_NORMAL_UPGRADED NuclearBattleMasterLocomotor 19731 19732 Behavior = HordeUpdate ModuleTag_04 19733 RubOffRadius = 150 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 19734 UpdateRate = 1000 ; how often to recheck horde status (msec) 19735 Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 19736 KindOf = VEHICLE ; what KindOf's must match to count towards horde-ness 19737 AlliesOnly = Yes ; do we only count allies towards horde status? 19738 ExactMatch = Yes ; do we only count units of our exact same type towards horde status? (overrides kindof) 19739 Count = 5 ; how many units must be within Radius to grant us horde-ness 19740 Action = HORDE ; when horde-ing, grant us the HORDE bonus 19741 End 19742 19743 Behavior = PhysicsBehavior ModuleTag_05 19744 Mass = 40.0 19745 End 19746 19747 Behavior = FireWeaponWhenDeadBehavior ModuleTag_06 19748 DeathWeapon = NuclearTankDeathWeapon 19749 StartsActive = No ; turned on by upgrade 19750 TriggeredBy = Upgrade_ChinaNuclearTanks 19751 End 19752 Behavior = LocomotorSetUpgrade ModuleTag_07 19753 TriggeredBy = Upgrade_ChinaNuclearTanks 19754 End 19755 19756 ; A crushing defeat 19757 Behavior = DestroyDie ModuleTag_08 19758 DeathTypes = NONE +CRUSHED +SPLATTED 19759 End 19760 Behavior = FXListDie ModuleTag_09 19761 DeathTypes = NONE +CRUSHED +SPLATTED 19762 DeathFX = FX_CarCrush 19763 End 19764 Behavior = CreateObjectDie ModuleTag_10 19765 DeathTypes = NONE +CRUSHED +SPLATTED 19766 CreationList = OCL_CrusaderTank_CrushEffect 19767 End 19768 Behavior = CreateCrateDie ModuleTag_11 19769 CrateData = SalvageCrateData 19770 ;CrateData = EliteTankCrateData 19771 ;CrateData = HeroicTankCrateData 19772 End 19773 19774 19775 Behavior = SlowDeathBehavior ModuleTag_12 19776 DeathTypes = ALL -CRUSHED -SPLATTED 19777 ProbabilityModifier = 25 19778 DestructionDelay = 200 19779 DestructionDelayVariance = 100 19780 OCL = FINAL OCL_ChinaTankBattleMasterDebris 19781 FX = FINAL FX_BattleMasterExplosionOneFinal 19782 End 19783 19784 Behavior = TransitionDamageFX ModuleTag_13 19785 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 19786 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 19787 End 19788 19789 Behavior = FlammableUpdate ModuleTag_21 19790 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 19791 AflameDamageAmount = 3 ; taking this much damage... 19792 AflameDamageDelay = 500 ; this often. 19793 End 19794 19795 Behavior = MaxHealthUpgrade ModuleTag_10 19796 TriggeredBy = Upgrade_ChinaT98ReactiveArmor 19797 AddMaxHealth = 200.0 19798 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 19799 19800 19801 End 19802 19803 19804 Behavior = VeterancyGainCreate ModuleTag_03 19805 StartingLevel = VETERAN 19806 ScienceRequired = SCIENCE_ArtilleryTraining 19807 End 19808 19809 Geometry = BOX 19810 GeometryMajorRadius = 13.0 19811 GeometryMinorRadius = 9.0 19812 GeometryHeight = 10 19813 GeometryIsSmall = Yes 19814 Shadow = SHADOW_VOLUME 19815 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 19816 19817 End 19818 19819 ;------------------------------------------------------------------------------ 19820 ;**************************Required For CHI01 INTRO**************************** 19821 Object CINE_ChinaTankBattleMaster 19822 19823 ; *** ART Parameters *** 19824 SelectPortrait = SNBattlemaster_L 19825 ButtonImage = SNBattlemaster 19826 19827 UpgradeCameo1 = Upgrade_Nationalism 19828 UpgradeCameo2 = Upgrade_ChinaUraniumShells 19829 UpgradeCameo3 = Upgrade_ChinaNuclearTanks 19830 ;UpgradeCameo4 = NONE 19831 ;UpgradeCameo5 = NONE 19832 19833 Draw = W3DTankDraw ModuleTag_01 19834 OkToChangeModelColor = Yes 19835 DefaultConditionState 19836 Model = CINE_BttlMstr 19837 Turret = Turret01 19838 WeaponFireFXBone = PRIMARY Muzzle 19839 WeaponRecoilBone = PRIMARY Barrel 19840 WeaponMuzzleFlash = PRIMARY MuzzleFX 19841 WeaponLaunchBone = PRIMARY Muzzle 19842 End 19843 ConditionState = REALLYDAMAGED 19844 Model = NVBtMstr_D 19845 Turret = Turret01 19846 WeaponFireFXBone = PRIMARY Muzzle 19847 WeaponRecoilBone = PRIMARY Barrel 19848 WeaponMuzzleFlash = PRIMARY MuzzleFX 19849 WeaponLaunchBone = PRIMARY Muzzle 19850 End 19851 ConditionState = RUBBLE 19852 Model = NVBtMstr_D 19853 Turret = Turret01 19854 End 19855 19856 TrackMarks = EXTnkTrack.tga 19857 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 19858 TreadDriveSpeedFraction = 0.1 ; fraction of locomotor speed below which treads stop moving. 19859 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 19860 End 19861 19862 ; ***DESIGN parameters *** 19863 DisplayName = OBJECT:BattleMaster 19864 Side = China 19865 EditorSorting = VEHICLE 19866 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 19867 WeaponSet 19868 Conditions = None 19869 Weapon = PRIMARY BattleMasterTankGun 19870 End 19871 ArmorSet 19872 Conditions = None 19873 Armor = TankArmor 19874 DamageFX = TankDamageFX 19875 End 19876 BuildCost = 800 19877 BuildTime = 10.0 ;in seconds 19878 VisionRange = 150 19879 ShroudClearingRange = 300 19880 Prerequisites 19881 Object = ChinaWarFactory 19882 End 19883 19884 ExperienceValue = 100 100 200 400 ;Experience point value at each level 19885 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 19886 IsTrainable = Yes ;Can gain experience 19887 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 19888 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 19889 CommandSet = ChinaVehicleBattleMasterCommandSet 19890 19891 ; *** AUDIO Parameters *** 19892 VoiceSelect = BattleMasterTankVoiceSelect 19893 VoiceMove = BattleMasterTankVoiceMove 19894 VoiceGuard = BattleMasterTankVoiceMove 19895 VoiceAttack = BattleMasterTankVoiceAttack 19896 SoundMoveStart = BattleMasterTankMoveStart 19897 SoundMoveStartDamaged = BattleMasterTankMoveStart 19898 19899 UnitSpecificSounds 19900 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 19901 VoiceCreate = BattleMasterTankVoiceCreate 19902 TurretMoveStart = NoSound 19903 TurretMoveLoop = TurretMoveLoop 19904 VoiceCrush = BattleMasterTankVoiceCrush 19905 VoiceEnter = BattleMasterTankVoiceMove 19906 End 19907 19908 ; *** ENGINEERING Parameters *** 19909 RadarPriority = UNIT 19910 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 19911 19912 Body = ActiveBody ModuleTag_02 19913 MaxHealth = 400.0 19914 InitialHealth = 400.0 19915 End 19916 19917 Behavior = AIUpdateInterface ModuleTag_03 19918 Turret 19919 TurretTurnRate = 120 ; turn rate, in degrees per sec 19920 ControlledWeaponSlots = PRIMARY 19921 End 19922 AutoAcquireEnemiesWhenIdle = Yes 19923 End 19924 19925 Locomotor = SET_NORMAL CINE_BattleMasterLocomotor 19926 Locomotor = SET_NORMAL_UPGRADED NuclearBattleMasterLocomotor 19927 19928 19929 Behavior = PhysicsBehavior ModuleTag_05 19930 Mass = 40.0 19931 End 19932 19933 Behavior = FireWeaponWhenDeadBehavior ModuleTag_06 19934 DeathWeapon = NuclearTankDeathWeapon 19935 StartsActive = No ; turned on by upgrade 19936 TriggeredBy = Upgrade_ChinaNuclearTanks 19937 End 19938 Behavior = LocomotorSetUpgrade ModuleTag_07 19939 TriggeredBy = Upgrade_ChinaNuclearTanks 19940 End 19941 19942 ; A crushing defeat 19943 Behavior = DestroyDie ModuleTag_08 19944 DeathTypes = NONE +CRUSHED +SPLATTED 19945 End 19946 Behavior = FXListDie ModuleTag_09 19947 DeathTypes = NONE +CRUSHED +SPLATTED 19948 DeathFX = FX_CarCrush 19949 End 19950 Behavior = CreateObjectDie ModuleTag_10 19951 DeathTypes = NONE +CRUSHED +SPLATTED 19952 CreationList = OCL_CrusaderTank_CrushEffect 19953 End 19954 ;Behavior = CreateCrateDie ModuleTag_11 19955 ; CrateData = SalvageCrateData 19956 ;CrateData = EliteTankCrateData 19957 ;CrateData = HeroicTankCrateData 19958 ;End 19959 19960 19961 Behavior = SlowDeathBehavior ModuleTag_12 19962 DeathTypes = ALL -CRUSHED -SPLATTED 19963 ProbabilityModifier = 25 19964 DestructionDelay = 200 19965 DestructionDelayVariance = 100 19966 OCL = FINAL OCL_ChinaTankBattleMasterDebris 19967 FX = FINAL FX_BattleMasterExplosionOneFinal 19968 End 19969 19970 Behavior = TransitionDamageFX ModuleTag_13 19971 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 19972 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 19973 End 19974 19975 Behavior = FlammableUpdate ModuleTag_21 19976 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 19977 AflameDamageAmount = 3 ; taking this much damage... 19978 AflameDamageDelay = 500 ; this often. 19979 End 19980 19981 Geometry = BOX 19982 GeometryMajorRadius = 13.0 19983 GeometryMinorRadius = 9.0 19984 GeometryHeight = 10 19985 GeometryIsSmall = Yes 19986 Shadow = SHADOW_VOLUME 19987 19988 End 19989 19990 19991 ;------------------------------------------------------------------------------ 19992 Object ChinaVehicleBattleMasterDeadHull 19993 ; *** ART Parameters *** 19994 Draw = W3DModelDraw ModuleTag_01 19995 OkToChangeModelColor = Yes 19996 19997 ConditionState = NONE 19998 Model = NVBtMstr_D1 19999 End 20000 End 20001 20002 ; ***DESIGN parameters *** 20003 Side = China 20004 EditorSorting = SYSTEM 20005 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 20006 20007 ; *** AUDIO Parameters *** 20008 ; *** ENGINEERING Parameters *** 20009 RadarPriority = UNIT 20010 KindOf = CAN_CAST_REFLECTIONS NO_COLLIDE HULK 20011 20012 Body = ActiveBody ModuleTag_02 20013 MaxHealth = 1.0 20014 InitialHealth = 1.0 20015 End 20016 20017 20018 Behavior = PhysicsBehavior ModuleTag_03 20019 Mass = 50 20020 AllowBouncing = Yes 20021 End 20022 20023 Behavior = LifetimeUpdate ModuleTag_04 20024 MinLifetime = 0 ; min lifetime in msec 20025 MaxLifetime = 0 ; max lifetime in msec 20026 End 20027 20028 20029 Behavior = SlowDeathBehavior ModuleTag_05 20030 SinkDelay = 14000 20031 SinkRate = 2 ; in Dist/Sec 20032 DestructionDelay = 20000 20033 End 20034 20035 Behavior = TransitionDamageFX ModuleTag_06 20036 RubbleParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 20037 End 20038 20039 Geometry = BOX 20040 GeometryMajorRadius = 9.0 20041 GeometryMinorRadius = 6.0 20042 GeometryHeight = 7.5 20043 GeometryIsSmall = Yes 20044 20045 End 20046 20047 20048 20049 ;------------------------------------------------------------------------------ 20050 ; this unit is never really "built"; building one triggers the random building of 20051 ; one of the other chassis. If you want a *specific* chassis, choose it explicitly; 20052 ; if you want a chassis at random, specify this. 20053 Object GLAVehicleTechnical 20054 20055 ; *** ART Parameters *** 20056 SelectPortrait = SUTechnical_L 20057 ButtonImage = SUTechnical 20058 20059 Draw = W3DModelDraw ModuleTag_01 20060 DefaultConditionState 20061 ; give it a model so it'll show up in WB 20062 Model = UVTechTrck 20063 End 20064 End 20065 20066 ; set cost and time fields here or else they won't work 20067 BuildCost = 500 20068 BuildTime = 5.0 ;in seconds 20069 20070 ; Needed to get the Veterancy Overlays on top of the Technical with his build variations. 20071 ;------------------------------------------------------------ 20072 Behavior = VeterancyGainCreate ModuleTag_03 20073 StartingLevel = VETERAN 20074 ScienceRequired = SCIENCE_TechnicalTraining 20075 End 20076 20077 Side = GLA 20078 EditorSorting = VEHICLE 20079 BuildVariations = GLAVehicleTechnicalChassisOne GLAVehicleTechnicalChassisTwo GLAVehicleTechnicalChassisThree 20080 20081 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE TRANSPORT 20082 20083 End 20084 20085 ;------------------------------------------------------------------------------ 20086 Object GLAVehicleTechnicalChassisOne 20087 20088 ; *** ART Parameters *** 20089 SelectPortrait = SUTechnical_L 20090 ButtonImage = SUTechnical 20091 20092 UpgradeCameo1 = Upgrade_GLAAPBullets 20093 UpgradeCameo2 = Upgrade_GLAJunkRepair 20094 ;UpgradeCameo3 = NONE 20095 ;UpgradeCameo4 = NONE 20096 ;UpgradeCameo5 = NONE 20097 20098 Draw = W3DTruckDraw ModuleTag_01 20099 20100 ExtraPublicBone = Dum_Turret 20101 20102 DefaultConditionState 20103 Model = UVTechTrck 20104 End 20105 ConditionState = REALLYDAMAGED 20106 Model = UVTechTrck_d 20107 End 20108 ConditionState = RUBBLE 20109 Model = UVTechTrck_d 20110 End 20111 20112 OkToChangeModelColor = Yes 20113 TrackMarks = EXTireTrack.tga 20114 Dust = TechnicalDust 20115 DirtSpray = RocketBuggyDirtSpray 20116 PowerslideSpray = RocketBuggyDirtPowerSlide 20117 20118 ; These parameters are only used if the model has a separate suspension, 20119 ; and the locomotor has HasSuspension = Yes. 20120 LeftFrontTireBone = Tire01 20121 RightFrontTireBone = Tire02 20122 LeftRearTireBone = Tire03 20123 RightRearTireBone = Tire04 20124 TireRotationMultiplier = 0.2 ; this * speed = rotation. 20125 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 20126 End 20127 20128 Draw = W3DModelDraw ModuleTag_02 20129 20130 OkToChangeModelColor = Yes 20131 AttachToBoneInAnotherModule = Dum_Turret 20132 20133 ; ------------------ basic technical ------------------------ 20134 DefaultConditionState 20135 Model = UITech_SKN 20136 Turret = Dum-TurManMVR 20137 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 20138 HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 20139 IdleAnimation = UITech_SKL.UITech_STA 0 6 20140 IdleAnimation = UITech_SKL.UITech_IDA 20141 IdleAnimation = UITech_SKL.UITech_IDB 20142 AnimationMode = ONCE 20143 ShowSubObject = 20Cal 20144 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20145 WeaponFireFXBone = PRIMARY Muzzle01 20146 End 20147 20148 ConditionState = RUBBLE MOVING TURRET_ROTATE 20149 Animation = None 20150 HideSubObject = UITech-SKN 20151 ShowSubObject = 20Cal 20152 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20153 WeaponFireFXBone = PRIMARY Muzzle01 20154 End 20155 20156 ConditionState = MOVING 20157 Animation = UITech_SKL.UITech_MVB 20158 AnimationMode = LOOP 20159 ShowSubObject = 20Cal 20160 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20161 WeaponFireFXBone = PRIMARY Muzzle01 20162 End 20163 20164 ConditionState = TURRET_ROTATE 20165 Animation = UITech_SKL.UITech_TNA 20166 AnimationMode = LOOP 20167 ShowSubObject = 20Cal 20168 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20169 WeaponFireFXBone = PRIMARY Muzzle01 20170 End 20171 AliasConditionState = TURRET_ROTATE MOVING 20172 AliasConditionState = TURRET_ROTATE FIRING_A 20173 AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 20174 AliasConditionState = TURRET_ROTATE RELOADING_A 20175 AliasConditionState = TURRET_ROTATE MOVING FIRING_A 20176 AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 20177 AliasConditionState = TURRET_ROTATE MOVING RELOADING_A 20178 20179 ConditionState = FIRING_A 20180 Animation = UITech_SKL.UITech_ATA 20181 AnimationMode = LOOP 20182 ShowSubObject = 20Cal 20183 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20184 WeaponFireFXBone = PRIMARY Muzzle01 20185 End 20186 20187 ; AliasConditionState is a new keyword that says, 20188 ; "give me another ConditionState exactly like the previous 20189 ; one, except with different conditions". Useful when you 20190 ; have several states that are the same with only different condition bits. 20191 AliasConditionState = BETWEEN_FIRING_SHOTS_A 20192 AliasConditionState = RELOADING_A 20193 20194 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 20195 AliasConditionState = MOVING FIRING_A 20196 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 20197 AliasConditionState = MOVING RELOADING_A 20198 20199 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ 20200 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 20201 IdleAnimation = UITech_SKL.UITech_STA 0 6 20202 IdleAnimation = UITech_SKL.UITech_IDA 20203 IdleAnimation = UITech_SKL.UITech_IDB 20204 AnimationMode = ONCE 20205 ShowSubObject = 50Cal 20206 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20207 WeaponFireFXBone = PRIMARY Muzzle02 20208 WeaponLaunchBone = PRIMARY Muzzle02 20209 End 20210 20211 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE 20212 Animation = None 20213 HideSubObject = UITech-SKN 20214 ShowSubObject = 50Cal 20215 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20216 WeaponFireFXBone = PRIMARY Muzzle02 20217 WeaponLaunchBone = PRIMARY Muzzle02 20218 End 20219 20220 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE 20221 Animation = UITech_SKL.UITech_MVB 20222 AnimationMode = LOOP 20223 ShowSubObject = 50Cal 20224 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20225 WeaponFireFXBone = PRIMARY Muzzle02 20226 WeaponLaunchBone = PRIMARY Muzzle02 20227 End 20228 20229 ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE 20230 Animation = UITech_SKL.UITech_TNA 20231 AnimationMode = LOOP 20232 ShowSubObject = 50Cal 20233 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20234 WeaponFireFXBone = PRIMARY Muzzle02 20235 WeaponLaunchBone = PRIMARY Muzzle02 20236 End 20237 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING 20238 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A 20239 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 20240 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A 20241 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A 20242 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 20243 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A 20244 20245 ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 20246 Animation = UITech_SKL.UITech_ATA 20247 AnimationMode = LOOP 20248 ShowSubObject = 50Cal 20249 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20250 WeaponFireFXBone = PRIMARY Muzzle02 20251 WeaponLaunchBone = PRIMARY Muzzle02 20252 End 20253 20254 ; AliasConditionState is a new keyword that says, 20255 ; "give me another ConditionState exactly like the previous 20256 ; one, except with different conditions". Useful when you 20257 ; have several states that are the same with only different condition bits. 20258 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A 20259 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A 20260 20261 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 20262 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A 20263 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A 20264 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A 20265 20266 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ 20267 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 20268 IdleAnimation = UITech_SKL.UITech_STA 0 6 20269 IdleAnimation = UITech_SKL.UITech_IDA 20270 IdleAnimation = UITech_SKL.UITech_IDB 20271 AnimationMode = ONCE 20272 ShowSubObject = RPG 20273 WeaponFireFXBone = PRIMARY Muzzle03 20274 WeaponLaunchBone = PRIMARY Muzzle03 20275 End 20276 20277 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE 20278 Animation = None 20279 HideSubObject = UITech-SKN 20280 ShowSubObject = RPG 20281 WeaponFireFXBone = PRIMARY Muzzle03 20282 WeaponLaunchBone = PRIMARY Muzzle03 20283 End 20284 20285 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO 20286 Animation = UITech_SKL.UITech_MVB 20287 AnimationMode = LOOP 20288 ShowSubObject = RPG 20289 WeaponFireFXBone = PRIMARY Muzzle03 20290 WeaponLaunchBone = PRIMARY Muzzle03 20291 End 20292 20293 ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE 20294 Animation = UITech_SKL.UITech_TNA 20295 AnimationMode = LOOP 20296 ShowSubObject = RPG 20297 WeaponFireFXBone = PRIMARY Muzzle03 20298 WeaponLaunchBone = PRIMARY Muzzle03 20299 End 20300 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING 20301 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A 20302 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 20303 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A 20304 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A 20305 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 20306 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A 20307 20308 ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A 20309 Animation = UITech_SKL.UITech_ATA 20310 AnimationMode = LOOP 20311 ShowSubObject = RPG 20312 WeaponFireFXBone = PRIMARY Muzzle03 20313 WeaponLaunchBone = PRIMARY Muzzle03 20314 End 20315 20316 ; AliasConditionState is a new keyword that says, 20317 ; "give me another ConditionState exactly like the previous 20318 ; one, except with different conditions". Useful when you 20319 ; have several states that are the same with only different condition bits. 20320 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A 20321 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A 20322 20323 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 20324 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A 20325 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A 20326 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A 20327 20328 End 20329 20330 ; ***DESIGN parameters *** 20331 DisplayName = OBJECT:Technical 20332 Side = GLA 20333 EditorSorting = VEHICLE 20334 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 20335 20336 WeaponSet 20337 Conditions = None 20338 Weapon = PRIMARY TechnicalMachineGunWeapon 20339 End 20340 WeaponSet 20341 Conditions = CRATEUPGRADE_ONE 20342 Weapon = PRIMARY TechnicalCannonWeapon 20343 End 20344 WeaponSet 20345 Conditions = CRATEUPGRADE_TWO 20346 Weapon = PRIMARY TechnicalRPGWeapon 20347 End 20348 ArmorSet 20349 Conditions = None 20350 Armor = TruckArmor 20351 DamageFX = TruckDamageFX 20352 End 20353 ;update cost and time fields in Object GLAVehicleTechnical, or else they won't work 20354 ;BuildCost = 300 20355 ;BuildTime = 5.0 ;in seconds 20356 VisionRange = 150 20357 ShroudClearingRange = 300 20358 Prerequisites 20359 Object = GLAArmsDealer 20360 End 20361 20362 ExperienceValue = 25 25 50 100 ;Experience point value at each level 20363 ExperienceRequired = 0 50 75 150 ;Experience points needed to gain each level 20364 IsTrainable = Yes ;Can gain experience 20365 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 20366 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 20367 CommandSet = GLAVehicleTechnicalCommandSet 20368 20369 ; *** AUDIO Parameters *** 20370 VoiceSelect = TechnicalVoiceSelect 20371 VoiceMove = TechnicalVoiceMove 20372 VoiceGuard = TechnicalVoiceMove 20373 VoiceAttack = TechnicalVoiceAttack 20374 SoundMoveStart = TechnicalMoveStart 20375 SoundMoveStartDamaged = TechnicalMoveStart 20376 SoundDie = TechnicalVoiceDie 20377 SoundEnter = HumveeEnter 20378 SoundExit = HumveeExit 20379 20380 UnitSpecificSounds 20381 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 20382 VoiceCreate = TechnicalVoiceCreate 20383 TurretMoveStart = NoSound 20384 TurretMoveLoop = TurretMoveLoop 20385 TruckLandingSound = RocketBuggyLand 20386 TruckPowerslideSound = RocketBuggyPowerslide 20387 VoiceSalvage = TechnicalVoiceSalvage 20388 VoiceCrush = TechnicalVoiceCrush 20389 VoiceUnload = TechnicalVoiceUnload 20390 VoiceEnter = TechnicalVoiceMove 20391 End 20392 20393 ; *** ENGINEERING Parameters *** 20394 RadarPriority = UNIT 20395 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE TRANSPORT 20396 20397 Behavior = VeterancyGainCreate ModuleTag_03 20398 StartingLevel = VETERAN 20399 ScienceRequired = SCIENCE_TechnicalTraining 20400 End 20401 20402 Body = ActiveBody ModuleTag_04 20403 MaxHealth = 180 20404 InitialHealth = 180 20405 End 20406 Behavior = AIUpdateInterface ModuleTag_05 20407 Turret 20408 TurretTurnRate = 240 ; turn rate, in degrees per sec 20409 NaturalTurretAngle = 0 20410 MinIdleScanAngle = 30 ; in degrees off the natural turret angle 20411 MaxIdleScanAngle = 60 ; in degrees off the natural turret angle 20412 MinIdleScanInterval = 5000 ; in milliseconds 20413 MaxIdleScanInterval = 10000 ; in milliseconds 20414 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY 20415 End 20416 AutoAcquireEnemiesWhenIdle = Yes 20417 End 20418 Locomotor = SET_NORMAL TechnicalLocomotor 20419 Behavior = PhysicsBehavior ModuleTag_06 20420 Mass = 40.0 20421 End 20422 Behavior = AutoHealBehavior ModuleTag_07 20423 HealingAmount = 2 20424 HealingDelay = 1000 ; msec 20425 TriggeredBy = Upgrade_GLAJunkRepair 20426 End 20427 20428 Behavior = FlammableUpdate ModuleTag_09 20429 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 20430 AflameDamageAmount = 3 ; taking this much damage... 20431 AflameDamageDelay = 500 ; this often. 20432 End 20433 20434 Behavior = TransitionDamageFX ModuleTag_10 20435 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 20436 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 20437 End 20438 20439 Behavior = DestroyDie ModuleTag_11 20440 DeathTypes = NONE +CRUSHED +SPLATTED 20441 End 20442 20443 ; A crushing defeat 20444 Behavior = FXListDie ModuleTag_12 20445 DeathTypes = NONE +CRUSHED +SPLATTED 20446 DeathFX = FX_CarCrush 20447 End 20448 Behavior = CreateObjectDie ModuleTag_13 20449 DeathTypes = NONE +CRUSHED +SPLATTED 20450 CreationList = OCL_TechnicalJeep_CrushEffect 20451 End 20452 Behavior = CreateCrateDie ModuleTag_14 20453 CrateData = SalvageCrateData 20454 ;CrateData = EliteTankCrateData 20455 ;CrateData = HeroicTankCrateData 20456 End 20457 20458 Behavior = SlowDeathBehavior ModuleTag_15 20459 DeathTypes = ALL -CRUSHED -SPLATTED 20460 DestructionDelay = 500 20461 DestructionDelayVariance = 1500 20462 OCL = INITIAL OCL_TechnicalAirDeathStart 20463 FX = INITIAL FX_RocketBuggyAirDeathGroundPart 20464 OCL = FINAL OCL_RocketBuggyAirDeath 20465 FX = FINAL FX_RocketBuggyAirDeathAirPart ; This happens in the air 20466 End 20467 20468 Behavior = TransportContain ModuleTag_16 20469 Slots = 5 20470 AllowInsideKindOf = INFANTRY 20471 DamagePercentToUnits = 10% 20472 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 20473 End 20474 20475 Behavior = WeaponBonusUpgrade ModuleTag_17 ; Not a full weapon set switch, just a number tweak reflected in a weapon. 20476 TriggeredBy = Upgrade_GLAAPBullets 20477 End 20478 20479 Geometry = BOX 20480 GeometryMajorRadius = 18.0 20481 GeometryMinorRadius = 9.0 20482 GeometryHeight = 7.5 20483 GeometryIsSmall = No 20484 Shadow = SHADOW_VOLUME 20485 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 20486 20487 End 20488 20489 ;------------------------------------------------------------------------------ 20490 ObjectReskin GLAVehicleTechnicalChassisTwo GLAVehicleTechnicalChassisOne 20491 20492 ; *** ART Parameters *** 20493 Draw = W3DTruckDraw ModuleTag_01 20494 20495 ExtraPublicBone = Dum_Turret 20496 20497 DefaultConditionState 20498 Model = UVTechVan 20499 End 20500 20501 ConditionState = REALLYDAMAGED 20502 Model = UVTechVan_d 20503 End 20504 ConditionState = RUBBLE 20505 Model = UVTechVan_d 20506 End 20507 20508 OkToChangeModelColor = Yes 20509 TrackMarks = EXTireTrack.tga 20510 Dust = TechnicalDust 20511 20512 ;DirtSpray = RocketBuggyDirtSpray 20513 PowerslideSpray = RocketBuggyDirtPowerSlide 20514 20515 ; These parameters are only used if the model has a separate suspension, 20516 ; and the locomotor has HasSuspension = Yes. 20517 LeftFrontTireBone = Tire01 20518 RightFrontTireBone = Tire02 20519 LeftRearTireBone = Tire03 20520 RightRearTireBone = Tire04 20521 TireRotationMultiplier = 0.2 ; this * speed = rotation. 20522 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 20523 End 20524 20525 Draw = W3DModelDraw ModuleTag_02 20526 OkToChangeModelColor = Yes 20527 AttachToBoneInAnotherModule = Dum_Turret 20528 20529 ; ------------------ basic technical ------------------------ 20530 DefaultConditionState 20531 Model = UITech_SKN 20532 Turret = Dum-TurManMVR 20533 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 20534 HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 20535 IdleAnimation = UITech_SKL.UITech_STA 0 6 20536 IdleAnimation = UITech_SKL.UITech_IDA 20537 IdleAnimation = UITech_SKL.UITech_IDB 20538 AnimationMode = ONCE 20539 ShowSubObject = 20Cal 20540 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20541 WeaponFireFXBone = PRIMARY Muzzle01 20542 End 20543 20544 ConditionState = RUBBLE MOVING TURRET_ROTATE 20545 Animation = None 20546 HideSubObject = UITech-SKN 20547 ShowSubObject = 20Cal 20548 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20549 WeaponFireFXBone = PRIMARY Muzzle01 20550 End 20551 20552 ConditionState = MOVING 20553 Animation = UITech_SKL.UITech_MVB 20554 AnimationMode = LOOP 20555 ShowSubObject = 20Cal 20556 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20557 WeaponFireFXBone = PRIMARY Muzzle01 20558 End 20559 20560 ConditionState = TURRET_ROTATE 20561 Animation = UITech_SKL.UITech_TNA 20562 AnimationMode = LOOP 20563 ShowSubObject = 20Cal 20564 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20565 WeaponFireFXBone = PRIMARY Muzzle01 20566 End 20567 AliasConditionState = TURRET_ROTATE MOVING 20568 AliasConditionState = TURRET_ROTATE FIRING_A 20569 AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 20570 AliasConditionState = TURRET_ROTATE RELOADING_A 20571 AliasConditionState = TURRET_ROTATE MOVING FIRING_A 20572 AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 20573 AliasConditionState = TURRET_ROTATE MOVING RELOADING_A 20574 20575 ConditionState = FIRING_A 20576 Animation = UITech_SKL.UITech_ATA 20577 AnimationMode = LOOP 20578 ShowSubObject = 20Cal 20579 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20580 WeaponFireFXBone = PRIMARY Muzzle01 20581 End 20582 20583 ; AliasConditionState is a new keyword that says, 20584 ; "give me another ConditionState exactly like the previous 20585 ; one, except with different conditions". Useful when you 20586 ; have several states that are the same with only different condition bits. 20587 AliasConditionState = BETWEEN_FIRING_SHOTS_A 20588 AliasConditionState = RELOADING_A 20589 20590 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 20591 AliasConditionState = MOVING FIRING_A 20592 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 20593 AliasConditionState = MOVING RELOADING_A 20594 20595 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ 20596 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 20597 IdleAnimation = UITech_SKL.UITech_STA 0 6 20598 IdleAnimation = UITech_SKL.UITech_IDA 20599 IdleAnimation = UITech_SKL.UITech_IDB 20600 AnimationMode = ONCE 20601 ShowSubObject = 50Cal 20602 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20603 WeaponFireFXBone = PRIMARY Muzzle02 20604 WeaponLaunchBone = PRIMARY Muzzle02 20605 End 20606 20607 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE 20608 Animation = None 20609 HideSubObject = UITech-SKN 20610 ShowSubObject = 50Cal 20611 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20612 WeaponFireFXBone = PRIMARY Muzzle02 20613 WeaponLaunchBone = PRIMARY Muzzle02 20614 End 20615 20616 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE 20617 Animation = UITech_SKL.UITech_MVB 20618 AnimationMode = LOOP 20619 ShowSubObject = 50Cal 20620 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20621 WeaponFireFXBone = PRIMARY Muzzle02 20622 WeaponLaunchBone = PRIMARY Muzzle02 20623 End 20624 20625 ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE 20626 Animation = UITech_SKL.UITech_TNA 20627 AnimationMode = LOOP 20628 ShowSubObject = 50Cal 20629 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20630 WeaponFireFXBone = PRIMARY Muzzle02 20631 WeaponLaunchBone = PRIMARY Muzzle02 20632 End 20633 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING 20634 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A 20635 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 20636 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A 20637 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A 20638 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 20639 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A 20640 20641 ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 20642 Animation = UITech_SKL.UITech_ATA 20643 AnimationMode = LOOP 20644 ShowSubObject = 50Cal 20645 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20646 WeaponFireFXBone = PRIMARY Muzzle02 20647 WeaponLaunchBone = PRIMARY Muzzle02 20648 End 20649 20650 ; AliasConditionState is a new keyword that says, 20651 ; "give me another ConditionState exactly like the previous 20652 ; one, except with different conditions". Useful when you 20653 ; have several states that are the same with only different condition bits. 20654 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A 20655 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A 20656 20657 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 20658 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A 20659 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A 20660 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A 20661 20662 20663 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ 20664 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 20665 IdleAnimation = UITech_SKL.UITech_STA 0 6 20666 IdleAnimation = UITech_SKL.UITech_IDA 20667 IdleAnimation = UITech_SKL.UITech_IDB 20668 AnimationMode = ONCE 20669 ShowSubObject = RPG 20670 WeaponFireFXBone = PRIMARY Muzzle03 20671 WeaponLaunchBone = PRIMARY Muzzle03 20672 End 20673 20674 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE 20675 Animation = None 20676 HideSubObject = UITech-SKN 20677 ShowSubObject = RPG 20678 WeaponFireFXBone = PRIMARY Muzzle03 20679 WeaponLaunchBone = PRIMARY Muzzle03 20680 End 20681 20682 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO 20683 Animation = UITech_SKL.UITech_MVB 20684 AnimationMode = LOOP 20685 ShowSubObject = RPG 20686 WeaponFireFXBone = PRIMARY Muzzle03 20687 WeaponLaunchBone = PRIMARY Muzzle03 20688 End 20689 20690 ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE 20691 Animation = UITech_SKL.UITech_TNA 20692 AnimationMode = LOOP 20693 ShowSubObject = RPG 20694 WeaponFireFXBone = PRIMARY Muzzle03 20695 WeaponLaunchBone = PRIMARY Muzzle03 20696 End 20697 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING 20698 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A 20699 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 20700 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A 20701 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A 20702 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 20703 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A 20704 20705 ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A 20706 Animation = UITech_SKL.UITech_ATA 20707 AnimationMode = LOOP 20708 ShowSubObject = RPG 20709 WeaponFireFXBone = PRIMARY Muzzle03 20710 WeaponLaunchBone = PRIMARY Muzzle03 20711 End 20712 20713 ; AliasConditionState is a new keyword that says, 20714 ; "give me another ConditionState exactly like the previous 20715 ; one, except with different conditions". Useful when you 20716 ; have several states that are the same with only different condition bits. 20717 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A 20718 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A 20719 20720 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 20721 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A 20722 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A 20723 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A 20724 20725 End 20726 20727 ; Behavior = CreateObjectDie ModuleTag_13 20728 ; DeathTypes = NONE +CRUSHED +SPLATTED 20729 ; CreationList = OCL_TechnicalVan_CrushEffect 20730 ; End 20731 20732 Geometry = BOX 20733 GeometryMajorRadius = 16.0 20734 GeometryMinorRadius = 8.0 20735 GeometryHeight = 7.5 20736 GeometryIsSmall = Yes 20737 20738 20739 End 20740 20741 ;------------------------------------------------------------------------------ 20742 ObjectReskin GLAVehicleTechnicalChassisThree GLAVehicleTechnicalChassisOne 20743 20744 ; *** ART Parameters *** 20745 Draw = W3DTruckDraw ModuleTag_01 20746 20747 ExtraPublicBone = Dum_Turret 20748 20749 DefaultConditionState 20750 Model = UVTechJeep 20751 End 20752 20753 ConditionState = REALLYDAMAGED 20754 Model = UVTechJeep_d 20755 End 20756 ConditionState = RUBBLE 20757 Model = UVTechJeep_d 20758 End 20759 20760 OkToChangeModelColor = Yes 20761 TrackMarks = EXTireTrack.tga 20762 Dust = TechnicalDust 20763 20764 ;DirtSpray = RocketBuggyDirtSpray 20765 PowerslideSpray = RocketBuggyDirtPowerSlide 20766 20767 ; These parameters are only used if the model has a separate suspension, 20768 ; and the locomotor has HasSuspension = Yes. 20769 LeftFrontTireBone = Tire01 20770 RightFrontTireBone = Tire02 20771 LeftRearTireBone = Tire03 20772 RightRearTireBone = Tire04 20773 TireRotationMultiplier = 0.2 ; this * speed = rotation. 20774 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 20775 End 20776 20777 Draw = W3DModelDraw ModuleTag_02 20778 OkToChangeModelColor = Yes 20779 AttachToBoneInAnotherModule = Dum_Turret 20780 20781 ; ------------------ basic technical ------------------------ 20782 DefaultConditionState 20783 Model = UITech_SKN 20784 Turret = Dum-TurManMVR 20785 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 20786 HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 20787 IdleAnimation = UITech_SKL.UITech_STA 0 6 20788 IdleAnimation = UITech_SKL.UITech_IDA 20789 IdleAnimation = UITech_SKL.UITech_IDB 20790 AnimationMode = ONCE 20791 ShowSubObject = 20Cal 20792 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20793 WeaponFireFXBone = PRIMARY Muzzle01 20794 End 20795 20796 ConditionState = RUBBLE MOVING TURRET_ROTATE 20797 Animation = None 20798 HideSubObject = UITech-SKN 20799 ShowSubObject = 20Cal 20800 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20801 WeaponFireFXBone = PRIMARY Muzzle01 20802 End 20803 20804 ConditionState = MOVING 20805 Animation = UITech_SKL.UITech_MVB 20806 AnimationMode = LOOP 20807 ShowSubObject = 20Cal 20808 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20809 WeaponFireFXBone = PRIMARY Muzzle01 20810 End 20811 20812 ConditionState = TURRET_ROTATE 20813 Animation = UITech_SKL.UITech_TNA 20814 AnimationMode = LOOP 20815 ShowSubObject = 20Cal 20816 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20817 WeaponFireFXBone = PRIMARY Muzzle01 20818 End 20819 AliasConditionState = TURRET_ROTATE MOVING 20820 AliasConditionState = TURRET_ROTATE FIRING_A 20821 AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 20822 AliasConditionState = TURRET_ROTATE RELOADING_A 20823 AliasConditionState = TURRET_ROTATE MOVING FIRING_A 20824 AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 20825 AliasConditionState = TURRET_ROTATE MOVING RELOADING_A 20826 20827 ConditionState = FIRING_A 20828 Animation = UITech_SKL.UITech_ATA 20829 AnimationMode = LOOP 20830 ShowSubObject = 20Cal 20831 WeaponMuzzleFlash = PRIMARY MuzzleFX01 20832 WeaponFireFXBone = PRIMARY Muzzle01 20833 End 20834 20835 ; AliasConditionState is a new keyword that says, 20836 ; "give me another ConditionState exactly like the previous 20837 ; one, except with different conditions". Useful when you 20838 ; have several states that are the same with only different condition bits. 20839 AliasConditionState = BETWEEN_FIRING_SHOTS_A 20840 AliasConditionState = RELOADING_A 20841 20842 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 20843 AliasConditionState = MOVING FIRING_A 20844 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 20845 AliasConditionState = MOVING RELOADING_A 20846 20847 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ 20848 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 20849 IdleAnimation = UITech_SKL.UITech_STA 0 6 20850 IdleAnimation = UITech_SKL.UITech_IDA 20851 IdleAnimation = UITech_SKL.UITech_IDB 20852 AnimationMode = ONCE 20853 ShowSubObject = 50Cal 20854 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20855 WeaponFireFXBone = PRIMARY Muzzle02 20856 WeaponLaunchBone = PRIMARY Muzzle02 20857 End 20858 20859 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE 20860 Animation = None 20861 HideSubObject = UITech-SKN 20862 ShowSubObject = 50Cal 20863 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20864 WeaponFireFXBone = PRIMARY Muzzle02 20865 WeaponLaunchBone = PRIMARY Muzzle02 20866 End 20867 20868 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE 20869 Animation = UITech_SKL.UITech_MVB 20870 AnimationMode = LOOP 20871 ShowSubObject = 50Cal 20872 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20873 WeaponFireFXBone = PRIMARY Muzzle02 20874 WeaponLaunchBone = PRIMARY Muzzle02 20875 End 20876 20877 ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE 20878 Animation = UITech_SKL.UITech_TNA 20879 AnimationMode = LOOP 20880 ShowSubObject = 50Cal 20881 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20882 WeaponFireFXBone = PRIMARY Muzzle02 20883 WeaponLaunchBone = PRIMARY Muzzle02 20884 End 20885 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING 20886 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A 20887 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 20888 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A 20889 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A 20890 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 20891 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A 20892 20893 ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 20894 Animation = UITech_SKL.UITech_ATA 20895 AnimationMode = LOOP 20896 ShowSubObject = 50Cal 20897 WeaponMuzzleFlash = PRIMARY MuzzleFX02 20898 WeaponFireFXBone = PRIMARY Muzzle02 20899 WeaponLaunchBone = PRIMARY Muzzle02 20900 End 20901 20902 ; AliasConditionState is a new keyword that says, 20903 ; "give me another ConditionState exactly like the previous 20904 ; one, except with different conditions". Useful when you 20905 ; have several states that are the same with only different condition bits. 20906 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A 20907 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A 20908 20909 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 20910 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A 20911 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A 20912 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A 20913 20914 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ 20915 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 20916 IdleAnimation = UITech_SKL.UITech_STA 0 6 20917 IdleAnimation = UITech_SKL.UITech_IDA 20918 IdleAnimation = UITech_SKL.UITech_IDB 20919 AnimationMode = ONCE 20920 ShowSubObject = RPG 20921 WeaponFireFXBone = PRIMARY Muzzle03 20922 WeaponLaunchBone = PRIMARY Muzzle03 20923 End 20924 20925 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE 20926 Animation = None 20927 HideSubObject = UITech-SKN 20928 ShowSubObject = RPG 20929 WeaponFireFXBone = PRIMARY Muzzle03 20930 WeaponLaunchBone = PRIMARY Muzzle03 20931 End 20932 20933 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO 20934 Animation = UITech_SKL.UITech_MVB 20935 AnimationMode = LOOP 20936 ShowSubObject = RPG 20937 WeaponFireFXBone = PRIMARY Muzzle03 20938 WeaponLaunchBone = PRIMARY Muzzle03 20939 End 20940 20941 ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE 20942 Animation = UITech_SKL.UITech_TNA 20943 AnimationMode = LOOP 20944 ShowSubObject = RPG 20945 WeaponFireFXBone = PRIMARY Muzzle03 20946 WeaponLaunchBone = PRIMARY Muzzle03 20947 End 20948 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING 20949 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A 20950 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 20951 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A 20952 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A 20953 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 20954 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A 20955 20956 ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A 20957 Animation = UITech_SKL.UITech_ATA 20958 AnimationMode = LOOP 20959 ShowSubObject = RPG 20960 WeaponFireFXBone = PRIMARY Muzzle03 20961 WeaponLaunchBone = PRIMARY Muzzle03 20962 End 20963 20964 ; AliasConditionState is a new keyword that says, 20965 ; "give me another ConditionState exactly like the previous 20966 ; one, except with different conditions". Useful when you 20967 ; have several states that are the same with only different condition bits. 20968 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A 20969 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A 20970 20971 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 20972 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A 20973 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A 20974 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A 20975 20976 End 20977 20978 ; Behavior = CreateObjectDie ModuleTag_13 20979 ; DeathTypes = NONE +CRUSHED +SPLATTED 20980 ; CreationList = OCL_TechnicalJeep_CrushEffect 20981 ; End 20982 20983 Geometry = BOX 20984 GeometryMajorRadius = 14.0 20985 GeometryMinorRadius = 9.0 20986 GeometryHeight = 9.5 20987 GeometryIsSmall = Yes 20988 20989 20990 End 20991 20992 ;------------------------------------------------------------------------------ 20993 Object ChinaTankOverlord 20994 20995 ; *** ART Parameters *** 20996 SelectPortrait = SNOverlord_L 20997 ButtonImage = SNOverlord 20998 20999 UpgradeCameo1 = Upgrade_ChinaUraniumShells 21000 UpgradeCameo2 = Upgrade_ChinaNuclearTanks 21001 UpgradeCameo3 = Upgrade_ChinaOverlordBattleBunker 21002 UpgradeCameo4 = Upgrade_ChinaOverlordGattlingCannon 21003 UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower 21004 21005 21006 Draw = W3DOverlordTankDraw ModuleTag_01 21007 ConditionState = NONE 21008 Model = NVOvrlrd 21009 Animation = NVOvrlrd.NVOvrlrd 21010 AnimationMode = LOOP 21011 Turret = Turret01 21012 WeaponFireFXBone = PRIMARY Muzzle 21013 WeaponRecoilBone = PRIMARY Barrel 21014 WeaponMuzzleFlash = PRIMARY MuzzleFX 21015 WeaponLaunchBone = PRIMARY Muzzle 21016 End 21017 ConditionState = REALLYDAMAGED 21018 Model = NVOvrlrd_d 21019 Animation = NVOvrlrd_d.NVOvrlrd_d 21020 AnimationMode = LOOP 21021 Turret = Turret01 21022 WeaponFireFXBone = PRIMARY Muzzle 21023 WeaponRecoilBone = PRIMARY Barrel 21024 WeaponMuzzleFlash = PRIMARY MuzzleFX 21025 WeaponLaunchBone = PRIMARY Muzzle 21026 End 21027 21028 ConditionState = RUBBLE 21029 Model = NVOvrlrd_d 21030 Turret = Turret01 21031 WeaponFireFXBone = PRIMARY Muzzle 21032 WeaponRecoilBone = PRIMARY Barrel 21033 WeaponMuzzleFlash = PRIMARY MuzzleFX 21034 WeaponLaunchBone = PRIMARY Muzzle 21035 End 21036 21037 TrackMarks = EXTnkTrack.tga 21038 OkToChangeModelColor = Yes 21039 TreadAnimationRate = 2.0; amount of tread texture to move per second 21040 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 21041 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 21042 End 21043 21044 ; ***DESIGN parameters *** 21045 DisplayName = OBJECT:Overlord 21046 Side = China 21047 EditorSorting = VEHICLE 21048 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 21049 WeaponSet 21050 Conditions = None 21051 Weapon = PRIMARY OverlordTankGun 21052 End 21053 ArmorSet 21054 Conditions = None 21055 Armor = TankArmor 21056 DamageFX = TankDamageFX 21057 End 21058 BuildCost = 2000 21059 BuildTime = 20.0 ;in seconds 21060 VisionRange = 150 21061 ShroudClearingRange = 200 21062 Prerequisites 21063 Object = ChinaWarFactory 21064 Object = ChinaPropagandaCenter 21065 End 21066 21067 ExperienceValue = 200 200 400 600 ;Experience point value at each level 21068 ExperienceRequired = 0 400 600 1200 ;Experience points needed to gain each level 21069 IsTrainable = Yes ;Can gain experience 21070 CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 21071 CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 21072 CommandSet = ChinaTankOverlordDefaultCommandSet 21073 21074 ; *** AUDIO Parameters *** 21075 VoiceSelect = OverlordTankVoiceSelect 21076 SoundMoveStart = OverlordTankMoveStart 21077 SoundMoveStartDamaged = OverlordTankMoveStart 21078 VoiceMove = OverlordTankVoiceMove 21079 VoiceGuard = OverlordTankVoiceMove 21080 VoiceAttack = OverlordTankVoiceAttack 21081 21082 UnitSpecificSounds 21083 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 21084 VoiceCreate = OverlordTankVoiceCreate 21085 TurretMoveStart = NoSound 21086 TurretMoveLoop = OverlordTankTurretMoveLoop 21087 VoiceCrush = OverlordTankVoiceCrush 21088 VoiceEnter = OverlordTankVoiceMove 21089 VoiceUnload = OverlordTankVoiceUnload 21090 End 21091 21092 ; *** ENGINEERING Parameters *** 21093 RadarPriority = UNIT 21094 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE HUGE_VEHICLE 21095 21096 Body = ActiveBody ModuleTag_02 21097 MaxHealth = 1100.0 21098 InitialHealth = 1100.0 21099 End 21100 21101 Behavior = TransportAIUpdate ModuleTag_03 21102 Turret 21103 TurretTurnRate = 60 ;30 ;15 // turn rate, in degrees per sec 21104 ControlledWeaponSlots = PRIMARY 21105 End 21106 AutoAcquireEnemiesWhenIdle = Yes 21107 End 21108 21109 Locomotor = SET_NORMAL OverlordLocomotor 21110 Locomotor = SET_NORMAL_UPGRADED NuclearOverlordLocomotor 21111 21112 Behavior = FireWeaponWhenDeadBehavior ModuleTag_04 21113 DeathWeapon = NuclearTankDeathWeapon 21114 StartsActive = No ; turned on by upgrade 21115 TriggeredBy = Upgrade_ChinaNuclearTanks 21116 End 21117 Behavior = LocomotorSetUpgrade ModuleTag_05 21118 TriggeredBy = Upgrade_ChinaNuclearTanks 21119 End 21120 21121 Behavior = OverlordContain ModuleTag_06 ; Like Transport, but when full, passes transport queries along to first passenger (redirects like tunnel) 21122 Slots = 1 21123 DamagePercentToUnits = 100% 21124 AllowInsideKindOf = PORTABLE_STRUCTURE 21125 PassengersAllowedToFire = Yes 21126 PassengersInTurret = Yes ; My passengers ride in my turret, that's where the Firepoint bones are 21127 End 21128 21129 Behavior = ObjectCreationUpgrade ModuleTag_07 21130 UpgradeObject = OCL_OverlordGattlingCannon 21131 TriggeredBy = Upgrade_ChinaOverlordGattlingCannon 21132 ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker 21133 End 21134 Behavior = ObjectCreationUpgrade ModuleTag_08 21135 UpgradeObject = OCL_OverlordPropagandaTower 21136 TriggeredBy = Upgrade_ChinaOverlordPropagandaTower 21137 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker 21138 End 21139 Behavior = ObjectCreationUpgrade ModuleTag_09 21140 UpgradeObject = OCL_OverlordBattleBunker 21141 TriggeredBy = Upgrade_ChinaOverlordBattleBunker 21142 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPropagandaTower 21143 End 21144 Behavior = ProductionUpdate ModuleTag_10 21145 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 21146 End 21147 Behavior = CommandSetUpgrade ModuleTag_11 21148 CommandSet = ChinaTankOverlordGattlingCannonCommandSet 21149 TriggeredBy = Upgrade_ChinaOverlordGattlingCannon 21150 ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker 21151 End 21152 Behavior = CommandSetUpgrade ModuleTag_12 21153 CommandSet = ChinaTankOverlordPropagandaTowerCommandSet 21154 TriggeredBy = Upgrade_ChinaOverlordPropagandaTower 21155 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker 21156 End 21157 Behavior = CommandSetUpgrade ModuleTag_13 21158 CommandSet = ChinaTankOverlordBattleBunkerCommandSet 21159 TriggeredBy = Upgrade_ChinaOverlordBattleBunker 21160 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPropagandaTower 21161 End 21162 21163 Behavior = PhysicsBehavior ModuleTag_14 21164 Mass = 50.0 21165 End 21166 21167 21168 21169 ; Smoke for a bit then explode 21170 ; Behavior = SlowDeathBehavior 21171 ;; ProbabilityModifier = 25 21172 ; DestructionDelay = 1500 21173 ; DestructionDelayVariance = 500 21174 ; FX = INITIAL FX_OverlordSmoke 21175 ; OCL = FINAL OCL_ChinaTankOverlordDebris 21176 ; FX = FINAL FX_GenericTankDeathExplosion 21177 ; End 21178 21179 ; Catch fire, and explode death 21180 ; Behavior = SlowDeathBehavior 21181 ;; ProbabilityModifier = 25 21182 ; DestructionDelay = 2000 21183 ; DestructionDelayVariance = 300 21184 ; FX = INITIAL FX_CrusaderCatchFire 21185 ; OCL = FINAL OCL_ChinaTankOverlordDebris 21186 ; FX = FINAL FX_GenericTankDeathExplosion 21187 ; End 21188 21189 ; Just explode death 21190 Behavior = SlowDeathBehavior ModuleTag_16 21191 ProbabilityModifier = 25 21192 DestructionDelay = 200 21193 DestructionDelayVariance = 100 21194 OCL = FINAL OCL_ChinaTankOverlordDebris 21195 FX = FINAL FX_OverlordExplosionOneFinal 21196 End 21197 Behavior = CreateCrateDie ModuleTag_17 21198 CrateData = SalvageCrateData 21199 ;CrateData = EliteTankCrateData 21200 ;CrateData = HeroicTankCrateData 21201 End 21202 21203 Behavior = TransitionDamageFX ModuleTag_18 21204 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 21205 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_OverlordDamageTransition 21206 End 21207 21208 Behavior = FlammableUpdate ModuleTag_21 21209 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 21210 AflameDamageAmount = 3 ; taking this much damage... 21211 AflameDamageDelay = 500 ; this often. 21212 End 21213 21214 Geometry = BOX 21215 GeometryMajorRadius = 26.0 21216 GeometryMinorRadius = 13.0 21217 GeometryHeight = 15.0 21218 GeometryIsSmall = No 21219 Shadow = SHADOW_VOLUME 21220 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 21221 21222 End 21223 21224 ;------------------------------------------------------------------------------ 21225 Object ChinaTankOverlordGattlingCannon 21226 21227 ; *** ART Parameters *** 21228 SelectPortrait = SNGatTower_L 21229 ButtonImage = SNGatTower 21230 21231 ;UpgradeCameo1 = Upgrade_Nationalism 21232 UpgradeCameo1 = Upgrade_ChinaUraniumShells 21233 UpgradeCameo2 = Upgrade_ChinaNuclearTanks 21234 ;UpgradeCameo4 = NONE 21235 UpgradeCameo5 = Upgrade_ChinaOverlordGattlingCannon 21236 21237 21238 Draw = W3DDependencyModelDraw ModuleTag_01 21239 OkToChangeModelColor = Yes 21240 AttachToBoneInContainer = FIREPOINT01 21241 21242 DefaultConditionState 21243 Model = NVOvrlrd_G 21244 Turret = TURRET01 21245 TurretPitch = TURRETEL 21246 WeaponFireFXBone = PRIMARY Muzzle 21247 WeaponMuzzleFlash = PRIMARY MuzzleFX 21248 WeaponFireFXBone = SECONDARY Muzzle 21249 WeaponMuzzleFlash = SECONDARY MuzzleFX 21250 End 21251 ConditionState = CONTINUOUS_FIRE_SLOW 21252 Model = NVOvrlrd_G 21253 Animation = NVOvrlrd_G.NVOvrlrd_G 21254 AnimationMode = LOOP 21255 AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y 21256 End 21257 ConditionState = CONTINUOUS_FIRE_MEAN 21258 Model = NVOvrlrd_G 21259 Animation = NVOvrlrd_G.NVOvrlrd_G 21260 AnimationMode = LOOP 21261 AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast 21262 End 21263 ConditionState = CONTINUOUS_FIRE_FAST 21264 Model = NVOvrlrd_G 21265 Animation = NVOvrlrd_G.NVOvrlrd_G 21266 AnimationMode = LOOP 21267 AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst 21268 ParticleSysBone = Muzzle01 GattlingMuzzleSmoke 21269 ParticleSysBone = Muzzle02 GattlingMuzzleSmoke 21270 End 21271 21272 ConditionState = REALLYDAMAGED 21273 Model = NVOvrlrd_GD 21274 Turret = TURRET01 21275 TurretPitch = TURRETEL 21276 WeaponFireFXBone = PRIMARY Muzzle 21277 WeaponMuzzleFlash = PRIMARY MuzzleFX 21278 WeaponFireFXBone = SECONDARY Muzzle 21279 WeaponMuzzleFlash = SECONDARY MuzzleFX 21280 ParticleSysBone = Smoke01 SmokeFactionMedium 21281 ParticleSysBone = Smoke02 SmokeFactionMedium 21282 ParticleSysBone = Smoke03 SmokeFactionMedium 21283 ParticleSysBone = SparkM01 SparksMedium 21284 ParticleSysBone = SparkM02 SparksMedium 21285 End 21286 ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED 21287 Model = NVOvrlrd_GD 21288 Animation = NVOvrlrd_G.NVOvrlrd_G 21289 AnimationMode = LOOP 21290 AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y 21291 End 21292 ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED 21293 Model = NVOvrlrd_GD 21294 Animation = NVOvrlrd_G.NVOvrlrd_G 21295 AnimationMode = LOOP 21296 AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast 21297 End 21298 ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED 21299 Model = NVOvrlrd_GD 21300 Animation = NVOvrlrd_G.NVOvrlrd_G 21301 AnimationMode = LOOP 21302 AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst 21303 ParticleSysBone = Muzzle01 GattlingMuzzleSmoke 21304 ParticleSysBone = Muzzle02 GattlingMuzzleSmoke 21305 End 21306 21307 End 21308 21309 ; ***DESIGN parameters *** 21310 Side = China 21311 EditorSorting = SYSTEM 21312 TransportSlotCount = 1 21313 WeaponSet 21314 Conditions = None 21315 Weapon = PRIMARY GattlingBuildingGun 21316 Weapon = SECONDARY GattlingBuildingGunAir 21317 PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT 21318 End 21319 21320 ArmorSet 21321 Conditions = None 21322 Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module 21323 End 21324 VisionRange = 200 21325 21326 ; *** AUDIO Parameters *** 21327 UnitSpecificSounds 21328 TurretMoveStart = NoSound 21329 TurretMoveLoop = NoSound ;TurretMoveLoop 21330 VoiceRapidFire = NoSound 21331 End 21332 21333 ; *** ENGINEERING Parameters *** 21334 KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI 21335 Body = StructureBody ModuleTag_02 21336 MaxHealth = 100.0 21337 InitialHealth = 100.0 21338 End 21339 21340 Behavior = AIUpdateInterface ModuleTag_03 21341 Turret 21342 ControlledWeaponSlots = PRIMARY SECONDARY 21343 TurretTurnRate = 60 // turn rate, in degrees per sec 21344 TurretPitchRate = 60 21345 AllowsPitch = Yes 21346 End 21347 AutoAcquireEnemiesWhenIdle = Yes 21348 End 21349 21350 Behavior = DestroyDie ModuleTag_04 21351 ;nothing 21352 End 21353 21354 Behavior = WeaponBonusUpgrade ModuleTag_05 21355 TriggeredBy = Upgrade_ChinaChainGuns 21356 End 21357 21358 Behavior = StealthDetectorUpdate ModuleTag_06 21359 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 21360 ;DetectionRange = ??? ; Defaults to VisionRange 21361 CanDetectWhileContained = Yes 21362 End 21363 21364 Geometry = BOX 21365 GeometryMajorRadius = 8.0 21366 GeometryMinorRadius = 8.0 21367 GeometryHeight = 9.0 21368 GeometryIsSmall = No 21369 Shadow = SHADOW_VOLUME 21370 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 21371 21372 End 21373 21374 ;------------------------------------------------------------------------------ 21375 Object ChinaTankOverlordPropagandaTower 21376 21377 ; *** ART Parameters *** 21378 SelectPortrait = SNPropSpeaker_L 21379 ButtonImage = SNPropSpeaker 21380 21381 UpgradeCameo1 = Upgrade_Nationalism 21382 UpgradeCameo2 = Upgrade_ChinaUraniumShells 21383 UpgradeCameo3 = Upgrade_ChinaNuclearTanks 21384 ;UpgradeCameo4 = NONE 21385 UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower 21386 21387 Draw = W3DDependencyModelDraw ModuleTag_01 21388 OkToChangeModelColor = Yes 21389 AttachToBoneInContainer = FIREPOINT01 21390 21391 ConditionState = NONE 21392 Model = NVOvrlrd_S 21393 Animation = NVOvrlrd_S.NVOvrlrd_S 21394 AnimationMode = LOOP 21395 End 21396 ConditionState = REALLYDAMAGED 21397 Model = NVOvrlrd_SD 21398 ParticleSysBone = Smoke01 SmolderingSmoke 21399 ParticleSysBone = Smoke02 SmolderingSmoke 21400 ParticleSysBone = Flame01 SmolderingFire 21401 ParticleSysBone = Flame01 SmolderingFlameCore 21402 ParticleSysBone = Spark01 LiveWireSparks 21403 End 21404 ; night 21405 ConditionState = NIGHT 21406 Model = NVOvrlrd_S 21407 Animation = NVOvrlrd_S.NVOvrlrd_S 21408 AnimationMode = LOOP 21409 End 21410 End 21411 21412 PlacementViewAngle = -45 21413 21414 ; ***DESIGN parameters *** 21415 Side = China 21416 EditorSorting = SYSTEM 21417 TransportSlotCount = 1 21418 21419 ArmorSet 21420 Conditions = None 21421 Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module 21422 End 21423 VisionRange = 200 21424 21425 ; *** AUDIO Parameters *** 21426 UnitSpecificSounds 21427 TurretMoveStart = NoSound 21428 TurretMoveLoop = NoSound ;TurretMoveLoop 21429 End 21430 21431 ; *** ENGINEERING Parameters *** 21432 KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI 21433 Body = StructureBody ModuleTag_02 21434 MaxHealth = 100.0 21435 InitialHealth = 100.0 21436 End 21437 21438 Behavior = AIUpdateInterface ModuleTag_03 21439 ;<No Data> 21440 End 21441 21442 Behavior = PropagandaTowerBehavior ModuleTag_04 21443 Radius = 150.0 21444 DelayBetweenUpdates = 2000 ; in milliseconds 21445 HealPercentEachSecond = 1% ; get this % of max health every second 21446 PulseFX = FX_OverlordPropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates 21447 UpgradeRequired = Upgrade_ChinaSubliminalMessaging 21448 UpgradedHealPercentEachSecond = 2% ; get this % of max health every second 21449 UpgradedPulseFX = FX_OverlordPropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates 21450 21451 End 21452 21453 Behavior = DestroyDie ModuleTag_05 21454 ;<No Data> 21455 End 21456 21457 Geometry = BOX 21458 GeometryMajorRadius = 6.0 21459 GeometryMinorRadius = 6.0 21460 GeometryHeight = 10.0 21461 GeometryIsSmall = No 21462 Shadow = SHADOW_VOLUME 21463 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 21464 21465 End 21466 21467 ;------------------------------------------------------------------------------ 21468 Object ChinaTankOverlordBattleBunker 21469 21470 ; *** ART Parameters *** 21471 SelectPortrait = SNBunker_L 21472 ButtonImage = SNBunker 21473 21474 ;UpgradeCameo1 = Upgrade_Nationalism 21475 UpgradeCameo1 = Upgrade_ChinaUraniumShells 21476 UpgradeCameo2 = Upgrade_ChinaNuclearTanks 21477 ;UpgradeCameo4 = NONE 21478 UpgradeCameo5 = Upgrade_ChinaOverlordBattleBunker 21479 21480 Draw = W3DDependencyModelDraw ModuleTag_01 21481 OkToChangeModelColor = Yes 21482 AttachToBoneInContainer = FIREPOINT01 21483 21484 ConditionState = NONE 21485 Model = NVOvrlrd_B 21486 End 21487 ConditionState = REALLYDAMAGED 21488 Model = NVOvrlrd_BD 21489 ParticleSysBone = Smoke01 SmolderingSmoke 21490 ParticleSysBone = Smoke02 SmolderingSmoke 21491 ParticleSysBone = Flame01 SmolderingFire 21492 ParticleSysBone = Flame01 SmolderingFlameCore 21493 ParticleSysBone = Spark01 LiveWireSparks 21494 End 21495 ; night 21496 ConditionState = NIGHT 21497 Model = NVOvrlrd_B 21498 End 21499 ConditionState = NIGHT REALLYDAMAGED 21500 Model = NVOvrlrd_BD 21501 ParticleSysBone = Smoke01 SmolderingSmoke 21502 ParticleSysBone = Smoke02 SmolderingSmoke 21503 ParticleSysBone = Flame01 SmolderingFire 21504 ParticleSysBone = Flame01 SmolderingFlameCore 21505 ParticleSysBone = Spark01 LiveWireSparks 21506 End 21507 End 21508 21509 PlacementViewAngle = -45 21510 21511 ; ***DESIGN parameters *** 21512 Side = China 21513 EditorSorting = SYSTEM 21514 TransportSlotCount = 1 21515 21516 ArmorSet 21517 Conditions = None 21518 Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module 21519 End 21520 VisionRange = 200 21521 21522 ; *** AUDIO Parameters *** 21523 UnitSpecificSounds 21524 TurretMoveStart = NoSound 21525 TurretMoveLoop = NoSound ;TurretMoveLoop 21526 VoiceUnload = OverlordTankVoiceUnload 21527 End 21528 21529 ; *** ENGINEERING Parameters *** 21530 KindOf = PRELOAD PORTABLE_STRUCTURE CLICK_THROUGH IGNORED_IN_GUI 21531 Body = StructureBody ModuleTag_02 21532 MaxHealth = 100.0 21533 InitialHealth = 100.0 21534 End 21535 21536 Behavior = TransportContain ModuleTag_03 21537 Slots = 5 21538 PassengersAllowedToFire = Yes 21539 AllowInsideKindOf = INFANTRY 21540 EnterSound = GarrisonEnter 21541 ExitSound = GarrisonExit 21542 DamagePercentToUnits = 50% 21543 End 21544 21545 Behavior = DestroyDie ModuleTag_04 21546 ;nothing 21547 End 21548 21549 Geometry = BOX 21550 GeometryMajorRadius = 6.0 21551 GeometryMinorRadius = 6.0 21552 GeometryHeight = 10.0 21553 GeometryIsSmall = No 21554 Shadow = SHADOW_VOLUME 21555 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 21556 21557 End 21558 21559 ; ----------------------------------------------------------------------------- 21560 21561 Object ChinaTankOverlordBarrelDebris 21562 21563 ; *** ART Parameters *** 21564 Draw = W3DModelDraw ModuleTag_01 21565 OkToChangeModelColor = Yes 21566 21567 ConditionState = NONE 21568 Model = NVOvrlrd_D3 21569 End 21570 End 21571 21572 ; ***DESIGN parameters *** 21573 ; DisplayName = OBJECT:RocketBuggyDebris 21574 21575 EditorSorting = DEBRIS 21576 Side = China 21577 21578 ; *** AUDIO Parameters *** 21579 ; *** ENGINEERING Parameters *** 21580 ; RadarPriority = UNIT 21581 ; KindOf = PRELOAD CAN_CAST_REFLECTIONS 21582 21583 Body = ActiveBody ModuleTag_02 21584 MaxHealth = 1.0 21585 InitialHealth = 1.0 21586 End 21587 21588 Behavior = PhysicsBehavior ModuleTag_03 21589 Mass = 50 21590 AllowBouncing = Yes 21591 End 21592 21593 Behavior = LifetimeUpdate ModuleTag_04 21594 MinLifetime = 10000 ; min lifetime in msec 21595 MaxLifetime = 15000 ; max lifetime in msec 21596 End 21597 21598 21599 Behavior = SlowDeathBehavior ModuleTag_05 21600 SinkDelay = 1000 21601 SinkRate = 1 ; in Dist/Sec 21602 DestructionDelay = 2000 21603 End 21604 21605 Geometry = BOX 21606 GeometryMajorRadius = 9.0 21607 GeometryMinorRadius = 6.0 21608 GeometryHeight = 7.5 21609 GeometryIsSmall = Yes 21610 21611 21612 End 21613 21614 ;------------------------------------------------------------------------------ 21615 Object ChinaTankOverlordDeadHull 21616 21617 ; *** ART Parameters *** 21618 Draw = W3DModelDraw ModuleTag_01 21619 OkToChangeModelColor = Yes 21620 21621 ConditionState = NONE 21622 Model = NVOvrlrd_D1 21623 End 21624 End 21625 21626 ; ***DESIGN parameters *** 21627 DisplayName = OBJECT:Overlord 21628 Side = China 21629 EditorSorting = SYSTEM 21630 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 21631 21632 ; *** AUDIO Parameters *** 21633 ; *** ENGINEERING Parameters *** 21634 RadarPriority = UNIT 21635 KindOf = CAN_CAST_REFLECTIONS NO_COLLIDE HULK 21636 21637 Body = ActiveBody ModuleTag_02 21638 MaxHealth = 1.0 21639 InitialHealth = 1.0 21640 End 21641 21642 21643 Behavior = PhysicsBehavior ModuleTag_03 21644 Mass = 50 21645 AllowBouncing = Yes 21646 End 21647 21648 Behavior = LifetimeUpdate ModuleTag_04 21649 MinLifetime = 0 ; min lifetime in msec 21650 MaxLifetime = 0 ; max lifetime in msec 21651 End 21652 21653 21654 Behavior = SlowDeathBehavior ModuleTag_05 21655 SinkDelay = 14000 21656 SinkRate = 2 ; in Dist/Sec 21657 DestructionDelay = 20000 21658 End 21659 21660 Behavior = TransitionDamageFX ModuleTag_06 21661 RubbleParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 21662 End 21663 21664 Geometry = BOX 21665 GeometryMajorRadius = 9.0 21666 GeometryMinorRadius = 6.0 21667 GeometryHeight = 7.5 21668 GeometryIsSmall = Yes 21669 21670 End 21671 21672 ;------------------------------------------------------------------------------ 21673 ;******************************* Cinematic-Only unit ************************** 21674 Object CINE_ChinaTankOverlord 21675 21676 ; *** ART Parameters *** 21677 SelectPortrait = SNOverlord_L 21678 ButtonImage = SNOverlord 21679 21680 ;UpgradeCameo1 = Upgrade_Nationalism 21681 UpgradeCameo1 = Upgrade_ChinaUraniumShells 21682 UpgradeCameo2 = Upgrade_ChinaNuclearTanks 21683 ;UpgradeCameo4 = NONE 21684 ;UpgradeCameo5 = NONE 21685 21686 21687 Draw = W3DOverlordTankDraw ModuleTag_01 21688 ConditionState = NONE 21689 Model = NVOvrlrd 21690 Animation = NVOvrlrd.NVOvrlrd 21691 AnimationMode = LOOP 21692 Turret = Turret01 21693 WeaponFireFXBone = PRIMARY Muzzle 21694 WeaponRecoilBone = PRIMARY Barrel 21695 WeaponMuzzleFlash = PRIMARY MuzzleFX 21696 WeaponLaunchBone = PRIMARY Muzzle 21697 End 21698 ConditionState = REALLYDAMAGED 21699 Model = NVOvrlrd_d 21700 Animation = NVOvrlrd_d.NVOvrlrd_d 21701 AnimationMode = LOOP 21702 Turret = Turret01 21703 WeaponFireFXBone = PRIMARY Muzzle 21704 WeaponRecoilBone = PRIMARY Barrel 21705 WeaponMuzzleFlash = PRIMARY MuzzleFX 21706 WeaponLaunchBone = PRIMARY Muzzle 21707 End 21708 21709 ConditionState = RUBBLE 21710 Model = NVOvrlrd_d 21711 Turret = Turret01 21712 WeaponFireFXBone = PRIMARY Muzzle 21713 WeaponRecoilBone = PRIMARY Barrel 21714 WeaponMuzzleFlash = PRIMARY MuzzleFX 21715 WeaponLaunchBone = PRIMARY Muzzle 21716 End 21717 21718 TrackMarks = EXTnkTrack.tga 21719 OkToChangeModelColor = Yes 21720 TreadAnimationRate = 2.0; amount of tread texture to move per second 21721 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 21722 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 21723 End 21724 21725 ; ***DESIGN parameters *** 21726 DisplayName = OBJECT:Overlord 21727 Side = China 21728 EditorSorting = VEHICLE 21729 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 21730 WeaponSet 21731 Conditions = None 21732 Weapon = PRIMARY OverlordTankGun 21733 End 21734 ArmorSet 21735 Conditions = None 21736 Armor = TankArmor 21737 DamageFX = TankDamageFX 21738 End 21739 BuildCost = 1800 21740 BuildTime = 20.0 ;in seconds 21741 VisionRange = 150 21742 ShroudClearingRange = 200 21743 Prerequisites 21744 Object = ChinaWarFactory 21745 Object = ChinaPropagandaCenter 21746 End 21747 21748 ExperienceValue = 200 200 400 600 ;Experience point value at each level 21749 ExperienceRequired = 0 400 600 1200 ;Experience points needed to gain each level 21750 IsTrainable = Yes ;Can gain experience 21751 CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 21752 CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 21753 CommandSet = ChinaTankOverlordDefaultCommandSet 21754 21755 ; *** AUDIO Parameters *** 21756 VoiceSelect = OverlordTankVoiceSelect 21757 SoundMoveStart = OverlordTankMoveStart 21758 SoundMoveStartDamaged = OverlordTankMoveStart 21759 VoiceMove = OverlordTankVoiceMove 21760 VoiceGuard = OverlordTankVoiceMove 21761 VoiceAttack = OverlordTankVoiceAttack 21762 UnitSpecificSounds 21763 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 21764 VoiceCreate = OverlordTankVoiceCreate 21765 TurretMoveStart = NoSound 21766 TurretMoveLoop = OverlordTankTurretMoveLoop 21767 VoiceCrush = OverlordTankVoiceCrush 21768 VoiceEnter = OverlordTankVoiceMove 21769 End 21770 21771 ; *** ENGINEERING Parameters *** 21772 RadarPriority = UNIT 21773 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE HUGE_VEHICLE 21774 21775 Body = ActiveBody ModuleTag_02 21776 MaxHealth = 1100.0 21777 InitialHealth = 1100.0 21778 End 21779 21780 Behavior = TransportAIUpdate ModuleTag_03 21781 Turret 21782 TurretTurnRate = 60 ;30 ;15 // turn rate, in degrees per sec 21783 ControlledWeaponSlots = PRIMARY 21784 End 21785 AutoAcquireEnemiesWhenIdle = Yes 21786 End 21787 21788 Locomotor = SET_NORMAL CINE_OverlordLocomotor 21789 Locomotor = SET_NORMAL_UPGRADED NuclearOverlordLocomotor 21790 21791 Behavior = FireWeaponWhenDeadBehavior ModuleTag_04 21792 DeathWeapon = NuclearTankDeathWeapon 21793 StartsActive = No ; turned on by upgrade 21794 TriggeredBy = Upgrade_ChinaNuclearTanks 21795 End 21796 Behavior = LocomotorSetUpgrade ModuleTag_05 21797 TriggeredBy = Upgrade_ChinaNuclearTanks 21798 End 21799 21800 Behavior = OverlordContain ModuleTag_06 ; Like Transport, but when full, passes transport queries along to first passenger (redirects like tunnel) 21801 Slots = 1 21802 DamagePercentToUnits = 100% 21803 AllowInsideKindOf = PORTABLE_STRUCTURE 21804 PassengersAllowedToFire = Yes 21805 PassengersInTurret = Yes ; My passengers ride in my turret, that's where the Firepoint bones are 21806 End 21807 21808 Behavior = ObjectCreationUpgrade ModuleTag_07 21809 UpgradeObject = OCL_OverlordGattlingCannon 21810 TriggeredBy = Upgrade_ChinaOverlordGattlingCannon 21811 ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker 21812 End 21813 Behavior = ObjectCreationUpgrade ModuleTag_08 21814 UpgradeObject = OCL_OverlordPropagandaTower 21815 TriggeredBy = Upgrade_ChinaOverlordPropagandaTower 21816 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker 21817 End 21818 Behavior = ObjectCreationUpgrade ModuleTag_09 21819 UpgradeObject = OCL_OverlordBattleBunker 21820 TriggeredBy = Upgrade_ChinaOverlordBattleBunker 21821 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPropagandaTower 21822 End 21823 Behavior = ProductionUpdate ModuleTag_10 21824 ; nothing 21825 End 21826 Behavior = CommandSetUpgrade ModuleTag_11 21827 CommandSet = ChinaTankOverlordGattlingCannonCommandSet 21828 TriggeredBy = Upgrade_ChinaOverlordGattlingCannon 21829 ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker 21830 End 21831 Behavior = CommandSetUpgrade ModuleTag_12 21832 CommandSet = ChinaTankOverlordPropagandaTowerCommandSet 21833 TriggeredBy = Upgrade_ChinaOverlordPropagandaTower 21834 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker 21835 End 21836 Behavior = CommandSetUpgrade ModuleTag_13 21837 CommandSet = ChinaTankOverlordBattleBunkerCommandSet 21838 TriggeredBy = Upgrade_ChinaOverlordBattleBunker 21839 ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPropagandaTower 21840 End 21841 21842 Behavior = PhysicsBehavior ModuleTag_14 21843 Mass = 50.0 21844 End 21845 21846 21847 21848 ; Smoke for a bit then explode 21849 ; Behavior = SlowDeathBehavior 21850 ;; ProbabilityModifier = 25 21851 ; DestructionDelay = 1500 21852 ; DestructionDelayVariance = 500 21853 ; FX = INITIAL FX_OverlordSmoke 21854 ; OCL = FINAL OCL_ChinaTankOverlordDebris 21855 ; FX = FINAL FX_GenericTankDeathExplosion 21856 ; End 21857 21858 ; Catch fire, and explode death 21859 ; Behavior = SlowDeathBehavior 21860 ;; ProbabilityModifier = 25 21861 ; DestructionDelay = 2000 21862 ; DestructionDelayVariance = 300 21863 ; FX = INITIAL FX_CrusaderCatchFire 21864 ; OCL = FINAL OCL_ChinaTankOverlordDebris 21865 ; FX = FINAL FX_GenericTankDeathExplosion 21866 ; End 21867 21868 ; Just explode death 21869 Behavior = SlowDeathBehavior ModuleTag_16 21870 ProbabilityModifier = 25 21871 DestructionDelay = 200 21872 DestructionDelayVariance = 100 21873 OCL = FINAL OCL_ChinaTankOverlordDebris 21874 FX = FINAL FX_OverlordExplosionOneFinal 21875 End 21876 Behavior = CreateCrateDie ModuleTag_17 21877 CrateData = SalvageCrateData 21878 ;CrateData = EliteTankCrateData 21879 ;CrateData = HeroicTankCrateData 21880 End 21881 21882 Behavior = TransitionDamageFX ModuleTag_18 21883 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 21884 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_OverlordDamageTransition 21885 End 21886 21887 Behavior = FlammableUpdate ModuleTag_21 21888 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 21889 AflameDamageAmount = 3 ; taking this much damage... 21890 AflameDamageDelay = 500 ; this often. 21891 End 21892 21893 Geometry = BOX 21894 GeometryMajorRadius = 26.0 21895 GeometryMinorRadius = 13.0 21896 GeometryHeight = 15.0 21897 GeometryIsSmall = No 21898 Shadow = SHADOW_VOLUME 21899 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 21900 21901 End 21902 21903 ;------------------------------------------------------------------------------ 21904 ;China Dragon Tank 21905 Object ChinaTankDragon 21906 21907 ; *** ART Parameters *** 21908 SelectPortrait = SNDragonTank_L 21909 ButtonImage = SNDragonTank 21910 21911 UpgradeCameo1 = Upgrade_ChinaBlackNapalm 21912 ;UpgradeCameo2 = NONE 21913 ;UpgradeCameo3 = NONE 21914 ;UpgradeCameo4 = NONE 21915 ;UpgradeCameo5 = NONE 21916 21917 Draw = W3DTankDraw ModuleTag_01 21918 OkToChangeModelColor = Yes 21919 21920 DefaultConditionState 21921 Model = NVDragon 21922 Turret = Turret 21923 TurretPitch = TURRETEL 21924 WeaponFireFXBone = PRIMARY WeaponA 21925 WeaponLaunchBone = PRIMARY WeaponA 21926 WeaponFireFXBone = SECONDARY WeaponA 21927 WeaponLaunchBone = SECONDARY WeaponA 21928 End 21929 ConditionState = REALLYDAMAGED 21930 Model = NVDragon_D 21931 Turret = Turret 21932 TurretPitch = TURRETEL 21933 WeaponFireFXBone = PRIMARY WeaponA 21934 WeaponLaunchBone = PRIMARY WeaponA 21935 WeaponFireFXBone = SECONDARY WeaponA 21936 WeaponLaunchBone = SECONDARY WeaponA 21937 End 21938 ConditionState = RUBBLE 21939 Model = NVDragon_D 21940 Turret = Turret 21941 TurretPitch = TURRETEL 21942 WeaponFireFXBone = PRIMARY WeaponA 21943 WeaponLaunchBone = PRIMARY WeaponA 21944 WeaponFireFXBone = SECONDARY WeaponA 21945 WeaponLaunchBone = SECONDARY WeaponA 21946 End 21947 21948 TrackMarks = EXTnkTrack.tga 21949 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 21950 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 21951 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 21952 End 21953 21954 ; ***DESIGN parameters *** 21955 DisplayName = OBJECT:Dragon 21956 Side = China 21957 EditorSorting = VEHICLE 21958 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 21959 21960 WeaponSet 21961 Conditions = None 21962 Weapon = PRIMARY DragonTankFlameWeapon 21963 Weapon = SECONDARY DragonTankFireWallWeapon 21964 AutoChooseSources = SECONDARY NONE 21965 21966 End 21967 WeaponSet 21968 Conditions = PLAYER_UPGRADE 21969 Weapon = PRIMARY DragonTankFlameWeaponUpgraded 21970 Weapon = SECONDARY DragonTankFireWallWeaponUpgraded 21971 AutoChooseSources = SECONDARY NONE 21972 Weapon = TERTIARY AmbulanceCleanHazardWeapon 21973 AutoChooseSources = TERTIARY NONE 21974 WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock 21975 End 21976 21977 ArmorSet 21978 Conditions = None 21979 Armor = DragonTankArmor 21980 DamageFX = TankDamageFX 21981 End 21982 BuildCost = 800 21983 BuildTime = 10.0 ;in seconds 21984 VisionRange = 100 21985 ShroudClearingRange = 200 21986 Prerequisites 21987 Object = ChinaWarFactory 21988 End 21989 21990 ExperienceValue = 50 50 100 150 ;Experience point value at each level 21991 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 21992 IsTrainable = Yes ;Can gain experience 21993 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 21994 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 21995 CommandSet = ChinaTankDragonCommandSet 21996 21997 ; *** AUDIO Parameters *** 21998 VoiceSelect = DragonTankVoiceSelect 21999 VoiceMove = DragonTankVoiceMove 22000 VoiceGuard = DragonTankVoiceMove 22001 VoiceAttack = DragonTankVoiceAttack 22002 SoundMoveStart = DragonTankMoveStart 22003 SoundMoveStartDamaged = DragonTankMoveStart 22004 22005 UnitSpecificSounds 22006 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 22007 VoiceCreate = DragonTankVoiceCreate 22008 TurretMoveStart = NoSound 22009 TurretMoveLoop = TurretMoveLoop 22010 VoiceEnter = DragonTankVoiceMove 22011 VoiceFlameLocation = DragonTankVoiceFireStorm 22012 End 22013 22014 22015 ; *** ENGINEERING Parameters *** 22016 RadarPriority = UNIT 22017 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 22018 22019 Body = ActiveBody ModuleTag_02 22020 MaxHealth = 280.0 22021 InitialHealth = 280.0 22022 End 22023 Behavior = AIUpdateInterface ModuleTag_03 22024 Turret 22025 TurretTurnRate = 120 22026 TurretPitchRate = 120 22027 AllowsPitch = Yes 22028 MinPhysicalPitch = -15 22029 22030 TurretFireAngleSweep = PRIMARY 10 22031 TurretFireAngleSweep = SECONDARY 60 22032 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn (aim for 30 for art) 22033 TurretSweepSpeedModifier = SECONDARY 2.0 ; Sweep faster than you turn 22034 ControlledWeaponSlots = PRIMARY SECONDARY 22035 End 22036 AutoAcquireEnemiesWhenIdle = Yes 22037 End 22038 Locomotor = SET_NORMAL DragonLocomotor 22039 Behavior = PhysicsBehavior ModuleTag_04 22040 Mass = 50.0 22041 End 22042 22043 22044 Behavior = WeaponSetUpgrade ModuleTag_05 22045 TriggeredBy = Upgrade_ChinaBlackNapalm 22046 End 22047 22048 ; A crushing defeat 22049 Behavior = DestroyDie ModuleTag_06 22050 DeathTypes = NONE +CRUSHED +SPLATTED 22051 End 22052 Behavior = FXListDie ModuleTag_07 22053 DeathTypes = NONE +CRUSHED +SPLATTED 22054 DeathFX = FX_CarCrush 22055 End 22056 Behavior = CreateObjectDie ModuleTag_08 22057 DeathTypes = NONE +CRUSHED +SPLATTED 22058 CreationList = OCL_CrusaderTank_CrushEffect 22059 End 22060 Behavior = CreateCrateDie ModuleTag_09 22061 CrateData = SalvageCrateData 22062 ;CrateData = EliteTankCrateData 22063 ;CrateData = HeroicTankCrateData 22064 End 22065 22066 22067 ; just explode death 22068 Behavior = SlowDeathBehavior ModuleTag_10 22069 DeathTypes = ALL -CRUSHED -SPLATTED 22070 ; ProbabilityModifier = 33 22071 DestructionDelay = 500 22072 DestructionDelayVariance = 500 22073 FX = INITIAL FX_BattleMasterExplosionOneFinal 22074 OCL = FINAL OCL_DragonDebris 22075 FX = FINAL FX_DragonTankDeathExplosionFinal 22076 End 22077 22078 ; Catch fire, and explode death 22079 ; Behavior = SlowDeathBehavior 22080 ; DeathTypes = ALL -CRUSHED -SPLATTED 22081 ;; ProbabilityModifier = 33 22082 ; DestructionDelay = 2000 22083 ; DestructionDelayVariance = 300 22084 ; FX = INITIAL FX_CrusaderCatchFire 22085 ; OCL = FINAL OCL_DragonDebris 22086 ; FX = FINAL FX_GenericTankDeathExplosion 22087 ; End 22088 22089 ; Napalm spills out, and explode death 22090 ; Behavior = SlowDeathBehavior 22091 ; DeathTypes = ALL -CRUSHED -SPLATTED 22092 ;; ProbabilityModifier = 34 22093 ; DestructionDelay = 2000 22094 ; DestructionDelayVariance = 300 22095 ; FX = INITIAL FX_DragonNapalmSpill 22096 ; OCL = FINAL OCL_DragonDebris 22097 ; FX = FINAL FX_DragonTankDeathExplosionFinal 22098 ; End 22099 22100 ; Turret fly off death 22101 ; Behavior = SlowDeathBehavior 22102 ; DeathTypes = ALL -CRUSHED -SPLATTED 22103 ;; ProbabilityModifier = 25 22104 ; DestructionDelay = 500 22105 ; DestructionDelayVariance = 100 22106 ; FX = INITIAL FX_GenericTankDeathEffect 22107 ; OCL = MIDPOINT OCL_DragonDebris 22108 ; FX = FINAL FX_GenericTankDeathExplosionFinal 22109 ; End 22110 22111 22112 Behavior = FlammableUpdate ModuleTag_12 22113 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 22114 AflameDamageAmount = 3 ; taking this much damage... 22115 AflameDamageDelay = 500 ; this often. 22116 End 22117 22118 Behavior = TransitionDamageFX ModuleTag_13 22119 ; ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 22120 ReallyDamagedParticleSystem2 = Bone:Smoke RandomBone:Yes Psys:DragonTransitionFire 22121 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_DragonDamageTransition 22122 End 22123 22124 22125 Geometry = BOX 22126 GeometryMajorRadius = 15.0 22127 GeometryMinorRadius = 10.0 22128 GeometryHeight = 11.0 ; Height set to allow clear clipping of projectile stream 22129 GeometryIsSmall = Yes 22130 Shadow = SHADOW_VOLUME 22131 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 22132 22133 End 22134 22135 ;------------------------------------------------------------------------------ 22136 Object ChinaTankDragonDeadHull 22137 22138 ; *** ART Parameters *** 22139 Draw = W3DModelDraw ModuleTag_01 22140 OkToChangeModelColor = Yes 22141 22142 ConditionState = NONE 22143 Model = NVDragon_D1 22144 End 22145 End 22146 22147 ; ***DESIGN parameters *** 22148 DisplayName = OBJECT:Overlord 22149 Side = China 22150 EditorSorting = SYSTEM 22151 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 22152 22153 ; *** AUDIO Parameters *** 22154 ; *** ENGINEERING Parameters *** 22155 RadarPriority = UNIT 22156 KindOf = CAN_CAST_REFLECTIONS NO_COLLIDE HULK 22157 22158 Body = ActiveBody ModuleTag_02 22159 MaxHealth = 1.0 22160 InitialHealth = 1.0 22161 End 22162 22163 22164 Behavior = PhysicsBehavior ModuleTag_03 22165 Mass = 50 22166 AllowBouncing = Yes 22167 End 22168 22169 Behavior = LifetimeUpdate ModuleTag_04 22170 MinLifetime = 0 ; min lifetime in msec 22171 MaxLifetime = 0 ; max lifetime in msec 22172 End 22173 22174 22175 Behavior = SlowDeathBehavior ModuleTag_05 22176 SinkDelay = 14000 22177 SinkRate = 2 ; in Dist/Sec 22178 DestructionDelay = 20000 22179 End 22180 22181 Behavior = TransitionDamageFX ModuleTag_06 22182 RubbleParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 22183 End 22184 22185 Geometry = BOX 22186 GeometryMajorRadius = 9.0 22187 GeometryMinorRadius = 6.0 22188 GeometryHeight = 7.5 22189 GeometryIsSmall = Yes 22190 22191 End 22192 22193 ;------------------------------------------------------------------------------ 22194 Object DragonTankFlameProjectile 22195 22196 ; Explanation - Particles can't do damage, so this is a fast shooting low 22197 ; damage invisible missile launcher with a flame trail for exhaust 22198 22199 ; *** ART Parameters *** 22200 Draw = W3DModelDraw ModuleTag_01 22201 OkToChangeModelColor = Yes 22202 ConditionState = NONE 22203 Model = NULL 22204 End 22205 End 22206 ; Must have a draw module to be allowed to draw detonation FX 22207 22208 ; ***DESIGN parameters *** 22209 EditorSorting = SYSTEM 22210 VisionRange = 0.0 22211 ArmorSet 22212 Conditions = None 22213 Armor = ProjectileArmor 22214 DamageFX = None 22215 End 22216 22217 ; *** ENGINEERING Parameters *** 22218 KindOf = PROJECTILE 22219 Body = ActiveBody ModuleTag_02 22220 MaxHealth = 100.0 22221 InitialHealth = 100.0 22222 End 22223 22224 Behavior = DestroyDie ModuleTag_03 22225 ;nothing 22226 End 22227 22228 Behavior = PhysicsBehavior ModuleTag_04 22229 Mass = 1 22230 AllowCollideForce = No ; flames collide, but never apply forces when they do so 22231 End 22232 Behavior = MissileAIUpdate ModuleTag_05 22233 TryToFollowTarget = No 22234 FuelLifetime = 350 22235 DetonateOnNoFuel = Yes 22236 InitialVelocity = 120 ; in dist/sec 22237 IgnitionDelay = 0 22238 DistanceToTravelBeforeTurning = 2 22239 GarrisonHitKillRequiredKindOf = INFANTRY 22240 GarrisonHitKillForbiddenKindOf = NONE 22241 GarrisonHitKillCount = 2 22242 GarrisonHitKillFX = FX_DragonFlameGarrisonBuildingHit 22243 DistanceToTargetForLock = 0 ; If it gets within 100 of the target, it kills the target. 22244 22245 End 22246 Locomotor = SET_NORMAL DragonTankFlameLocomotor 22247 22248 Behavior = BoneFXUpdate ModuleTag_06 22249 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail01 ; Covers gap at beginning of line 22250 PristineParticleSystem2 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail02 22251 PristineParticleSystem3 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail03 22252 PristineParticleSystem4 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail04 22253 PristineParticleSystem5 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail06 22254 22255 PristineParticleSystem6 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerSmoke01 22256 End 22257 22258 Behavior = BoneFXDamage ModuleTag_07 22259 ;nothing 22260 End 22261 22262 Geometry = Sphere 22263 GeometryIsSmall = Yes 22264 GeometryMajorRadius = 2.0 22265 22266 End 22267 22268 ;------------------------------------------------------------------------------ 22269 ;------------------------------------------ 22270 ;------------------------------------------------------------------------------ 22271 22272 22273 ;------------------------------------------------------------------------------ 22274 Object FlamethrowerProjectileStream 22275 22276 ; *** ART Parameters *** 22277 Draw = W3DProjectileStreamDraw ModuleTag_01 22278 Texture = EXfthrowerStream.tga 22279 Width = 1.5 22280 TileFactor = 3.0 ; put the texture on the line segment this many times 22281 ScrollRate = 2.0; scroll the texture offset this fast 22282 MaxSegments = 4 ; only play the first X if there are a ton of them. 0 means play all 22283 End 22284 22285 ; *** ENGINEERING Parameters *** 22286 KindOf = INERT 22287 Behavior = ProjectileStreamUpdate ModuleTag_02 22288 ;nothing 22289 End 22290 22291 End 22292 22293 ;------------------------------------------------------------------------------ 22294 Object DragonTankFlameProjectileUpgraded 22295 22296 ; Explanation - Particles can't do damage, so this is a fast shooting low 22297 ; damage invisible missile launcher with a flame trail for exhaust 22298 22299 ; *** ART Parameters *** 22300 Draw = W3DModelDraw ModuleTag_01 22301 OkToChangeModelColor = Yes 22302 ConditionState = NONE 22303 Model = NULL 22304 End 22305 End 22306 ; Must have a draw module to be allowed to draw detonation FX 22307 22308 ; ***DESIGN parameters *** 22309 EditorSorting = SYSTEM 22310 VisionRange = 0.0 22311 ArmorSet 22312 Conditions = None 22313 Armor = ProjectileArmor 22314 DamageFX = None 22315 End 22316 22317 ; *** ENGINEERING Parameters *** 22318 KindOf = PROJECTILE 22319 Body = ActiveBody ModuleTag_02 22320 MaxHealth = 100.0 22321 InitialHealth = 100.0 22322 End 22323 22324 Behavior = DestroyDie ModuleTag_03 22325 ;nothing 22326 End 22327 22328 Behavior = PhysicsBehavior ModuleTag_04 22329 Mass = 1 22330 AllowCollideForce = No ; flames collide, but never apply forces when they do so 22331 End 22332 Behavior = MissileAIUpdate ModuleTag_05 22333 TryToFollowTarget = No 22334 FuelLifetime = 350 22335 DetonateOnNoFuel = Yes 22336 InitialVelocity = 120 ; in dist/sec 22337 IgnitionDelay = 0 22338 DistanceToTravelBeforeTurning = 2 22339 GarrisonHitKillRequiredKindOf = INFANTRY 22340 GarrisonHitKillForbiddenKindOf = NONE 22341 GarrisonHitKillCount = 2 22342 GarrisonHitKillFX = FX_DragonFlameGarrisonBuildingHit 22343 DistanceToTargetForLock = 0 ; If it gets within 100 of the target, it kills the target. 22344 22345 End 22346 Locomotor = SET_NORMAL DragonTankFlameLocomotor 22347 22348 Behavior = BoneFXUpdate ModuleTag_06 22349 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail01Upgraded ; Covers gap at beginning of line 22350 PristineParticleSystem2 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail02Upgraded 22351 PristineParticleSystem3 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail03Upgraded 22352 PristineParticleSystem4 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail04Upgraded 22353 PristineParticleSystem5 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail06Upgraded 22354 22355 PristineParticleSystem6 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerSmoke01 22356 End 22357 22358 Behavior = BoneFXDamage ModuleTag_07 22359 ;nothing 22360 End 22361 22362 Geometry = Sphere 22363 GeometryIsSmall = Yes 22364 GeometryMajorRadius = 2.0 22365 22366 End 22367 22368 ;------------------------------------------------------------------------------ 22369 Object FlamethrowerProjectileStreamUpgraded 22370 22371 ; *** ART Parameters *** 22372 Draw = W3DProjectileStreamDraw ModuleTag_01 22373 Texture = EXfthrowerStreamUpgraded.tga 22374 Width = 1.5 22375 TileFactor = 3.0 ; put the texture on the line segment this many times 22376 ScrollRate = 2.0; scroll the texture offset this fast 22377 MaxSegments = 4 ; only play the first X if there are a ton of them. 0 means play all 22378 End 22379 22380 ; *** ENGINEERING Parameters *** 22381 KindOf = INERT 22382 Behavior = ProjectileStreamUpdate ModuleTag_02 22383 ;nothing 22384 End 22385 22386 End 22387 22388 ;------------------------------------------------------------------------------ 22389 Object PointDefenseLaserBeam 22390 ; *** ART Parameters *** 22391 Draw = W3DLaserDraw ModuleTag_01 22392 Texture = EXLaser.tga 22393 NumBeams = 3 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. 22394 22395 InnerBeamWidth = 0.4 ;The total width of beam 22396 InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) 22397 22398 OuterBeamWidth = 1.2 ;The total width of beam 22399 OuterColor = R:255 G:0 B:0 A:150 ;The outside color of the laser (cool) 22400 22401 ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. 22402 ;FadeLifetime = 0 ;Laser will fade and delete. 22403 22404 ;@todo -- add shot ability functionality (instead of instant point A to B) 22405 End 22406 22407 KindOf = IMMOBILE 22408 ClientUpdate = LaserUpdate ModuleTag_02 22409 MuzzleParticleSystem = PaladinPointDefenseLaserFlare 22410 ParentFireBoneName = Laser 22411 ParentFireBoneOnTurret = Yes 22412 End 22413 22414 ;Used as a weapon, this is essentially a fast pulse laser. Adjusting 22415 ;the lifetime values will determine how long it renders. The damage 22416 ;is applied immediately, so lifetime doesn't matter. 22417 Behavior = LifetimeUpdate ModuleTag_03 22418 MinLifetime = 95 ; min lifetime in msec 22419 MaxLifetime = 95 ; max lifetime in msec 22420 End 22421 End 22422 22423 22424 ;------------------------------------------------------------------------------ 22425 Object LaserBeam 22426 ; *** ART Parameters *** 22427 Draw = W3DLaserDraw ModuleTag_01 22428 Texture = EXLaser.tga 22429 NumBeams = 3 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. 22430 22431 InnerBeamWidth = 0.4 ;The total width of beam 22432 InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) 22433 22434 OuterBeamWidth = 1.2 ;The total width of beam 22435 OuterColor = R:255 G:0 B:0 A:150 ;The outside color of the laser (cool) 22436 22437 ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. 22438 ;FadeLifetime = 0 ;Laser will fade and delete. 22439 22440 ;@todo -- add shot ability functionality (instead of instant point A to B) 22441 End 22442 22443 KindOf = IMMOBILE 22444 ClientUpdate = LaserUpdate ModuleTag_02 22445 MuzzleParticleSystem = GenericLaserFlare 22446 ParentFireBoneName = Muzzle01 22447 TargetParticleSystem = GenericLaserFlare 22448 End 22449 End 22450 22451 ;------------------------------------------------------------------------------ 22452 Object ParticleUplinkCannon_MediumConnectorLaser 22453 ; *** ART Parameters *** 22454 Draw = W3DLaserDraw ModuleTag_01 22455 Texture = EXLaser.tga 22456 NumBeams = 4 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. 22457 22458 InnerBeamWidth = 0.4 ;The total width of beam 22459 InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) 22460 22461 OuterBeamWidth = 1.2 ;The total width of beam 22462 OuterColor = R:0 G:0 B:255 A:150 ;The outside color of the laser (cool) 22463 22464 ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. 22465 ;FadeLifetime = 0 ;Laser will fade and delete. 22466 22467 ;@todo -- add shot ability functionality (instead of instant point A to B) 22468 End 22469 22470 KindOf = IMMOBILE 22471 22472 ClientUpdate = LaserUpdate ModuleTag_02 22473 ;MuzzleParticleSystem = None 22474 ;TargetParticleSystem = None 22475 End 22476 End 22477 22478 ;------------------------------------------------------------------------------ 22479 Object ParticleUplinkCannon_IntenseConnectorLaser 22480 ; *** ART Parameters *** 22481 Draw = W3DLaserDraw ModuleTag_01 22482 Texture = EXLaser.tga 22483 NumBeams = 5 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. 22484 22485 InnerBeamWidth = 0.6 ;The total width of beam 22486 InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) 22487 22488 OuterBeamWidth = 2.0 ;The total width of beam 22489 OuterColor = R:0 G:0 B:255 A:150 ;The outside color of the laser (cool) 22490 22491 ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. 22492 ;FadeLifetime = 0 ;Laser will fade and delete. 22493 22494 ;@todo -- add shot ability functionality (instead of instant point A to B) 22495 End 22496 22497 KindOf = IMMOBILE 22498 22499 ClientUpdate = LaserUpdate ModuleTag_02 22500 ;MuzzleParticleSystem = None 22501 ;TargetParticleSystem = None 22502 End 22503 End 22504 22505 ;------------------------------------------------------------------------------ 22506 Object ParticleUplinkCannon_OrbitalLaser 22507 ; *** ART Parameters *** 22508 Draw = W3DLaserDraw ModuleTag_01 22509 Texture = EXNoise02.tga 22510 NumBeams = 12 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. 22511 22512 Tile = Yes ;The height of the texture will determine how many times to tile the texture to fit without scaling. 22513 ScrollRate = -1.75 ;Scrolls the texture offset this fast -- towards(-) away(+) 22514 TilingScalar = 0.15 ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural) 22515 22516 InnerBeamWidth = 0.6 ;The total width of beam 22517 InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) 22518 22519 OuterBeamWidth = 26.0 ;The total width of beam 22520 OuterColor = R:0 G:0 B:255 A:150 ;The outside color of the laser (cool) 22521 22522 ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. 22523 ;FadeLifetime = 0 ;Laser will fade and delete. 22524 22525 ;@todo -- add shot ability functionality (instead of instant point A to B) 22526 End 22527 22528 ; *** DESIGN Parameters *** 22529 VisionRange = 100 22530 ShroudClearingRange = 120 22531 22532 ; *** ENGINEERING Parameters *** 22533 KindOf = IMMOBILE 22534 22535 ClientUpdate = LaserUpdate ModuleTag_02 22536 ;MuzzleParticleSystem = None 22537 ;TargetParticleSystem = None 22538 End 22539 End 22540 22541 22542 22543 ;------------------------------------------------------------------------------ 22544 Object BinaryDataStream 22545 ; *** ART Parameters *** 22546 Draw = W3DLaserDraw ModuleTag_01 22547 Texture = EXBinaryStream.tga 22548 NumBeams = 1 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. Current max: 10 22549 InnerBeamWidth = 4 ;The total width of beam 22550 InnerColor = R:0 G:255 B:0 A:180 ;The inside color of the laser (hot) 22551 Tile = Yes ;The height of the texture will determine how many times to tile the texture to fit without scaling. 22552 ScrollRate = -0.25 ;Scrolls the texture offset this fast -- towards(-) away(+) 22553 Segments = 20 ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20 22554 ArcHeight = 30.0 ;The height of the arc 22555 SegmentOverlapRatio = 0.0000 ;This value overlaps(+) or separates(-) the segments by ratio 22556 TilingScalar = 0.25 ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural) 22557 End 22558 22559 KindOf = IMMOBILE 22560 ClientUpdate = LaserUpdate ModuleTag_02 22561 ;nothing 22562 End 22563 End 22564 22565 ;------------------------------------------------------------------------------ 22566 Object ChinaVehicleTroopCrawler 22567 22568 ; *** ART Parameters *** 22569 SelectPortrait = SNTransport_L 22570 ButtonImage = SNTransport 22571 22572 ;UpgradeCameo1 = NONE 22573 ;UpgradeCameo2 = NONE 22574 ;UpgradeCameo3 = NONE 22575 ;UpgradeCameo4 = NONE 22576 ;UpgradeCameo5 = NONE 22577 22578 Draw = W3DTruckDraw ModuleTag_01 22579 OkToChangeModelColor = Yes 22580 ConditionState = NONE 22581 Model = NVTCrawler 22582 ;note, the IRSonar particle system is added in StealthDetectorUpdate.cpp, not here 22583 End 22584 ConditionState = REALLYDAMAGED RUBBLE ; THIS IS VERY IMPORTANT... DO NOT REMOVE 'RUBBLE' UNDER PENALTY OF DEATH MLorenzen 22585 ; @todo find out why a non-animating model like this has such trouble matching 22586 ; reallydamaged against moving against rubble, etc. 22587 Model = NVTCrawler_D 22588 End 22589 22590 TrackMarks = EXTireTrack.tga 22591 22592 Dust = RocketBuggyDust 22593 DirtSpray = RocketBuggyDirtSpray 22594 ; PowerslideSpray = RocketBuggyDirtPowerSlide doesn't powerslide 22595 22596 ; These parameters are only used if the model has a separate suspension, 22597 ; and the locomotor has HasSuspension = Yes. 22598 LeftFrontTireBone = Wheel01 22599 RightFrontTireBone = Wheel08 22600 LeftRearTireBone = Wheel03 22601 RightRearTireBone = Wheel05 22602 MidLeftFrontTireBone = Wheel02 22603 MidRightFrontTireBone = Wheel07 22604 MidLeftRearTireBone = Wheel04 22605 MidRightRearTireBone = Wheel06 22606 22607 TireRotationMultiplier = 0.2 ; this * speed = rotation. 22608 PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. 22609 22610 End 22611 22612 22613 ; ***DESIGN parameters *** 22614 DisplayName = OBJECT:TroopCrawler 22615 Side = China 22616 EditorSorting = VEHICLE 22617 TransportSlotCount = 8 ;Just enough to fit into a Chinook. 22618 WeaponSet 22619 Conditions = None 22620 Weapon = PRIMARY TroopCrawlerAssault 22621 End 22622 ArmorSet 22623 Conditions = None 22624 Armor = TankArmor 22625 DamageFX = TankDamageFX 22626 End 22627 BuildCost = 1400 22628 BuildTime = 15.0 ;in seconds 22629 VisionRange = 175 ;Needs to see farther and match it's weapon range -- else troop crawlers will get slaughtered against tanks! 22630 ShroudClearingRange = 400 22631 Prerequisites 22632 Object = ChinaWarFactory 22633 End 22634 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 22635 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 22636 CommandSet = ChinaTroopCrawlerCommandSet 22637 22638 ; *** AUDIO Parameters *** 22639 VoiceSelect = TroopCrawlerVoiceSelect 22640 VoiceMove = TroopCrawlerVoiceMove 22641 VoiceGuard = TroopCrawlerVoiceMove 22642 VoiceAttack = TroopCrawlerVoiceAttack 22643 SoundMoveStart = TroopCrawlerMoveStart 22644 SoundMoveStartDamaged = TroopCrawlerMoveStart 22645 SoundEnter = HumveeEnter 22646 SoundExit = HumveeExit 22647 UnitSpecificSounds 22648 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 22649 VoiceCreate = TroopCrawlerVoiceCreate 22650 TurretMoveStart = NoSound 22651 TurretMoveLoop = TurretMoveLoop 22652 TruckLandingSound = NoSound ;RocketBuggyLand 22653 TruckPowerslideSound = NoSound ;RocketBuggyPowerslide 22654 VoiceCrush = TroopCrawlerVoiceCrush 22655 VoiceUnload = TroopCrawlerVoiceUnload 22656 VoiceEnter = TroopCrawlerVoiceMove 22657 End 22658 22659 22660 ; *** ENGINEERING Parameters *** 22661 RadarPriority = UNIT 22662 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS TRANSPORT VEHICLE SCORE 22663 22664 Body = ActiveBody ModuleTag_02 22665 MaxHealth = 240.0 22666 InitialHealth = 240.0 22667 End 22668 Behavior = StealthDetectorUpdate ModuleTag_03 22669 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) 22670 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 22671 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 22672 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 22673 PingSound = IRPing 22674 LoudPingSound = IRPingLoud 22675 IRParticleSysName = IRDetectSonar 22676 IRBrightParticleSysName = IRDetectSonarBright 22677 IRGridParticleSysName = IRDetectGrid 22678 IRBeaconParticleSysName = IRLenzflare 22679 IRParticleSysBone = IRFX 22680 End 22681 22682 ;OBSOLETE 22683 ; Behavior = AIUpdateInterface ModuleTag_04 22684 ; Turret 22685 ; ControlledWeaponSlots = PRIMARY 22686 ; End 22687 ; End 22688 Behavior = AssaultTransportAIUpdate ModuleTag_NewAI 22689 MembersGetHealedAtLifeRatio = 0.5 22690 End 22691 22692 Locomotor = SET_NORMAL TroopCrawlerLocomotor 22693 Behavior = PhysicsBehavior ModuleTag_05 22694 Mass = 50.0 22695 End 22696 Behavior = TransportContain ModuleTag_06 22697 Slots = 8 22698 PassengersAllowedToFire = Yes 22699 InitialPayload = ChinaInfantryRedguard 8 22700 ScatterNearbyOnExit = No 22701 HealthRegen%PerSec = 10 22702 DamagePercentToUnits = 10% 22703 AllowInsideKindOf = INFANTRY 22704 ExitDelay = 250 22705 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn 22706 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 22707 End 22708 22709 Behavior = SlowDeathBehavior ModuleTag_07 22710 DeathTypes = ALL -CRUSHED -SPLATTED 22711 DestructionDelay = 1 22712 FX = FINAL FX_SupplyTruckExplosionOneFinal 22713 OCL = FINAL OCL_FinalTroopCrawlerDebris 22714 End 22715 22716 Behavior = TransitionDamageFX ModuleTag_08 22717 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 22718 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition 22719 End 22720 22721 Behavior = DestroyDie ModuleTag_09 22722 DeathTypes = NONE +CRUSHED +SPLATTED 22723 End 22724 22725 Behavior = FXListDie ModuleTag_10 22726 DeathTypes = NONE +CRUSHED +SPLATTED 22727 DeathFX = FX_CarCrush 22728 End 22729 22730 ; A crushing defeat 22731 Behavior = FXListDie ModuleTag_11 22732 DeathTypes = NONE +CRUSHED +SPLATTED 22733 DeathFX = FX_CarCrush 22734 End 22735 22736 Behavior = CreateCrateDie ModuleTag_12 22737 CrateData = SalvageCrateData 22738 ;CrateData = EliteTankCrateData 22739 ;CrateData = HeroicTankCrateData 22740 End 22741 22742 Behavior = FlammableUpdate ModuleTag_21 22743 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 22744 AflameDamageAmount = 3 ; taking this much damage... 22745 AflameDamageDelay = 500 ; this often. 22746 End 22747 22748 Geometry = BOX 22749 GeometryMajorRadius = 22.0 22750 GeometryMinorRadius = 9.0 22751 GeometryHeight = 13.0 22752 GeometryIsSmall = No 22753 Shadow = SHADOW_VOLUME 22754 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 22755 22756 End 22757 ;------------------------------------------------------------------------------ 22758 Object ChinaVehicleTroopCrawlerDeadHull 22759 22760 ; *** ART Parameters *** 22761 Draw = W3DModelDraw ModuleTag_01 22762 OkToChangeModelColor = Yes 22763 22764 ConditionState = NONE 22765 Model = NVTCrawler_D1 22766 End 22767 End 22768 22769 ; ***DESIGN parameters *** 22770 Side = China 22771 EditorSorting = SYSTEM 22772 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 22773 22774 ; *** AUDIO Parameters *** 22775 ; *** ENGINEERING Parameters *** 22776 RadarPriority = UNIT 22777 KindOf = CAN_CAST_REFLECTIONS IMMOBILE NO_COLLIDE HULK 22778 22779 Body = ActiveBody ModuleTag_02 22780 MaxHealth = 1.0 22781 InitialHealth = 1.0 22782 End 22783 22784 Behavior = PhysicsBehavior ModuleTag_Hulk03 22785 Mass = 100.0 22786 AllowBouncing = Yes 22787 KillWhenRestingOnGround = Yes 22788 End 22789 Behavior = LifetimeUpdate ModuleTag_Hulk04 22790 MinLifetime = 1500 ; min lifetime in msec 22791 MaxLifetime = 1600 ; max lifetime in msec 22792 End 22793 22794 Behavior = SlowDeathBehavior ModuleTag_Hulk05 22795 SinkDelay = 1500 22796 SinkRate = 2 ; in Dist/Sec 22797 DestructionDelay = 8000 22798 End 22799 22800 22801 Geometry = BOX 22802 GeometryMajorRadius = 9.0 22803 GeometryMinorRadius = 6.0 22804 GeometryHeight = 7.5 22805 GeometryIsSmall = Yes 22806 22807 End 22808 22809 ;------------------------------------------------------------------------------ 22810 Object ChinaVehicleTroopCrawlerEmpty 22811 22812 ; *** ART Parameters *** 22813 SelectPortrait = SNTransport_L 22814 ButtonImage = SNTransport 22815 Draw = W3DTankDraw ModuleTag_01 22816 OkToChangeModelColor = Yes 22817 TrackMarks = EXTireTrack.tga 22818 ConditionState = NONE 22819 Model = NVTCrawler 22820 End 22821 ConditionState = REALLYDAMAGED 22822 Model = NVTCrawler_D 22823 End 22824 ConditionState = RUBBLE 22825 Model = NVTCrawler_D 22826 End 22827 End 22828 22829 ; ***DESIGN parameters *** 22830 DisplayName = OBJECT:TroopCrawler 22831 Side = China 22832 EditorSorting = VEHICLE 22833 TransportSlotCount = 8 ;how many "slots" we take in a transport (0 == not transportable) 22834 WeaponSet 22835 Conditions = None 22836 Weapon = PRIMARY TroopCrawlerAssault 22837 End 22838 ArmorSet 22839 Conditions = None 22840 Armor = TankArmor 22841 DamageFX = TankDamageFX 22842 End 22843 BuildCost = 700 22844 BuildTime = 1.0 ;in seconds 22845 VisionRange = 150 22846 ShroudClearingRange = 150 22847 Prerequisites 22848 Object = ChinaWarFactory 22849 End 22850 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 22851 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 22852 CommandSet = ChinaTroopCrawlerCommandSet 22853 22854 ; *** AUDIO Parameters *** 22855 VoiceSelect = TroopCrawlerVoiceSelect 22856 VoiceMove = TroopCrawlerVoiceMove 22857 VoiceGuard = TroopCrawlerVoiceMove 22858 VoiceAttack = TroopCrawlerVoiceAttack 22859 SoundMoveStart = TroopCrawlerMoveStart 22860 SoundMoveStartDamaged = TroopCrawlerMoveStart 22861 22862 UnitSpecificSounds 22863 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 22864 VoiceCreate = TroopCrawlerVoiceCreate 22865 TurretMoveStart = NoSound 22866 TurretMoveLoop = TurretMoveLoop 22867 VoiceUnload = TroopCrawlerVoiceUnload 22868 VoiceEnter = TroopCrawlerVoiceMove 22869 End 22870 22871 22872 ; *** ENGINEERING Parameters *** 22873 RadarPriority = UNIT 22874 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS TRANSPORT VEHICLE SCORE 22875 22876 Body = ActiveBody ModuleTag_02 22877 MaxHealth = 200.0 22878 InitialHealth = 200.0 22879 End 22880 Behavior = AIUpdateInterface ModuleTag_03 22881 Turret 22882 ControlledWeaponSlots = PRIMARY 22883 End 22884 End 22885 Locomotor = SET_NORMAL TroopCrawlerLocomotor 22886 Behavior = PhysicsBehavior ModuleTag_04 22887 Mass = 50.0 22888 End 22889 22890 22891 Behavior = SlowDeathBehavior ModuleTag_05 22892 DeathTypes = ALL -CRUSHED -SPLATTED 22893 ProbabilityModifier = 5 22894 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 22895 DestructionDelay = 0 22896 DestructionDelayVariance = 200 22897 FX = FINAL FX_BuggyNewDeathExplosion 22898 OCL = FINAL OCL_FinalTroopCrawlerDebris 22899 End 22900 22901 Behavior = TransportContain ModuleTag_06 22902 Slots = 8 22903 PassengersAllowedToFire = Yes 22904 HealthRegen%PerSec = 10 22905 DamagePercentToUnits = 10% 22906 AllowInsideKindOf = INFANTRY 22907 End 22908 22909 22910 ; A crushing defeat 22911 Behavior = FXListDie ModuleTag_07 22912 DeathTypes = NONE +CRUSHED +SPLATTED 22913 DeathFX = FX_CarCrush 22914 End 22915 Behavior = CreateObjectDie ModuleTag_08 22916 DeathTypes = NONE +CRUSHED +SPLATTED 22917 CreationList = OCL_CrusaderTank_CrushEffect 22918 End 22919 Behavior = CreateCrateDie ModuleTag_09 22920 CrateData = SalvageCrateData 22921 ;CrateData = EliteTankCrateData 22922 ;CrateData = HeroicTankCrateData 22923 End 22924 22925 Behavior = FlammableUpdate ModuleTag_21 22926 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 22927 AflameDamageAmount = 3 ; taking this much damage... 22928 AflameDamageDelay = 500 ; this often. 22929 End 22930 22931 Geometry = BOX 22932 GeometryMajorRadius = 22.0 22933 GeometryMinorRadius = 9.0 22934 GeometryHeight = 13.0 22935 GeometryIsSmall = No 22936 Shadow = SHADOW_VOLUME 22937 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 22938 22939 End 22940 22941 22942 ;------------------------------------------------------------------------------ 22943 Object ChinaVehicleInfernoCannon 22944 22945 ; *** ART Parameters *** 22946 SelectPortrait = SNInferno_L 22947 ButtonImage = SNInferno 22948 22949 UpgradeCameo1 = Upgrade_ChinaBlackNapalm 22950 ;UpgradeCameo2 = NONE 22951 ;UpgradeCameo3 = NONE 22952 ;UpgradeCameo4 = NONE 22953 ;UpgradeCameo5 = NONE 22954 22955 Draw = W3DTankDraw ModuleTag_01 22956 OkToChangeModelColor = Yes 22957 ConditionState = NONE 22958 Model = NVInferno 22959 Turret = Turret 22960 TurretPitch = TurretEL 22961 WeaponFireFXBone = PRIMARY Muzzle 22962 WeaponRecoilBone = PRIMARY Barrel 22963 WeaponMuzzleFlash = PRIMARY MuzzleFX 22964 WeaponLaunchBone = PRIMARY Muzzle 22965 End 22966 22967 ConditionState = RUBBLE REALLYDAMAGED 22968 Model = NVInferno_D 22969 Turret = Turret 22970 TurretPitch = TurretEL 22971 WeaponFireFXBone = PRIMARY Muzzle 22972 WeaponRecoilBone = PRIMARY Barrel 22973 WeaponMuzzleFlash = PRIMARY MuzzleFX 22974 WeaponLaunchBone = PRIMARY Muzzle 22975 End 22976 22977 TrackMarks = EXTnkTrack.tga 22978 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 22979 End 22980 22981 ; ***DESIGN parameters *** 22982 DisplayName = OBJECT:InfernoCannon 22983 Side = China 22984 EditorSorting = VEHICLE 22985 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 22986 WeaponSet 22987 Conditions = None 22988 Weapon = PRIMARY InfernoCannonGun 22989 End 22990 WeaponSet 22991 Conditions = PLAYER_UPGRADE 22992 Weapon = PRIMARY InfernoCannonGunUpgraded 22993 End 22994 ArmorSet 22995 Conditions = None 22996 Armor = TankArmor 22997 DamageFX = TankDamageFX 22998 End 22999 BuildCost = 1000 23000 BuildTime = 15.0 ;in seconds 23001 VisionRange = 180 23002 ShroudClearingRange = 300 23003 Prerequisites 23004 Object = ChinaWarFactory 23005 Object = ChinaPropagandaCenter 23006 End 23007 23008 ExperienceValue = 50 50 100 150 ;Experience point value at each level 23009 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 23010 IsTrainable = Yes ;Can gain experience 23011 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 23012 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 23013 CommandSet = ChinaVehicleInfernoCannonCommandSet 23014 23015 ; *** AUDIO Parameters *** 23016 VoiceSelect = InfernoCannonVoiceSelect 23017 VoiceMove = InfernoCannonVoiceMove 23018 VoiceGuard = InfernoCannonVoiceMove 23019 VoiceAttack = InfernoCannonVoiceAttack 23020 SoundMoveStart = InfernoCannonMoveStart 23021 SoundMoveStartDamaged = InfernoCannonMoveStart 23022 UnitSpecificSounds 23023 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 23024 VoiceCreate = InfernoCannonVoiceCreate 23025 TurretMoveStart = NoSound 23026 TurretMoveLoop = NoSound 23027 VoiceCrush = InfernoCannonVoiceCrush 23028 VoiceEnter = InfernoCannonVoiceMove 23029 End 23030 23031 23032 ; *** ENGINEERING Parameters *** 23033 RadarPriority = UNIT 23034 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 23035 23036 Body = ActiveBody ModuleTag_02 23037 MaxHealth = 120.0 23038 InitialHealth = 120.0 23039 End 23040 23041 23042 23043 Behavior = AIUpdateInterface ModuleTag_04 23044 Turret 23045 TurretTurnRate = 100 23046 TurretPitchRate = 100 23047 AllowsPitch = Yes 23048 FirePitch = 45 23049 ControlledWeaponSlots = PRIMARY 23050 End 23051 AutoAcquireEnemiesWhenIdle = No NotWhileAttacking 23052 End 23053 Locomotor = SET_NORMAL InfernoLocomotor 23054 Behavior = PhysicsBehavior ModuleTag_05 23055 Mass = 50.0 23056 End 23057 23058 ; A crushing defeat 23059 Behavior = FXListDie ModuleTag_06 23060 DeathTypes = NONE +CRUSHED +SPLATTED 23061 DeathFX = FX_CarCrush 23062 End 23063 Behavior = CreateObjectDie ModuleTag_07 23064 DeathTypes = NONE +CRUSHED +SPLATTED 23065 CreationList = OCL_CrusaderTank_CrushEffect 23066 End 23067 Behavior = SlowDeathBehavior ModuleTag_08 23068 DeathTypes = ALL -CRUSHED -SPLATTED 23069 ProbabilityModifier = 50 23070 DestructionDelay = 2000 23071 DestructionDelayVariance = 300 23072 FX = INITIAL FX_CrusaderCatchFire 23073 FX = FINAL FX_GenericTankDeathExplosion 23074 OCL = FINAL OCL_InfernoCannonDeathEffect 23075 End 23076 23077 Behavior = TransitionDamageFX ModuleTag_09 23078 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 23079 ReallyDamagedFXList1 = Loc: X:-7 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 23080 End 23081 23082 Behavior = CreateCrateDie ModuleTag_10 23083 CrateData = SalvageCrateData 23084 ;CrateData = EliteTankCrateData 23085 ;CrateData = HeroicTankCrateData 23086 End 23087 23088 Behavior = WeaponSetUpgrade ModuleTag_11 23089 TriggeredBy = Upgrade_ChinaBlackNapalm 23090 End 23091 23092 Behavior = FlammableUpdate ModuleTag_21 23093 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 23094 AflameDamageAmount = 3 ; taking this much damage... 23095 AflameDamageDelay = 500 ; this often. 23096 End 23097 23098 Behavior = DestroyDie ModuleTag_22 23099 DeathTypes = NONE +CRUSHED +SPLATTED 23100 End 23101 23102 Geometry = BOX 23103 GeometryMajorRadius = 15.0 23104 GeometryMinorRadius = 10.0 23105 GeometryHeight = 15.0 23106 GeometryIsSmall = Yes 23107 Shadow = SHADOW_VOLUME 23108 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 23109 23110 End 23111 23112 ;------------------------------------------------------------------------------ 23113 ;***************************** Cinematic-Only unit **************************** 23114 Object CINE_ChinaVehicleInfernoCannon 23115 23116 ; *** ART Parameters *** 23117 SelectPortrait = SNInferno_L 23118 ButtonImage = SNInferno 23119 23120 UpgradeCameo1 = Upgrade_ChinaBlackNapalm 23121 ;UpgradeCameo2 = NONE 23122 ;UpgradeCameo3 = NONE 23123 ;UpgradeCameo4 = NONE 23124 ;UpgradeCameo5 = NONE 23125 23126 Draw = W3DTankDraw ModuleTag_01 23127 OkToChangeModelColor = Yes 23128 ConditionState = NONE 23129 Model = NVInferno 23130 Turret = Turret 23131 TurretPitch = TurretEL 23132 WeaponFireFXBone = PRIMARY Muzzle 23133 WeaponRecoilBone = PRIMARY Barrel 23134 WeaponMuzzleFlash = PRIMARY MuzzleFX 23135 WeaponLaunchBone = PRIMARY Muzzle 23136 End 23137 23138 ConditionState = RUBBLE REALLYDAMAGED 23139 Model = NVInferno_D 23140 Turret = Turret 23141 TurretPitch = TurretEL 23142 WeaponFireFXBone = PRIMARY Muzzle 23143 WeaponRecoilBone = PRIMARY Barrel 23144 WeaponMuzzleFlash = PRIMARY MuzzleFX 23145 WeaponLaunchBone = PRIMARY Muzzle 23146 End 23147 23148 TrackMarks = EXTnkTrack.tga 23149 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 23150 End 23151 23152 ; ***DESIGN parameters *** 23153 DisplayName = OBJECT:InfernoCannon 23154 Side = China 23155 EditorSorting = VEHICLE 23156 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 23157 WeaponSet 23158 Conditions = None 23159 Weapon = PRIMARY InfernoCannonGun 23160 End 23161 ArmorSet 23162 Conditions = None 23163 Armor = TankArmor 23164 DamageFX = TankDamageFX 23165 End 23166 BuildCost = 900 23167 BuildTime = 15.0 ;in seconds 23168 VisionRange = 300 23169 ShroudClearingRange = 300 23170 Prerequisites 23171 Object = ChinaWarFactory 23172 Object = ChinaPropagandaCenter 23173 End 23174 23175 ExperienceValue = 50 50 100 150 ;Experience point value at each level 23176 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 23177 IsTrainable = Yes ;Can gain experience 23178 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 23179 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 23180 CommandSet = ChinaVehicleInfernoCannonCommandSet 23181 23182 ; *** AUDIO Parameters *** 23183 VoiceSelect = InfernoCannonVoiceSelect 23184 VoiceMove = InfernoCannonVoiceMove 23185 VoiceGuard = InfernoCannonVoiceMove 23186 VoiceAttack = InfernoCannonVoiceAttack 23187 SoundMoveStart = InfernoCannonMoveStart 23188 SoundMoveStartDamaged = InfernoCannonMoveStart 23189 UnitSpecificSounds 23190 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 23191 VoiceCreate = InfernoCannonVoiceCreate 23192 TurretMoveStart = NoSound 23193 TurretMoveLoop = NoSound 23194 VoiceCrush = InfernoCannonVoiceCrush 23195 VoiceEnter = InfernoCannonVoiceMove 23196 End 23197 23198 23199 ; *** ENGINEERING Parameters *** 23200 RadarPriority = UNIT 23201 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 23202 23203 Body = ActiveBody ModuleTag_02 23204 MaxHealth = 120.0 23205 InitialHealth = 120.0 23206 End 23207 23208 Behavior = VeterancyGainCreate ModuleTag_03 23209 StartingLevel = VETERAN 23210 ScienceRequired = SCIENCE_ArtilleryTraining 23211 End 23212 23213 Behavior = AIUpdateInterface ModuleTag_04 23214 Turret 23215 TurretTurnRate = 100 23216 TurretPitchRate = 100 23217 AllowsPitch = Yes 23218 FirePitch = 45 23219 ControlledWeaponSlots = PRIMARY 23220 End 23221 AutoAcquireEnemiesWhenIdle = No NotWhileAttacking 23222 End 23223 Locomotor = SET_NORMAL CINE_InfernoLocomotor 23224 Behavior = PhysicsBehavior ModuleTag_05 23225 Mass = 50.0 23226 End 23227 23228 ; A crushing defeat 23229 Behavior = FXListDie ModuleTag_06 23230 DeathTypes = NONE +CRUSHED +SPLATTED 23231 DeathFX = FX_CarCrush 23232 End 23233 Behavior = CreateObjectDie ModuleTag_07 23234 DeathTypes = NONE +CRUSHED +SPLATTED 23235 CreationList = OCL_CrusaderTank_CrushEffect 23236 End 23237 Behavior = SlowDeathBehavior ModuleTag_08 23238 DeathTypes = ALL -CRUSHED -SPLATTED 23239 ProbabilityModifier = 50 23240 DestructionDelay = 2000 23241 DestructionDelayVariance = 300 23242 FX = INITIAL FX_CrusaderCatchFire 23243 FX = FINAL FX_GenericTankDeathExplosion 23244 OCL = FINAL OCL_InfernoCannonDeathEffect 23245 End 23246 23247 Behavior = TransitionDamageFX ModuleTag_09 23248 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 23249 ReallyDamagedFXList1 = Loc: X:-7 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 23250 End 23251 23252 Behavior = CreateCrateDie ModuleTag_10 23253 CrateData = SalvageCrateData 23254 ;CrateData = EliteTankCrateData 23255 ;CrateData = HeroicTankCrateData 23256 End 23257 23258 Behavior = DestroyDie ModuleTag_11 23259 DeathTypes = NONE +CRUSHED +SPLATTED 23260 End 23261 23262 Behavior = FlammableUpdate ModuleTag_21 23263 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 23264 AflameDamageAmount = 3 ; taking this much damage... 23265 AflameDamageDelay = 500 ; this often. 23266 End 23267 23268 Geometry = BOX 23269 GeometryMajorRadius = 15.0 23270 GeometryMinorRadius = 10.0 23271 GeometryHeight = 15.0 23272 GeometryIsSmall = Yes 23273 Shadow = SHADOW_VOLUME 23274 23275 End 23276 23277 ;------------------------------------------------------------------------------ 23278 ;Also called NukeCannon 23279 Object ChinaVehicleNukeLauncher 23280 23281 ; *** ART Parameters *** 23282 SelectPortrait = SNNukeCannon_L 23283 ButtonImage = SNNukeCannon_L 23284 23285 ;UpgradeCameo1 = NONE 23286 ;UpgradeCameo2 = NONE 23287 ;UpgradeCameo3 = NONE 23288 ;UpgradeCameo4 = NONE 23289 ;UpgradeCameo5 = NONE 23290 23291 Draw = W3DTankDraw ModuleTag_01 23292 23293 InitialRecoilSpeed = 120 23294 MaxRecoilDistance = 8 23295 RecoilSettleSpeed = 6 23296 23297 OkToChangeModelColor = Yes 23298 23299 ExtraPublicBone = Turret01 23300 23301 DefaultConditionState 23302 Model = NVNukeCn 23303 WeaponLaunchBone = PRIMARY Muzzle 23304 WeaponMuzzleFlash = PRIMARY MuzzleFX 23305 WeaponFireFXBone = PRIMARY Muzzle 23306 WeaponRecoilBone = PRIMARY Barrel 23307 HideSubObject = TURRET01 ;Hide controlled turret 23308 ShowSubObject = TURRETFRONT TURRETBACK ;Show pack/unpack animated turret 23309 Turret = Turret01 23310 TurretPitch = TurretEL 23311 End 23312 23313 ConditionState = RUBBLE 23314 Model = NVNukeCn_D 23315 WeaponLaunchBone = PRIMARY Muzzle 23316 WeaponMuzzleFlash = PRIMARY MuzzleFX 23317 WeaponRecoilBone = PRIMARY Barrel 23318 HideSubObject = TURRET01 ;Hide controlled turret 23319 ShowSubObject = TURRETFRONT TURRETBACK ;Show pack/unpack animated turret 23320 Turret = Turret01 23321 TurretPitch = TurretEL 23322 End 23323 23324 ;*** PACKED STATE -- ready to move *** 23325 ConditionState = MOVING 23326 Animation = NVNukeCn.NVNukeCn 23327 AnimationMode = ONCE_BACKWARDS 23328 Flags = START_FRAME_FIRST 23329 End 23330 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving 23331 AliasConditionState = BETWEEN_FIRING_SHOTS_A 23332 ;*** 23333 ConditionState = REALLYDAMAGED MOVING 23334 Model = NVNukeCn_D 23335 Animation = NVNukeCn_D.NVNukeCn_D 23336 AnimationMode = ONCE_BACKWARDS 23337 Flags = START_FRAME_FIRST 23338 End 23339 AliasConditionState = REALLYDAMAGED MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving 23340 23341 23342 ;*** UNPACKING STATE -- preparing to fire *** 23343 ConditionState = UNPACKING 23344 Animation = NVNukeCn.NVNukeCn 23345 AnimationMode = ONCE 23346 End 23347 AliasConditionState = UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 23348 ;*** 23349 ConditionState = REALLYDAMAGED UNPACKING 23350 Model = NVNukeCn_D 23351 Animation = NVNukeCn_D.NVNukeCn_D 23352 AnimationMode = ONCE 23353 End 23354 AliasConditionState = REALLYDAMAGED UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 23355 23356 ;*** PACKING STATE -- preparing to move *** 23357 ConditionState = PACKING 23358 Animation = NVNukeCn.NVNukeCn 23359 AnimationMode = ONCE_BACKWARDS 23360 Flags = START_FRAME_LAST 23361 End 23362 23363 AliasConditionState = PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 23364 ;*** 23365 ConditionState = REALLYDAMAGED PACKING 23366 Model = NVNukeCn_D 23367 Animation = NVNukeCn_D.NVNukeCn_D 23368 AnimationMode = ONCE_BACKWARDS 23369 Flags = START_FRAME_LAST 23370 End 23371 AliasConditionState = REALLYDAMAGED PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 23372 23373 ;*** DEPLOYED STATE -- ready to fire *** 23374 ConditionState = DEPLOYED 23375 Animation = NVNukeCn.NVNukeCn 23376 AnimationMode = ONCE 23377 Flags = START_FRAME_LAST 23378 TransitionKey = TRANS_FIRING_A 23379 HideSubObject = TURRETFRONT TURRETBACK ;Hide pack/unpack animated turret 23380 ShowSubObject = TURRET01 ;Show controlled turret 23381 End 23382 AliasConditionState = DEPLOYED FIRING_A 23383 AliasConditionState = DEPLOYED BETWEEN_FIRING_SHOTS_A 23384 AliasConditionState = DEPLOYED RELOADING_A 23385 AliasConditionState = DEPLOYED MOVING 23386 23387 ConditionState = DEPLOYED REALLYDAMAGED 23388 Model = NVNukeCn_D 23389 Animation = NVNukeCn_D.NVNukeCn_D 23390 AnimationMode = ONCE 23391 Flags = START_FRAME_LAST 23392 TransitionKey = TRANS_FIRING_A 23393 HideSubObject = TURRETFRONT TURRETBACK ;Hide pack/unpack animated turret 23394 ShowSubObject = TURRET01 ;Show controlled turret 23395 End 23396 AliasConditionState = DEPLOYED REALLYDAMAGED FIRING_A 23397 AliasConditionState = DEPLOYED REALLYDAMAGED BETWEEN_FIRING_SHOTS_A 23398 AliasConditionState = DEPLOYED REALLYDAMAGED RELOADING_A 23399 AliasConditionState = DEPLOYED REALLYDAMAGED MOVING 23400 23401 TrackMarks = EXTnkTrack.tga 23402 TreadAnimationRate = 4.0 ; amount of tread texture to move per second 23403 End 23404 23405 ; ***DESIGN parameters *** 23406 DisplayName = OBJECT:NukeLauncher 23407 Side = China 23408 EditorSorting = VEHICLE 23409 TransportSlotCount = 10 ;how many "slots" we take in a transport (0 == not transportable) 23410 WeaponSet 23411 Conditions = None 23412 Weapon = PRIMARY NukeCannonGun 23413 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 23414 End 23415 ArmorSet 23416 Conditions = None 23417 Armor = TankArmor 23418 DamageFX = TankDamageFX 23419 End 23420 BuildCost = 1600 23421 BuildTime = 20.0 ;in seconds 23422 VisionRange = 180 23423 ShroudClearingRange = 350 23424 Prerequisites 23425 Object = ChinaWarFactory 23426 Object = ChinaPropagandaCenter 23427 Science = SCIENCE_ArtilleryTraining 23428 End 23429 23430 ExperienceValue = 50 100 200 400 ;Experience point value at each level 23431 ExperienceRequired = 0 400 600 1000 ;Experience points needed to gain each level 23432 IsTrainable = Yes ;Can gain experience 23433 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 23434 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 23435 CommandSet = ChinaVehicleNukeCannonCommandSet 23436 23437 ; *** AUDIO Parameters *** 23438 VoiceSelect = NukeCannonVoiceSelect 23439 VoiceMove = NukeCannonVoiceMove 23440 VoiceGuard = NukeCannonVoiceMove 23441 VoiceAttack = NukeCannonVoiceAttack 23442 SoundMoveStart = NukeCannonMoveStart 23443 SoundMoveStartDamaged = NukeCannonMoveStart 23444 UnitSpecificSounds 23445 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 23446 VoiceCreate = NukeCannonVoiceCreate 23447 TurretMoveStart = NoSound 23448 TurretMoveLoop = NukeCannonTurretMoveLoop 23449 VoiceEnter = NukeCannonVoiceMove 23450 Deploy = NukeCannonDeploy 23451 Undeploy = NukeCannonUnDeploy 23452 End 23453 23454 23455 ; *** ENGINEERING Parameters *** 23456 RadarPriority = UNIT 23457 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 23458 23459 Body = ActiveBody ModuleTag_02 23460 MaxHealth = 240.0 23461 InitialHealth = 240.0 23462 End 23463 23464 23465 23466 Behavior = DeployStyleAIUpdate ModuleTag_04 23467 Turret 23468 TurretTurnRate = 80 23469 TurretPitchRate = 80 23470 FirePitch = 0 ; Instead of aiming pitchwise at the target, it will aim here 23471 AllowsPitch = Yes 23472 RecenterTime = 5000 ; how long to wait during idle before recentering 23473 ControlledWeaponSlots = PRIMARY 23474 NaturalTurretAngle = 0 23475 InitiallyDisabled = Yes 23476 End 23477 AutoAcquireEnemiesWhenIdle = No 23478 PackTime = 3333 23479 UnpackTime = 3333 23480 TurretsFunctionOnlyWhenDeployed = Yes 23481 TurretsMustCenterBeforePacking = Yes 23482 End 23483 23484 Locomotor = SET_NORMAL ChinaNukeCannonLocomotor 23485 Behavior = PhysicsBehavior ModuleTag_05 23486 Mass = 50.0 23487 End 23488 23489 Behavior = SlowDeathBehavior ModuleTag_06 23490 DeathTypes = ALL -CRUSHED -SPLATTED 23491 DestructionDelay = 500 23492 DestructionDelayVariance = 100 23493 FX = INITIAL FX_BattleMasterExplosionOneFinal 23494 OCL = INITIAL OCL_RadiationFieldSmall 23495 OCL = MIDPOINT OCL_ChinaVehicleNukeCannonDie 23496 OCL = FINAL OCL_RadiationFieldSmall 23497 FX = FINAL FX_ChinaVehicleNukeCannonDeathExplosion 23498 End 23499 23500 ; A crushing defeat 23501 Behavior = FXListDie ModuleTag_07 23502 DeathTypes = NONE +CRUSHED +SPLATTED 23503 DeathFX = FX_CarCrush 23504 End 23505 Behavior = CreateObjectDie ModuleTag_08 23506 DeathTypes = NONE +CRUSHED +SPLATTED 23507 CreationList = OCL_CrusaderTank_CrushEffect 23508 End 23509 Behavior = CreateCrateDie ModuleTag_09 23510 CrateData = SalvageCrateData 23511 ;CrateData = EliteTankCrateData 23512 ;CrateData = HeroicTankCrateData 23513 End 23514 23515 Behavior = TransitionDamageFX ModuleTag_10 23516 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 23517 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition 23518 End 23519 23520 Behavior = DestroyDie ModuleTag_11 23521 DeathTypes = NONE +CRUSHED +SPLATTED 23522 End 23523 23524 Behavior = FlammableUpdate ModuleTag_21 23525 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 23526 AflameDamageAmount = 3 ; taking this much damage... 23527 AflameDamageDelay = 500 ; this often. 23528 End 23529 23530 Geometry = BOX 23531 GeometryMajorRadius = 32.0 23532 GeometryMinorRadius = 10.0 23533 GeometryHeight = 17.0 23534 GeometryIsSmall = No 23535 Shadow = SHADOW_VOLUME 23536 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 23537 23538 End 23539 23540 ;----------------------------------------------------------------------------------------------------- 23541 ;******************************* Cinematic Onlt Unit ************************************************* 23542 Object CINE_ChinaVehicleNukeLauncher 23543 23544 ; *** ART Parameters *** 23545 SelectPortrait = SNNukeCannon_L 23546 ButtonImage = SNNukeCannon 23547 23548 ;UpgradeCameo1 = NONE 23549 ;UpgradeCameo2 = NONE 23550 ;UpgradeCameo3 = NONE 23551 ;UpgradeCameo4 = NONE 23552 ;UpgradeCameo5 = NONE 23553 23554 Draw = W3DTankDraw ModuleTag_01 23555 23556 InitialRecoilSpeed = 120 23557 MaxRecoilDistance = 8 23558 RecoilSettleSpeed = 6 23559 23560 OkToChangeModelColor = Yes 23561 23562 ExtraPublicBone = Turret01 23563 23564 DefaultConditionState 23565 Model = NVNukeCn 23566 WeaponLaunchBone = PRIMARY Muzzle 23567 WeaponMuzzleFlash = PRIMARY MuzzleFX 23568 WeaponFireFXBone = PRIMARY Muzzle 23569 WeaponRecoilBone = PRIMARY Barrel 23570 HideSubObject = TURRET01 ;Hide controlled turret 23571 ShowSubObject = TURRETFRONT TURRETBACK ;Show pack/unpack animated turret 23572 Turret = Turret01 23573 TurretPitch = TurretEL 23574 End 23575 23576 ConditionState = RUBBLE 23577 Model = NVNukeCn_D 23578 WeaponLaunchBone = PRIMARY Muzzle 23579 WeaponMuzzleFlash = PRIMARY MuzzleFX 23580 WeaponRecoilBone = PRIMARY Barrel 23581 HideSubObject = TURRET01 ;Hide controlled turret 23582 ShowSubObject = TURRETFRONT TURRETBACK ;Show pack/unpack animated turret 23583 Turret = Turret01 23584 TurretPitch = TurretEL 23585 End 23586 23587 ;*** PACKED STATE -- ready to move *** 23588 ConditionState = MOVING 23589 Animation = NVNukeCn.NVNukeCn 23590 AnimationMode = ONCE_BACKWARDS 23591 Flags = START_FRAME_FIRST 23592 End 23593 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving 23594 AliasConditionState = BETWEEN_FIRING_SHOTS_A 23595 ;*** 23596 ConditionState = REALLYDAMAGED MOVING 23597 Model = NVNukeCn_D 23598 Animation = NVNukeCn_D.NVNukeCn_D 23599 AnimationMode = ONCE_BACKWARDS 23600 Flags = START_FRAME_FIRST 23601 End 23602 AliasConditionState = REALLYDAMAGED MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving 23603 23604 23605 ;*** UNPACKING STATE -- preparing to fire *** 23606 ConditionState = UNPACKING 23607 Animation = NVNukeCn.NVNukeCn 23608 AnimationMode = ONCE 23609 End 23610 AliasConditionState = UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 23611 ;*** 23612 ConditionState = REALLYDAMAGED UNPACKING 23613 Model = NVNukeCn_D 23614 Animation = NVNukeCn_D.NVNukeCn_D 23615 AnimationMode = ONCE 23616 End 23617 AliasConditionState = REALLYDAMAGED UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 23618 23619 ;*** PACKING STATE -- preparing to move *** 23620 ConditionState = PACKING 23621 Animation = NVNukeCn.NVNukeCn 23622 AnimationMode = ONCE_BACKWARDS 23623 Flags = START_FRAME_LAST 23624 End 23625 23626 AliasConditionState = PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 23627 ;*** 23628 ConditionState = REALLYDAMAGED PACKING 23629 Model = NVNukeCn_D 23630 Animation = NVNukeCn_D.NVNukeCn_D 23631 AnimationMode = ONCE_BACKWARDS 23632 Flags = START_FRAME_LAST 23633 End 23634 AliasConditionState = REALLYDAMAGED PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 23635 23636 ;*** DEPLOYED STATE -- ready to fire *** 23637 ConditionState = DEPLOYED 23638 Animation = NVNukeCn.NVNukeCn 23639 AnimationMode = ONCE 23640 Flags = START_FRAME_LAST 23641 TransitionKey = TRANS_FIRING_A 23642 HideSubObject = TURRETFRONT TURRETBACK ;Hide pack/unpack animated turret 23643 ShowSubObject = TURRET01 ;Show controlled turret 23644 End 23645 AliasConditionState = DEPLOYED FIRING_A 23646 AliasConditionState = DEPLOYED BETWEEN_FIRING_SHOTS_A 23647 AliasConditionState = DEPLOYED RELOADING_A 23648 AliasConditionState = DEPLOYED MOVING 23649 23650 ConditionState = DEPLOYED REALLYDAMAGED 23651 Model = NVNukeCn_D 23652 Animation = NVNukeCn_D.NVNukeCn_D 23653 AnimationMode = ONCE 23654 Flags = START_FRAME_LAST 23655 TransitionKey = TRANS_FIRING_A 23656 HideSubObject = TURRETFRONT TURRETBACK ;Hide pack/unpack animated turret 23657 ShowSubObject = TURRET01 ;Show controlled turret 23658 End 23659 AliasConditionState = DEPLOYED REALLYDAMAGED FIRING_A 23660 AliasConditionState = DEPLOYED REALLYDAMAGED BETWEEN_FIRING_SHOTS_A 23661 AliasConditionState = DEPLOYED REALLYDAMAGED RELOADING_A 23662 AliasConditionState = DEPLOYED REALLYDAMAGED MOVING 23663 23664 TrackMarks = EXTnkTrack.tga 23665 TreadAnimationRate = 4.0 ; amount of tread texture to move per second 23666 End 23667 23668 ; ***DESIGN parameters *** 23669 DisplayName = OBJECT:NukeLauncher 23670 Side = China 23671 EditorSorting = VEHICLE 23672 TransportSlotCount = 10 ;how many "slots" we take in a transport (0 == not transportable) 23673 WeaponSet 23674 Conditions = None 23675 Weapon = PRIMARY CINE_NukeCannonGun 23676 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 23677 End 23678 ArmorSet 23679 Conditions = None 23680 Armor = TankArmor 23681 DamageFX = TankDamageFX 23682 End 23683 BuildCost = 1600 23684 BuildTime = 20.0 ;in seconds 23685 VisionRange = 180 23686 ShroudClearingRange = 350 23687 Prerequisites 23688 Object = ChinaWarFactory 23689 Object = ChinaPropagandaCenter 23690 Science = SCIENCE_NukeLauncher 23691 End 23692 23693 ExperienceValue = 50 100 200 400 ;Experience point value at each level 23694 ExperienceRequired = 0 400 600 1000 ;Experience points needed to gain each level 23695 IsTrainable = Yes ;Can gain experience 23696 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 23697 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 23698 CommandSet = ChinaVehicleNukeCannonCommandSet 23699 23700 ; *** AUDIO Parameters *** 23701 VoiceSelect = NukeCannonVoiceSelect 23702 VoiceMove = NukeCannonVoiceMove 23703 VoiceGuard = NukeCannonVoiceMove 23704 VoiceAttack = NukeCannonVoiceAttack 23705 SoundMoveStart = NukeCannonMoveStart 23706 SoundMoveStartDamaged = NukeCannonMoveStart 23707 UnitSpecificSounds 23708 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 23709 VoiceCreate = NukeCannonVoiceCreate 23710 TurretMoveStart = NoSound 23711 TurretMoveLoop = NukeCannonTurretMoveLoop 23712 VoiceEnter = NukeCannonVoiceMove 23713 Deploy = NukeCannonDeploy 23714 Undeploy = NukeCannonUnDeploy 23715 End 23716 23717 23718 ; *** ENGINEERING Parameters *** 23719 RadarPriority = UNIT 23720 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 23721 23722 Body = ActiveBody ModuleTag_02 23723 MaxHealth = 240.0 23724 InitialHealth = 240.0 23725 End 23726 23727 Behavior = VeterancyGainCreate ModuleTag_03 23728 StartingLevel = VETERAN 23729 ScienceRequired = SCIENCE_ArtilleryTraining 23730 End 23731 23732 Behavior = DeployStyleAIUpdate ModuleTag_04 23733 Turret 23734 TurretTurnRate = 80 23735 TurretPitchRate = 80 23736 FirePitch = 0 ; Instead of aiming pitchwise at the target, it will aim here 23737 AllowsPitch = Yes 23738 RecenterTime = 5000 ; how long to wait during idle before recentering 23739 ControlledWeaponSlots = PRIMARY 23740 NaturalTurretAngle = 0 23741 InitiallyDisabled = Yes 23742 End 23743 AutoAcquireEnemiesWhenIdle = No 23744 PackTime = 3333 23745 UnpackTime = 3333 23746 TurretsFunctionOnlyWhenDeployed = Yes 23747 TurretsMustCenterBeforePacking = Yes 23748 End 23749 23750 Locomotor = SET_NORMAL ChinaNukeCannonLocomotor 23751 Behavior = PhysicsBehavior ModuleTag_05 23752 Mass = 50.0 23753 End 23754 23755 Behavior = SlowDeathBehavior ModuleTag_06 23756 DeathTypes = ALL -CRUSHED -SPLATTED 23757 DestructionDelay = 500 23758 DestructionDelayVariance = 100 23759 FX = INITIAL FX_BattleMasterExplosionOneFinal 23760 OCL = INITIAL OCL_RadiationFieldSmall 23761 OCL = MIDPOINT OCL_ChinaVehicleNukeCannonDie 23762 OCL = FINAL OCL_RadiationFieldSmall 23763 FX = FINAL FX_ChinaVehicleNukeCannonDeathExplosion 23764 End 23765 23766 ; A crushing defeat 23767 Behavior = FXListDie ModuleTag_07 23768 DeathTypes = NONE +CRUSHED +SPLATTED 23769 DeathFX = FX_CarCrush 23770 End 23771 Behavior = CreateObjectDie ModuleTag_08 23772 DeathTypes = NONE +CRUSHED +SPLATTED 23773 CreationList = OCL_CrusaderTank_CrushEffect 23774 End 23775 Behavior = CreateCrateDie ModuleTag_09 23776 CrateData = SalvageCrateData 23777 ;CrateData = EliteTankCrateData 23778 ;CrateData = HeroicTankCrateData 23779 End 23780 23781 Behavior = TransitionDamageFX ModuleTag_10 23782 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 23783 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition 23784 End 23785 23786 Behavior = DestroyDie ModuleTag_11 23787 DeathTypes = NONE +CRUSHED +SPLATTED 23788 End 23789 23790 Behavior = FlammableUpdate ModuleTag_21 23791 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 23792 AflameDamageAmount = 3 ; taking this much damage... 23793 AflameDamageDelay = 500 ; this often. 23794 End 23795 23796 Geometry = BOX 23797 GeometryMajorRadius = 32.0 23798 GeometryMinorRadius = 10.0 23799 GeometryHeight = 17.0 23800 GeometryIsSmall = No 23801 Shadow = SHADOW_VOLUME 23802 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 23803 23804 End 23805 23806 ;------------------------------------------------------------------------------ 23807 Object ChinaTankGattling 23808 23809 ; *** ART Parameters *** 23810 SelectPortrait = SNGatlingTank_L 23811 ButtonImage = SNGatlingTank 23812 23813 ;UpgradeCameo1 = Upgrade_Nationalism 23814 UpgradeCameo1 = Upgrade_ChinaChainGuns 23815 ;UpgradeCameo3 = NONE 23816 ;UpgradeCameo4 = NONE 23817 ;UpgradeCameo5 = NONE 23818 23819 Draw = W3DTankDraw ModuleTag_01 23820 OkToChangeModelColor = Yes 23821 23822 DefaultConditionState 23823 Model = NVGattTank 23824 Animation = NVGattTank.NVGattTank 23825 AnimationMode = MANUAL 23826 Turret = TURRET01 23827 TurretPitch = TURRETEL01 23828 WeaponMuzzleFlash = PRIMARY MuzzleFX 23829 WeaponFireFXBone = PRIMARY Muzzle 23830 WeaponMuzzleFlash = SECONDARY MuzzleFX 23831 WeaponFireFXBone = SECONDARY Muzzle 23832 End 23833 23834 ConditionState = REALLYDAMAGED RUBBLE 23835 Model = NVGattTank_D 23836 End 23837 23838 23839 ;-----pristine attacking---------------------- 23840 ConditionState = ATTACKING 23841 Model = NVGattTank 23842 Animation = NVGattTank.NVGattTank 23843 AnimationMode = LOOP 23844 AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y 23845 End 23846 23847 ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING 23848 Model = NVGattTank 23849 Animation = NVGattTank.NVGattTank 23850 AnimationMode = LOOP 23851 AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y 23852 End 23853 23854 ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING 23855 Model = NVGattTank 23856 Animation = NVGattTank.NVGattTank 23857 AnimationMode = LOOP 23858 AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast 23859 End 23860 23861 ConditionState = CONTINUOUS_FIRE_FAST ATTACKING 23862 Model = NVGattTank 23863 Animation = NVGattTank.NVGattTank 23864 AnimationMode = LOOP 23865 ParticleSysBone = Muzzle01 GattlingMuzzleSmoke 23866 AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst 23867 End 23868 23869 ;-----damaged attacking---------------------- 23870 ConditionState REALLYDAMAGED ATTACKING 23871 Model = NVGattTank_D 23872 Animation = NVGattTank_D.NVGattTank_D 23873 AnimationMode = LOOP 23874 AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely sloowly 23875 End 23876 ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING 23877 Model = NVGattTank_D 23878 Animation = NVGattTank_D.NVGattTank_D 23879 AnimationMode = LOOP 23880 AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y 23881 End 23882 23883 ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING 23884 Model = NVGattTank_D 23885 Animation = NVGattTank_D.NVGattTank_D 23886 AnimationMode = LOOP 23887 AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast 23888 End 23889 23890 ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING 23891 Model = NVGattTank_D 23892 Animation = NVGattTank_D.NVGattTank_D 23893 AnimationMode = LOOP 23894 ParticleSysBone = Muzzle01 GattlingMuzzleSmoke 23895 AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst 23896 End 23897 23898 23899 23900 23901 TrackMarks = EXTnkTrack.tga 23902 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 23903 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 23904 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 23905 End 23906 23907 ; ***DESIGN parameters *** 23908 DisplayName = OBJECT:GattlingTank 23909 Side = China 23910 EditorSorting = VEHICLE 23911 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 23912 23913 WeaponSet 23914 Conditions = None 23915 Weapon = PRIMARY GattlingTankGun 23916 PreferredAgainst = PRIMARY AIRCRAFT 23917 Weapon = SECONDARY GattlingTankGunAir 23918 End 23919 23920 ArmorSet 23921 Conditions = None 23922 Armor = AntiAirVehicle 23923 DamageFX = TankDamageFX 23924 End 23925 BuildCost = 800 23926 BuildTime = 10.0 ;in seconds 23927 VisionRange = 150 23928 ShroudClearingRange = 360 23929 Prerequisites 23930 Object = ChinaWarFactory 23931 End 23932 23933 ExperienceValue = 50 50 100 150 ;Experience point value at each level 23934 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 23935 IsTrainable = Yes ;Can gain experience 23936 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 23937 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 23938 CommandSet = ChinaVehicleGattlingTankCommandSet 23939 23940 Behavior = AIUpdateInterface ModuleTag_20 23941 AutoAcquireEnemiesWhenIdle = Yes 23942 MoodAttackCheckRate = 250 23943 End 23944 23945 ; *** AUDIO Parameters *** 23946 VoiceSelect = GattlingTankVoiceSelect 23947 VoiceMove = GattlingTankVoiceMove 23948 VoiceGuard = GattlingTankVoiceMove 23949 VoiceAttack = GattlingTankVoiceAttack 23950 SoundMoveStart = GattlingTankMoveStart 23951 SoundMoveStartDamaged = GattlingTankMoveStart 23952 23953 UnitSpecificSounds 23954 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 23955 VoiceCreate = GattlingTankVoiceCreate 23956 TurretMoveStart = NoSound 23957 TurretMoveLoop = TurretMoveLoopLoud 23958 VoiceCrush = GattlingTankVoiceCrush 23959 VoiceEnter = GattlingTankVoiceMove 23960 VoiceRapidFire = GattlingTankVoiceRapid 23961 End 23962 23963 ; *** ENGINEERING Parameters *** 23964 RadarPriority = UNIT 23965 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 23966 23967 Body = ActiveBody ModuleTag_02 23968 MaxHealth = 300.0 23969 InitialHealth = 300.0 23970 End 23971 Behavior = AIUpdateInterface ModuleTag_03 23972 Turret 23973 ControlledWeaponSlots = PRIMARY SECONDARY 23974 TurretTurnRate = 180 // turn rate, in degrees per sec 23975 TurretPitchRate = 180 23976 AllowsPitch = Yes 23977 FiresWhileTurning = Yes 23978 NaturalTurretPitch = 45 ; this keeps it aimed half way between land and sky 23979 ; since you never know from whence cometh danger 23980 End 23981 AutoAcquireEnemiesWhenIdle = Yes 23982 End 23983 Locomotor = SET_NORMAL GattlingTankLocomotor 23984 Behavior = PhysicsBehavior ModuleTag_04 23985 Mass = 40.0 23986 End 23987 23988 ; Behavior = DestroyDie 23989 ; ;nothing 23990 ; End 23991 23992 ; Just explode death 23993 Behavior = SlowDeathBehavior ModuleTag_05 23994 ProbabilityModifier = 19 23995 DestructionDelay = 200 23996 DestructionDelayVariance = 100 23997 23998 SinkRate = 0.5 ; in Dist/Sec 23999 24000 OCL = FINAL OCL_ChinaTankGattlingDebris 24001 FX = FINAL FX_GattlingExplosionOneFinal 24002 End 24003 24004 Behavior = CreateCrateDie ModuleTag_06 24005 CrateData = SalvageCrateData 24006 ;CrateData = EliteTankCrateData 24007 ;CrateData = HeroicTankCrateData 24008 End 24009 24010 Behavior = TransitionDamageFX ModuleTag_07 24011 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 24012 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 24013 End 24014 24015 Behavior = FlammableUpdate ModuleTag_21 24016 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 24017 AflameDamageAmount = 3 ; taking this much damage... 24018 AflameDamageDelay = 500 ; this often. 24019 End 24020 24021 Behavior = WeaponBonusUpgrade ModuleTag_22 24022 TriggeredBy = Upgrade_ChinaChainGuns 24023 End 24024 Behavior = VeterancyGainCreate ModuleTag_03 24025 StartingLevel = VETERAN 24026 ScienceRequired = SCIENCE_ArtilleryTraining 24027 End 24028 24029 Geometry = BOX 24030 GeometryMajorRadius = 15.0 24031 GeometryMinorRadius = 10.0 24032 24033 GeometryHeight = 15.0 24034 GeometryIsSmall = Yes 24035 Shadow = SHADOW_VOLUME 24036 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 24037 24038 End 24039 24040 ;------------------------------------------------------------------------------ 24041 Object GLALightTank 24042 24043 ; *** ART Parameters *** 24044 Draw = W3DTankDraw ModuleTag_01 24045 OkToChangeModelColor = Yes 24046 24047 DefaultConditionState 24048 Model = UVLiteTank 24049 WeaponMuzzleFlash = PRIMARY MuzzleFX 24050 End 24051 24052 TrackMarks = EXTnkTrack.tga 24053 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 24054 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 24055 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 24056 End 24057 24058 ; ***DESIGN parameters *** 24059 DisplayName = OBJECT:Scorpion 24060 Side = GLA 24061 EditorSorting = VEHICLE 24062 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 24063 WeaponSet 24064 Conditions = None 24065 Weapon = PRIMARY CrusaderTankGun 24066 End 24067 ArmorSet 24068 Conditions = None 24069 Armor = TruckArmor 24070 DamageFX = TankDamageFX 24071 End 24072 BuildCost = 900 24073 BuildTime = 10.0 ;in seconds 24074 VisionRange = 200 24075 ShroudClearingRange = 200 24076 Prerequisites 24077 Object = GLAArmsDealer 24078 End 24079 24080 ExperienceValue = 50 100 150 400 ;Experience point value at each level 24081 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 24082 IsTrainable = Yes ;Can gain experience 24083 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 24084 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 24085 24086 ; *** AUDIO Parameters *** 24087 24088 VoiceSelect = ScorpionTankVoiceSelect 24089 VoiceMove = ScorpionTankVoiceMove 24090 VoiceGuard = ScorpionTankVoiceMove 24091 VoiceAttack = ScorpionTankVoiceAttack 24092 SoundMoveStart = ScorpionTankMoveStart 24093 SoundMoveStartDamaged = ScorpionTankMoveStart 24094 24095 UnitSpecificSounds 24096 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 24097 VoiceCreate = ScorpionTankVoiceCreate 24098 TurretMoveStart = NoSound 24099 TurretMoveLoop = TurretMoveLoop 24100 VoiceCrush = ScorpionTankVoiceCrush 24101 VoiceEnter = ScorpionTankVoiceMove 24102 End 24103 24104 ; *** ENGINEERING Parameters *** 24105 RadarPriority = UNIT 24106 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 24107 24108 Body = ActiveBody ModuleTag_02 24109 MaxHealth = 200.0 24110 InitialHealth = 200.0 24111 End 24112 Behavior = AIUpdateInterface ModuleTag_03 24113 Turret 24114 ControlledWeaponSlots = PRIMARY 24115 End 24116 AutoAcquireEnemiesWhenIdle = Yes 24117 End 24118 Locomotor = SET_NORMAL BasicTankLocomotor 24119 Behavior = PhysicsBehavior ModuleTag_04 24120 Mass = 40.0 24121 End 24122 24123 Behavior = DestroyDie ModuleTag_05 24124 ;nothing 24125 End 24126 24127 ; A crushing defeat 24128 Behavior = FXListDie ModuleTag_06 24129 DeathTypes = NONE +CRUSHED +SPLATTED 24130 DeathFX = FX_CarCrush 24131 End 24132 Behavior = CreateObjectDie ModuleTag_07 24133 DeathTypes = NONE +CRUSHED +SPLATTED 24134 CreationList = OCL_CrusaderTank_CrushEffect 24135 End 24136 Behavior = CreateCrateDie ModuleTag_08 24137 CrateData = SalvageCrateData 24138 ;CrateData = EliteTankCrateData 24139 ;CrateData = HeroicTankCrateData 24140 End 24141 24142 Behavior = FlammableUpdate ModuleTag_21 24143 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 24144 AflameDamageAmount = 3 ; taking this much damage... 24145 AflameDamageDelay = 500 ; this often. 24146 End 24147 24148 24149 Geometry = BOX 24150 GeometryMajorRadius = 15.0 24151 GeometryMinorRadius = 10.0 24152 24153 GeometryHeight = 15.0 24154 GeometryIsSmall = Yes 24155 Shadow = SHADOW_VOLUME 24156 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 24157 24158 End 24159 24160 ;------------------------------------------------------------------------------ 24161 ;China Supply Truck 24162 Object ChinaVehicleSupplyTruck 24163 24164 ; *** ART Parameters *** 24165 24166 SelectPortrait = SNSupplyTruck_L 24167 ButtonImage = SNSupplyTruck 24168 24169 ;UpgradeCameo1 = NONE 24170 ;UpgradeCameo2 = NONE 24171 ;UpgradeCameo3 = NONE 24172 ;UpgradeCameo4 = NONE 24173 ;UpgradeCameo5 = NONE 24174 24175 Draw = W3DTruckDraw ModuleTag_01 24176 OkToChangeModelColor = Yes 24177 24178 DefaultConditionState 24179 Model = NVSSUPPLYTK 24180 HideSubObject = Cargo01 24181 End 24182 24183 ConditionState = REALLYDAMAGED 24184 Model = NVSSUPPLYTK_D 24185 End 24186 24187 ConditionState = RUBBLE 24188 Model = NVSSUPPLYTK_D 24189 End 24190 24191 ConditionState = CARRYING 24192 ShowSubObject = Cargo01 24193 End 24194 24195 ConditionState = REALLYDAMAGED CARRYING 24196 Model = NVSSUPPLYTK_D 24197 ShowSubObject = Cargo01 24198 End 24199 24200 ConditionState = RUBBLE CARRYING 24201 Model = NVSSUPPLYTK_D 24202 ShowSubObject = Cargo01 24203 End 24204 24205 TrackMarks = EXTireTrack.tga 24206 24207 LeftFrontTireBone = Tire01 24208 RightFrontTireBone = Tire02 24209 MidLeftRearTireBone = Tire03 24210 MidRightRearTireBone = Tire04 24211 LeftRearTireBone = Tire05 24212 RightRearTireBone = Tire06 24213 TireRotationMultiplier = 0.2 ; this * speed = rotation. 24214 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 24215 24216 Dust = RocketBuggyDust 24217 DirtSpray = RocketBuggyDirtSpray 24218 PowerslideSpray = RocketBuggyDirtPowerSlide 24219 24220 End 24221 24222 ; ***DESIGN parameters *** 24223 DisplayName = OBJECT:SupplyTruck 24224 Side = China 24225 EditorSorting = VEHICLE 24226 TransportSlotCount = 2 ;how many "slots" we take in a transport (0 == not transportable) 24227 BuildCost = 600 24228 BuildTime = 10.0 ;in seconds 24229 VisionRange = 150 24230 ShroudClearingRange = 300 24231 Prerequisites 24232 Object = ChinaSupplyCenter 24233 End 24234 24235 ArmorSet 24236 Conditions = None 24237 Armor = TruckArmor 24238 DamageFX = TankDamageFX 24239 End 24240 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 24241 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 24242 CommandSet = ChinaSupplyTruckCommandSet 24243 ; *** AUDIO Parameters *** 24244 VoiceSelect = SupplyTruckVoiceSelect 24245 VoiceMove = SupplyTruckVoiceMove 24246 VoiceAttack = SupplyTruckVoiceAttack 24247 SoundMoveStart = SupplyTruckMoveStart 24248 SoundMoveStartDamaged = SupplyTruckMoveStart 24249 UnitSpecificSounds 24250 VoiceCreate = SupplyTruckVoiceCreate 24251 TruckLandingSound = NoSound 24252 TruckPowerslideSound = NoSound 24253 VoiceSupply = SupplyTruckVoiceSupply 24254 VoiceCrush = SupplyTruckVoiceCrush 24255 VoiceEnter = SupplyTruckVoiceMove 24256 24257 End 24258 24259 ; *** ENGINEERING Parameters *** 24260 RadarPriority = UNIT 24261 ;@todo lorenzen removed the CAN_ATTACK from the chinasupplytruck... ok? 24262 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE HARVESTER SCORE 24263 24264 Body = ActiveBody ModuleTag_02 24265 MaxHealth = 300.0 24266 InitialHealth = 300.0 24267 End 24268 Behavior = SupplyTruckAIUpdate ModuleTag_03 24269 MaxBoxes = 4 24270 SupplyCenterActionDelay = 400 ; ms for whole thing (one transaction) 24271 SupplyWarehouseActionDelay = 1000 ; ms per box (many small transactions) 24272 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) 24273 SuppliesDepletedVoice = SupplyTruckVoiceSuppliesDepleted 24274 End 24275 Locomotor = SET_NORMAL SupplyTruckLocomotor 24276 Behavior = PhysicsBehavior ModuleTag_04 24277 Mass = 5.0 24278 End 24279 24280 ExperienceValue = 50 50 50 50 ;Experience point value at each level 24281 24282 Behavior = SlowDeathBehavior ModuleTag_05 24283 DeathTypes = ALL -CRUSHED -SPLATTED 24284 DestructionDelay = 200 24285 DestructionDelayVariance = 100 24286 FX = FINAL FX_SupplyTruckExplosionOneFinal 24287 OCL = FINAL OCL_ChinaSupplyTruckDeathEffect 24288 End 24289 24290 Behavior = FXListDie ModuleTag_06 24291 DeathTypes = NONE +CRUSHED +SPLATTED 24292 DeathFX = FX_CarCrush 24293 End 24294 24295 Behavior = CreateObjectDie ModuleTag_07 24296 DeathTypes = NONE +CRUSHED +SPLATTED 24297 CreationList = OCL_ChinaSupplyTruck_CrushEffect 24298 End 24299 24300 Behavior = TransitionDamageFX ModuleTag_08 24301 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 24302 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition 24303 End 24304 24305 Behavior = FlammableUpdate ModuleTag_10 24306 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 24307 AflameDamageAmount = 3 ; taking this much damage... 24308 AflameDamageDelay = 500 ; this often. 24309 End 24310 24311 ; A crushing defeat 24312 Behavior = DestroyDie ModuleTag_11 24313 DeathTypes = NONE +CRUSHED +SPLATTED 24314 End 24315 24316 Behavior = CreateCrateDie ModuleTag_12 24317 CrateData = SalvageCrateData 24318 End 24319 24320 Geometry = BOX 24321 GeometryMajorRadius = 17.0 24322 GeometryMinorRadius = 7.0 24323 GeometryHeight = 14.0 24324 GeometryIsSmall = No 24325 Shadow = SHADOW_VOLUME 24326 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 24327 24328 End 24329 24330 ;------------------------------------------------------------------------------ 24331 ;USA Construction Dozer or USDozer 24332 Object AmericaVehicleDozer 24333 24334 ; *** ART Parameters *** 24335 SelectPortrait = SACDozer_L 24336 ButtonImage = SACDozer 24337 24338 ;UpgradeCameo1 = NONE 24339 ;UpgradeCameo2 = NONE 24340 ;UpgradeCameo3 = NONE 24341 ;UpgradeCameo4 = NONE 24342 ;UpgradeCameo5 = NONE 24343 24344 Draw = W3DTruckDraw ModuleTag_01 24345 24346 OkToChangeModelColor = Yes 24347 24348 DefaultConditionState 24349 Model = AVCONSTDOZ_A 24350 ParticleSysBone = EXHAUSTFX01 DozerSmokeLight 24351 WaitForStateToFinishIfPossible = TRANS_DIGGING 24352 End 24353 24354 ConditionState = PREATTACK_A 24355 Animation = AVCONSTDOZ_A.AVCONSTDOZ_A 24356 AnimationMode = ONCE 24357 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 24358 ParticleSysBone = DIRTFX01 DozerDirtFall ;gush of dirt 24359 TransitionKey = TRANS_DIGGING 24360 End 24361 24362 ConditionState = MOVING 24363 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 24364 WaitForStateToFinishIfPossible = TRANS_DIGGING 24365 End 24366 24367 ConditionState = REALLYDAMAGED RUBBLE 24368 Model = AVCONSTDOZ_AD 24369 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 24370 WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED 24371 End 24372 24373 ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE 24374 Model = AVCONSTDOZ_AD 24375 Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD 24376 AnimationMode = ONCE 24377 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 24378 TransitionKey = TRANS_DIGGING_DAMAGED 24379 End 24380 24381 ConditionState = MOVING REALLYDAMAGED RUBBLE 24382 Model = AVCONSTDOZ_AD 24383 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 24384 WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED 24385 End 24386 24387 24388 TrackMarks = EXTireTrack2.tga 24389 Dust = RocketBuggyDust 24390 DirtSpray = RocketBuggyDirtSpray 24391 24392 ; These parameters are only used if the model has a separate suspension, 24393 ; and the locomotor has HasSuspension = Yes. 24394 24395 LeftFrontTireBone = TIRE01 24396 RightFrontTireBone = TIRE02 24397 LeftRearTireBone = TIRE03 24398 RightRearTireBone = TIRE04 24399 24400 TireRotationMultiplier = 0.2 ; this * speed = rotation. 24401 PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. 24402 24403 End 24404 24405 24406 24407 ; ***DESIGN parameters *** 24408 DisplayName = OBJECT:Dozer 24409 Side = America 24410 EditorSorting = VEHICLE 24411 TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) 24412 BuildCost = 1000 24413 BuildTime = 5.0 ; in seconds 24414 VisionRange = 200 24415 ShroudClearingRange = 200 24416 24417 WeaponSet 24418 Conditions = None 24419 Weapon = PRIMARY None 24420 End 24421 WeaponSet 24422 Conditions = MINE_CLEARING_DETAIL 24423 Weapon = PRIMARY DozerMineDisarmingWeapon 24424 End 24425 24426 ArmorSet 24427 Conditions = None 24428 Armor = DozerArmor ;Special Explosion-Proof Armor 24429 DamageFX = TankDamageFX 24430 End 24431 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 24432 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 24433 CommandSet = AmericaDozerCommandSet 24434 24435 ; *** AUDIO Parameters *** 24436 VoiceSelect = DozerUSAVoiceSelect 24437 VoiceMove = DozerUSAVoiceMove 24438 VoiceGuard = DozerUSAVoiceMove 24439 VoiceTaskComplete = DozerUSAVoiceBuildComplete 24440 SoundMoveStart = DozerUSAMoveStart 24441 SoundMoveStartDamaged = DozerUSAMoveStart 24442 UnitSpecificSounds 24443 VoiceCreate = DozerUSAVoiceCreate 24444 VoiceNoBuild = DozerUSAVoiceBuildNot 24445 VoiceCrush = DozerUSAVoiceCrush 24446 VoiceRepair = DozerUSAVoiceRepair 24447 VoiceDisarm = DozerUSAVoiceClearMine 24448 TruckLandingSound = NoSound 24449 TruckPowerslideSound = NoSound 24450 VoiceEnter = DozerUSAVoiceMove 24451 VoiceBuildResponse = DozerUSAVoiceBuild 24452 End 24453 24454 ; *** ENGINEERING Parameters *** 24455 RadarPriority = UNIT 24456 KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER 24457 24458 Body = ActiveBody ModuleTag_02 24459 MaxHealth = 250.0 24460 InitialHealth = 250.0 24461 End 24462 Behavior = DozerAIUpdate ModuleTag_03 24463 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second 24464 BoredTime = 5000 ; in milliseconds 24465 BoredRange = 150 ; when bored, we look this far away to do something 24466 ; the only "enemies" that workers can acquire are mines, to be disarmed... 24467 AutoAcquireEnemiesWhenIdle = Yes 24468 End 24469 24470 Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor 24471 24472 Behavior = PhysicsBehavior ModuleTag_04 24473 Mass = 75.0 24474 End 24475 24476 Behavior = StealthDetectorUpdate ModuleTag_05 24477 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 24478 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 24479 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 24480 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 24481 ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things 24482 End 24483 24484 Behavior = TransitionDamageFX ModuleTag_06 24485 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 24486 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 24487 End 24488 24489 ; Catch fire, and explode death 24490 Behavior = SlowDeathBehavior ModuleTag_07 24491 DeathTypes = ALL -CRUSHED -SPLATTED 24492 ProbabilityModifier = 100 24493 DestructionDelay = 1500 24494 DestructionDelayVariance = 600 24495 FX = INITIAL FX_CrusaderCatchFire 24496 OCL = FINAL OCL_AmericaDozerExplode 24497 FX = FINAL FX_BattleMasterExplosionOneFinal 24498 End 24499 24500 Behavior = CreateCrateDie ModuleTag_CratesChange 24501 CrateData = SalvageCrateData 24502 End 24503 24504 Behavior = FlammableUpdate ModuleTag_21 24505 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 24506 AflameDamageAmount = 3 ; taking this much damage... 24507 AflameDamageDelay = 500 ; this often. 24508 End 24509 24510 ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 24511 End 24512 24513 Behavior = FXListDie ModuleTag_23 24514 DeathTypes = NONE +CRUSHED +SPLATTED 24515 DeathFX = FX_CarCrush 24516 End 24517 24518 Behavior = DestroyDie ModuleTag_24 24519 DeathTypes = NONE +CRUSHED +SPLATTED 24520 End 24521 24522 ;----------------------- Command Set Changes ----------------------- 24523 Behavior = CommandSetUpgrade ModuleTag_commandup 24524 CommandSet = AmericaDozerCommandSetTech 24525 TriggeredBy = Upgrade_AmericaDozerUpgrade 24526 End 24527 Behavior = CommandSetUpgrade ModuleTag_commandup2 24528 CommandSet = AmericaDozerCommandSet 24529 TriggeredBy = Upgrade_AmericaDozerUpgradeDefault 24530 End 24531 ; releases the upgrade otherwise you cannot switch between them since they've already been purchased 24532 Behavior = ObjectCreationUpgrade ModuleTag_commandup3 24533 UpgradeObject = OCL_AmericaCommandsetupgraderelease 24534 TriggeredBy = Upgrade_AmericaDozerUpgrade Upgrade_AmericaDozerUpgradeDefault 24535 End 24536 ;------------------------------------------------------------------ 24537 24538 Behavior = ProductionUpdate ModuleTag_25 24539 ;MaxQueueEntries = 1 24540 End 24541 24542 24543 Geometry = BOX 24544 GeometryMajorRadius = 15.0 24545 GeometryMinorRadius = 10.0 24546 GeometryHeight = 15.0 24547 GeometryIsSmall = Yes 24548 Shadow = SHADOW_VOLUME 24549 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 24550 24551 End 24552 24553 ;------------------------------------------------------------------------------ 24554 ; Note, this is really a Civ dozer that's used only for eye-candy purposes. 24555 ; It doesn't have mine-disarming ability. It probably shouldn't even have Dozer 24556 ; ability, but I have left that in for now. But don't use this for true Dozer purposes. 24557 ; 24558 Object GLAVehicleDozer 24559 24560 ; *** ART Parameters *** 24561 SelectPortrait = SNDozer_L 24562 ButtonImage = SNDozer 24563 Draw = W3DModelDraw ModuleTag_01 24564 OkToChangeModelColor = Yes 24565 DefaultConditionState 24566 Model = AVCONSTDOZ 24567 End 24568 End 24569 24570 ; ***DESIGN parameters *** 24571 DisplayName = OBJECT:Dozer 24572 Side = GLA 24573 EditorSorting = VEHICLE 24574 TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) 24575 BuildCost = 100 24576 BuildTime = 5.0 ;in seconds 24577 VisionRange = 150 24578 ShroudClearingRange = 300 24579 24580 ArmorSet 24581 Conditions = None 24582 Armor = TankArmor 24583 DamageFX = TankDamageFX 24584 End 24585 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 24586 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 24587 CommandSet = GLADozerCommandSet 24588 24589 ; *** AUDIO Parameters *** 24590 SoundMoveStart = NoSound 24591 24592 ; *** ENGINEERING Parameters *** 24593 RadarPriority = UNIT 24594 KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER 24595 24596 Body = ActiveBody ModuleTag_02 24597 MaxHealth = 1000.0 24598 InitialHealth = 1000.0 24599 End 24600 Behavior = DozerAIUpdate ModuleTag_03 24601 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second 24602 BoredTime = 5000 ; in milliseconds 24603 BoredRange = 150 ; when bored, we look this far away to do something 24604 End 24605 Locomotor = SET_NORMAL BasicTankLocomotor 24606 Behavior = PhysicsBehavior ModuleTag_04 24607 Mass = 75.0 24608 End 24609 24610 Behavior = DestroyDie ModuleTag_05 24611 ;nothing 24612 End 24613 24614 Behavior = FlammableUpdate ModuleTag_21 24615 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 24616 AflameDamageAmount = 3 ; taking this much damage... 24617 AflameDamageDelay = 500 ; this often. 24618 End 24619 24620 Geometry = BOX 24621 GeometryMajorRadius = 15.0 24622 GeometryMinorRadius = 10.0 24623 GeometryHeight = 15.0 24624 GeometryIsSmall = Yes 24625 Shadow = SHADOW_VOLUME 24626 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 24627 24628 End 24629 24630 ;------------------------------------------------------------------------------ 24631 ;China Construction Dozer 24632 Object ChinaVehicleDozer 24633 24634 ; *** ART Parameters *** 24635 SelectPortrait = SNDozer_L 24636 ButtonImage = SNDozer 24637 24638 ;UpgradeCameo1 = NONE 24639 ;UpgradeCameo2 = NONE 24640 ;UpgradeCameo3 = NONE 24641 ;UpgradeCameo4 = NONE 24642 ;UpgradeCameo5 = NONE 24643 24644 Draw = W3DTankDraw ModuleTag_01 24645 24646 OkToChangeModelColor = Yes 24647 24648 DefaultConditionState 24649 Model = NVCONSTDOZ_A 24650 ParticleSysBone = EXHAUST01 DozerSmokeLight 24651 End 24652 ConditionState = MOVING 24653 ParticleSysBone = EXHAUST01 DozerSmokeHeavy 24654 End 24655 ConditionState = FIRING_A MOVING PREATTACK_A 24656 Model = NVCONSTDOZ_A 24657 Animation = NVCONSTDOZ_A.NVCONSTDOZ_A 24658 AnimationMode = ONCE 24659 ParticleSysBone = EXHAUST01 DozerSmokeHeavy 24660 ParticleSysBone = DIRTFX01 DozerDirtFall 24661 End 24662 AliasConditionState = ATTACKING FIRING_A MOVING 24663 24664 ConditionState = REALLYDAMAGED RUBBLE 24665 Model = NVCONSTDOZ_AD 24666 End 24667 ConditionState = MOVING REALLYDAMAGED RUBBLE 24668 Model = NVCONSTDOZ_AD 24669 ParticleSysBone = EXHAUST01 DozerSmokeHeavy 24670 End 24671 ConditionState = FIRING_A MOVING PREATTACK_A REALLYDAMAGED RUBBLE 24672 Model = NVCONSTDOZ_AD 24673 Animation = NVCONSTDOZ_AD.NVCONSTDOZ_AD 24674 AnimationMode = ONCE 24675 ParticleSysBone = EXHAUST01 DozerSmokeHeavy 24676 ParticleSysBone = DIRTFX01 DozerDirtFall 24677 End 24678 AliasConditionState = ATTACKING FIRING_A MOVING REALLYDAMAGED RUBBLE 24679 24680 TrackMarks = EXTnkTrack.tga 24681 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 24682 End 24683 24684 ; ***DESIGN parameters *** 24685 DisplayName = OBJECT:Dozer 24686 Side = China 24687 EditorSorting = VEHICLE 24688 TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) 24689 BuildCost = 1000 24690 BuildTime = 5.0 ;in seconds 24691 VisionRange = 150 24692 ShroudClearingRange = 300 24693 24694 WeaponSet 24695 Conditions = None 24696 Weapon = PRIMARY None 24697 End 24698 WeaponSet 24699 Conditions = MINE_CLEARING_DETAIL 24700 Weapon = PRIMARY DozerMineDisarmingWeapon 24701 End 24702 24703 ArmorSet 24704 Conditions = None 24705 Armor = DozerArmor ;Special Explosion-Proof Armor 24706 DamageFX = TankDamageFX 24707 End 24708 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 24709 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 24710 CommandSet = ChinaDozerCommandSet 24711 24712 ; *** AUDIO Parameters *** 24713 VoiceSelect = DozerChinaVoiceSelect 24714 VoiceMove = DozerChinaVoiceMove 24715 VoiceEnter = DozerChinaVoiceMove 24716 VoiceTaskComplete = DozerChinaVoiceBuildComplete 24717 SoundMoveStart = DozerChinaMoveStart 24718 SoundMoveStartDamaged = DozerChinaMoveStart 24719 24720 UnitSpecificSounds 24721 VoiceCreate = DozerChinaVoiceCreate 24722 VoiceCrush = DozerChinaVoiceCrush 24723 VoiceNoBuild = DozerChinaVoiceBuildNot 24724 VoiceRepair = DozerChinaVoiceRepair 24725 VoiceDisarm = DozerChinaVoiceClearMine 24726 VoiceEnter = DozerChinaVoiceMove 24727 VoiceBuildResponse = DozerChinaVoiceBuild 24728 End 24729 24730 24731 24732 ; *** ENGINEERING Parameters *** 24733 RadarPriority = UNIT 24734 KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER 24735 24736 Body = ActiveBody ModuleTag_02 24737 MaxHealth = 250.0 24738 InitialHealth = 250.0 24739 End 24740 Behavior = DozerAIUpdate ModuleTag_03 24741 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second 24742 BoredTime = 5000 ; in milliseconds 24743 BoredRange = 150 ; when bored, we look this far away to do something 24744 ; the only "enemies" that workers can acquire are mines, to be disarmed... 24745 AutoAcquireEnemiesWhenIdle = Yes 24746 End 24747 Locomotor = SET_NORMAL ChinaVehicleDozerLocomotor 24748 Behavior = PhysicsBehavior ModuleTag_04 24749 Mass = 75.0 24750 End 24751 24752 Behavior = StealthDetectorUpdate ModuleTag_05 24753 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 24754 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 24755 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 24756 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 24757 ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things 24758 End 24759 24760 Behavior = TransitionDamageFX ModuleTag_06 24761 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 24762 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 24763 End 24764 24765 ; Catch fire, and explode death 24766 Behavior = SlowDeathBehavior ModuleTag_07 24767 DeathTypes = ALL -CRUSHED -SPLATTED 24768 ProbabilityModifier = 100 24769 DestructionDelay = 1500 24770 DestructionDelayVariance = 600 24771 FX = INITIAL FX_CrusaderCatchFire 24772 OCL = FINAL OCL_ChinaDozerExplode 24773 FX = FINAL FX_BattleMasterExplosionOneFinal 24774 End 24775 24776 Behavior = CreateCrateDie ModuleTag_09 24777 CrateData = SalvageCrateData 24778 End 24779 24780 Behavior = FlammableUpdate ModuleTag_21 24781 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 24782 AflameDamageAmount = 3 ; taking this much damage... 24783 AflameDamageDelay = 500 ; this often. 24784 End 24785 24786 Behavior = FXListDie ModuleTag_22 24787 DeathTypes = NONE +CRUSHED +SPLATTED 24788 DeathFX = FX_CarCrush 24789 End 24790 24791 Behavior = DestroyDie ModuleTag_23 24792 DeathTypes = NONE +CRUSHED +SPLATTED 24793 End 24794 24795 ;----------------------- Command Set Changes ----------------------- 24796 Behavior = CommandSetUpgrade ModuleTag_commandup 24797 CommandSet = ChinaDozerCommandSetTech 24798 TriggeredBy = Upgrade_ChinaDozerUpgrade 24799 End 24800 Behavior = CommandSetUpgrade ModuleTag_commandup2 24801 CommandSet = ChinaDozerCommandSet 24802 TriggeredBy = Upgrade_ChinaDozerUpgradeDefault 24803 End 24804 ; releases the upgrade otherwise you cannot switch between them since they've already been purchased 24805 Behavior = ObjectCreationUpgrade ModuleTag_commandup3 24806 UpgradeObject = OCL_ChinaCommandsetupgraderelease 24807 TriggeredBy = Upgrade_ChinaDozerUpgrade Upgrade_ChinaDozerUpgradeDefault 24808 End 24809 ;------------------------------------------------------------------ 24810 24811 Behavior = ProductionUpdate ModuleTag_24 24812 ;MaxQueueEntries = 1 24813 End 24814 24815 24816 Geometry = BOX 24817 GeometryMajorRadius = 17.0;new radius to align mine sweeping position 24818 ;GeometryMajorRadius = 21.0;old radius 24819 GeometryMinorRadius = 10.0 24820 GeometryHeight = 15.0 24821 GeometryIsSmall = NO 24822 Shadow = SHADOW_VOLUME 24823 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 24824 24825 End 24826 24827 ;------------------------------------------------------------------------------ 24828 Object ScorpionMissile 24829 24830 ; *** ART Parameters *** 24831 Draw = W3DModelDraw ModuleTag_01 24832 OkToChangeModelColor = Yes 24833 ConditionState = NONE 24834 Model = UVScorpion_m 24835 End 24836 End 24837 24838 ; ***DESIGN parameters *** 24839 DisplayName = OBJECT:Missile 24840 EditorSorting = SYSTEM 24841 VisionRange = 0.0 24842 ArmorSet 24843 Conditions = None 24844 Armor = ProjectileArmor 24845 DamageFX = None 24846 End 24847 24848 ; *** ENGINEERING Parameters *** 24849 KindOf = PROJECTILE SMALL_MISSILE 24850 Body = ActiveBody ModuleTag_02 24851 MaxHealth = 100.0 24852 InitialHealth = 100.0 24853 End 24854 24855 ; ---- begin Projectile death behaviors 24856 Behavior = InstantDeathBehavior DeathModuleTag_01 24857 DeathTypes = NONE +DETONATED 24858 ; we detonated normally. 24859 ; no FX, just quiet destroy ourselves 24860 End 24861 Behavior = InstantDeathBehavior DeathModuleTag_02 24862 DeathTypes = NONE +LASERED 24863 ; shot down by laser. 24864 FX = FX_GenericMissileDisintegrate 24865 OCL = OCL_GenericMissileDisintegrate 24866 End 24867 Behavior = InstantDeathBehavior DeathModuleTag_03 24868 DeathTypes = ALL -LASERED -DETONATED 24869 ; shot down by nonlaser. 24870 FX = FX_GenericMissileDeath 24871 End 24872 ; ---- end Projectile death behaviors 24873 24874 Behavior = PhysicsBehavior ModuleTag_06 24875 Mass = 1 24876 End 24877 Behavior = MissileAIUpdate ModuleTag_07 24878 TryToFollowTarget = Yes 24879 FuelLifetime = 4000 24880 InitialVelocity = 150 ; in dist/sec 24881 IgnitionDelay = 0 24882 DistanceToTravelBeforeTurning = 30 24883 IgnitionFX = FX_JetMissileIgnition 24884 End 24885 Locomotor = SET_NORMAL ScorpionMissileLocomotor 24886 24887 24888 Behavior = WeaponBonusUpgrade ModuleTag_08 24889 TriggeredBy = Upgrade_GLAAPRockets 24890 End 24891 24892 Geometry = Sphere 24893 GeometryIsSmall = Yes 24894 GeometryMajorRadius = 1.0 24895 24896 24897 End 24898 24899 ;------------------------------------------------------------------------------ 24900 Object RangerFlashBangGrenade 24901 24902 ; *** ART Parameters *** 24903 Draw = W3DModelDraw ModuleTag_01 24904 OkToChangeModelColor = Yes 24905 ConditionState = NONE 24906 Model = NVMBuggy_m 24907 End 24908 End 24909 24910 ; ***DESIGN parameters *** 24911 DisplayName = OBJECT:FlashBangGrenade 24912 EditorSorting = SYSTEM 24913 ArmorSet 24914 Armor = ProjectileArmor 24915 End 24916 VisionRange = 0.0 24917 24918 ; *** ENGINEERING Parameters *** 24919 KindOf = PROJECTILE 24920 Body = ActiveBody ModuleTag_02 24921 MaxHealth = 100.0 24922 InitialHealth = 100.0 24923 End 24924 24925 Behavior = DestroyDie ModuleTag_03 24926 ;nothing 24927 End 24928 24929 Behavior = PhysicsBehavior ModuleTag_04 24930 Mass = 1 24931 End 24932 24933 Behavior = DumbProjectileBehavior ModuleTag_05 24934 ; To tweak a Bezier path, please see GS 24935 FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 24936 SecondHeight = 150 24937 FirstPercentIndent = 30% ; Percentage of shot distance control points are placed 24938 SecondPercentIndent = 70% 24939 GarrisonHitKillRequiredKindOf = INFANTRY 24940 GarrisonHitKillForbiddenKindOf = NONE 24941 GarrisonHitKillCount = 10 ; ensure that a single grenade clears out all garrisoned buildings. 24942 GarrisonHitKillFX = FX_FlashBangGarrisonBuildingHit 24943 FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 24944 End 24945 24946 Geometry = Sphere 24947 GeometryIsSmall = Yes 24948 GeometryMajorRadius = 1.0 24949 24950 End 24951 24952 ;------------------------------------------------------------------------------ 24953 Object ScorpionTankShell 24954 24955 ; *** ART Parameters *** 24956 Draw = W3DModelDraw ModuleTag_01 24957 ConditionState = NONE 24958 Model = AVTankShel 24959 End 24960 End 24961 24962 ; ***DESIGN parameters *** 24963 DisplayName = OBJECT:TankShell 24964 EditorSorting = SYSTEM 24965 ArmorSet 24966 Armor = ProjectileArmor 24967 End 24968 VisionRange = 0.0 24969 24970 ; *** ENGINEERING Parameters *** 24971 KindOf = PROJECTILE 24972 Body = ActiveBody ModuleTag_02 24973 MaxHealth = 100.0 24974 InitialHealth = 100.0 24975 End 24976 24977 Behavior = DestroyDie ModuleTag_03 24978 ;nothing 24979 End 24980 24981 Behavior = FireWeaponWhenDeadBehavior ModuleTag_04 24982 DeathWeapon = ToxinShellWeapon 24983 StartsActive = No ; turned on by upgrade 24984 TriggeredBy = Upgrade_GLAToxinShells 24985 ConflictsWith = Upgrade_GLAAnthraxBeta 24986 End 24987 24988 Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 24989 DeathWeapon = ToxinShellWeaponUpgraded 24990 StartsActive = No ; turned on by upgrade 24991 TriggeredBy = Upgrade_GLAToxinShells Upgrade_GLAAnthraxBeta 24992 RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is 24993 End 24994 24995 Behavior = DumbProjectileBehavior ModuleTag_06 24996 DetonateCallsKill = Yes 24997 ; To tweak a Bezier path, please see GS 24998 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 24999 SecondHeight = 10 25000 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 25001 SecondPercentIndent = 90% 25002 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 25003 End 25004 25005 Behavior = PhysicsBehavior ModuleTag_07 25006 Mass = 0.01 ; can't be zero, but we want it tiny so that it travels nearly straight 25007 End 25008 25009 ; The Toxin explosions don't want to double up on particles, so only play this effect if we don't have Toxin 25010 Behavior = FireWeaponWhenDeadBehavior ModuleTag_08 25011 DeathWeapon = ScoprionTankGunFXWeapon 25012 StartsActive = Yes 25013 ConflictsWith = Upgrade_GLAToxinShells 25014 End 25015 25016 Geometry = Sphere 25017 GeometryIsSmall = Yes 25018 GeometryMajorRadius = 1.0 25019 25020 End 25021 25022 ;------------------------------------------------------------------------------ 25023 Object MarauderTankShell 25024 25025 ; *** ART Parameters *** 25026 Draw = W3DModelDraw ModuleTag_01 25027 ConditionState = NONE 25028 Model = AVTankShel 25029 End 25030 End 25031 25032 ; ***DESIGN parameters *** 25033 DisplayName = OBJECT:TankShell 25034 EditorSorting = SYSTEM 25035 ArmorSet 25036 Armor = ProjectileArmor 25037 End 25038 VisionRange = 0.0 25039 25040 ; *** ENGINEERING Parameters *** 25041 KindOf = PROJECTILE 25042 Body = ActiveBody ModuleTag_02 25043 MaxHealth = 100.0 25044 InitialHealth = 100.0 25045 End 25046 25047 Behavior = DestroyDie ModuleTag_03 25048 ;nothing 25049 End 25050 25051 Behavior = FireWeaponWhenDeadBehavior ModuleTag_04 25052 DeathWeapon = ToxinShellWeapon 25053 StartsActive = No ; turned on by upgrade 25054 TriggeredBy = Upgrade_GLAToxinShells 25055 ConflictsWith = Upgrade_GLAAnthraxBeta 25056 End 25057 25058 Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 25059 DeathWeapon = ToxinShellWeaponUpgraded 25060 StartsActive = No ; turned on by upgrade 25061 TriggeredBy = Upgrade_GLAToxinShells Upgrade_GLAAnthraxBeta 25062 RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is 25063 End 25064 25065 Behavior = DumbProjectileBehavior ModuleTag_06 25066 DetonateCallsKill = Yes 25067 ; To tweak a Bezier path, please see GS 25068 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 25069 SecondHeight = 10 25070 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 25071 SecondPercentIndent = 90% 25072 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 25073 End 25074 25075 Behavior = PhysicsBehavior ModuleTag_07 25076 Mass = 0.01 ; can't be zero, but we want it tiny so that it travels nearly straight 25077 End 25078 25079 Geometry = Sphere 25080 GeometryIsSmall = Yes 25081 GeometryMajorRadius = 1.0 25082 25083 End 25084 25085 ;------------------------------------------------------------------------------ 25086 Object GenericTankShell 25087 25088 ; *** ART Parameters *** 25089 Draw = W3DModelDraw ModuleTag_01 25090 ConditionState = NONE 25091 Model = AVTankShel 25092 End 25093 End 25094 25095 ; ***DESIGN parameters *** 25096 DisplayName = OBJECT:TankShell 25097 EditorSorting = SYSTEM 25098 ArmorSet 25099 Armor = ProjectileArmor 25100 End 25101 VisionRange = 0.0 25102 25103 ; *** ENGINEERING Parameters *** 25104 KindOf = PROJECTILE 25105 Body = ActiveBody ModuleTag_02 25106 MaxHealth = 100.0 25107 InitialHealth = 100.0 25108 End 25109 25110 Behavior = DestroyDie ModuleTag_03 25111 ;nothing 25112 End 25113 25114 Behavior = DumbProjectileBehavior ModuleTag_04 25115 ; To tweak a Bezier path, please see GS 25116 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 25117 SecondHeight = 10 25118 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 25119 SecondPercentIndent = 90% 25120 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 25121 End 25122 25123 Behavior = PhysicsBehavior ModuleTag_05 25124 Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny... 25125 End 25126 25127 Geometry = Sphere 25128 GeometryIsSmall = Yes 25129 GeometryMajorRadius = 1.0 25130 25131 End 25132 25133 ;------------------------------------------------------------------------------ 25134 Object BattleMasterTankShell 25135 25136 ; *** ART Parameters *** 25137 Draw = W3DModelDraw ModuleTag_01 25138 ConditionState = NONE 25139 Model = AVTankShel 25140 End 25141 End 25142 25143 ; ***DESIGN parameters *** 25144 DisplayName = OBJECT:TankShell 25145 EditorSorting = SYSTEM 25146 ArmorSet 25147 Armor = ProjectileArmor 25148 End 25149 VisionRange = 0.0 25150 25151 ; *** ENGINEERING Parameters *** 25152 KindOf = PROJECTILE 25153 Body = ActiveBody ModuleTag_02 25154 MaxHealth = 100.0 25155 InitialHealth = 100.0 25156 End 25157 25158 Behavior = DestroyDie ModuleTag_03 25159 ;nothing 25160 End 25161 25162 Behavior = DumbProjectileBehavior ModuleTag_04 25163 ; To tweak a Bezier path, please see GS 25164 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 25165 SecondHeight = 10 25166 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 25167 SecondPercentIndent = 90% 25168 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 25169 End 25170 25171 Behavior = PhysicsBehavior ModuleTag_05 25172 Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny... 25173 End 25174 25175 Behavior = WeaponBonusUpgrade ModuleTag_06 25176 TriggeredBy = Upgrade_ChinaUraniumShells 25177 End 25178 25179 Geometry = Sphere 25180 GeometryIsSmall = Yes 25181 GeometryMajorRadius = 1.0 25182 25183 End 25184 25185 ;------------------------------------------------------------------------------ 25186 Object OverlordTankShell 25187 25188 ; *** ART Parameters *** 25189 Draw = W3DModelDraw ModuleTag_01 25190 ConditionState = NONE 25191 Model = AVTankShel 25192 End 25193 End 25194 25195 ; ***DESIGN parameters *** 25196 DisplayName = OBJECT:TankShell 25197 EditorSorting = SYSTEM 25198 ArmorSet 25199 Armor = ProjectileArmor 25200 End 25201 VisionRange = 0.0 25202 25203 ; *** ENGINEERING Parameters *** 25204 KindOf = PROJECTILE 25205 Body = ActiveBody ModuleTag_02 25206 MaxHealth = 100.0 25207 InitialHealth = 100.0 25208 End 25209 25210 Behavior = DestroyDie ModuleTag_03 25211 ;nothing 25212 End 25213 25214 Behavior = DumbProjectileBehavior ModuleTag_04 25215 ; To tweak a Bezier path, please see GS 25216 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 25217 SecondHeight = 10 25218 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 25219 SecondPercentIndent = 90% 25220 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 25221 End 25222 25223 Behavior = PhysicsBehavior ModuleTag_05 25224 Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny... 25225 End 25226 25227 Behavior = WeaponBonusUpgrade ModuleTag_06 25228 TriggeredBy = Upgrade_ChinaUraniumShells 25229 End 25230 25231 Geometry = Sphere 25232 GeometryIsSmall = Yes 25233 GeometryMajorRadius = 1.0 25234 25235 End 25236 25237 25238 25239 25240 ;------------------------------------------------------------------------------ 25241 Object NukeCannonShell 25242 25243 ; *** ART Parameters *** 25244 Draw = W3DModelDraw ModuleTag_01 25245 ConditionState = NONE 25246 Model = AVTankShel 25247 End 25248 End 25249 25250 ; ***DESIGN parameters *** 25251 DisplayName = OBJECT:TankShell 25252 EditorSorting = SYSTEM 25253 ArmorSet 25254 Armor = ProjectileArmor 25255 End 25256 VisionRange = 0.0 25257 25258 25259 ; *** AUDIO Parameters *** 25260 SoundAmbient = NukeCannonIncomingWhistle 25261 25262 ; *** ENGINEERING Parameters *** 25263 KindOf = PROJECTILE 25264 Body = ActiveBody ModuleTag_02 25265 MaxHealth = 100.0 25266 InitialHealth = 100.0 25267 End 25268 25269 Behavior = DestroyDie ModuleTag_03 25270 ;nothing 25271 End 25272 25273 Behavior = DumbProjectileBehavior ModuleTag_04 25274 ; To tweak a Bezier path, please see GS 25275 FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 25276 SecondHeight = 150 25277 FirstPercentIndent = 30% ; Percentage of shot distance control points are placed 25278 SecondPercentIndent = 70% 25279 FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 25280 End 25281 25282 Behavior = PhysicsBehavior ModuleTag_05 25283 Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny... 25284 End 25285 25286 Geometry = Sphere 25287 GeometryIsSmall = Yes 25288 GeometryMajorRadius = 1.0 25289 25290 End 25291 25292 ;------------------------------------------------------------------------------ 25293 Object InfernoTankShell 25294 25295 ; *** ART Parameters *** 25296 Draw = W3DModelDraw ModuleTag_01 25297 ConditionState = NONE 25298 Model = AVTankShel 25299 ParticleSysBone = None InfernoTrail 25300 End 25301 End 25302 25303 ; *** AUDIO Parameters *** 25304 SoundAmbient = InfernoCannonIncomingWhistle 25305 25306 ; ***DESIGN parameters *** 25307 DisplayName = OBJECT:TankShell 25308 EditorSorting = SYSTEM 25309 ArmorSet 25310 Armor = ProjectileArmor 25311 End 25312 VisionRange = 0.0 25313 25314 ; *** ENGINEERING Parameters *** 25315 KindOf = PROJECTILE 25316 Body = ActiveBody ModuleTag_02 25317 MaxHealth = 100.0 25318 InitialHealth = 100.0 25319 End 25320 25321 Behavior = DestroyDie ModuleTag_03 25322 ;nothing 25323 End 25324 25325 Behavior = DumbProjectileBehavior ModuleTag_09 25326 DetonateCallsKill = Yes 25327 ; To tweak a Bezier path, please see GS 25328 FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 25329 SecondHeight = 150 25330 FirstPercentIndent = 20% ; Percentage of shot distance control points are placed 25331 SecondPercentIndent = 90% 25332 FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 25333 End 25334 25335 Behavior = PhysicsBehavior ModuleTag_05 25336 Mass = 10 25337 End 25338 25339 Behavior = HeightDieUpdate ModuleTag_06 25340 TargetHeight = 1.0 25341 TargetHeightIncludesStructures = Yes 25342 OnlyWhenMovingDown = Yes 25343 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 25344 End 25345 25346 Behavior = FireWeaponWhenDeadBehavior ModuleTag_07 25347 DeathWeapon = SmallFireFieldCreationWeapon 25348 StartsActive = Yes 25349 End 25350 25351 Geometry = Sphere 25352 GeometryIsSmall = Yes 25353 GeometryMajorRadius = 1.0 25354 25355 End 25356 25357 25358 ;------------------------------------------------------------------------------ 25359 Object InfernoTankShellUpgraded 25360 25361 ; *** ART Parameters *** 25362 Draw = W3DModelDraw ModuleTag_01 25363 ConditionState = NONE 25364 Model = AVTankShel 25365 ParticleSysBone = None InfernoTrailUpgraded 25366 End 25367 End 25368 25369 ; *** AUDIO Parameters *** 25370 SoundAmbient = InfernoCannonIncomingWhistle 25371 25372 ; ***DESIGN parameters *** 25373 DisplayName = OBJECT:TankShell 25374 EditorSorting = SYSTEM 25375 ArmorSet 25376 Armor = ProjectileArmor 25377 End 25378 VisionRange = 0.0 25379 25380 ; *** ENGINEERING Parameters *** 25381 KindOf = PROJECTILE 25382 Body = ActiveBody ModuleTag_02 25383 MaxHealth = 100.0 25384 InitialHealth = 100.0 25385 End 25386 25387 Behavior = DestroyDie ModuleTag_03 25388 ;nothing 25389 End 25390 25391 Behavior = DumbProjectileBehavior ModuleTag_09 25392 DetonateCallsKill = Yes 25393 ; To tweak a Bezier path, please see GS 25394 FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 25395 SecondHeight = 150 25396 FirstPercentIndent = 20% ; Percentage of shot distance control points are placed 25397 SecondPercentIndent = 90% 25398 FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 25399 End 25400 25401 Behavior = PhysicsBehavior ModuleTag_05 25402 Mass = 10 25403 End 25404 25405 Behavior = HeightDieUpdate ModuleTag_06 25406 TargetHeight = 1.0 25407 TargetHeightIncludesStructures = Yes 25408 OnlyWhenMovingDown = Yes 25409 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 25410 End 25411 25412 Behavior = FireWeaponWhenDeadBehavior ModuleTag_08 25413 DeathWeapon = SmallFireFieldUpgradedCreationWeapon 25414 StartsActive = Yes 25415 End 25416 25417 25418 Geometry = Sphere 25419 GeometryIsSmall = Yes 25420 GeometryMajorRadius = 1.0 25421 25422 End 25423 25424 ;------------------------------------------------------------------------------ 25425 Object DeadTankHulk 25426 25427 ; *** ART Parameters *** 25428 Draw = W3DModelDraw ModuleTag_01 25429 DefaultConditionState 25430 Model = GXMammoth_CH 25431 End 25432 End 25433 25434 ; ***DESIGN parameters *** 25435 EditorSorting = DEBRIS 25436 25437 ; *** ENGINEERING Parameters *** 25438 KindOf = NO_COLLIDE HULK 25439 25440 Behavior = PhysicsBehavior ModuleTag_03 25441 Mass = 100.0 25442 AllowBouncing = Yes 25443 KillWhenRestingOnGround = Yes 25444 End 25445 Behavior = LifetimeUpdate ModuleTag_04 25446 MinLifetime = 1500 ; min lifetime in msec 25447 MaxLifetime = 1600 ; max lifetime in msec 25448 End 25449 25450 Behavior = SlowDeathBehavior ModuleTag_05 25451 SinkDelay = 1500 25452 SinkRate = 2 ; in Dist/Sec 25453 DestructionDelay = 8000 25454 End 25455 25456 End 25457 25458 ;------------------------------------------------------------------------------ 25459 Object InfernoCannonHulk 25460 25461 ; *** ART Parameters *** 25462 Draw = W3DModelDraw ModuleTag_01 25463 DefaultConditionState 25464 Model = NVInferno_D1 25465 End 25466 End 25467 25468 ; ***DESIGN parameters *** 25469 EditorSorting = DEBRIS 25470 25471 ; *** ENGINEERING Parameters *** 25472 KindOf = NO_COLLIDE HULK 25473 25474 Behavior = PhysicsBehavior ModuleTag_03 25475 Mass = 100.0 25476 AllowBouncing = Yes 25477 KillWhenRestingOnGround = Yes 25478 End 25479 Behavior = LifetimeUpdate ModuleTag_04 25480 MinLifetime = 1500 ; min lifetime in msec 25481 MaxLifetime = 1600 ; max lifetime in msec 25482 End 25483 25484 Behavior = SlowDeathBehavior ModuleTag_05 25485 SinkDelay = 1500 25486 SinkRate = 2 ; in Dist/Sec 25487 DestructionDelay = 8000 25488 End 25489 25490 End 25491 25492 ;------------------------------------------------------------------------------ 25493 Object DeadChinaSupplyTruckHulk 25494 25495 ; *** ART Parameters *** 25496 Draw = W3DModelDraw ModuleTag_01 25497 DefaultConditionState 25498 Model = NVSSupplyTK_D1 25499 End 25500 End 25501 25502 ; ***DESIGN parameters *** 25503 EditorSorting = DEBRIS 25504 25505 ; *** ENGINEERING Parameters *** 25506 KindOf = NO_COLLIDE HULK 25507 25508 Behavior = PhysicsBehavior ModuleTag_03 25509 Mass = 100.0 25510 AllowBouncing = Yes 25511 KillWhenRestingOnGround = Yes 25512 End 25513 Behavior = LifetimeUpdate ModuleTag_04 25514 MinLifetime = 1500 ; min lifetime in msec 25515 MaxLifetime = 1600 ; max lifetime in msec 25516 End 25517 25518 Behavior = SlowDeathBehavior ModuleTag_05 25519 SinkDelay = 1500 25520 SinkRate = 2 ; in Dist/Sec 25521 DestructionDelay = 8000 25522 End 25523 25524 End 25525 25526 ;------------------------------------------------------------------------------ 25527 Object DeadChinaGattlingTankHulk 25528 25529 ; *** ART Parameters *** 25530 Draw = W3DModelDraw ModuleTag_01 25531 DefaultConditionState 25532 Model = NVGattTank_D1 25533 End 25534 End 25535 25536 ; ***DESIGN parameters *** 25537 EditorSorting = DEBRIS 25538 25539 ; *** ENGINEERING Parameters *** 25540 KindOf = NO_COLLIDE HULK 25541 25542 Behavior = PhysicsBehavior ModuleTag_03 25543 Mass = 100.0 25544 AllowBouncing = Yes 25545 KillWhenRestingOnGround = Yes 25546 End 25547 Behavior = LifetimeUpdate ModuleTag_04 25548 MinLifetime = 1500 ; min lifetime in msec 25549 MaxLifetime = 1600 ; max lifetime in msec 25550 End 25551 25552 Behavior = SlowDeathBehavior ModuleTag_05 25553 SinkDelay = 1500 25554 SinkDelayVariance = 1500 25555 SinkRate = 2 ; in Dist/Sec 25556 DestructionDelay = 12000 25557 DestructionDelayVariance = 4000 25558 End 25559 25560 End 25561 25562 ;------------------------------------------------------------------------------ 25563 Object AmericaVehicleAmbulanceDeadHull 25564 25565 ; *** ART Parameters *** 25566 Draw = W3DModelDraw ModuleTag_01 25567 ConditionState = NONE 25568 Model = AVAmbulance_D1 25569 End 25570 End 25571 25572 ; ***DESIGN parameters *** 25573 EditorSorting = DEBRIS 25574 25575 ; *** ENGINEERING Parameters *** 25576 KindOf = NO_COLLIDE HULK 25577 25578 Behavior = PhysicsBehavior ModuleTag_03 25579 Mass = 100.0 25580 AllowBouncing = Yes 25581 KillWhenRestingOnGround = Yes 25582 End 25583 Behavior = LifetimeUpdate ModuleTag_04 25584 MinLifetime = 1500 ; min lifetime in msec 25585 MaxLifetime = 1600 ; max lifetime in msec 25586 End 25587 25588 Behavior = SlowDeathBehavior ModuleTag_05 25589 SinkDelay = 1500 25590 SinkDelayVariance = 1500 25591 SinkRate = 2 ; in Dist/Sec 25592 DestructionDelay = 12000 25593 DestructionDelayVariance = 4000 25594 End 25595 25596 25597 End 25598 25599 ;------------------------------------------------------------------------------ 25600 Object DeadSCUDLauncherHulk 25601 25602 ; *** ART Parameters *** 25603 Draw = W3DModelDraw ModuleTag_01 25604 DefaultConditionState 25605 Model = UVScudLchr_d1 25606 End 25607 End 25608 25609 ; ***DESIGN parameters *** 25610 EditorSorting = DEBRIS 25611 25612 ; *** ENGINEERING Parameters *** 25613 KindOf = NO_COLLIDE HULK 25614 25615 Behavior = PhysicsBehavior ModuleTag_03 25616 Mass = 100.0 25617 AllowBouncing = Yes 25618 KillWhenRestingOnGround = Yes 25619 End 25620 Behavior = LifetimeUpdate ModuleTag_04 25621 MinLifetime = 1500 ; min lifetime in msec 25622 MaxLifetime = 1600 ; max lifetime in msec 25623 End 25624 25625 Behavior = SlowDeathBehavior ModuleTag_05 25626 SinkDelay = 1500 25627 SinkRate = 2 ; in Dist/Sec 25628 DestructionDelay = 8000 25629 End 25630 25631 End 25632 25633 ;------------------------------------------------------------------------------ 25634 Object DeadToxinTractorHulk 25635 25636 ; *** ART Parameters *** 25637 Draw = W3DModelDraw ModuleTag_01 25638 DefaultConditionState 25639 Model = UVToxinTrk_d1 25640 End 25641 End 25642 25643 ; ***DESIGN parameters *** 25644 EditorSorting = DEBRIS 25645 25646 ; *** ENGINEERING Parameters *** 25647 KindOf = NO_COLLIDE HULK 25648 25649 Behavior = PhysicsBehavior ModuleTag_03 25650 Mass = 100.0 25651 AllowBouncing = Yes 25652 KillWhenRestingOnGround = Yes 25653 End 25654 Behavior = LifetimeUpdate ModuleTag_04 25655 MinLifetime = 1500 ; min lifetime in msec 25656 MaxLifetime = 1600 ; max lifetime in msec 25657 End 25658 25659 Behavior = SlowDeathBehavior ModuleTag_05 25660 SinkDelay = 1500 25661 SinkRate = 2 ; in Dist/Sec 25662 DestructionDelay = 16000 25663 End 25664 25665 End 25666 25667 ;------------------------------------------------------------------------------ 25668 Object DeadQuadCannonHulk 25669 25670 ; *** ART Parameters *** 25671 Draw = W3DModelDraw ModuleTag_01 25672 DefaultConditionState 25673 Model = UVQuadCann_d1 25674 End 25675 End 25676 25677 ; ***DESIGN parameters *** 25678 EditorSorting = DEBRIS 25679 25680 ; *** ENGINEERING Parameters *** 25681 KindOf = NO_COLLIDE HULK 25682 25683 Behavior = PhysicsBehavior ModuleTag_03 25684 Mass = 100.0 25685 AllowBouncing = Yes 25686 KillWhenRestingOnGround = Yes 25687 End 25688 Behavior = LifetimeUpdate ModuleTag_04 25689 MinLifetime = 1500 ; min lifetime in msec 25690 MaxLifetime = 1600 ; max lifetime in msec 25691 End 25692 25693 Behavior = SlowDeathBehavior ModuleTag_05 25694 SinkDelay = 1500 25695 SinkRate = 2 ; in Dist/Sec 25696 DestructionDelay = 16000 25697 End 25698 25699 End 25700 25701 ;------------------------------------------------------------------------------ 25702 Object DeadBombTruckHulk 25703 25704 ; *** ART Parameters *** 25705 Draw = W3DModelDraw ModuleTag_01 25706 DefaultConditionState 25707 Model = UVBmbTruk_d1 25708 End 25709 End 25710 25711 ; ***DESIGN parameters *** 25712 EditorSorting = DEBRIS 25713 25714 ; *** ENGINEERING Parameters *** 25715 KindOf = NO_COLLIDE HULK 25716 25717 Behavior = PhysicsBehavior ModuleTag_03 25718 Mass = 100.0 25719 AllowBouncing = Yes 25720 KillWhenRestingOnGround = Yes 25721 End 25722 Behavior = LifetimeUpdate ModuleTag_04 25723 MinLifetime = 1500 ; min lifetime in msec 25724 MaxLifetime = 1600 ; max lifetime in msec 25725 End 25726 25727 Behavior = SlowDeathBehavior ModuleTag_05 25728 SinkDelay = 1500 25729 SinkRate = 2 ; in Dist/Sec 25730 DestructionDelay = 16000 25731 End 25732 25733 End 25734 25735 ;------------------------------------------------------------------------------ 25736 Object DeadTechnicalVanHulk 25737 25738 ; *** ART Parameters *** 25739 Draw = W3DModelDraw ModuleTag_01 25740 DefaultConditionState 25741 Model = UVTECHVAN_d1 25742 End 25743 End 25744 25745 ; ***DESIGN parameters *** 25746 EditorSorting = DEBRIS 25747 25748 ; *** ENGINEERING Parameters *** 25749 KindOf = NO_COLLIDE HULK 25750 25751 Behavior = PhysicsBehavior ModuleTag_03 25752 Mass = 100.0 25753 AllowBouncing = Yes 25754 KillWhenRestingOnGround = Yes 25755 End 25756 Behavior = LifetimeUpdate ModuleTag_04 25757 MinLifetime = 1500 ; min lifetime in msec 25758 MaxLifetime = 1600 ; max lifetime in msec 25759 End 25760 25761 Behavior = SlowDeathBehavior ModuleTag_05 25762 SinkDelay = 1500 25763 SinkRate = 2 ; in Dist/Sec 25764 DestructionDelay = 16000 25765 End 25766 25767 End 25768 25769 ;------------------------------------------------------------------------------ 25770 Object DeadTechnicalJeepHulk 25771 25772 ; *** ART Parameters *** 25773 Draw = W3DModelDraw ModuleTag_01 25774 DefaultConditionState 25775 Model = UVTECHJEEP_d1 25776 End 25777 End 25778 25779 ; ***DESIGN parameters *** 25780 EditorSorting = DEBRIS 25781 25782 ; *** ENGINEERING Parameters *** 25783 KindOf = NO_COLLIDE HULK 25784 25785 Behavior = PhysicsBehavior ModuleTag_03 25786 Mass = 100.0 25787 AllowBouncing = Yes 25788 KillWhenRestingOnGround = Yes 25789 End 25790 Behavior = LifetimeUpdate ModuleTag_04 25791 MinLifetime = 1500 ; min lifetime in msec 25792 MaxLifetime = 1600 ; max lifetime in msec 25793 End 25794 25795 Behavior = SlowDeathBehavior ModuleTag_05 25796 SinkDelay = 1500 25797 SinkRate = 2 ; in Dist/Sec 25798 DestructionDelay = 16000 25799 End 25800 25801 End 25802 25803 ;------------------------------------------------------------------------------ 25804 Object DeadTechnicalTruckHulk 25805 25806 ; *** ART Parameters *** 25807 Draw = W3DModelDraw ModuleTag_01 25808 DefaultConditionState 25809 Model = UVTECHTRCK_d1 25810 End 25811 End 25812 25813 ; ***DESIGN parameters *** 25814 EditorSorting = DEBRIS 25815 25816 ; *** ENGINEERING Parameters *** 25817 KindOf = NO_COLLIDE HULK 25818 25819 Behavior = PhysicsBehavior ModuleTag_03 25820 Mass = 100.0 25821 AllowBouncing = Yes 25822 KillWhenRestingOnGround = Yes 25823 End 25824 Behavior = LifetimeUpdate ModuleTag_04 25825 MinLifetime = 1500 ; min lifetime in msec 25826 MaxLifetime = 1600 ; max lifetime in msec 25827 End 25828 25829 Behavior = SlowDeathBehavior ModuleTag_05 25830 SinkDelay = 1500 25831 SinkRate = 2 ; in Dist/Sec 25832 DestructionDelay = 16000 25833 End 25834 25835 End 25836 25837 ;------------------------------------------------------------------------------ 25838 Object DeadRocketBuggyHulk 25839 25840 ; *** ART Parameters *** 25841 Draw = W3DModelDraw ModuleTag_01 25842 DefaultConditionState 25843 Model = UVRockBug_D1 25844 End 25845 End 25846 25847 ; ***DESIGN parameters *** 25848 EditorSorting = DEBRIS 25849 25850 ; *** ENGINEERING Parameters *** 25851 KindOf = NO_COLLIDE HULK 25852 25853 Behavior = PhysicsBehavior ModuleTag_03 25854 Mass = 100.0 25855 AllowBouncing = Yes 25856 KillWhenRestingOnGround = Yes 25857 End 25858 Behavior = LifetimeUpdate ModuleTag_04 25859 MinLifetime = 1500 ; min lifetime in msec 25860 MaxLifetime = 1600 ; max lifetime in msec 25861 End 25862 25863 Behavior = SlowDeathBehavior ModuleTag_05 25864 SinkDelay = 1500 25865 SinkRate = 2 ; in Dist/Sec 25866 DestructionDelay = 16000 25867 End 25868 25869 End 25870 25871 ;------------------------------------------------------------------------------ 25872 ; POW Trucks are cut. sorry. (srj) 25873 ;Object DeadGLAPOWTruckHulk 25874 ; ; *** ART Parameters *** 25875 ; Draw = W3DModelDraw ModuleTag_01 25876 ; DefaultConditionState 25877 ; Model = UVPOWTruck_d1 25878 ; End 25879 ; End 25880 ; ; ***DESIGN parameters *** 25881 ; EditorSorting = DEBRIS 25882 ; ; *** ENGINEERING Parameters *** 25883 ; KindOf = NO_COLLIDE HULK 25884 ; Behavior = PhysicsBehavior ModuleTag_03 25885 ; Mass = 100.0 25886 ; AllowBouncing = Yes 25887 ; KillWhenRestingOnGround = Yes 25888 ; End 25889 ; Behavior = LifetimeUpdate ModuleTag_04 25890 ; MinLifetime = 1500 ; min lifetime in msec 25891 ; MaxLifetime = 1600 ; max lifetime in msec 25892 ; End 25893 ; Behavior = SlowDeathBehavior ModuleTag_05 25894 ; SinkDelay = 1500 25895 ; SinkRate = 2 ; in Dist/Sec 25896 ; DestructionDelay = 16000 25897 ; End 25898 ;End 25899 25900 ;--------------------------------------------------------------------------- 25901 ; POW Trucks are cut. sorry. (srj) 25902 ;Object DeadChinaPOWTruckHulk 25903 ; ; *** ART Parameters *** 25904 ; Draw = W3DModelDraw ModuleTag_01 25905 ; ConditionState = NONE 25906 ; Model = NVPOWTrck_d1 25907 ; End 25908 ; End 25909 ; 25910 ; ; ***DESIGN parameters *** 25911 ; EditorSorting = DEBRIS 25912 ; ; *** ENGINEERING Parameters *** 25913 ; KindOf = NO_COLLIDE HULK 25914 ; Behavior = PhysicsBehavior ModuleTag_03 25915 ; Mass = 100.0 25916 ; AllowBouncing = Yes 25917 ; KillWhenRestingOnGround = Yes 25918 ; End 25919 ; Behavior = LifetimeUpdate ModuleTag_04 25920 ; MinLifetime = 1500 ; min lifetime in msec 25921 ; MaxLifetime = 1600 ; max lifetime in msec 25922 ; End 25923 ; Behavior = SlowDeathBehavior ModuleTag_05 25924 ; SinkDelay = 1500 25925 ; SinkRate = 2 ; in Dist/Sec 25926 ; DestructionDelay = 16000 25927 ; End 25928 ;End 25929 25930 ;--------------------------------------------------------------------------- 25931 Object DeadCrusaderHulk 25932 25933 ; *** ART Parameters *** 25934 Draw = W3DModelDraw ModuleTag_01 25935 ConditionState = NONE 25936 Model = AVLeopard_D1 25937 End 25938 End 25939 25940 ; ***DESIGN parameters *** 25941 EditorSorting = DEBRIS 25942 25943 ; *** ENGINEERING Parameters *** 25944 KindOf = NO_COLLIDE HULK 25945 25946 Behavior = PhysicsBehavior ModuleTag_03 25947 Mass = 100.0 25948 AllowBouncing = Yes 25949 KillWhenRestingOnGround = Yes 25950 End 25951 Behavior = LifetimeUpdate ModuleTag_04 25952 MinLifetime = 1500 ; min lifetime in msec 25953 MaxLifetime = 1600 ; max lifetime in msec 25954 End 25955 25956 Behavior = SlowDeathBehavior ModuleTag_05 25957 SinkDelay = 1500 25958 SinkRate = 2 ; in Dist/Sec 25959 DestructionDelay = 8000 25960 End 25961 End 25962 25963 ;------------------------------------------------------------------------------ 25964 Object DeadPaladinHulk 25965 25966 ; *** ART Parameters *** 25967 Draw = W3DModelDraw ModuleTag_01 25968 ConditionState = NONE 25969 Model = AVPaladin_D1 25970 End 25971 End 25972 25973 ; ***DESIGN parameters *** 25974 EditorSorting = DEBRIS 25975 25976 ; *** ENGINEERING Parameters *** 25977 KindOf = NO_COLLIDE HULK 25978 25979 Behavior = PhysicsBehavior ModuleTag_03 25980 Mass = 100.0 25981 AllowBouncing = Yes 25982 KillWhenRestingOnGround = Yes 25983 End 25984 Behavior = LifetimeUpdate ModuleTag_04 25985 MinLifetime = 1500 ; min lifetime in msec 25986 MaxLifetime = 1600 ; max lifetime in msec 25987 End 25988 25989 Behavior = SlowDeathBehavior ModuleTag_05 25990 SinkDelay = 1500 25991 SinkRate = 2 ; in Dist/Sec 25992 DestructionDelay = 8000 25993 End 25994 End 25995 25996 ;------------------------------------------------------------------------------ 25997 Object DeadMarauderHulk 25998 25999 ; *** ART Parameters *** 26000 Draw = W3DModelDraw ModuleTag_01 26001 ConditionState = NONE 26002 Model = UVMarauder_D1 26003 End 26004 End 26005 26006 ; ***DESIGN parameters *** 26007 EditorSorting = DEBRIS 26008 26009 ; *** ENGINEERING Parameters *** 26010 KindOf = NO_COLLIDE HULK 26011 26012 Behavior = PhysicsBehavior ModuleTag_03 26013 Mass = 100.0 26014 AllowBouncing = Yes 26015 KillWhenRestingOnGround = Yes 26016 End 26017 Behavior = LifetimeUpdate ModuleTag_04 26018 MinLifetime = 1500 ; min lifetime in msec 26019 MaxLifetime = 1600 ; max lifetime in msec 26020 End 26021 26022 Behavior = SlowDeathBehavior ModuleTag_05 26023 SinkDelay = 1500 26024 SinkRate = 2 ; in Dist/Sec 26025 DestructionDelay = 12000 26026 End 26027 End 26028 26029 ;------------------------------------------------------------------------------ 26030 Object DeadScorpionHulk 26031 26032 ; *** ART Parameters *** 26033 Draw = W3DModelDraw ModuleTag_01 26034 ConditionState = NONE 26035 Model = UVLiteTank_D1 26036 End 26037 End 26038 26039 ; ***DESIGN parameters *** 26040 EditorSorting = DEBRIS 26041 26042 ; *** ENGINEERING Parameters *** 26043 KindOf = NO_COLLIDE HULK 26044 26045 Behavior = PhysicsBehavior ModuleTag_03 26046 Mass = 100.0 26047 AllowBouncing = Yes 26048 KillWhenRestingOnGround = Yes 26049 End 26050 Behavior = LifetimeUpdate ModuleTag_04 26051 MinLifetime = 1500 ; min lifetime in msec 26052 MaxLifetime = 1600 ; max lifetime in msec 26053 End 26054 26055 Behavior = SlowDeathBehavior ModuleTag_05 26056 SinkDelay = 1500 26057 SinkRate = 2 ; in Dist/Sec 26058 DestructionDelay = 12000 26059 End 26060 End 26061 26062 ;------------------------------------------------------------------------------ 26063 ; POW Trucks are cut. sorry. (srj) 26064 ;Object DeadAmericanPOWTruckHulk 26065 ; ; *** ART Parameters *** 26066 ; Draw = W3DModelDraw ModuleTag_01 26067 ; ConditionState = NONE 26068 ; Model = AVPOWTruck_D1 26069 ; End 26070 ; End 26071 ; ; ***DESIGN parameters *** 26072 ; EditorSorting = DEBRIS 26073 ; ; *** ENGINEERING Parameters *** 26074 ; KindOf = NO_COLLIDE HULK 26075 ; Behavior = PhysicsBehavior ModuleTag_03 26076 ; Mass = 100.0 26077 ; AllowBouncing = Yes 26078 ; KillWhenRestingOnGround = Yes 26079 ; End 26080 ; Behavior = LifetimeUpdate ModuleTag_04 26081 ; MinLifetime = 1500 ; min lifetime in msec 26082 ; MaxLifetime = 1600 ; max lifetime in msec 26083 ; End 26084 ; Behavior = SlowDeathBehavior ModuleTag_05 26085 ; SinkDelay = 1500 26086 ; SinkRate = 2 ; in Dist/Sec 26087 ; DestructionDelay = 12000 26088 ; End 26089 ;End 26090 26091 ;------------------------------------------------------------------------------ 26092 Object DestroyedMilitiaTank 26093 26094 ; *** ART Parameters *** 26095 Draw = W3DModelDraw ModuleTag_01 26096 ConditionState = NONE 26097 Model = CVTank_D1 26098 End 26099 End 26100 26101 ; ***DESIGN parameters *** 26102 EditorSorting = DEBRIS 26103 26104 ; *** ENGINEERING Parameters *** 26105 KindOf = NONE HULK 26106 26107 Behavior = PhysicsBehavior ModuleTag_03 26108 Mass = 100.0 26109 AllowBouncing = Yes 26110 KillWhenRestingOnGround = Yes 26111 End 26112 Behavior = LifetimeUpdate ModuleTag_04 26113 MinLifetime = 10000 ; min lifetime in msec 26114 MaxLifetime = 15000 ; max lifetime in msec 26115 End 26116 26117 Behavior = SlowDeathBehavior ModuleTag_05 26118 SinkDelay = 4000 26119 SinkRate = 2 ; in Dist/Sec 26120 DestructionDelay = 8000 26121 End 26122 End 26123 26124 ;------------------------------------------------------------------------------ 26125 Object DeadRadarVanHulk 26126 26127 ; *** ART Parameters *** 26128 Draw = W3DModelDraw ModuleTag_01 26129 ConditionState = NONE 26130 Model = UVRadarVan_D1 26131 End 26132 End 26133 26134 ; ***DESIGN parameters *** 26135 EditorSorting = DEBRIS 26136 26137 ; *** ENGINEERING Parameters *** 26138 KindOf = NO_COLLIDE HULK 26139 26140 Behavior = PhysicsBehavior ModuleTag_03 26141 Mass = 100.0 26142 AllowBouncing = Yes 26143 KillWhenRestingOnGround = Yes 26144 End 26145 Behavior = LifetimeUpdate ModuleTag_04 26146 MinLifetime = 1500 ; min lifetime in msec 26147 MaxLifetime = 1600 ; max lifetime in msec 26148 End 26149 26150 Behavior = SlowDeathBehavior ModuleTag_05 26151 SinkDelay = 1500 26152 SinkRate = 2 ; in Dist/Sec 26153 DestructionDelay = 16000 26154 End 26155 26156 End 26157 26158 ;------------------------------------------------------------------------------ 26159 Object ChinaDeadDozerHulk 26160 26161 ; *** ART Parameters *** 26162 Draw = W3DModelDraw ModuleTag_01 26163 ConditionState = NONE 26164 Model = nvconstdoz_D1 26165 End 26166 End 26167 26168 ; ***DESIGN parameters *** 26169 EditorSorting = DEBRIS 26170 26171 ; *** ENGINEERING Parameters *** 26172 KindOf = NO_COLLIDE HULK 26173 26174 Behavior = PhysicsBehavior ModuleTag_03 26175 Mass = 100.0 26176 AllowBouncing = Yes 26177 KillWhenRestingOnGround = Yes 26178 End 26179 Behavior = LifetimeUpdate ModuleTag_04 26180 MinLifetime = 1500 ; min lifetime in msec 26181 MaxLifetime = 1600 ; max lifetime in msec 26182 End 26183 26184 Behavior = SlowDeathBehavior ModuleTag_05 26185 SinkDelay = 1500 26186 SinkRate = 2 ; in Dist/Sec 26187 DestructionDelay = 8000 26188 End 26189 26190 End 26191 26192 ;------------------------------------------------------------------------------ 26193 Object AmericaDeadDozerHulk 26194 26195 ; *** ART Parameters *** 26196 Draw = W3DModelDraw ModuleTag_01 26197 ConditionState = NONE 26198 Model = avconstdoz_D1 26199 End 26200 End 26201 26202 ; ***DESIGN parameters *** 26203 EditorSorting = DEBRIS 26204 26205 ; *** ENGINEERING Parameters *** 26206 KindOf = NO_COLLIDE HULK 26207 26208 Behavior = PhysicsBehavior ModuleTag_03 26209 Mass = 100.0 26210 AllowBouncing = Yes 26211 KillWhenRestingOnGround = Yes 26212 End 26213 Behavior = LifetimeUpdate ModuleTag_04 26214 MinLifetime = 1500 ; min lifetime in msec 26215 MaxLifetime = 1600 ; max lifetime in msec 26216 End 26217 26218 Behavior = SlowDeathBehavior ModuleTag_05 26219 SinkDelay = 1500 26220 SinkRate = 2 ; in Dist/Sec 26221 DestructionDelay = 8000 26222 End 26223 26224 End 26225 26226 ;------------------------------------------------------------------------------ 26227 Object AmericaScoutDroneHulk 26228 ; *** ART Parameters *** 26229 Draw = W3DModelDraw ModuleTag_01 26230 ConditionState = NONE 26231 Model = AVScoutDr_D1 26232 End 26233 End 26234 26235 ; ***DESIGN parameters *** 26236 EditorSorting = DEBRIS 26237 26238 ; *** ENGINEERING Parameters *** 26239 KindOf = NO_COLLIDE HULK 26240 26241 Behavior = PhysicsBehavior ModuleTag_03 26242 Mass = 10.0 26243 AllowBouncing = Yes 26244 KillWhenRestingOnGround = Yes 26245 End 26246 Behavior = LifetimeUpdate ModuleTag_04 26247 MinLifetime = 1500 ; min lifetime in msec 26248 MaxLifetime = 1600 ; max lifetime in msec 26249 End 26250 26251 Behavior = SlowDeathBehavior ModuleTag_05 26252 SinkDelay = 1500 26253 SinkRate = 2 ; in Dist/Sec 26254 DestructionDelay = 8000 26255 End 26256 End 26257 26258 ;------------------------------------------------------------------------------ 26259 Object AmericaBattleDroneHulk 26260 ; *** ART Parameters *** 26261 Draw = W3DModelDraw ModuleTag_01 26262 ConditionState = NONE 26263 Model = AVBattleDr_D1 26264 End 26265 End 26266 26267 ; ***DESIGN parameters *** 26268 EditorSorting = DEBRIS 26269 26270 ; *** ENGINEERING Parameters *** 26271 KindOf = NO_COLLIDE HULK 26272 26273 Behavior = PhysicsBehavior ModuleTag_03 26274 Mass = 10.0 26275 AllowBouncing = Yes 26276 KillWhenRestingOnGround = Yes 26277 End 26278 Behavior = LifetimeUpdate ModuleTag_04 26279 MinLifetime = 1500 ; min lifetime in msec 26280 MaxLifetime = 1600 ; max lifetime in msec 26281 End 26282 26283 Behavior = SlowDeathBehavior ModuleTag_05 26284 SinkDelay = 1500 26285 SinkRate = 2 ; in Dist/Sec 26286 DestructionDelay = 8000 26287 End 26288 End 26289 26290 ;------------------------------------------------------------------------------ 26291 Object AmericaJetA10Thunderbolt 26292 26293 ; *** ART Parameters *** 26294 SelectPortrait = SAWarthog_L 26295 ButtonImage = SAWarthog 26296 26297 Draw = W3DModelDraw ModuleTag_01 26298 26299 OkToChangeModelColor = Yes 26300 26301 ExtraPublicBone = WeaponA01 26302 ExtraPublicBone = WeaponA02 26303 ExtraPublicBone = WeaponA03 26304 ExtraPublicBone = WeaponA04 26305 ExtraPublicBone = WeaponA05 26306 ExtraPublicBone = WeaponA06 26307 26308 DefaultConditionState 26309 Model = AVWarthog 26310 WeaponMuzzleFlash = PRIMARY MuzzleFX01 26311 WeaponFireFXBone = PRIMARY Muzzle01 26312 ParticleSysBone = Engine01 JetBlackTrailThin 26313 ParticleSysBone = Engine02 JetBlackTrailThin 26314 ParticleSysBone = Wingtip01 JetContrailThin 26315 ParticleSysBone = Wingtip02 JetContrailThin 26316 End 26317 26318 ConditionState = REALLYDAMAGED 26319 Model = AVWarthog_D 26320 WeaponMuzzleFlash = PRIMARY MuzzleFX01 26321 WeaponFireFXBone = PRIMARY Muzzle01 26322 End 26323 AliasConditionState = RUBBLE 26324 26325 End 26326 26327 ; ***DESIGN parameters *** 26328 DisplayName = OBJECT:A10Thunderbolt 26329 EditorSorting = VEHICLE 26330 Side = America 26331 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 26332 VisionRange = 300.0 26333 ShroudClearingRange = 300 26334 Prerequisites 26335 Object = AmericaAirfield 26336 End 26337 WeaponSet 26338 Conditions = None 26339 Weapon = PRIMARY A10ThunderboltVulcan 26340 End 26341 ArmorSet 26342 Conditions = None 26343 Armor = AirplaneArmor 26344 DamageFX = None 26345 End 26346 26347 ExperienceValue = 50 100 150 400 ;Experience point value at each level 26348 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 26349 IsTrainable = Yes ;Can gain experience 26350 26351 ; *** AUDIO Parameters *** 26352 SoundAmbient = A10ThunderboltAmbientLoop 26353 SoundAmbientRubble = NoSound 26354 UnitSpecificSounds 26355 SoundEject = PilotSoundEject 26356 VoiceEject = PilotVoiceEject 26357 StartDive = A10ThunderboltDive 26358 End 26359 26360 ; *** ENGINEERING Parameters *** 26361 RadarPriority = UNIT 26362 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI 26363 Body = ActiveBody ModuleTag_02 26364 MaxHealth = 600.0 26365 InitialHealth = 600.0 26366 End 26367 26368 ExperienceValue = 40 40 40 40 ; Experience point value at each level 26369 26370 Behavior = JetSlowDeathBehavior ModuleTag_03 26371 DestructionDelay = 99999999 ; destruction will happen when we 26372 RollRate = 0.0 26373 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 26374 PitchRate = 0.0 26375 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 26376 FXInitialDeath = FX_JetDeathInitial 26377 OCLInitialDeath = None 26378 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 26379 FXSecondary = FX_JetDeathSecondary 26380 OCLSecondary = None 26381 FXHitGround = FX_JetDeathHitGround 26382 OCLHitGround = OCL_A10DeathHitGround 26383 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 26384 FXFinalBlowUp = FX_JetDeathFinalBlowUp 26385 OCLFinalBlowUp = OCL_A10DeathFinalBlowUp 26386 End 26387 26388 Behavior = PhysicsBehavior ModuleTag_05 26389 Mass = 500.0 26390 End 26391 26392 ;SCRIPTED SUPPORT: These special power is triggered directly 26393 ;from the transport without creating a transport. This is done 26394 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 26395 ;which also prevents creating the payload transport. 26396 Behavior = OCLSpecialPower ModuleTag_06 26397 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike ;@@KRIS@@ 26398 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 26399 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 26400 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 26401 CreateLocation = USE_OWNER_OBJECT 26402 End 26403 26404 Behavior = DeliverPayloadAIUpdate ModuleTag_07 26405 End 26406 Locomotor = SET_NORMAL A10ThunderboltLocomotor 26407 26408 Behavior = FlammableUpdate ModuleTag_21 26409 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 26410 AflameDamageAmount = 3 ; taking this much damage... 26411 AflameDamageDelay = 500 ; this often. 26412 End 26413 26414 ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 26415 End 26416 26417 Geometry = Cylinder 26418 GeometryIsSmall = Yes 26419 GeometryMajorRadius = 10.0 26420 GeometryMinorRadius = 10.0 26421 GeometryHeight = 10.0 26422 Shadow = SHADOW_VOLUME 26423 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 26424 26425 End 26426 26427 ;------------------------------------------------------------------------------ 26428 Object AmericaVehicleChinook 26429 26430 ; *** ART Parameters *** 26431 SelectPortrait = SAChinook_L 26432 ButtonImage = SAChinook 26433 26434 ;UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 26435 ;UpgradeCameo2 = NONE 26436 ;UpgradeCameo3 = NONE 26437 ;UpgradeCameo4 = NONE 26438 ;UpgradeCameo5 = NONE 26439 26440 Draw = W3DModelDraw ModuleTag_01 ; Helicopter 26441 26442 ExtraPublicBone = RopeStart 26443 ExtraPublicBone = RopeEnd 26444 26445 DefaultConditionState 26446 Model = AVChinook 26447 Animation = AVChinook.AVChinook 26448 AnimationMode = LOOP 26449 End 26450 26451 ConditionState = REALLYDAMAGED 26452 Model = AVChinook_d 26453 Animation = AVChinook_d.AVChinook_d 26454 AnimationMode = LOOP 26455 End 26456 26457 ConditionState = RUBBLE 26458 Model = AVChinook_d 26459 Animation = AVChinook_d.AVChinook_d 26460 AnimationMode = LOOP 26461 End 26462 26463 ConditionState = RUBBLE SPECIAL_DAMAGED 26464 Model = AVChinook_d 26465 HideSubObject = Props01 26466 HideSubObject = Props02 26467 End 26468 26469 OkToChangeModelColor = Yes 26470 End 26471 26472 Draw = W3DModelDraw ModuleTag_02 ; Cargo net 26473 ConditionState = NONE 26474 Model = None ; Nothing here 26475 TransitionKey = TRANS_Empty 26476 WaitForStateToFinishIfPossible = TRANS_Unloading 26477 End 26478 26479 ConditionState = DYING 26480 Model = None ; Nothing here 26481 End 26482 AliasConditionState = RUBBLE 26483 AliasConditionState = CARRYING RUBBLE 26484 AliasConditionState = DOCKING RUBBLE 26485 AliasConditionState = DOCKING CARRYING RUBBLE 26486 26487 ConditionState = CARRYING 26488 Model = AVChinook_A ;Carrying a full wobbly net of stuff 26489 Animation = AVChinook_A.AVChinook_A 26490 AnimationMode = LOOP 26491 TransitionKey = TRANS_Full 26492 WaitForStateToFinishIfPossible = TRANS_PickingUp 26493 End 26494 26495 ConditionState = DOCKING 26496 Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff 26497 Animation = AVChinook_A1SK.AVChinook_A1 26498 AnimationMode = ONCE_BACKWARDS 26499 Flags = START_FRAME_LAST 26500 AnimationSpeedFactorRange = .75 .75 26501 TransitionKey = TRANS_PickingUp 26502 WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 26503 End 26504 26505 ConditionState = DOCKING CARRYING 26506 Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net 26507 Animation = AVChinook_A1SK.AVChinook_A1 26508 AnimationMode = ONCE 26509 AnimationSpeedFactorRange = 2.75 2.75 26510 TransitionKey = TRANS_Unloading 26511 WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 26512 End 26513 End 26514 26515 ; ***DESIGN parameters *** 26516 DisplayName = OBJECT:Chinook 26517 EditorSorting = VEHICLE 26518 Side = America 26519 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 26520 VisionRange = 300.0 26521 ShroudClearingRange = 600 26522 BuildCost = 1200 26523 BuildTime = 10.0 ;in seconds 26524 Prerequisites 26525 ; Object = AmericaSupplyCenter 26526 End 26527 ExperienceValue = 50 50 50 50 ;Experience point value at each level 26528 IsTrainable = No 26529 CommandSet = AmericaVehicleChinookCommandSet 26530 ArmorSet 26531 Conditions = None 26532 Armor = ChinookArmor 26533 DamageFX = None 26534 End 26535 26536 ; *** AUDIO Parameters *** 26537 VoiceSelect = ChinookVoiceSelect 26538 VoiceMove = ChinookVoiceMove 26539 VoiceAttack = ChinookVoiceAttack 26540 SoundAmbient = ChinookAmbientLoop 26541 SoundAmbientRubble = NoSound 26542 SoundDie = ChinookVoiceFalling 26543 SoundEnter = HumveeEnter 26544 SoundExit = HumveeExit 26545 UnitSpecificSounds 26546 VoiceCreate = ChinookVoiceCreate 26547 VoiceSupply = ChinookVoiceSupply 26548 VoiceUnload = ChinookVoiceUnload 26549 VoiceCombatDrop = ChinookVoiceCombatDrop 26550 VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! 26551 VoiceGarrison = ChinookVoiceMove 26552 End 26553 26554 ; *** ENGINEERING Parameters *** 26555 RadarPriority = UNIT 26556 ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at 26557 ; (well, "near" actually) an Airfield to get healed... 26558 ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. 26559 KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD 26560 26561 Body = ActiveBody ModuleTag_03 26562 MaxHealth = 300.0 26563 InitialHealth = 300.0 26564 End 26565 26566 Behavior = FXListDie ModuleTag_05 26567 DeathFX = FX_HelicopterStartDeath 26568 End 26569 26570 Behavior = TransitionDamageFX ModuleTag_06 26571 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 26572 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 26573 End 26574 26575 Behavior = ChinookAIUpdate ModuleTag_07 26576 MaxBoxes = 8 26577 SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction) 26578 SupplyWarehouseActionDelay = 1250 ; 875 ; ms per box (many small transactions) 26579 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) 26580 SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted 26581 NumRopes = 4 26582 ; these define how long we can wait, once a guy is on-rope, before throwing another 26583 ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely 26584 ; and we'll wait for each guy to clear before spawning another. 26585 PerRopeDelayMin = 900 26586 PerRopeDelayMax = 1500 26587 RopeWidth = 0.5 26588 RopeColor = R:0 G:0 B:0 26589 RopeWobbleLen = 10 26590 RopeWobbleAmplitude = 0.25 26591 RopeWobbleRate = 180 26592 RopeFinalHeight = 10 ; stop this far above ground 26593 RappelSpeed = 30 26594 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it 26595 26596 End 26597 Locomotor = SET_NORMAL ChinookLocomotor 26598 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 26599 26600 Behavior = TransportContain ModuleTag_08 26601 Slots = 8 26602 DamagePercentToUnits = 100% 26603 AllowInsideKindOf = INFANTRY VEHICLE 26604 ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE 26605 ExitDelay = 100 26606 NumberOfExitPaths = 1 26607 End 26608 Behavior = PhysicsBehavior ModuleTag_09 26609 Mass = 50.0 26610 End 26611 Behavior = HelicopterSlowDeathBehavior ModuleTag_10 26612 DestructionDelay = 99999999 ; the destruction delay 26613 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 26614 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 26615 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 26616 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 26617 SoundDeathLoop = ComancheDamagedLoop 26618 MinSelfSpin = 100 ; in degrees per second 26619 MaxSelfSpin = 300 ; in degrees per second 26620 SelfSpinUpdateDelay = 100 ; in milliseconds 26621 SelfSpinUpdateAmount = 10 ; in degrees 26622 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 26623 MinBladeFlyOffDelay = 1500 ; in milliseconds 26624 MaxBladeFlyOffDelay = 1500 ; in milliseconds 26625 AttachParticle = SootySmokeTrail 26626 AttachParticleBone = Propeller02 26627 BladeObjectName = ComancheBlades 26628 BladeBoneName = Propeller01 26629 FXBlade = FX_HelicopterBladeExplosion 26630 OCLBlade = OCL_HelicopterBladeExplosion 26631 FXHitGround = FX_HelicopterHitGround 26632 OCLHitGround = OCL_HelicopterHitGround 26633 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 26634 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 26635 DelayFromGroundToFinalDeath = 30 26636 FinalRubbleObject = ChinookRubbleHull 26637 End 26638 26639 Behavior = FlammableUpdate ModuleTag_21 26640 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 26641 AflameDamageAmount = 3 ; taking this much damage... 26642 AflameDamageDelay = 500 ; this often. 26643 End 26644 26645 Geometry = BOX 26646 GeometryMajorRadius = 20.0 26647 GeometryMinorRadius = 6.0 26648 GeometryHeight = 12.0 26649 GeometryIsSmall = No 26650 Shadow = SHADOW_VOLUME 26651 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 26652 26653 End 26654 26655 ;------------------------------------------------------------------------------ 26656 Object AmericaTankPaladin 26657 26658 ; *** ART Parameters *** 26659 SelectPortrait = SAPaladin_L 26660 ButtonImage = SAPaladin_L 26661 26662 UpgradeCameo1 = Upgrade_AmericaBattleDrone 26663 UpgradeCameo2 = Upgrade_AmericaScoutDrone 26664 UpgradeCameo3 = Upgrade_AmericaAdvancedTraining 26665 UpgradeCameo4 = Upgrade_AmericaCompositeArmor 26666 ;UpgradeCameo5 = NONE 26667 26668 Draw = W3DTankDraw ModuleTag_01 26669 26670 ExtraPublicBone = Laser 26671 26672 ConditionState = NONE 26673 Model = AVPaladin 26674 Turret = Turret01 26675 WeaponFireFXBone = PRIMARY TurretMS 26676 WeaponRecoilBone = PRIMARY Barrel 26677 WeaponMuzzleFlash = PRIMARY TurretFX 26678 WeaponLaunchBone = PRIMARY TurretMS 26679 End 26680 26681 ConditionState = REALLYDAMAGED 26682 Model = AVPaladin_D 26683 Turret = Turret01 26684 WeaponFireFXBone = PRIMARY TurretMS 26685 WeaponRecoilBone = PRIMARY Barrel 26686 WeaponMuzzleFlash = PRIMARY TurretFX 26687 WeaponLaunchBone = PRIMARY TurretMS 26688 End 26689 26690 ConditionState = RUBBLE 26691 Model = AVPaladin_D 26692 Turret = Turret01 26693 WeaponFireFXBone = PRIMARY TurretMS 26694 WeaponRecoilBone = PRIMARY Barrel 26695 WeaponMuzzleFlash = PRIMARY TurretFX 26696 WeaponLaunchBone = PRIMARY TurretMS 26697 End 26698 26699 TrackMarks = EXTnkTrack.tga 26700 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 26701 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 26702 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 26703 OkToChangeModelColor = Yes 26704 End 26705 26706 ; ***DESIGN parameters *** 26707 DisplayName = OBJECT:Paladin 26708 Side = America 26709 EditorSorting = VEHICLE 26710 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 26711 WeaponSet 26712 Conditions = None 26713 Weapon = PRIMARY PaladinTankGun 26714 End 26715 ArmorSet 26716 Conditions = None 26717 Armor = TankArmor 26718 DamageFX = TankDamageFX 26719 End 26720 ;ArmorSet 26721 ; Conditions = PLAYER_UPGRADE 26722 ; Armor = UpgradedTankArmor 26723 ; DamageFX = TankDamageFX 26724 ;End 26725 BuildCost = 1100 26726 BuildTime = 12.0 ;in seconds 26727 VisionRange = 150 26728 ShroudClearingRange = 300 26729 Prerequisites 26730 Object = AmericaWarFactory 26731 Science = SCIENCE_PaladinTank 26732 End 26733 26734 ExperienceValue = 100 100 200 400 ;Experience point value at each level 26735 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 26736 26737 IsTrainable = Yes ;Can gain experience 26738 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 26739 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 26740 CommandSet = AmericaTankPaladinCommandSet 26741 26742 ; *** AUDIO Parameters *** 26743 VoiceSelect = PaladinTankVoiceSelect 26744 VoiceMove = PaladinTankVoiceMove 26745 VoiceGuard = PaladinTankVoiceMove 26746 VoiceAttack = PaladinTankVoiceAttack 26747 SoundMoveStart = PaladinTankMoveStart 26748 SoundMoveStartDamaged = PaladinTankMoveStart 26749 26750 UnitSpecificSounds 26751 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 26752 VoiceCreate = PaladinTankVoiceCreate 26753 TurretMoveLoop = TurretMoveLoop 26754 SoundEject = PilotSoundEject 26755 VoiceEject = PilotVoiceEject 26756 VoiceCrush = PaladinTankVoiceCrush 26757 VoiceEnter = PaladinTankVoiceMove 26758 End 26759 26760 ; *** ENGINEERING Parameters *** 26761 RadarPriority = UNIT 26762 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 26763 26764 Body = ActiveBody ModuleTag_02 26765 MaxHealth = 600.0 26766 InitialHealth = 600.0 26767 End 26768 26769 Behavior = AIUpdateInterface ModuleTag_03 26770 Turret 26771 TurretTurnRate = 180 ;60 // turn rate, in degrees per sec 26772 ControlledWeaponSlots = PRIMARY 26773 End 26774 ;AltTurret 26775 ; TurretTurnRate = 9000; 26776 ; ControlledWeaponSlots = SECONDARY 26777 ;End 26778 AutoAcquireEnemiesWhenIdle = Yes 26779 End 26780 Locomotor = SET_NORMAL CrusaderLocomotor 26781 Behavior = PhysicsBehavior ModuleTag_04 26782 Mass = 50.0 26783 End 26784 26785 ; Turret fly off death 26786 Behavior = SlowDeathBehavior ModuleTag_05 26787 DeathTypes = ALL -CRUSHED -SPLATTED 26788 ProbabilityModifier = 50 26789 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely 26790 DestructionDelay = 500 26791 DestructionDelayVariance = 100 26792 FX = INITIAL FX_GenericTankDeathEffect 26793 FX = FINAL FX_GenericTankDeathExplosion 26794 OCL = FINAL OCL_PaladinTankDeathEffect 26795 End 26796 26797 ; Catch fire, and explode death 26798 Behavior = SlowDeathBehavior ModuleTag_06 26799 DeathTypes = ALL -CRUSHED -SPLATTED 26800 ProbabilityModifier = 50 26801 DestructionDelay = 2000 26802 DestructionDelayVariance = 300 26803 FX = INITIAL FX_CrusaderCatchFire 26804 OCL = FINAL OCL_PaladinTankDeathEffect 26805 FX = FINAL FX_GenericTankDeathExplosion 26806 End 26807 26808 Behavior = PointDefenseLaserUpdate ModuleTag_07 26809 WeaponTemplate = PaladinPointDefenseLaser 26810 PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE 26811 SecondaryTargetTypes = INFANTRY 26812 ScanRate = 500 26813 ScanRange = 120.0 26814 PredictTargetVelocityFactor = 3.0 26815 End 26816 26817 Behavior = ObjectCreationUpgrade ModuleTag_08 26818 UpgradeObject = OCL_AmericanBattleDrone 26819 TriggeredBy = Upgrade_AmericaBattleDrone 26820 ConflictsWith = Upgrade_AmericaScoutDrone 26821 End 26822 Behavior = ObjectCreationUpgrade ModuleTag_09 26823 UpgradeObject = OCL_AmericanScoutDrone 26824 TriggeredBy = Upgrade_AmericaScoutDrone 26825 ConflictsWith = Upgrade_AmericaBattleDrone 26826 End 26827 Behavior = ProductionUpdate ModuleTag_10 26828 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 26829 End 26830 26831 Behavior = ExperienceScalarUpgrade ModuleTag_11 26832 TriggeredBy = Upgrade_AmericaAdvancedTraining 26833 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 26834 End 26835 26836 Behavior = TransitionDamageFX ModuleTag_12 26837 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 26838 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 26839 End 26840 26841 Behavior = FXListDie ModuleTag_13 26842 DeathTypes = NONE +CRUSHED +SPLATTED 26843 DeathFX = FX_CarCrush 26844 End 26845 Behavior = CreateObjectDie ModuleTag_14 26846 DeathTypes = NONE +CRUSHED +SPLATTED 26847 CreationList = OCL_CrusaderTank_CrushEffect 26848 End 26849 Behavior = DestroyDie ModuleTag_15 26850 DeathTypes = NONE +CRUSHED +SPLATTED 26851 End 26852 Behavior = CreateCrateDie ModuleTag_16 26853 CrateData = SalvageCrateData 26854 ;CrateData = EliteTankCrateData 26855 ;CrateData = HeroicTankCrateData 26856 End 26857 Behavior = EjectPilotDie ModuleTag_17 26858 DeathTypes = ALL -CRUSHED -SPLATTED 26859 ExemptStatus = HIJACKED 26860 GroundCreationList = OCL_EjectPilotOnGround 26861 AirCreationList = OCL_EjectPilotViaParachute 26862 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 26863 End 26864 26865 Behavior = MaxHealthUpgrade ModuleTag_18 26866 TriggeredBy = Upgrade_AmericaCompositeArmor 26867 AddMaxHealth = 100.0 26868 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 26869 End 26870 26871 Behavior = FlammableUpdate ModuleTag_21 26872 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 26873 AflameDamageAmount = 3 ; taking this much damage... 26874 AflameDamageDelay = 500 ; this often. 26875 End 26876 26877 Geometry = BOX 26878 GeometryMajorRadius = 15.0 26879 GeometryMinorRadius = 10.0 26880 GeometryHeight = 10.0 26881 GeometryIsSmall = Yes 26882 Shadow = SHADOW_VOLUME 26883 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 26884 26885 End 26886 26887 ;------------------------------------------------------------------------------ 26888 ; 26889 ; Jason Bender sez: 26890 ; This unit is used in GLA04. It is part of a secondary objective. The player gets a medal for capturing him. 26891 ; This unit is never human-controllable! 26892 ; 26893 Object ChinaAmbassador 26894 26895 ; *** ART Parameters *** 26896 Draw = W3DModelDraw ModuleTag_01 26897 OkToChangeModelColor = Yes 26898 26899 DefaultConditionState 26900 Model = NIAMBSDR_SKN 26901 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 26902 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 26903 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 26904 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 26905 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 26906 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 26907 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 26908 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_IDA 26909 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_IDB 26910 AnimationMode = ONCE 26911 TransitionKey = TRANS_Stand 26912 End 26913 26914 ConditionState = MOVING 26915 Animation = NIAMBSDR_SKL.NIAMBSDR_RNA ;***was using WKA but it doesn't exist so I changed it to kill the assert -- Kris 26916 AnimationMode = LOOP 26917 Flags = RANDOMSTART 26918 End 26919 26920 ConditionState = MOVING PANICKING 26921 Animation = NIAMBSDR_SKL.NIAMBSDR_RNA 26922 AnimationMode = LOOP 26923 Flags = RANDOMSTART 26924 End 26925 26926 ConditionState = DYING 26927 Animation = NIAMBSDR_SKL.NIAMBSDR_DTA 26928 Animation = NIAMBSDR_SKL.NIAMBSDR_DTB 26929 AnimationMode = ONCE 26930 TransitionKey = TRANS_Dying 26931 End 26932 26933 ;TransitionState = TRANS_Dying TRANS_Flailing 26934 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD1 26935 ; AnimationMode = ONCE 26936 ;End 26937 26938 ;ConditionState = DYING EXPLODED_FLAILING 26939 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD2 26940 ; AnimationMode = LOOP 26941 ; TransitionKey = TRANS_Flailing 26942 ;End 26943 26944 ;ConditionState = DYING EXPLODED_BOUNCING 26945 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD3 26946 ; AnimationMode = ONCE 26947 ; TransitionKey = None 26948 ;End 26949 End 26950 26951 ; ***DESIGN parameters *** 26952 Buildable = No 26953 DisplayName = OBJECT:Ambassador 26954 Side = China 26955 EditorSorting = INFANTRY 26956 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 26957 WeaponSet 26958 ; no weapons 26959 End 26960 ArmorSet 26961 Conditions = None 26962 Armor = HumanArmor 26963 DamageFX = InfantryDamageFX 26964 End 26965 VisionRange = 150 26966 ShroudClearingRange = 150 26967 26968 ExperienceValue = 50 100 150 400 ;Experience point value at each level 26969 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 26970 IsTrainable = Yes ;Can gain experience 26971 26972 ; *** AUDIO Parameters *** 26973 SoundDie = RedGuardVoiceDie 26974 26975 ; *** ENGINEERING Parameters *** 26976 RadarPriority = UNIT 26977 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 26978 26979 Body = ActiveBody ModuleTag_02 26980 MaxHealth = 50.0 26981 InitialHealth = 50.0 26982 End 26983 26984 Behavior = AIUpdateInterface ModuleTag_03 26985 AutoAcquireEnemiesWhenIdle = Yes 26986 End 26987 Locomotor = SET_NORMAL BasicHumanLocomotor 26988 Behavior = PhysicsBehavior ModuleTag_04 26989 Mass = 5.0 26990 End 26991 Behavior = SlowDeathBehavior ModuleTag_05 26992 SinkDelay = 3000 26993 SinkRate = 0.5 ; in Dist/Sec 26994 DestructionDelay = 8000 26995 End 26996 26997 Behavior = SquishCollide ModuleTag_06 26998 ;nothing 26999 End 27000 27001 Behavior = FXListDie ModuleTag_07 27002 DeathTypes = ALL -CRUSHED -SPLATTED 27003 DeathFX = FX_GIDie 27004 End 27005 Behavior = FXListDie ModuleTag_08 27006 DeathTypes = NONE +CRUSHED +SPLATTED 27007 DeathFX = FX_GIDieCrushed 27008 End 27009 27010 Behavior = PoisonedBehavior ModuleTag_09 27011 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 27012 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 27013 End 27014 27015 Geometry = CYLINDER 27016 Scale = 0.95 ;Scaling 27017 GeometryMajorRadius = 1.0 27018 GeometryMinorRadius = 1.0 27019 GeometryHeight = 2.0 27020 GeometryIsSmall = Yes 27021 Shadow = SHADOW_DECAL 27022 ShadowSizeX = 9 27023 ShadowSizeY = 9 27024 ShadowTexture = ShadowI 27025 BuildCompletion = APPEARS_AT_RALLY_POINT 27026 27027 End 27028 27029 ;------------------------------------------------------------------------------ 27030 Object AmericaInfantryBiohazardTech 27031 27032 ; This unit is by default NOT buildable. In GLA06 this is buildable from the 27033 ; barracks of the enemy AI. (The map.ini file is overridden there make it 27034 ; buildable = Yes (jkmcd) 27035 Buildable = No 27036 27037 ; *** ART Parameters *** 27038 Draw = W3DModelDraw ModuleTag_01 27039 OkToChangeModelColor = Yes 27040 27041 ;NORMAL STANDING 27042 DefaultConditionState 27043 Model = AITECH_SKN 27044 IdleAnimation = AITECH_SKL.AITECH_STA 0 21 27045 ;Regular spice animations 27046 IdleAnimation = AITECH_SKL.AITECH_IDA 27047 IdleAnimation = AITECH_SKL.AITECH_IDB 27048 AnimationMode = ONCE 27049 WeaponLaunchBone = PRIMARY BIOGUNFX 27050 TransitionKey = TRANS_Stand 27051 End 27052 27053 ; NORMAL ATTACK 27054 ConditionState = FIRING_A 27055 Animation = AITECH_SKL.AITECH_STA 27056 AnimationMode = LOOP 27057 TransitionKey = TRANS_FiringA 27058 End 27059 AliasConditionState = BETWEEN_FIRING_SHOTS_A 27060 AliasConditionState = RELOADING_A 27061 AliasConditionState = FIRING_A REALLYDAMAGED 27062 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 27063 AliasConditionState = RELOADING_A REALLYDAMAGED 27064 27065 27066 ConditionState = MOVING FIRING_A 27067 Animation = AITECH_SKL.AITECH_WKB 15 27068 AnimationMode = LOOP 27069 Flags = RANDOMSTART 27070 TransitionKey = None 27071 ParticleSysBone = None InfantryDustTrails 27072 End 27073 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 27074 AliasConditionState = MOVING RELOADING_A 27075 27076 ConditionState = MOVING 27077 Animation = AITECH_SKL.AITECH_WKA 15 27078 AnimationMode = LOOP 27079 Flags = RANDOMSTART 27080 TransitionKey = None 27081 ParticleSysBone = None InfantryDustTrails 27082 End 27083 27084 ConditionState = DYING 27085 Animation = AITECH_SKL.AITECH_DTA 27086 Animation = AITECH_SKL.AITECH_DTB 27087 AnimationMode = ONCE 27088 TransitionKey = TRANS_Dying 27089 End 27090 27091 TransitionState = TRANS_Dying TRANS_Flailing 27092 Animation = AITECH_SKL.AITECH_ADTD1 27093 AnimationMode = ONCE 27094 End 27095 27096 ConditionState = DYING EXPLODED_FLAILING 27097 Animation = AITECH_SKL.AITECH_ADTD2 27098 AnimationMode = LOOP 27099 TransitionKey = TRANS_Flailing 27100 End 27101 27102 ConditionState = DYING EXPLODED_BOUNCING 27103 Animation = AITECH_SKL.AITECH_ADTD3 27104 AnimationMode = ONCE 27105 TransitionKey = None 27106 End 27107 27108 ConditionState = SPECIAL_CHEERING 27109 Animation = AITECH_SKL.AITECH_CHA 27110 AnimationMode = LOOP 27111 End 27112 27113 ;PARACHUTING ANIMATIONS 27114 ConditionState = FREEFALL 27115 Animation = AITECH_SKL.AITECH_PFL 27116 AnimationMode = LOOP 27117 TransitionKey = TRANS_Falling 27118 End 27119 AliasConditionState = FREEFALL REALLYDAMAGED 27120 AliasConditionState = FREEFALL DYING 27121 ConditionState = PARACHUTING 27122 Animation = AITECH_SKL.AITECH_PHG 27123 AnimationMode = LOOP 27124 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 27125 TransitionKey = TRANS_Chute 27126 End 27127 AliasConditionState = PARACHUTING REALLYDAMAGED 27128 AliasConditionState = PARACHUTING DYING 27129 TransitionState = TRANS_Falling TRANS_Chute 27130 Animation = AITECH_SKL.AITECH_POP 27131 AnimationMode = ONCE 27132 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 27133 End 27134 TransitionState = TRANS_Chute TRANS_Stand 27135 Animation = AITECH_SKL.AITECH_PDN 27136 AnimationMode = ONCE 27137 End 27138 27139 End 27140 27141 ; ***DESIGN parameters *** 27142 DisplayName = OBJECT:BioHazardTech 27143 Side = America 27144 EditorSorting = INFANTRY 27145 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 27146 27147 WeaponSet 27148 ;*** Fully automated and driven by the CleanupHazardUpdate *** 27149 Conditions = None 27150 Weapon = PRIMARY BioHazardTechCleanHazardWeapon 27151 AutoChooseSources = PRIMARY NONE 27152 End 27153 ArmorSet 27154 Conditions = None 27155 Armor = HazMatHumanArmor 27156 DamageFX = InfantryDamageFX 27157 End 27158 27159 VisionRange = 100 27160 ShroudClearingRange = 400 27161 Prerequisites 27162 Object = AmericaBarracks 27163 End 27164 BuildCost = 200 27165 BuildTime = 5.0 ;in seconds 27166 27167 ExperienceValue = 50 100 150 400 ;Experience point value at each level 27168 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 27169 IsTrainable = Yes ;Can gain experience 27170 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 27171 CommandSet = AmericaInfantryHazMatCommandSet 27172 27173 ; *** AUDIO Parameters *** 27174 VoiceSelect = NoSound 27175 VoiceMove = NoSound 27176 VoiceAttack = NoSound 27177 SoundDie = RebelVoiceDie 27178 UnitSpecificFX 27179 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 27180 End 27181 27182 ; *** ENGINEERING Parameters *** 27183 RadarPriority = UNIT 27184 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 27185 27186 Body = ActiveBody ModuleTag_02 27187 27188 MaxHealth = 100.0 27189 InitialHealth = 100.0 27190 End 27191 27192 Behavior = CleanupHazardUpdate ModuleTag_03 27193 WeaponSlot = PRIMARY 27194 ScanRate = 1000 27195 ScanRange = 100.0 27196 End 27197 27198 ;Can be ordered to clean up a larger area with the ability to move around at an extended range. 27199 Behavior = CleanupAreaPower ModuleTag_04 27200 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea 27201 MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up 27202 End 27203 27204 Behavior = AIUpdateInterface ModuleTag_05 27205 AutoAcquireEnemiesWhenIdle = No 27206 End 27207 Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba 27208 ScanRate = 1000 ; once a second. 27209 ScanRange = 300 ; 27210 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 27211 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 27212 End 27213 27214 Locomotor = SET_NORMAL HazMatHumanLocomotor 27215 27216 Behavior = ExperienceScalarUpgrade ModuleTag_07 27217 TriggeredBy = Upgrade_AmericaAdvancedTraining 27218 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 27219 End 27220 27221 Behavior = PhysicsBehavior ModuleTag_08 27222 Mass = 5.0 27223 End 27224 Behavior = ProductionUpdate ModuleTag_09 27225 ; nothing 27226 End 27227 27228 Behavior = SquishCollide ModuleTag_10 27229 ;nothing 27230 End 27231 27232 ; --- begin Death modules --- 27233 Behavior = SlowDeathBehavior ModuleTag_Death01 27234 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 27235 SinkDelay = 3000 27236 SinkRate = 0.5 ; in Dist/Sec 27237 DestructionDelay = 8000 27238 FX = INITIAL FX_GIDie 27239 End 27240 Behavior = SlowDeathBehavior ModuleTag_Death02 27241 DeathTypes = NONE +CRUSHED +SPLATTED 27242 SinkDelay = 3000 27243 SinkRate = 0.5 ; in Dist/Sec 27244 DestructionDelay = 8000 27245 FX = INITIAL FX_GIDieCrushed 27246 End 27247 Behavior = SlowDeathBehavior ModuleTag_Death03 27248 DeathTypes = NONE +EXPLODED 27249 SinkDelay = 3000 27250 SinkRate = 0.5 ; in Dist/Sec 27251 DestructionDelay = 8000 27252 FX = INITIAL FX_GIDie 27253 FlingForce = 8 27254 FlingForceVariance = 3 27255 FlingPitch = 60 27256 FlingPitchVariance = 10 27257 End 27258 Behavior = SlowDeathBehavior ModuleTag_Death04 27259 DeathTypes = NONE +BURNED 27260 DestructionDelay = 0 27261 FX = INITIAL FX_GIDie 27262 OCL = INITIAL OCL_FlamingInfantry 27263 End 27264 Behavior = SlowDeathBehavior ModuleTag_Death05 27265 DeathTypes = NONE +POISONED 27266 DestructionDelay = 0 27267 FX = INITIAL FX_GIDie 27268 OCL = INITIAL OCL_ToxicInfantry 27269 End 27270 ; --- end Death modules --- 27271 27272 Geometry = CYLINDER 27273 Scale = 0.95 ;Scaling 27274 GeometryMajorRadius = 1.0 27275 GeometryMinorRadius = 1.0 27276 GeometryHeight = 8.0 27277 27278 GeometryIsSmall = Yes 27279 Shadow = SHADOW_DECAL 27280 ShadowSizeX = 9; 27281 ShadowSizeY = 9; 27282 ShadowTexture = ShadowI; 27283 BuildCompletion = APPEARS_AT_RALLY_POINT 27284 End 27285 27286 ;------------------------------------------------------------------------------ 27287 Object CINE_AmericaInfantryBiohazardTech 27288 27289 ; This unit is by default NOT buildable. In GLA06 this is buildable from the 27290 ; barracks of the enemy AI. (The map.ini file is overridden there make it 27291 ; buildable = Yes (jkmcd) 27292 Buildable = No 27293 27294 ; *** ART Parameters *** 27295 Draw = W3DModelDraw ModuleTag_01 27296 OkToChangeModelColor = Yes 27297 27298 ;NORMAL STANDING 27299 DefaultConditionState 27300 Model = AITECH_SKN 27301 IdleAnimation = AITECH_SKL.AITECH_STA 0 21 27302 ;Regular spice animations 27303 IdleAnimation = AITECH_SKL.AITECH_IDA 27304 IdleAnimation = AITECH_SKL.AITECH_IDB 27305 AnimationMode = ONCE 27306 WeaponLaunchBone = PRIMARY BIOGUNFX 27307 TransitionKey = TRANS_Stand 27308 End 27309 27310 ; NORMAL ATTACK 27311 ConditionState = FIRING_A 27312 Animation = AITECH_SKL.AITECH_ATA 27313 AnimationMode = LOOP 27314 TransitionKey = TRANS_FiringA 27315 End 27316 AliasConditionState = BETWEEN_FIRING_SHOTS_A 27317 AliasConditionState = RELOADING_A 27318 AliasConditionState = FIRING_A REALLYDAMAGED 27319 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 27320 AliasConditionState = RELOADING_A REALLYDAMAGED 27321 27322 27323 ConditionState = MOVING FIRING_A 27324 Animation = AITECH_SKL.AITECH_WKB 15 27325 AnimationMode = LOOP 27326 Flags = RANDOMSTART 27327 TransitionKey = None 27328 ParticleSysBone = None InfantryDustTrails 27329 End 27330 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 27331 AliasConditionState = MOVING RELOADING_A 27332 27333 ConditionState = MOVING 27334 Animation = AITECH_SKL.AITECH_WKA 15 27335 AnimationMode = LOOP 27336 Flags = RANDOMSTART 27337 TransitionKey = None 27338 ParticleSysBone = None InfantryDustTrails 27339 End 27340 27341 ConditionState = DYING 27342 Animation = AITECH_SKL.AITECH_DTA 27343 Animation = AITECH_SKL.AITECH_DTB 27344 AnimationMode = ONCE 27345 TransitionKey = TRANS_Dying 27346 End 27347 27348 TransitionState = TRANS_Dying TRANS_Flailing 27349 Animation = AITECH_SKL.AITECH_ADTD1 27350 AnimationMode = ONCE 27351 End 27352 27353 ConditionState = DYING EXPLODED_FLAILING 27354 Animation = AITECH_SKL.AITECH_ADTD2 27355 AnimationMode = LOOP 27356 TransitionKey = TRANS_Flailing 27357 End 27358 27359 ConditionState = DYING EXPLODED_BOUNCING 27360 Animation = AITECH_SKL.AITECH_ADTD3 27361 AnimationMode = ONCE 27362 TransitionKey = None 27363 End 27364 27365 ConditionState = SPECIAL_CHEERING 27366 Animation = AITECH_SKL.AITECH_CHA 27367 AnimationMode = LOOP 27368 End 27369 27370 ;PARACHUTING ANIMATIONS 27371 ConditionState = FREEFALL 27372 Animation = AITECH_SKL.AITECH_PFL 27373 AnimationMode = LOOP 27374 TransitionKey = TRANS_Falling 27375 End 27376 AliasConditionState = FREEFALL REALLYDAMAGED 27377 AliasConditionState = FREEFALL DYING 27378 ConditionState = PARACHUTING 27379 Animation = AITECH_SKL.AITECH_PHG 27380 AnimationMode = LOOP 27381 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 27382 TransitionKey = TRANS_Chute 27383 End 27384 AliasConditionState = PARACHUTING REALLYDAMAGED 27385 AliasConditionState = PARACHUTING DYING 27386 TransitionState = TRANS_Falling TRANS_Chute 27387 Animation = AITECH_SKL.AITECH_POP 27388 AnimationMode = ONCE 27389 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 27390 End 27391 TransitionState = TRANS_Chute TRANS_Stand 27392 Animation = AITECH_SKL.AITECH_PDN 27393 AnimationMode = ONCE 27394 End 27395 27396 End 27397 27398 ; ***DESIGN parameters *** 27399 DisplayName = OBJECT:BioHazardTech 27400 Side = America 27401 EditorSorting = INFANTRY 27402 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 27403 27404 WeaponSet 27405 ;*** Fully automated and driven by the CleanupHazardUpdate *** 27406 Conditions = None 27407 Weapon = PRIMARY BioHazardTechCleanHazardWeapon 27408 AutoChooseSources = PRIMARY NONE 27409 End 27410 ArmorSet 27411 Conditions = None 27412 Armor = HazMatHumanArmor 27413 DamageFX = InfantryDamageFX 27414 End 27415 27416 VisionRange = 100 27417 ShroudClearingRange = 400 27418 Prerequisites 27419 Object = AmericaBarracks 27420 End 27421 BuildCost = 200 27422 BuildTime = 5.0 ;in seconds 27423 27424 ExperienceValue = 50 100 150 400 ;Experience point value at each level 27425 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 27426 IsTrainable = Yes ;Can gain experience 27427 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 27428 CommandSet = AmericaInfantryHazMatCommandSet 27429 27430 ; *** AUDIO Parameters *** 27431 VoiceSelect = NoSound 27432 VoiceMove = NoSound 27433 VoiceAttack = NoSound 27434 SoundDie = RebelVoiceDie 27435 UnitSpecificFX 27436 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 27437 End 27438 27439 ; *** ENGINEERING Parameters *** 27440 RadarPriority = UNIT 27441 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 27442 27443 Body = ActiveBody ModuleTag_02 27444 27445 MaxHealth = 100.0 27446 InitialHealth = 100.0 27447 End 27448 27449 Behavior = CleanupHazardUpdate ModuleTag_03 27450 WeaponSlot = PRIMARY 27451 ScanRate = 1000 27452 ScanRange = 100.0 27453 End 27454 27455 ;Can be ordered to clean up a larger area with the ability to move around at an extended range. 27456 Behavior = CleanupAreaPower ModuleTag_04 27457 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea 27458 MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up 27459 End 27460 27461 Behavior = AIUpdateInterface ModuleTag_05 27462 AutoAcquireEnemiesWhenIdle = No 27463 End 27464 Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba 27465 ScanRate = 1000 ; once a second. 27466 ScanRange = 300 ; 27467 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 27468 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 27469 End 27470 27471 Locomotor = SET_NORMAL CINE_HazMatHumanLocomotor 27472 27473 Behavior = ExperienceScalarUpgrade ModuleTag_07 27474 TriggeredBy = Upgrade_AmericaAdvancedTraining 27475 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 27476 End 27477 27478 Behavior = PhysicsBehavior ModuleTag_08 27479 Mass = 5.0 27480 End 27481 Behavior = ProductionUpdate ModuleTag_09 27482 ; nothing 27483 End 27484 27485 Behavior = SquishCollide ModuleTag_10 27486 ;nothing 27487 End 27488 27489 ; --- begin Death modules --- 27490 Behavior = SlowDeathBehavior ModuleTag_Death01 27491 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 27492 SinkDelay = 3000 27493 SinkRate = 0.5 ; in Dist/Sec 27494 DestructionDelay = 8000 27495 FX = INITIAL FX_GIDie 27496 End 27497 Behavior = SlowDeathBehavior ModuleTag_Death02 27498 DeathTypes = NONE +CRUSHED +SPLATTED 27499 SinkDelay = 3000 27500 SinkRate = 0.5 ; in Dist/Sec 27501 DestructionDelay = 8000 27502 FX = INITIAL FX_GIDieCrushed 27503 End 27504 Behavior = SlowDeathBehavior ModuleTag_Death03 27505 DeathTypes = NONE +EXPLODED 27506 SinkDelay = 3000 27507 SinkRate = 0.5 ; in Dist/Sec 27508 DestructionDelay = 8000 27509 FX = INITIAL FX_GIDie 27510 FlingForce = 8 27511 FlingForceVariance = 3 27512 FlingPitch = 60 27513 FlingPitchVariance = 10 27514 End 27515 Behavior = SlowDeathBehavior ModuleTag_Death04 27516 DeathTypes = NONE +BURNED 27517 DestructionDelay = 0 27518 FX = INITIAL FX_GIDie 27519 OCL = INITIAL OCL_FlamingInfantry 27520 End 27521 Behavior = SlowDeathBehavior ModuleTag_Death05 27522 DeathTypes = NONE +POISONED 27523 DestructionDelay = 0 27524 FX = INITIAL FX_GIDie 27525 OCL = INITIAL OCL_ToxicInfantry 27526 End 27527 ; --- end Death modules --- 27528 27529 Geometry = CYLINDER 27530 Scale = 0.95 ;Scaling 27531 GeometryMajorRadius = 1.0 27532 GeometryMinorRadius = 1.0 27533 GeometryHeight = 8.0 27534 27535 GeometryIsSmall = Yes 27536 Shadow = SHADOW_DECAL 27537 ShadowSizeX = 9; 27538 ShadowSizeY = 9; 27539 ShadowTexture = ShadowI; 27540 BuildCompletion = APPEARS_AT_RALLY_POINT 27541 End 27542 27543 ;------------------------------------------------------------------------------ 27544 ; 27545 ; 27546 ; Jason Bender sez: 27547 ; This unit is used in a mission for "color". 27548 ; This unit is never human-controllable! 27549 ; 27550 Object ChinaInfantryOfficer 27551 27552 ; *** ART Parameters *** 27553 Draw = W3DModelDraw ModuleTag_01 27554 OkToChangeModelColor = Yes 27555 27556 ;NORMAL STANDING 27557 DefaultConditionState 27558 Model = NIOFCR_SKN 27559 IdleAnimation = NIOFCR_SKL.NIOFCR_STA 0 21 27560 ;Regular spice animations 27561 IdleAnimation = NIOFCR_SKL.NIOFCR_IDA 27562 IdleAnimation = NIOFCR_SKL.NIOFCR_IDB 27563 AnimationMode = ONCE 27564 WeaponFireFXBone = PRIMARY Muzzle 27565 WeaponMuzzleFlash = PRIMARY MuzzleFX 27566 TransitionKey = TRANS_STAND 27567 End 27568 27569 ConditionState = MOVING 27570 Animation = NIOFCR_SKL.NIOFCR_RNA 27571 AnimationMode = LOOP 27572 ParticleSysBone = None InfantryDustTrails 27573 End 27574 27575 ; NORMAL ATTACK 27576 ;-------------------------------------------------------- 27577 ; Drawing gun 27578 ConditionState = PREATTACK_A 27579 Animation = NIOFCR_SKL.NIOFCR_ATAST 27580 AnimationMode = ONCE 27581 End 27582 AliasConditionState = PREATTACK_A MOVING 27583 AliasConditionState = PREATTACK_A FIRING_A 27584 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 27585 27586 ; Firing gun 27587 ConditionState = FIRING_A 27588 Animation = NIOFCR_SKL.NIOFCR_ATALP 27589 AnimationMode = LOOP 27590 TransitionKey = TRANS_FIRING_A 27591 End 27592 ConditionState = BETWEEN_FIRING_SHOTS_A 27593 Animation = NIOFCR_SKL.NIOFCR_ATALP 27594 AnimationMode = LOOP 27595 TransitionKey = TRANS_FIRING_A 27596 End 27597 AliasConditionState = RELOADING_A 27598 AliasConditionState = MOVING FIRING_A 27599 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 27600 AliasConditionState = MOVING RELOADING_A 27601 27602 ; This transition allows him to put his gun away when he's finished attacking. 27603 TransitionState = TRANS_FIRING_A TRANS_STAND 27604 Animation = NIOFCR_SKL.NIOFCR_ATAED 27605 AnimationMode = ONCE 27606 End 27607 ;-------------------------------------------------------- 27608 27609 ConditionState = DYING 27610 Animation = NIOFCR_SKL.NIOFCR_DTA 27611 Animation = NIOFCR_SKL.NIOFCR_DTB 27612 AnimationMode = ONCE 27613 TransitionKey = TRANS_Dying 27614 End 27615 27616 TransitionState = TRANS_Dying TRANS_Flailing 27617 Animation = NIOFCR_SKL.NIOFCR_ADTE1 27618 AnimationMode = ONCE 27619 End 27620 27621 ConditionState = DYING EXPLODED_FLAILING 27622 Animation = NIOFCR_SKL.NIOFCR_ADTE2 27623 AnimationMode = LOOP 27624 TransitionKey = TRANS_Flailing 27625 End 27626 27627 ConditionState = DYING EXPLODED_BOUNCING 27628 Animation = NIOFCR_SKL.NIOFCR_ADTE3 27629 AnimationMode = ONCE 27630 TransitionKey = None 27631 End 27632 27633 ConditionState = SPECIAL_CHEERING 27634 Animation = NIOFCR_SKL.NIOFCR_CHA 27635 AnimationMode = LOOP 27636 End 27637 27638 ;PARACHUTING ANIMATIONS 27639 27640 ;@TODO - MISSING ANIMATION FILE 27641 ;ConditionState = FREEFALL 27642 ; Animation = NIOFCR_SKL.NIOFCR_PFL 27643 ; AnimationMode = LOOP 27644 ; TransitionKey = TRANS_Falling 27645 ;End 27646 ;AliasConditionState = FREEFALL REALLYDAMAGED 27647 ;AliasConditionState = FREEFALL DYING 27648 ConditionState = PARACHUTING 27649 Animation = NIOFCR_SKL.NIOFCR_PHG 27650 AnimationMode = LOOP 27651 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 27652 TransitionKey = TRANS_Chute 27653 End 27654 AliasConditionState = PARACHUTING REALLYDAMAGED 27655 AliasConditionState = PARACHUTING DYING 27656 TransitionState = TRANS_Falling TRANS_Chute 27657 Animation = NIOFCR_SKL.NIOFCR_POP 27658 AnimationMode = ONCE 27659 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 27660 End 27661 TransitionState = TRANS_Chute TRANS_STAND 27662 Animation = NIOFCR_SKL.NIOFCR_PTD 27663 AnimationMode = ONCE 27664 End 27665 27666 End 27667 27668 ; ***DESIGN parameters *** 27669 DisplayName = OBJECT:Officer 27670 Side = America 27671 EditorSorting = INFANTRY 27672 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 27673 WeaponSet 27674 Conditions = None 27675 Weapon = PRIMARY AmericaOfficerMachineGun 27676 End 27677 ArmorSet 27678 Conditions = None 27679 Armor = HumanArmor 27680 DamageFX = InfantryDamageFX 27681 End 27682 VisionRange = 150 27683 ShroudClearingRange = 150 27684 Prerequisites 27685 Object = AmericaBarracks 27686 Object = USAAdvLab 27687 Science = SCIENCE_StealthFighter 27688 End 27689 27690 BuildCost = 1000 27691 BuildTime = 30.0 ;in seconds 27692 27693 ; *** AUDIO Parameters *** 27694 VoiceSelect = RedGuardVoiceSelect 27695 VoiceGroupSelect = BattleCrySound 27696 VoiceMove = RedGuardVoiceMove 27697 VoiceAttack = RedGuardVoiceAttack 27698 SoundDie = RedGuardVoiceDie 27699 SoundDieFire = DieByFireChina 27700 SoundDieToxin = DieByToxinChina 27701 27702 ; *** ENGINEERING Parameters *** 27703 RadarPriority = UNIT 27704 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY 27705 Body = ActiveBody ModuleTag_02 27706 MaxHealth = 100.0 27707 InitialHealth = 100.0 27708 End 27709 27710 Behavior = AIUpdateInterface ModuleTag_03 27711 AutoAcquireEnemiesWhenIdle = Yes 27712 End 27713 Locomotor = SET_NORMAL BasicHumanLocomotor 27714 Behavior = PhysicsBehavior ModuleTag_04 27715 Mass = 5.0 27716 End 27717 27718 Behavior = SquishCollide ModuleTag_06 27719 ;nothing 27720 End 27721 Behavior = AIUpdateInterface ModuleTag_03 27722 AutoAcquireEnemiesWhenIdle = no Stealthed 27723 MoodAttackCheckRate = 250 27724 End 27725 27726 Behavior = HackInternetAIUpdate ModuleTag_03 27727 UnpackTime = 7300 ;animation time is 7300 (changing this will scale anim speed) 27728 PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) 27729 CashUpdateDelay = 20000 27730 RegularCashAmount = 5 27731 VeteranCashAmount = 6 27732 EliteCashAmount = 8 27733 HeroicCashAmount = 10 27734 XpPerCashUpdate = 1 27735 PackUnpackVariationFactor = 0.5 ;Adds + or - 20% to pack and unpack time randomly. 27736 End 27737 27738 Behavior = StealthDetectorUpdate ModuleTag_08 27739 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 27740 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 27741 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 27742 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 27743 End 27744 27745 Behavior = StealthUpdate ModuleTag_07 27746 StealthDelay = 2500 ; msec 27747 StealthForbiddenConditions = USING_ABILITY 27748 HintDetectableConditions = USING_ABILITY 27749 InnateStealth = Yes 27750 OrderIdleEnemiesToAttackMeUponReveal = Yes 27751 End 27752 27753 Behavior = SpecialAbility ModuleTag_04 27754 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding 27755 UpdateModuleStartsAttack = Yes 27756 InitiateSound = HackerVoiceHack 27757 End 27758 27759 Behavior = SpecialAbilityUpdate ModuleTag_05 27760 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding 27761 StartAbilityRange = 150.0 27762 UnpackTime = 1000 ;animation time is 7300 (changing this will scale anim speed) 27763 PackTime = 1000 ;animation time is 5133 (changing this will scale anim speed) 27764 PreparationTime = 7000 27765 27766 ;PersistentPrepTime = 500 ; old setting 27767 PersistentPrepTime = 333 ; NOTE! This drives how often the disable effect gets triggered 27768 ; This is also how often a new particle system effect is spawned 27769 EffectDuration = 30000 27770 SpecialObject = BinaryDataStream 27771 DisableFXParticleSystem = DisabledEffectBinaryShower0 27772 PackSound = HackerPack 27773 UnpackSound = HackerUnpack 27774 PrepSoundLoop = HackerPrepLoop 27775 AwardXPForTriggering = 0 ;Careful, this is persistant so it's a DoT xp gain! 27776 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 27777 End 27778 27779 27780 Behavior = PhysicsBehavior ModuleTag_06 27781 Mass = 5.0 27782 End 27783 27784 Behavior = SquishCollide ModuleTag_08 27785 ;nothing 27786 End 27787 27788 Behavior = SpecialAbility ModuleTag_07 27789 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack 27790 UpdateModuleStartsAttack = Yes 27791 InitiateSound = TankHunterVoiceTNT 27792 End 27793 Behavior = SpecialAbilityUpdate ModuleTag_08 27794 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack 27795 StartAbilityRange = 5.0 27796 PreparationTime = 0 27797 SpecialObject = TNTStickyBomb 27798 MaxSpecialObjects = 8 27799 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). 27800 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 27801 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 27802 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 27803 End 27804 27805 27806 27807 ; --- begin Death modules --- 27808 Behavior = SlowDeathBehavior ModuleTag_Death01 27809 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 27810 SinkDelay = 50000 27811 SinkRate = 0.5 ; in Dist/Sec 27812 DestructionDelay = 8000000 27813 FX = INITIAL FX_GIDie 27814 End 27815 Behavior = SlowDeathBehavior ModuleTag_Death02 27816 DeathTypes = NONE +CRUSHED +SPLATTED 27817 SinkDelay = 50000 27818 SinkRate = 0.5 ; in Dist/Sec 27819 DestructionDelay = 8000000 27820 FX = INITIAL FX_GIDieCrushed 27821 End 27822 Behavior = SlowDeathBehavior ModuleTag_Death03 27823 DeathTypes = NONE +EXPLODED 27824 SinkDelay = 50000 27825 SinkRate = 0.5 ; in Dist/Sec 27826 DestructionDelay = 8000000 27827 FX = INITIAL FX_GIDie 27828 FlingForce = 8 27829 FlingForceVariance = 3 27830 FlingPitch = 60 27831 FlingPitchVariance = 10 27832 End 27833 Behavior = SlowDeathBehavior ModuleTag_Death04 27834 DeathTypes = NONE +BURNED 27835 DestructionDelay = 0 27836 FX = INITIAL FX_GIDie 27837 OCL = INITIAL OCL_FlamingInfantry 27838 End 27839 Behavior = SlowDeathBehavior ModuleTag_Death05 27840 DeathTypes = NONE +POISONED 27841 DestructionDelay = 0 27842 FX = INITIAL FX_GIDie 27843 OCL = INITIAL OCL_ 27844 End 27845 ; --- end Death modules --- 27846 27847 Behavior = PoisonedBehavior ModuleTag_09 27848 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 27849 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 27850 End 27851 27852 Geometry = CYLINDER 27853 Scale = 0.95 ;Scaling 27854 GeometryMajorRadius = 1.0 27855 GeometryMinorRadius = 1.0 27856 GeometryHeight = 8.0 27857 GeometryIsSmall = Yes 27858 Shadow = SHADOW_DECAL 27859 ShadowSizeX = 9; 27860 ShadowSizeY = 9; 27861 ShadowTexture = ShadowI; 27862 BuildCompletion = APPEARS_AT_RALLY_POINT 27863 27864 End 27865 27866 ;------------------------------------------------------------------------------ 27867 ; 27868 ; ??? This unit is used in a mission for "color". 27869 ; This unit is never human-controllable! 27870 ; 27871 Object AmericaInfantryOfficer 27872 ; *** ART Parameters *** 27873 Draw = W3DModelDraw ModuleTag_01 27874 OkToChangeModelColor = Yes 27875 27876 ;NORMAL STANDING 27877 DefaultConditionState 27878 Model = AIOFCR_SKN 27879 IdleAnimation = AIOFCR_SKL.AIOFCR_STA 0 21 27880 ;Regular spice animations 27881 IdleAnimation = AIOFCR_SKL.AIOFCR_IDA 27882 IdleAnimation = AIOFCR_SKL.AIOFCR_IDB 27883 AnimationMode = ONCE 27884 WeaponFireFXBone = PRIMARY Muzzle 27885 WeaponMuzzleFlash = PRIMARY MuzzleFX 27886 TransitionKey = TRANS_STAND 27887 End 27888 27889 ConditionState = MOVING 27890 Animation = AIOFCR_SKL.AIOFCR_RNA 27891 AnimationMode = LOOP 27892 ParticleSysBone = None InfantryDustTrails 27893 End 27894 27895 ; NORMAL ATTACK 27896 ;-------------------------------------------------------- 27897 ; Drawing gun 27898 ConditionState = PREATTACK_A 27899 Animation = AIOFCR_SKL.AIOFCR_ATAST 27900 AnimationMode = ONCE 27901 End 27902 AliasConditionState = PREATTACK_A MOVING 27903 AliasConditionState = PREATTACK_A FIRING_A 27904 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 27905 27906 ; Firing gun 27907 ConditionState = FIRING_A 27908 Animation = AIOFCR_SKL.AIOFCR_ATALP 27909 AnimationMode = LOOP 27910 TransitionKey = TRANS_FIRING_A 27911 End 27912 ConditionState = BETWEEN_FIRING_SHOTS_A 27913 Animation = AIOFCR_SKL.AIOFCR_ATALP 27914 AnimationMode = LOOP 27915 TransitionKey = TRANS_FIRING_A 27916 End 27917 AliasConditionState = RELOADING_A 27918 AliasConditionState = MOVING FIRING_A 27919 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 27920 AliasConditionState = MOVING RELOADING_A 27921 27922 ; This transition allows him to put his gun away when he's finished attacking. 27923 TransitionState = TRANS_FIRING_A TRANS_STAND 27924 Animation = AIOFCR_SKL.AIOFCR_ATAED 27925 AnimationMode = ONCE 27926 End 27927 ;-------------------------------------------------------- 27928 27929 ConditionState = DYING 27930 Animation = AIOFCR_SKL.AIOFCR_DTA 27931 Animation = AIOFCR_SKL.AIOFCR_DTB 27932 AnimationMode = ONCE 27933 TransitionKey = TRANS_Dying 27934 End 27935 27936 TransitionState = TRANS_Dying TRANS_Flailing 27937 Animation = AIOFCR_SKL.AIOFCR_ADTE1 27938 AnimationMode = ONCE 27939 End 27940 27941 ConditionState = DYING EXPLODED_FLAILING 27942 Animation = AIOFCR_SKL.AIOFCR_ADTE2 27943 AnimationMode = LOOP 27944 TransitionKey = TRANS_Flailing 27945 End 27946 27947 ConditionState = DYING EXPLODED_BOUNCING 27948 Animation = AIOFCR_SKL.AIOFCR_ADTE3 27949 AnimationMode = ONCE 27950 TransitionKey = None 27951 End 27952 27953 ConditionState = SPECIAL_CHEERING 27954 Animation = AIOFCR_SKL.AIOFCR_CHA 27955 AnimationMode = LOOP 27956 End 27957 27958 ;PARACHUTING ANIMATIONS 27959 27960 ;@TODO - MISSING ANIMATION FILE 27961 ;ConditionState = FREEFALL 27962 ; Animation = AIOFCR_SKL.AIOFCR_PFL 27963 ; AnimationMode = LOOP 27964 ; TransitionKey = TRANS_Falling 27965 ;End 27966 ;AliasConditionState = FREEFALL REALLYDAMAGED 27967 ;AliasConditionState = FREEFALL DYING 27968 ConditionState = PARACHUTING 27969 Animation = AIOFCR_SKL.AIOFCR_PHG 27970 AnimationMode = LOOP 27971 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 27972 TransitionKey = TRANS_Chute 27973 27974 End 27975 AliasConditionState = PARACHUTING REALLYDAMAGED 27976 AliasConditionState = PARACHUTING DYING 27977 TransitionState = TRANS_Falling TRANS_Chute 27978 Animation = AIOFCR_SKL.AIOFCR_POP 27979 AnimationMode = ONCE 27980 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 27981 End 27982 TransitionState = TRANS_Chute TRANS_Stand 27983 Animation = AIOFCR_SKL.AIOFCR_PTD 27984 AnimationMode = ONCE 27985 End 27986 27987 End 27988 27989 ; ***DESIGN parameters *** 27990 DisplayName = OBJECT:Officer 27991 Side = America 27992 EditorSorting = INFANTRY 27993 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 27994 WeaponSet 27995 Conditions = None 27996 Weapon = PRIMARY AmericaOfficerMachineGun 27997 End 27998 ArmorSet 27999 Conditions = None 28000 Armor = HumanArmor 28001 DamageFX = InfantryDamageFX 28002 End 28003 VisionRange = 150 28004 ShroudClearingRange = 150 28005 28006 BuildCost = 400 28007 BuildTime = 10.0 ;in seconds 28008 28009 ; *** AUDIO Parameters *** 28010 VoiceSelect = RangerVoiceSelect 28011 VoiceGroupSelect = BattleCrySound 28012 VoiceMove = RangerVoiceMove 28013 VoiceAttack = RangerVoiceAttack 28014 SoundDie = RangerVoiceDie 28015 SoundDieFire = DieByFireUSA 28016 SoundDieToxin = DieByToxinChina 28017 28018 ; *** ENGINEERING Parameters *** 28019 RadarPriority = UNIT 28020 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 28021 28022 Body = ActiveBody ModuleTag_02 28023 MaxHealth = 100.0 28024 InitialHealth = 100.0 28025 End 28026 28027 Behavior = AIUpdateInterface ModuleTag_03 28028 AutoAcquireEnemiesWhenIdle = Yes 28029 End 28030 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 28031 ScanRate = 1000 ; once a second. 28032 ScanRange = 300 ; 28033 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 28034 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 28035 End 28036 28037 Locomotor = SET_NORMAL BasicHumanLocomotor 28038 Behavior = PhysicsBehavior ModuleTag_05 28039 Mass = 5.0 28040 End 28041 28042 Behavior = SquishCollide ModuleTag_07 28043 ;nothing 28044 End 28045 28046 ; --- begin Death modules --- 28047 Behavior = SlowDeathBehavior ModuleTag_Death01 28048 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 28049 SinkDelay = 3000 28050 SinkRate = 0.5 ; in Dist/Sec 28051 DestructionDelay = 8000 28052 FX = INITIAL FX_GIDie 28053 End 28054 Behavior = SlowDeathBehavior ModuleTag_Death02 28055 DeathTypes = NONE +CRUSHED +SPLATTED 28056 SinkDelay = 3000 28057 SinkRate = 0.5 ; in Dist/Sec 28058 DestructionDelay = 8000 28059 FX = INITIAL FX_GIDieCrushed 28060 End 28061 Behavior = SlowDeathBehavior ModuleTag_Death03 28062 DeathTypes = NONE +EXPLODED 28063 SinkDelay = 3000 28064 SinkRate = 0.5 ; in Dist/Sec 28065 DestructionDelay = 8000 28066 FX = INITIAL FX_GIDie 28067 FlingForce = 8 28068 FlingForceVariance = 3 28069 FlingPitch = 60 28070 FlingPitchVariance = 10 28071 End 28072 Behavior = SlowDeathBehavior ModuleTag_Death04 28073 DeathTypes = NONE +BURNED 28074 DestructionDelay = 0 28075 FX = INITIAL FX_GIDie 28076 OCL = INITIAL OCL_FlamingInfantry 28077 End 28078 Behavior = SlowDeathBehavior ModuleTag_Death05 28079 DeathTypes = NONE +POISONED 28080 DestructionDelay = 0 28081 FX = INITIAL FX_GIDie 28082 OCL = INITIAL OCL_ToxicInfantry 28083 End 28084 ; --- end Death modules --- 28085 28086 Behavior = PoisonedBehavior ModuleTag_10 28087 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 28088 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 28089 End 28090 28091 Geometry = CYLINDER 28092 Scale = 0.95 ;Scaling 28093 GeometryMajorRadius = 1.0 28094 GeometryMinorRadius = 1.0 28095 GeometryHeight = 8.0 28096 GeometryIsSmall = Yes 28097 Shadow = SHADOW_DECAL 28098 ShadowSizeX = 9; 28099 ShadowSizeY = 9; 28100 ShadowTexture = ShadowI; 28101 BuildCompletion = APPEARS_AT_RALLY_POINT 28102 28103 End 28104 28105 28106 ;------------------------------------------------------------------------------ 28107 Object AmericaInfantrySecretService 28108 28109 ; *** ART Parameters *** 28110 Draw = W3DModelDraw ModuleTag_01 28111 OkToChangeModelColor = Yes 28112 28113 DefaultConditionState 28114 Model = AISSRV_SKN 28115 IdleAnimation = AISSRV_SKL.AISSRV_STA 28116 AnimationMode = ONCE 28117 TransitionKey = TRANS_Stand 28118 End 28119 End 28120 28121 ; ***DESIGN parameters *** 28122 DisplayName = OBJECT:BioHazardTech 28123 Side = America 28124 EditorSorting = INFANTRY 28125 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 28126 WeaponSet 28127 Conditions = None 28128 Weapon = PRIMARY None 28129 End 28130 ArmorSet 28131 Conditions = None 28132 Armor = HumanArmor 28133 DamageFX = InfantryDamageFX 28134 End 28135 VisionRange = 150 28136 ShroudClearingRange = 150 28137 Prerequisites 28138 Object = AmericaBarracks 28139 End 28140 BuildCost = 100 28141 BuildTime = 1.0 ;in seconds 28142 28143 ; *** AUDIO Parameters *** 28144 VoiceSelect = RangerVoiceSelect 28145 VoiceMove = RangerVoiceMove 28146 VoiceAttack = RangerVoiceAttack 28147 SoundDie = RangerVoiceDie 28148 SoundDieFire = DieByFireUSA 28149 SoundDieToxin = DieByToxinUSA 28150 28151 ; *** ENGINEERING Parameters *** 28152 RadarPriority = UNIT 28153 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 28154 28155 Body = ActiveBody ModuleTag_02 28156 MaxHealth = 50.0 28157 InitialHealth = 50.0 28158 End 28159 28160 Behavior = AIUpdateInterface ModuleTag_03 28161 AutoAcquireEnemiesWhenIdle = Yes 28162 End 28163 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 28164 ScanRate = 1000 ; once a second. 28165 ScanRange = 300 ; 28166 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 28167 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 28168 End 28169 28170 Locomotor = SET_NORMAL BasicHumanLocomotor 28171 Behavior = PhysicsBehavior ModuleTag_05 28172 Mass = 5.0 28173 End 28174 Behavior = SlowDeathBehavior ModuleTag_06 28175 SinkDelay = 3000 28176 SinkRate = 0.5 ; in Dist/Sec 28177 DestructionDelay = 8000 28178 End 28179 28180 Behavior = ExperienceScalarUpgrade ModuleTag_07 28181 TriggeredBy = Upgrade_AmericaAdvancedTraining 28182 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 28183 End 28184 28185 Behavior = SquishCollide ModuleTag_08 28186 ;nothing 28187 End 28188 28189 28190 Behavior = FXListDie ModuleTag_09 28191 DeathTypes = ALL -CRUSHED -SPLATTED 28192 DeathFX = FX_GIDie 28193 End 28194 Behavior = FXListDie ModuleTag_10 28195 DeathTypes = NONE +CRUSHED +SPLATTED 28196 DeathFX = FX_GIDieCrushed 28197 End 28198 28199 Behavior = PoisonedBehavior ModuleTag_11 28200 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 28201 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 28202 End 28203 28204 Geometry = CYLINDER 28205 Scale = 0.95 ;Scaling 28206 GeometryMajorRadius = 1.0 28207 GeometryMinorRadius = 1.0 28208 GeometryHeight = 8.0 28209 GeometryIsSmall = Yes 28210 Shadow = SHADOW_DECAL 28211 ShadowSizeX = 9; 28212 ShadowSizeY = 9; 28213 ShadowTexture = ShadowI; 28214 BuildCompletion = APPEARS_AT_RALLY_POINT 28215 28216 End 28217 28218 ;------------------------------------------------------------------------------ 28219 ; 28220 ; ??? This unit is used in a mission for "color". 28221 ; This unit is never human-controllable! 28222 ; @todo srj -- is this used for ANYTHING? 28223 ; 28224 Object ChinaInfantryAgent 28225 28226 ; *** ART Parameters *** 28227 Draw = W3DModelDraw ModuleTag_01 28228 OkToChangeModelColor = Yes 28229 28230 ;NORMAL STANDING 28231 DefaultConditionState 28232 Model = AIRngr_SKN 28233 IdleAnimation = AIRngr_SKL.AIRngr_STA 0 21 28234 ;Regular spice animations 28235 IdleAnimation = AIRngr_SKL.AIRngr_IDA 28236 IdleAnimation = AIRngr_SKL.AIRngr_IDB 28237 AnimationMode = ONCE 28238 WeaponFireFXBone = PRIMARY Muzzle 28239 WeaponMuzzleFlash = PRIMARY MuzzleFX 28240 TransitionKey = TRANS_Stand 28241 End 28242 28243 ; NORMAL ATTACK (Cutting fence via wirecutters) 28244 ConditionState = PREATTACK_A 28245 Animation = AIRngr_SKL.AIRngr_ATA 28246 AnimationMode = ONCE 28247 TransitionKey = TRANS_FiringA 28248 End 28249 AliasConditionState = FIRING_A 28250 AliasConditionState = BETWEEN_FIRING_SHOTS_A 28251 AliasConditionState = RELOADING_A 28252 AliasConditionState = MOVING FIRING_A 28253 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 28254 AliasConditionState = MOVING RELOADING_A 28255 AliasConditionState = FIRING_A REALLYDAMAGED 28256 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 28257 AliasConditionState = RELOADING_A REALLYDAMAGED 28258 28259 ; SECONDARY ATTACK (Flash-bang grenades) 28260 ConditionState = FIRING_B 28261 Animation = AIRngr_SKL.AIRngr_ATB 28262 AnimationMode = ONCE 28263 WeaponFireFXBone = SECONDARY Muzzle 28264 WeaponLaunchBone = SECONDARY Muzzle 28265 TransitionKey = TRANS_FiringB 28266 End 28267 28268 AliasConditionState = BETWEEN_FIRING_SHOTS_B 28269 AliasConditionState = RELOADING_B 28270 28271 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 28272 AliasConditionState = MOVING FIRING_B 28273 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B 28274 AliasConditionState = MOVING RELOADING_B 28275 28276 ConditionState = MOVING 28277 Animation = AIRngr_SKL.AIRngr_RNA 15 28278 AnimationMode = LOOP 28279 Flags = RANDOMSTART 28280 TransitionKey = None 28281 ParticleSysBone = None InfantryDustTrails 28282 End 28283 28284 ConditionState = MOVING REALLYDAMAGED 28285 ; 28286 ; there is a new, optional number following the animation... 28287 ; it represents the distance that a single loop the animation would 28288 ; cover. (ie, maybe it has the solder taking three strides, for a 28289 ; distance of 30 or so) 28290 ; 28291 ; how to tweak the number: 28292 ; -- "skidding"? reduce the number 28293 ; -- "running in place"? increase the number 28294 ; 28295 ; note that playing animations at abormal speeds may look odd in some cases. 28296 ; (e.g., a "limping" animation played too fast looks really odd.) 28297 ; 28298 Animation = AIRngr_SKL.AIRngr_RNB 30 28299 AnimationMode = LOOP 28300 Flags = RANDOMSTART 28301 TransitionKey = None 28302 ParticleSysBone = None InfantryDustTrails 28303 End 28304 28305 ConditionState = DYING 28306 Animation = AIRngr_SKL.AIRngr_DTA 28307 Animation = AIRngr_SKL.AIRngr_DTB 28308 AnimationMode = ONCE 28309 TransitionKey = None 28310 End 28311 28312 ConditionState = SPECIAL_CHEERING 28313 Animation = AIRngr_SKL.AIRngr_CHA 28314 AnimationMode = LOOP 28315 End 28316 28317 ;PARACHUTING ANIMATIONS 28318 ConditionState = FREEFALL 28319 Animation = AIRngr_SKL.AIRngr_PFL 28320 AnimationMode = LOOP 28321 TransitionKey = TRANS_Falling 28322 End 28323 AliasConditionState = FREEFALL REALLYDAMAGED 28324 AliasConditionState = FREEFALL DYING 28325 ConditionState = PARACHUTING 28326 Animation = AIRngr_SKL.AIRngr_PHG 28327 AnimationMode = LOOP 28328 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 28329 TransitionKey = TRANS_Chute 28330 End 28331 AliasConditionState = PARACHUTING REALLYDAMAGED 28332 AliasConditionState = PARACHUTING DYING 28333 TransitionState = TRANS_Falling TRANS_Chute 28334 Animation = AIRngr_SKL.AIRngr_POP 28335 AnimationMode = ONCE 28336 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 28337 End 28338 TransitionState = TRANS_Chute TRANS_Stand 28339 Animation = AIRngr_SKL.AIRngr_PTD 28340 AnimationMode = ONCE 28341 End 28342 28343 ; RAPPELLING ANIMATIONS 28344 ConditionState = RAPPELLING 28345 Animation = AIRngr_SKL.AIRngr_RPL1 ;30 28346 AnimationMode = LOOP 28347 Flags = RANDOMSTART 28348 TransitionKey = TRANS_Rappelling 28349 End 28350 AliasConditionState = MOVING RAPPELLING 28351 28352 TransitionState = TRANS_Rappelling TRANS_Stand 28353 Animation = AIRngr_SKL.AIRngr_RPL2 28354 AnimationMode = ONCE 28355 End 28356 28357 End 28358 28359 ; ***DESIGN parameters *** 28360 DisplayName = OBJECT:Agent 28361 Side = China 28362 EditorSorting = INFANTRY 28363 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 28364 WeaponSet 28365 Conditions = None 28366 Weapon = PRIMARY RedguardMachineGun 28367 End 28368 ; sorry, no stun bullets, cut for this version (srj) 28369 ; WeaponSet 28370 ; Conditions = PLAYER_UPGRADE 28371 ; Weapon = PRIMARY RedguardStunBulletsMachineGun 28372 ; End 28373 ArmorSet 28374 Conditions = None 28375 Armor = HumanArmor 28376 DamageFX = InfantryDamageFX 28377 End 28378 VisionRange = 150 28379 ShroudClearingRange = 150 28380 Prerequisites 28381 Object = ChinaBarracks 28382 Object = ChinaPropagandaCenter 28383 End 28384 28385 BuildCost = 600 28386 BuildTime = 20.0 ;in seconds 28387 28388 ExperienceValue = 50 100 150 400 ;Experience point value at each level 28389 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 28390 IsTrainable = Yes ;Can gain experience 28391 28392 ; *** AUDIO Parameters *** 28393 VoiceSelect = RedGuardVoiceSelect 28394 VoiceGroupSelect = BattleCrySound 28395 VoiceMove = RedGuardVoiceMove 28396 VoiceAttack = RedGuardVoiceAttack 28397 SoundDie = RedGuardVoiceDie 28398 SoundDieFire = DieByFireChina 28399 SoundDieToxin = DieByToxinChina 28400 28401 ; *** ENGINEERING Parameters *** 28402 RadarPriority = UNIT 28403 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE 28404 28405 Body = ActiveBody ModuleTag_02 28406 MaxHealth = 100.0 28407 InitialHealth = 100.0 28408 End 28409 28410 Behavior = VeterancyGainCreate ModuleTag_03 28411 StartingLevel = VETERAN 28412 End 28413 28414 Behavior = StealthUpdate ModuleTag_04 28415 StealthDelay = 2000 ; msec 28416 StealthForbiddenConditions = ATTACKING 28417 FriendlyOpacityMin = 50.0% 28418 InnateStealth = Yes 28419 OrderIdleEnemiesToAttackMeUponReveal = Yes 28420 End 28421 28422 Behavior = AIUpdateInterface ModuleTag_05 28423 AutoAcquireEnemiesWhenIdle = Yes 28424 End 28425 Locomotor = SET_NORMAL BasicHumanLocomotor 28426 Behavior = PhysicsBehavior ModuleTag_06 28427 Mass = 5.0 28428 End 28429 Behavior = SlowDeathBehavior ModuleTag_07 28430 SinkDelay = 3000 28431 SinkRate = 0.5 ; in Dist/Sec 28432 DestructionDelay = 8000 28433 End 28434 28435 28436 Behavior = SquishCollide ModuleTag_08 28437 ;nothing 28438 End 28439 28440 28441 Behavior = FXListDie ModuleTag_09 28442 DeathTypes = ALL -CRUSHED -SPLATTED 28443 DeathFX = FX_GIDie 28444 End 28445 Behavior = FXListDie ModuleTag_10 28446 DeathTypes = NONE +CRUSHED +SPLATTED 28447 DeathFX = FX_GIDieCrushed 28448 End 28449 28450 Behavior = PoisonedBehavior ModuleTag_11 28451 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 28452 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 28453 End 28454 28455 Geometry = CYLINDER 28456 Scale = 0.95 ;Scaling 28457 GeometryMajorRadius = 1.0 28458 GeometryMinorRadius = 1.0 28459 GeometryHeight = 8.0 28460 GeometryIsSmall = Yes 28461 Shadow = SHADOW_DECAL 28462 ShadowSizeX = 9; 28463 ShadowSizeY = 9; 28464 ShadowTexture = ShadowI; 28465 BuildCompletion = APPEARS_AT_RALLY_POINT 28466 28467 End 28468 28469 ;------------------------------------------------------------------------------ 28470 ;The Marauder Tank, for the Warlord General. 28471 Object GLATankMarauder 28472 28473 ; *** ART Parameters *** 28474 SelectPortrait = SUMarauder_L 28475 ButtonImage = SUMarauder_L 28476 28477 UpgradeCameo1 = Upgrade_GLAToxinShells 28478 UpgradeCameo2 = Upgrade_GLAJunkRepair 28479 ;UpgradeCameo3 = NONE 28480 ;UpgradeCameo4 = NONE 28481 ;UpgradeCameo5 = NONE 28482 28483 Draw = W3DTankDraw ModuleTag_01 28484 OkToChangeModelColor = Yes 28485 28486 ; no crate upgrade 28487 ConditionState = NONE 28488 Model = UVMarauder 28489 Turret = Turret 28490 ShowSubObject = Turret 28491 HideSubObject = TurretUp01 TurretUp02 BarrelFX01 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash 28492 WeaponFireFXBone = PRIMARY BarrelMS 28493 WeaponRecoilBone = PRIMARY Barrel 28494 WeaponMuzzleFlash = PRIMARY BarrelFX 28495 WeaponLaunchBone = PRIMARY BarrelMS 28496 End 28497 28498 ConditionState = REALLYDAMAGED 28499 Model = UVMarauder_d 28500 Turret = Turret 28501 ShowSubObject = Turret 28502 HideSubObject = TurretUp01 TurretUp02 BarrelFX01 28503 WeaponFireFXBone = PRIMARY BarrelMS 28504 WeaponRecoilBone = PRIMARY Barrel 28505 WeaponMuzzleFlash = PRIMARY BarrelFX 28506 WeaponLaunchBone = PRIMARY BarrelMS 28507 End 28508 28509 ConditionState = RUBBLE 28510 Model = UVMarauder_d 28511 Turret = Turret 28512 ShowSubObject = Turret 28513 HideSubObject = TurretUp01 TurretUp02 BarrelFX01 28514 WeaponFireFXBone = PRIMARY BarrelMS 28515 WeaponRecoilBone = PRIMARY Barrel 28516 WeaponMuzzleFlash = PRIMARY BarrelFX 28517 WeaponLaunchBone = PRIMARY BarrelMS 28518 End 28519 28520 ; crate upgrade 1 28521 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 28522 Model = UVMarauder 28523 Turret = TurretUp01 28524 ShowSubObject = TurretUp01 28525 HideSubObject = Turret TurretUp02 BarrelUp01FX01 28526 WeaponFireFXBone = PRIMARY BarrelUp01MS 28527 WeaponRecoilBone = PRIMARY BarrelUp01 28528 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 28529 WeaponLaunchBone = PRIMARY BarrelUp01MS 28530 End 28531 28532 ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE 28533 Model = UVMarauder_d 28534 Turret = TurretUp01 28535 ShowSubObject = TurretUp01 28536 HideSubObject = Turret TurretUp02 BarrelUp01FX01 28537 WeaponFireFXBone = PRIMARY BarrelUp01MS 28538 WeaponRecoilBone = PRIMARY BarrelUp01 28539 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 28540 WeaponLaunchBone = PRIMARY BarrelUp01MS 28541 End 28542 28543 ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_ONE 28544 Model = UVMarauder_d 28545 Turret = TurretUp01 28546 ShowSubObject = TurretUp01 28547 HideSubObject = Turret TurretUp02 BarrelUp01FX01 28548 WeaponFireFXBone = PRIMARY BarrelUp01MS 28549 WeaponRecoilBone = PRIMARY BarrelUp01 28550 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 28551 WeaponLaunchBone = PRIMARY BarrelUp01MS 28552 End 28553 28554 ; crate upgrade 2 28555 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 28556 Model = UVMarauder 28557 Turret = TurretUp02 28558 ShowSubObject = TurretUp02 28559 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 28560 WeaponFireFXBone = PRIMARY BarrelUp02MS 28561 WeaponRecoilBone = PRIMARY BarrelUp02 28562 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 28563 WeaponLaunchBone = PRIMARY BarrelUp02MS 28564 End 28565 28566 ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO 28567 Model = UVMarauder_d 28568 Turret = TurretUp02 28569 ShowSubObject = TurretUp02 28570 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 28571 WeaponFireFXBone = PRIMARY BarrelUp02MS 28572 WeaponRecoilBone = PRIMARY BarrelUp02 28573 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 28574 WeaponLaunchBone = PRIMARY BarrelUp02MS 28575 End 28576 28577 ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_TWO 28578 Model = UVMarauder_d 28579 Turret = TurretUp02 28580 ShowSubObject = TurretUp02 28581 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 28582 WeaponFireFXBone = PRIMARY BarrelUp02MS 28583 WeaponRecoilBone = PRIMARY BarrelUp02 28584 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 28585 WeaponLaunchBone = PRIMARY BarrelUp02MS 28586 End 28587 28588 TrackMarks = EXTnkTrack.tga 28589 TreadAnimationRate = 2.0; amount of tread texture to move per second 28590 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 28591 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 28592 28593 End 28594 28595 ; ***DESIGN parameters *** 28596 DisplayName = OBJECT:Marauder 28597 Side = GLA 28598 EditorSorting = VEHICLE 28599 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 28600 WeaponSet 28601 Conditions = None 28602 Weapon = PRIMARY MarauderTankGun 28603 End 28604 WeaponSet 28605 Conditions = CRATEUPGRADE_ONE 28606 Weapon = PRIMARY MarauderTankGunUpgradeOne 28607 28608 28609 End 28610 WeaponSet 28611 Conditions = CRATEUPGRADE_TWO 28612 Weapon = PRIMARY MarauderTankGunUpgradeTwo 28613 Weapon = SECONDARY HumveeGun 28614 End 28615 ArmorSet 28616 Conditions = None 28617 Armor = TankArmor 28618 DamageFX = TankDamageFX 28619 End 28620 BuildCost = 800 28621 BuildTime = 10.0 ;in seconds 28622 VisionRange = 125 28623 ShroudClearingRange = 300 28624 Prerequisites 28625 Object = GLAArmsDealer 28626 Science = SCIENCE_MarauderTank 28627 End 28628 28629 ExperienceValue = 100 100 200 300 ;Experience point value at each level 28630 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 28631 IsTrainable = Yes ;Can gain experience 28632 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 28633 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 28634 CommandSet = GLATankMarauderCommandSet 28635 28636 ; *** AUDIO Parameters *** 28637 VoiceSelect = MarauderTankVoiceSelect 28638 VoiceMove = MarauderTankVoiceMove 28639 VoiceGuard = MarauderTankVoiceMove 28640 VoiceAttack = MarauderTankVoiceAttack 28641 SoundMoveStart = MarauderTankMoveStart 28642 SoundMoveStartDamaged = MarauderTankMoveStart 28643 28644 UnitSpecificSounds 28645 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 28646 VoiceCreate = MarauderTankVoiceCreate 28647 ;TurretMoveStart = NoSound 28648 TurretMoveLoop = TurretMoveLoop 28649 VoiceSalvage = MarauderTankVoiceSalvage 28650 VoiceCrush = MarauderTankVoiceCrush 28651 VoiceEnter = MarauderTankVoiceMove 28652 End 28653 28654 ; *** ENGINEERING Parameters *** 28655 RadarPriority = UNIT 28656 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE 28657 28658 Body = ActiveBody ModuleTag_02 28659 MaxHealth = 430.0 28660 InitialHealth = 430.0 28661 End 28662 28663 Behavior = AIUpdateInterface ModuleTag_03 28664 AutoAcquireEnemiesWhenIdle = Yes 28665 End 28666 Locomotor = SET_NORMAL MarauderLocomotor 28667 Behavior = PhysicsBehavior ModuleTag_04 28668 Mass = 50.0 28669 End 28670 Behavior = AutoHealBehavior ModuleTag_05 28671 HealingAmount = 2 28672 HealingDelay = 1000 ; msec 28673 TriggeredBy = Upgrade_GLAJunkRepair 28674 End 28675 28676 ; Catch fire, and explode death 28677 Behavior = SlowDeathBehavior ModuleTag_06 28678 DeathTypes = ALL -CRUSHED -SPLATTED 28679 ProbabilityModifier = 50 28680 DestructionDelay = 1000 28681 DestructionDelayVariance = 300 28682 FX = INITIAL FX_CrusaderCatchFire 28683 OCL = FINAL OCL_MaruaderTankDeathEffect 28684 FX = FINAL FX_BattleMasterExplosionOneFinal 28685 End 28686 28687 28688 Behavior = CreateCrateDie ModuleTag_07 28689 CrateData = SalvageCrateData 28690 ;CrateData = EliteTankCrateData 28691 ;CrateData = HeroicTankCrateData 28692 End 28693 28694 Behavior = TransitionDamageFX ModuleTag_08 28695 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 28696 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 28697 End 28698 28699 ; A crushing defeat 28700 Behavior = FXListDie ModuleTag_09 28701 DeathTypes = NONE +CRUSHED +SPLATTED 28702 DeathFX = FX_CarCrush 28703 End 28704 28705 Behavior = FlammableUpdate ModuleTag_21 28706 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 28707 AflameDamageAmount = 3 ; taking this much damage... 28708 AflameDamageDelay = 500 ; this often. 28709 End 28710 28711 Geometry = BOX 28712 GeometryMajorRadius = 17.0 28713 GeometryMinorRadius = 10.0 28714 GeometryHeight = 9.5 28715 GeometryIsSmall = Yes 28716 Shadow = SHADOW_VOLUME 28717 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 28718 28719 End 28720 28721 ;------------------------------------------------------------------------------ 28722 Object ChinaInfantryHacker 28723 28724 ; *** ART Parameters *** 28725 SelectPortrait = SNHacker2_L 28726 ButtonImage = SNHacker2_L 28727 28728 ;UpgradeCameo1 = NONE 28729 ;UpgradeCameo2 = NONE 28730 ;UpgradeCameo3 = NONE 28731 ;UpgradeCameo4 = NONE 28732 ;UpgradeCameo5 = NONE 28733 28734 Draw = W3DModelDraw ModuleTag_01 28735 OkToChangeModelColor = Yes 28736 28737 ;NORMAL STANDING 28738 DefaultConditionState 28739 Model = NIHCKR_SKN 28740 IdleAnimation = NIHCKR_SKL.NIHCKR_STA 0 25 28741 ;Regular spice animations 28742 IdleAnimation = NIHCKR_SKL.NIHCKR_IDA 28743 IdleAnimation = NIHCKR_SKL.NIHCKR_IDB 28744 AnimationMode = ONCE 28745 WeaponFireFXBone = PRIMARY Bone_SatCom 28746 TransitionKey = TRANS_Stand 28747 End 28748 AliasConditionState = REALLYDAMAGED 28749 28750 ConditionState = MOVING 28751 Animation = NIHCKR_SKL.NIHCKR_RNA 14 28752 AnimationMode = LOOP 28753 Flags = RANDOMSTART 28754 TransitionKey = None 28755 ParticleSysBone = None InfantryDustTrails 28756 End 28757 AliasConditionState = MOVING UNPACKING 28758 AliasConditionState = MOVING UNPACKING REALLYDAMAGED 28759 28760 ConditionState = UNPACKING 28761 Animation = NIHCKR_SKL.NIHCKR_ATB1 28762 AnimationMode = ONCE 28763 End 28764 AliasConditionState = UNPACKING FIRING_A 28765 AliasConditionState = UNPACKING REALLYDAMAGED 28766 AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED 28767 28768 ;HACKING ATTACK 28769 ConditionState = FIRING_A 28770 Animation = NIHCKR_SKL.NIHCKR_ATB2 28771 AnimationMode = LOOP 28772 TransitionKey = TRANS_FiringA 28773 End 28774 AliasConditionState = FIRING_A REALLYDAMAGED 28775 28776 ConditionState = PACKING 28777 Animation = NIHCKR_SKL.NIHCKR_ATB3 28778 AnimationMode = ONCE 28779 End 28780 AliasConditionState = PACKING FIRING_A 28781 AliasConditionState = PACKING REALLYDAMAGED 28782 AliasConditionState = PACKING FIRING_A REALLYDAMAGED 28783 28784 28785 28786 TransitionState = TRANS_FiringA TRANS_Stand ; I was stopped by a stop command, so I get no proper PACKING state 28787 Animation = NIHCKR_SKL.NIHCKR_ATB3 28788 AnimationMode = ONCE 28789 End 28790 28791 28792 ConditionState = FREEFALL 28793 Animation = NIHCKR_SKL.NIHCKR_PFL 28794 AnimationMode = LOOP 28795 TransitionKey = TRANS_Falling 28796 End 28797 AliasConditionState = FREEFALL REALLYDAMAGED 28798 AliasConditionState = FREEFALL DYING 28799 28800 ConditionState = PARACHUTING 28801 Animation = NIHCKR_SKL.NIHCKR_PHG 28802 AnimationMode = LOOP 28803 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 28804 TransitionKey = TRANS_Chute 28805 End 28806 AliasConditionState = PARACHUTING REALLYDAMAGED 28807 AliasConditionState = PARACHUTING DYING 28808 28809 28810 ConditionState = DYING 28811 Animation = NIHCKR_SKL.NIHCKR_DTA 28812 Animation = NIHCKR_SKL.NIHCKR_DTB 28813 AnimationMode = ONCE 28814 TransitionKey = TRANS_Dying 28815 End 28816 28817 TransitionState = TRANS_Dying TRANS_Flailing 28818 Animation = NIHCKR_SKL.NIHCKR_ADTG1 28819 AnimationMode = ONCE 28820 End 28821 28822 ConditionState = DYING EXPLODED_FLAILING 28823 Animation = NIHCKR_SKL.NIHCKR_ADTG2 28824 AnimationMode = LOOP 28825 TransitionKey = TRANS_Flailing 28826 End 28827 28828 ConditionState = DYING EXPLODED_BOUNCING 28829 Animation = NIHCKR_SKL.NIHCKR_ADTG3 28830 AnimationMode = ONCE 28831 TransitionKey = None 28832 End 28833 28834 ConditionState = SPECIAL_CHEERING 28835 Animation = NIHCKR_SKL.NIHCKR_CHA 28836 AnimationMode = LOOP 28837 End 28838 28839 TransitionState = TRANS_Falling TRANS_Chute 28840 Animation = NIHCKR_SKL.NIHCKR_POP 28841 AnimationMode = ONCE 28842 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 28843 End 28844 28845 TransitionState = TRANS_Chute TRANS_Stand 28846 Animation = NIHCKR_SKL.NIHCKR_PTD 28847 AnimationMode = ONCE 28848 End 28849 28850 End 28851 28852 ; ***DESIGN parameters *** 28853 DisplayName = OBJECT:Hacker 28854 Side = China 28855 EditorSorting = INFANTRY 28856 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 28857 28858 ArmorSet 28859 Conditions = None 28860 Armor = HumanArmor 28861 DamageFX = InfantryDamageFX 28862 End 28863 VisionRange = 150 28864 ShroudClearingRange = 300 28865 Prerequisites 28866 Object = ChinaBarracks 28867 Object = ChinaPropagandaCenter 28868 End 28869 BuildCost = 625 28870 BuildTime = 20.0 ;in seconds 28871 ExperienceValue = 50 100 150 400 ;Experience point value at each level 28872 ExperienceRequired = 0 100 300 500 ;Experience points needed to gain each level 28873 IsTrainable = Yes ;Can gain experience 28874 28875 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 28876 CommandSet = ChinaInfantryHackerCommandSet 28877 28878 ; *** AUDIO Parameters *** 28879 VoiceSelect = BlackLotusVoiceSelect 28880 VoiceMove = BlackLotusVoiceMove 28881 VoiceAttack = BlackLotusVoiceAttack 28882 SoundDie = BlackLotusVoiceDie 28883 SoundDieFire = DieByFireFemale 28884 SoundDieToxin = DieByToxinFemale 28885 VoiceGuard = HackerVoiceMove 28886 VoiceFear = HackerVoiceFear 28887 VoiceTaskComplete = HackerVoiceHackComplete 28888 UnitSpecificSounds 28889 VoiceGarrison = BlackLotusVoiceMove 28890 VoiceCreate = BlackLotusVoiceCreate 28891 UnitPack = BlackLotusPack 28892 UnitUnpack = BlackLotusUnpack 28893 UnitCashPing = HackerCashPing 28894 VoiceEnter = HackerVoiceMove 28895 VoiceEnterHostile = HackerVoiceMove 28896 VoiceGetHealed = HackerVoiceMove 28897 VoiceHackInternet = BlackLotusVoiceCreate 28898 End 28899 28900 ; *** ENGINEERING Parameters *** 28901 RadarPriority = UNIT 28902 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE IGNORES_SELECT_ALL 28903 28904 Body = ActiveBody ModuleTag_02 28905 MaxHealth = 100.0 28906 InitialHealth = 100.0 28907 End 28908 28909 Behavior = VeterancyGainCreate ModuleTag_03 28910 StartingLevel = VETERAN 28911 ScienceRequired = SCIENCE_RedGuardTraining 28912 End 28913 Behavior = HackInternetAIUpdate ModuleTag_03 28914 UnpackTime = 7300 ;animation time is 7300 (changing this will scale anim speed) 28915 PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) 28916 CashUpdateDelay = 2000 28917 RegularCashAmount = 5 28918 VeteranCashAmount = 6 28919 EliteCashAmount = 8 28920 HeroicCashAmount = 10 28921 XpPerCashUpdate = 1 28922 PackUnpackVariationFactor = 0.5 ;Adds + or - 20% to pack and unpack time randomly. 28923 End 28924 Locomotor = SET_NORMAL BasicHumanLocomotor 28925 28926 Behavior = SpecialAbility ModuleTag_04 28927 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding 28928 UpdateModuleStartsAttack = Yes 28929 InitiateSound = BlackLotusVoiceHackBuilding 28930 End 28931 28932 Behavior = SpecialAbilityUpdate ModuleTag_05 28933 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding 28934 StartAbilityRange = 150.0 28935 UnpackTime = 1000 ;animation time is 7300 (changing this will scale anim speed) 28936 PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) 28937 PreparationTime = 3000 28938 28939 ;PersistentPrepTime = 500 ; old setting 28940 PersistentPrepTime = 333 ; NOTE! This drives how often the disable effect gets triggered 28941 ; This is also how often a new particle system effect is spawned 28942 EffectDuration = 20000 28943 SpecialObject = BinaryDataStream 28944 DisableFXParticleSystem = DisabledEffectBinaryShower0 28945 PackSound = BlackLotusPack 28946 UnpackSound = BlackLotusUnpack 28947 PrepSoundLoop = BlackLotusPrepLoop 28948 AwardXPForTriggering = 0 ;Careful, this is persistant so it's a DoT xp gain! 28949 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 28950 End 28951 28952 28953 Behavior = PhysicsBehavior ModuleTag_06 28954 Mass = 5.0 28955 End 28956 28957 Behavior = SquishCollide ModuleTag_08 28958 ;nothing 28959 End 28960 28961 28962 ; --- begin Death modules --- 28963 Behavior = SlowDeathBehavior ModuleTag_Death01 28964 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 28965 SinkDelay = 50000 28966 SinkRate = 0.5 ; in Dist/Sec 28967 DestructionDelay = 8000000 28968 FX = INITIAL FX_GIDie 28969 End 28970 Behavior = SlowDeathBehavior ModuleTag_Death02 28971 DeathTypes = NONE +CRUSHED +SPLATTED 28972 SinkDelay = 50000 28973 SinkRate = 0.5 ; in Dist/Sec 28974 DestructionDelay = 8000000 28975 FX = INITIAL FX_GIDieCrushed 28976 End 28977 Behavior = SlowDeathBehavior ModuleTag_Death03 28978 DeathTypes = NONE +EXPLODED 28979 SinkDelay = 50000 28980 SinkRate = 0.5 ; in Dist/Sec 28981 DestructionDelay = 8000000 28982 FX = INITIAL FX_GIDie 28983 FlingForce = 8 28984 FlingForceVariance = 3 28985 FlingPitch = 60 28986 FlingPitchVariance = 10 28987 End 28988 Behavior = SlowDeathBehavior ModuleTag_Death04 28989 DeathTypes = NONE +BURNED 28990 DestructionDelay = 0 28991 FX = INITIAL FX_GIDie 28992 OCL = INITIAL OCL_FlamingInfantry 28993 End 28994 Behavior = SlowDeathBehavior ModuleTag_Death05 28995 DeathTypes = NONE +POISONED 28996 DestructionDelay = 0 28997 FX = INITIAL FX_GIDie 28998 OCL = INITIAL OCL_ToxicInfantry 28999 End 29000 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 29001 DeathTypes = NONE +POISONED_BETA 29002 DestructionDelay = 0 29003 FX = INITIAL FX_GIDie 29004 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 29005 End 29006 ; --- end Death modules --- 29007 29008 Behavior = PoisonedBehavior ModuleTag_11 29009 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 29010 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 29011 End 29012 29013 Geometry = CYLINDER 29014 Scale = 0.95 ;Scaling 29015 GeometryMajorRadius = 1.0 29016 GeometryMinorRadius = 1.0 29017 GeometryHeight = 8.0 29018 GeometryIsSmall = Yes 29019 Shadow = SHADOW_DECAL 29020 ShadowSizeX = 9; 29021 ShadowSizeY = 9; 29022 ShadowTexture = ShadowI; 29023 BuildCompletion = APPEARS_AT_RALLY_POINT 29024 29025 End 29026 29027 ;------------------------------------------------------------------------------ 29028 ;GLA Radar Van 29029 Object GLAVehicleRadarVan 29030 29031 ; *** ART Parameters *** 29032 SelectPortrait = SURadarVan_L 29033 ButtonImage = SURadarVan 29034 29035 UpgradeCameo1 = Upgrade_GLARadarVanScan 29036 UpgradeCameo2 = Upgrade_GLAJunkRepair 29037 ;UpgradeCameo3 = NONE 29038 ;UpgradeCameo4 = NONE 29039 ;UpgradeCameo5 = NONE 29040 29041 Draw = W3DTruckDraw ModuleTag_01 29042 OkToChangeModelColor = Yes 29043 29044 DefaultConditionState 29045 Model = UVRadarVan 29046 Animation = UVRadarVan.UVRadarVan 29047 AnimationMode = LOOP 29048 End 29049 29050 ConditionState = REALLYDAMAGED 29051 Model = UVRadarVan_D 29052 Animation = UVRadarVan_D.UVRadarVan_D 29053 AnimationMode = LOOP 29054 End 29055 29056 ConditionState = RUBBLE 29057 Model = UVRadarVan_D 29058 Animation = UVRadarVan_D.UVRadarVan_D 29059 AnimationMode = LOOP 29060 End 29061 29062 TrackMarks = EXTireTrack.tga 29063 29064 ; These parameters are only used if the model has a separate suspension, 29065 ; and the locomotor has HasSuspension = Yes. 29066 LeftFrontTireBone = Tire01 29067 RightFrontTireBone = Tire02 29068 LeftRearTireBone = Tire03 29069 RightRearTireBone = Tire04 29070 TireRotationMultiplier = 0.2 ; this * speed = rotation. 29071 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 29072 End 29073 29074 ; ***DESIGN parameters *** 29075 DisplayName = OBJECT:RadarVan 29076 Side = GLA 29077 EditorSorting = VEHICLE 29078 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 29079 ArmorSet 29080 Conditions = None 29081 Armor = TruckArmor 29082 DamageFX = TankDamageFX 29083 End 29084 BuildCost = 500 29085 BuildTime = 10.0 ;in seconds 29086 VisionRange = 200 29087 ShroudClearingRange = 500 29088 Prerequisites 29089 Object = GLAArmsDealer 29090 End 29091 IsTrainable = No 29092 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 29093 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 29094 CommandSet = GLAVehicleRadarVanCommandSet 29095 29096 ; *** AUDIO Parameters *** 29097 VoiceSelect = RadarVanVoiceSelect 29098 VoiceMove = RadarVanVoiceMove 29099 VoiceAttack = RadarVanVoiceMove 29100 SoundMoveStart = RadarVanMoveStart 29101 SoundMoveStartDamaged = RadarVanMoveStart 29102 29103 UnitSpecificSounds 29104 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 29105 VoiceCreate = RadarVanVoiceCreate 29106 TurretMoveStart = NoSound 29107 TurretMoveLoop = TurretMoveLoop 29108 ; Required for the W3DTruckDraw module 29109 TruckLandingSound = NoSound ;RocketBuggyLand 29110 TruckPowerslideSound = NoSound ;RocketBuggyPowerslide 29111 VoiceCrush = RadarVanVoiceCrush 29112 VoiceEnter = RadarVanVoiceMove 29113 End 29114 29115 ; *** ENGINEERING Parameters *** 29116 RadarPriority = UNIT 29117 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE IGNORES_SELECT_ALL 29118 29119 Body = ActiveBody ModuleTag_02 29120 MaxHealth = 200 29121 InitialHealth = 200 29122 End 29123 29124 ExperienceValue = 20 20 20 20 ; Experience point value at each level 29125 29126 Behavior = GrantUpgradeCreate ModuleTag_03 29127 UpgradeToGrant = Upgrade_GLARadar 29128 End 29129 Behavior = RadarUpgrade ModuleTag_05 29130 TriggeredBy = Upgrade_GLARadar 29131 DisableProof = Yes ; Won't be disabled by power low 29132 End 29133 29134 Behavior = OCLSpecialPower ModuleTag_06 29135 SpecialPowerTemplate = SpecialPowerRadarVanScan 29136 OCL = SUPERWEAPON_RadarVanScan 29137 CreateLocation = CREATE_AT_LOCATION 29138 StartsPaused = Yes ; Unpaused by upgrade module 29139 End 29140 29141 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_07 29142 SpecialPowerTemplate = SpecialPowerRadarVanScan 29143 TriggeredBy = Upgrade_GLARadarVanScan 29144 End 29145 29146 Behavior = AutoHealBehavior ModuleTag_08 29147 HealingAmount = 2 29148 HealingDelay = 1000 ; msec 29149 TriggeredBy = Upgrade_GLAJunkRepair 29150 End 29151 29152 Behavior = AIUpdateInterface ModuleTag_09 29153 Turret 29154 TurretTurnRate = 100 29155 ControlledWeaponSlots = PRIMARY 29156 End 29157 End 29158 Locomotor = SET_NORMAL RadarVanLocomotor 29159 29160 Behavior = PhysicsBehavior ModuleTag_10 29161 Mass = 50.0 29162 End 29163 29164 ; The default explosion 29165 Behavior = SlowDeathBehavior ModuleTag_11 29166 DeathTypes = ALL -CRUSHED -SPLATTED 29167 ProbabilityModifier = 5 29168 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 29169 DestructionDelay = 0 29170 DestructionDelayVariance = 200 29171 FX = FINAL FX_BuggyNewDeathExplosion 29172 OCL = FINAL OCL_RadarVanDeathEffect 29173 End 29174 29175 29176 Behavior = FlammableUpdate ModuleTag_13 29177 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 29178 AflameDamageAmount = 3 ; taking this much damage... 29179 AflameDamageDelay = 500 ; this often. 29180 End 29181 29182 Behavior = DestroyDie ModuleTag_14 29183 DeathTypes = NONE +CRUSHED +SPLATTED 29184 End 29185 Behavior = CreateCrateDie ModuleTag_15 29186 CrateData = SalvageCrateData 29187 ;CrateData = EliteTankCrateData 29188 ;CrateData = HeroicTankCrateData 29189 End 29190 29191 Behavior = StealthDetectorUpdate ModuleTag_16 29192 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 29193 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 29194 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 29195 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 29196 End 29197 29198 ; A crushing defeat 29199 Behavior = FXListDie ModuleTag_17 29200 DeathTypes = NONE +CRUSHED +SPLATTED 29201 DeathFX = FX_CarCrush 29202 End 29203 Behavior = CreateObjectDie ModuleTag_18 29204 DeathTypes = NONE +CRUSHED +SPLATTED 29205 CreationList = OCL_CrusaderTank_CrushEffect 29206 End 29207 29208 Behavior = TransitionDamageFX ModuleTag_19 29209 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 29210 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_CrusaderDamageTransition 29211 End 29212 29213 Geometry = BOX 29214 GeometryMajorRadius = 16.0 29215 GeometryMinorRadius = 6.0 29216 GeometryHeight = 12.5 29217 GeometryIsSmall = Yes 29218 Shadow = SHADOW_VOLUME 29219 ShadowSizeX = 45 ;minimum elevation angle above horizon. Used to limit shadow length 29220 29221 End 29222 ;------------------------------------------------------------------------------ 29223 Object AmericaVehicleBattlefurtifShip 29224 29225 ; *** ART Parameters *** 29226 SelectPortrait = T34 29227 ButtonImage = T34 29228 29229 UpgradeCameo1 = Upgrade_SeaRepair 29230 UpgradeCameo2 = Upgrade_SeaArmour 29231 ;UpgradeCameo3 =Upgrade_SubmarineStealth 29232 ;UpgradeCameo4 = NONE 29233 ;UpgradeCameo5 = NONE 29234 29235 ; *** ART Parameters *** 29236 Draw = W3DModelDraw ModuleTag_01 ;W3DTankDraw ModuleTag_01 29237 OkToChangeModelColor = Yes 29238 InitialRecoilSpeed = 120 29239 MaxRecoilDistance = 8 29240 RecoilSettleSpeed = 6 29241 29242 29243 ConditionState = NONE 29244 Model = bat_furtif 29245 WeaponLaunchBone = PRIMARY Muzzle 29246 WeaponFireFXBone = PRIMARY MuzzleFX 29247 29248 WeaponLaunchBone = SECONDARY WEAPONA 29249 WeaponFireFXBone = SECONDARY WEAPONAFX 29250 29251 End 29252 ConditionState = OVER_WATER 29253 Model = bat_furtif 29254 WeaponLaunchBone = PRIMARY Muzzle 29255 WeaponFireFXBone = PRIMARY MuzzleFX 29256 29257 WeaponLaunchBone = SECONDARY WEAPONA 29258 WeaponFireFXBone = SECONDARY WEAPONAFX 29259 End 29260 29261 ConditionState = MOVING OVER_WATER 29262 Model = bat_furtif 29263 WeaponLaunchBone = PRIMARY Muzzle 29264 WeaponFireFXBone = PRIMARY MuzzleFX 29265 29266 WeaponLaunchBone = SECONDARY WEAPONA 29267 WeaponFireFXBone = SECONDARY WEAPONAFX 29268 29269 ; ParticleSysBone = Mist01 AmphibMist ; 29270 ; ParticleSysBone = Mist02 AmphibMist ; 29271 ; ParticleSysBone = Mist03 AmphibMist ; 29272 ; ParticleSysBone = Mist04 AmphibMist ; 29273 ; ParticleSysBone = Mist05 AmphibMist ; 29274 ; ParticleSysBone = Mist06 AmphibMist ; 29275 ParticleSysBone = Mist07 AmphibMist ; 29276 29277 ; ParticleSysBone = TreadFX01 AmphibWave ; 29278 ; ParticleSysBone = TreadFX02 AmphibWave ; 29279 ; ParticleSysBone = TreadFX03 AmphibWave ; 29280 ; ParticleSysBone = TreadFX04 AmphibWave ; 29281 ; ParticleSysBone = TreadFX05 AmphibWave ; 29282 ; ParticleSysBone = TreadFX06 AmphibWave ; 29283 ParticleSysBone = TreadFX07 AmphibWave ; 29284 End 29285 End 29286 29287 29288 VoiceSelect = OverlordTankVoiceSelect 29289 29290 ; ***DESIGN parameters *** 29291 DisplayName = OBJECT:Bateau_furtif 29292 Side = America 29293 EditorSorting = VEHICLE 29294 TransportSlotCount = 8 ;how many "slots" we take in a transport (0 == not transportable) 29295 29296 WeaponSet 29297 Conditions = None 29298 Weapon = PRIMARY submarineWeapon2 29299 PreferredAgainst = PRIMARY VEHICLE STRUCTURE 29300 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 29301 Weapon = SECONDARY submarineWeapon 29302 AutoChooseSources = SECONDARY NONE 29303 29304 End 29305 29306 ArmorSet 29307 Conditions = None 29308 Armor = TankArmor 29309 DamageFX = TankDamageFX 29310 End 29311 29312 BuildCost = 2000 29313 BuildTime = 30.0 29314 VisionRange = 400 29315 ShroudClearingRange = 450 29316 Prerequisites 29317 Object = AmericaNavalyard 29318 End 29319 CommandSet = AmericaVehicleBattlefurtifShip 29320 MaxSimultaneousOfType = 2 29321 29322 ; *** AUDIO Parameters *** 29323 SoundAmbient = BattleshipAmbientLoop 29324 VoiceSelect = OverlordTankVoiceSelect 29325 UnitSpecificSounds 29326 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 29327 TurretMoveLoop = TurretMoveLoop 29328 End 29329 29330 ; *** ENGINEERING Parameters *** 29331 RadarPriority = UNIT 29332 KindOf = PRELOAD CAN_CAST_REFLECTIONS SCORE SELECTABLE VEHICLE 29333 29334 Body = ActiveBody ModuleTag_02 29335 MaxHealth = 500.0 29336 InitialHealth = 500.0 29337 End 29338 29339 Behavior = MaxHealthUpgrade ModuleTag_09 29340 TriggeredBy = Upgrade_SubmarineArmor 29341 AddMaxHealth = 1000.0 29342 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 29343 End 29344 29345 Behavior = AutoHealBehavior ModuleTag_05 29346 HealingAmount = 7 29347 HealingDelay = 500 ; msec 29348 TriggeredBy = Upgrade_SubmarineRepair 29349 End 29350 29351 Behavior = AIUpdateInterface ModuleTag_03 29352 AutoAcquireEnemiesWhenIdle = No 29353 End 29354 29355 Locomotor = SET_NORMAL SubmarineLocomotor 29356 29357 Behavior = PhysicsBehavior ModuleTag_04 29358 Mass = 5000.0 29359 End 29360 29361 Behavior = SlowDeathBehavior ModuleTag_16 29362 ProbabilityModifier = 25 29363 DestructionDelay = 200 29364 DestructionDelayVariance = 100 29365 OCL = FINAL OCL_FirestormSmall 29366 FX = FINAL WeaponFX_NapalmMissileDetonation 29367 End 29368 29369 Behavior = StealthUpdate ModuleTag_17 29370 StealthDelay = 1000 ; msec 29371 StealthForbiddenConditions = ATTACKING USING_ABILITY 29372 MoveThresholdSpeed = 20 29373 InnateStealth = No ;Requires upgrade first 29374 OrderIdleEnemiesToAttackMeUponReveal = Yes 29375 End 29376 29377 Behavior = StealthUpgrade ModuleTag_18 29378 TriggeredBy = Upgrade_SubmarineStealth 29379 29380 End 29381 Behavior = MaxHealthUpgrade ModuleTag_09 29382 TriggeredBy = Upgrade_SeaArmour 29383 AddMaxHealth = 1000.0 29384 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 29385 End 29386 29387 Behavior = AutoHealBehavior ModuleTag_05 29388 HealingAmount = 7 29389 HealingDelay = 500 ; msec 29390 TriggeredBy = Upgrade_SeaRepair 29391 End 29392 Behavior = StealthUpdate ModuleTag_07 29393 StealthDelay = 2000 ; msec 29394 StealthForbiddenConditions = FIRING_PRIMARY 29395 HintDetectableConditions = IS_FIRING_WEAPON 29396 FriendlyOpacityMin = 50.0% 29397 FriendlyOpacityMax = 100.0% 29398 InnateStealth = Yes 29399 OrderIdleEnemiesToAttackMeUponReveal = Yes 29400 End 29401 29402 Geometry = BOX 29403 GeometryMajorRadius = 200.0 29404 GeometryMinorRadius = 20.0 29405 GeometryHeight = 40 29406 GeometryIsSmall = No 29407 Shadow = SHADOW_VOLUME 29408 29409 End 29410 29411 29412 ;------------------------------------------------------------------------------ 29413 Object AmericaVehicleBattleShip 29414 29415 SelectPortrait = T23 29416 ButtonImage = T23 29417 29418 UpgradeCameo1 = Upgrade_SeaRepair 29419 UpgradeCameo2 = Upgrade_SeaArmour 29420 ;UpgradeCameo3 = NONE 29421 ;UpgradeCameo4 = NONE 29422 ;UpgradeCameo5 = NONE 29423 29424 ; *** ART Parameters *** 29425 Draw = W3DTankDraw ModuleTag_01 29426 OkToChangeModelColor = Yes 29427 InitialRecoilSpeed = 120 29428 MaxRecoilDistance = 8 29429 RecoilSettleSpeed = 6 29430 29431 ConditionState = NONE 29432 Model = AVBattleSh 29433 Animation = AVBattleSh.AVBattleSh 29434 AnimationMode = LOOP 29435 Turret = Turret01 29436 TurretPitch = TurretEL01 29437 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 29438 AltTurret = Turret02 29439 AltTurretPitch = TurretEL02 29440 WeaponFireFXBone = PRIMARY Tur1Muzzle 29441 WeaponRecoilBone = PRIMARY Tur1Barrel 29442 WeaponFireFXBone = SECONDARY Tur2Muzzle 29443 WeaponRecoilBone = SECONDARY Tur2Barrel 29444 End 29445 29446 ConditionState = MOVING 29447 Model = AVBattleSh 29448 Animation = AVBattleSh.AVBattleSh 29449 AnimationMode = LOOP 29450 Turret = Turret01 29451 TurretPitch = TurretEL01 29452 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 29453 AltTurret = Turret02 29454 AltTurretPitch = TurretEL02 29455 WeaponFireFXBone = PRIMARY Tur1Muzzle 29456 WeaponRecoilBone = PRIMARY Tur1Barrel 29457 WeaponFireFXBone = SECONDARY Tur2Muzzle 29458 WeaponRecoilBone = SECONDARY Tur2Barrel 29459 End 29460 29461 ConditionState = OVER_WATER 29462 Model = AVBattleSh 29463 Animation = AVBattleSh.AVBattleSh 29464 AnimationMode = LOOP 29465 Turret = Turret01 29466 TurretPitch = TurretEL01 29467 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 29468 AltTurret = Turret02 29469 AltTurretPitch = TurretEL02 29470 WeaponFireFXBone = PRIMARY Tur1Muzzle 29471 WeaponRecoilBone = PRIMARY Tur1Barrel 29472 WeaponFireFXBone = SECONDARY Tur2Muzzle 29473 WeaponRecoilBone = SECONDARY Tur2Barrel 29474 End 29475 29476 ConditionState = MOVING OVER_WATER 29477 Model = AVBattleSh 29478 Animation = AVBattleSh.AVBattleSh 29479 AnimationMode = LOOP 29480 Turret = Turret01 29481 TurretPitch = TurretEL01 29482 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 29483 AltTurret = Turret02 29484 AltTurretPitch = TurretEL02 29485 WeaponFireFXBone = PRIMARY Tur1Muzzle 29486 WeaponRecoilBone = PRIMARY Tur1Barrel 29487 WeaponFireFXBone = SECONDARY Tur2Muzzle 29488 WeaponRecoilBone = SECONDARY Tur2Barrel 29489 ParticleSysBone = Mist01 AmphibMistSide 29490 ParticleSysBone = Mist02 AmphibMistSide 29491 ParticleSysBone = Mist03 AmphibMist 29492 ParticleSysBone = Mist04 AmphibMistSide 29493 ParticleSysBone = Mist05 AmphibMistSide 29494 ParticleSysBone = Mist06 AmphibMist 29495 ParticleSysBone = Mist07 AmphibMistSide 29496 ParticleSysBone = Mist08 AmphibMistSide 29497 ParticleSysBone = Mist09 AmphibMistSide 29498 ParticleSysBone = Mist10 AmphibMist 29499 ParticleSysBone = Mist11 AmphibMistSide 29500 ParticleSysBone = Mist12 AmphibMistSide 29501 ParticleSysBone = TreadFX01 AmphibWave 29502 ParticleSysBone = TreadFX02 AmphibWave 29503 ParticleSysBone = TreadFX03 AmphibWave 29504 ParticleSysBone = TreadFX04 AmphibWave 29505 ParticleSysBone = TreadFX05 AmphibWave 29506 End 29507 End 29508 29509 VoiceSelect = PaladinTankVoiceSelect 29510 29511 ; ***DESIGN parameters *** 29512 DisplayName = OBJECT:Battleship 29513 Side = America 29514 EditorSorting = VEHICLE 29515 TransportSlotCount = 9 ;how many "slots" we take in a transport (0 == not transportable) 29516 WeaponSet 29517 Conditions = None 29518 Weapon = PRIMARY BattleShipGrenades ;BattleshipBogusGun 29519 Weapon = SECONDARY BattleShipGrenades ;BattleshipBogusGun 29520 End 29521 ArmorSet 29522 Conditions = None 29523 ;Armor = InvulnerableArmor 29524 Armor = TankDamage 29525 DamageFX = TankDamageFX 29526 End 29527 BuildCost = 10000 29528 BuildTime = 60.0 29529 VisionRange = 400 29530 ShroudClearingRange = 450 29531 Prerequisites 29532 Object = AmericaWarFactory 29533 Object = AmericaStrategyCenter 29534 End 29535 CommandSet = BattleShipCommandSetFabius 29536 29537 ; *** AUDIO Parameters *** 29538 SoundAmbient = BattleshipAmbientLoop 29539 VoiceSelect = PaladinTankVoiceSelect 29540 UnitSpecificSounds 29541 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 29542 TurretMoveLoop = TurretMoveLoop 29543 End 29544 29545 ; *** ENGINEERING Parameters *** 29546 RadarPriority = UNIT 29547 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE SELECTABLE 29548 29549 Body = ActiveBody ModuleTag_02 29550 MaxHealth = 3000.0 29551 InitialHealth = 3000.0 29552 End 29553 29554 Behavior = MaxHealthUpgrade ModuleTag_09 29555 TriggeredBy = Upgrade_SeaArmour 29556 AddMaxHealth = 1000.0 29557 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 29558 End 29559 29560 Behavior = AutoHealBehavior ModuleTag_05 29561 HealingAmount = 7 29562 HealingDelay = 500 ; msec 29563 TriggeredBy = Upgrade_SeaRepair 29564 End 29565 29566 Behavior = AIUpdateInterface ModuleTag_03 29567 Turret 29568 TurretTurnRate = 160 29569 TurretPitchRate = 80 29570 FirePitch = 12 ; Instead of aiming pitchwise at the target, it will aim here 29571 AllowsPitch = Yes 29572 RecenterTime = 5000 ; how long to wait during idle before recentering 29573 ControlledWeaponSlots = PRIMARY 29574 NaturalTurretAngle = 180 ; this turret points backwards normally 29575 End 29576 AltTurret 29577 TurretTurnRate = 160 29578 TurretPitchRate = 80 29579 FirePitch = 15 ; Instead of aiming pitchwise at the target, it will aim here 29580 AllowsPitch = Yes 29581 RecenterTime = 5000 ; how long to wait during idle before recentering 29582 ControlledWeaponSlots = SECONDARY 29583 End 29584 End 29585 Locomotor = SET_NORMAL BasicBoatLocomotor 29586 29587 Behavior = PhysicsBehavior ModuleTag_04 29588 Mass = 5000.0 29589 End 29590 29591 Behavior = SlowDeathBehavior ModuleTag_16 29592 ProbabilityModifier = 25 29593 DestructionDelay = 200 29594 DestructionDelayVariance = 100 29595 OCL = FINAL OCL_FirestormSmall 29596 FX = FINAL WeaponFX_NapalmMissileDetonation 29597 End 29598 29599 Geometry = BOX 29600 GeometryMajorRadius = 200.0 29601 GeometryMinorRadius = 20.0 29602 GeometryHeight = 40 29603 GeometryIsSmall = No 29604 Shadow = SHADOW_VOLUME 29605 29606 End 29607 29608 ;------------------------------------------------------------------------------ 29609 ; an invisible object that exists solely for the Battleship to target. 29610 Object AmericaBattleshipBogusTarget 29611 29612 ; *** ART Parameters *** 29613 Draw = W3DModelDraw ModuleTag_01 29614 DefaultConditionState 29615 Model = None 29616 End 29617 End 29618 29619 ; ***DESIGN parameters *** 29620 EditorSorting = STRUCTURE 29621 Side = America 29622 ArmorSet 29623 Conditions = None 29624 Armor = InvulnerableArmor 29625 DamageFX = None 29626 End 29627 29628 ; *** ENGINEERING Parameters *** 29629 RadarPriority = NOT_ON_RADAR 29630 KindOf = IMMOBILE 29631 29632 Body = ImmortalBody ModuleTag_02 29633 MaxHealth = 99999.0 29634 InitialHealth = 99999.0 29635 End 29636 29637 Behavior = FireWeaponWhenDamagedBehavior ModuleTag_03 29638 StartsActive = Yes 29639 ReactionWeaponPristine = BattleshipTargetDamagedWeapon 29640 ReactionWeaponDamaged = BattleshipTargetDamagedWeapon 29641 ReactionWeaponReallyDamaged = BattleshipTargetDamagedWeapon 29642 DamageTypes = ALL 29643 ; 29644 ; want this object to "explode" (ie, fire BattleshipTargetDamagedWeapon) 29645 ; when targeted by the gun? change DamageAmount to zero. (normally the gun 29646 ; does a nonzero but tiny damage, due to the InvulnerableArmor we wear, so 29647 ; this weapon isn't fired... to trigger it, you must do damage under Script 29648 ; control, which ignores our armor.) 29649 ; 29650 DamageAmount = 1 ; if damage is >= this value, fire the weapon 29651 End 29652 29653 Geometry = SPHERE 29654 GeometryMajorRadius = 10.0 29655 GeometryIsSmall = Yes 29656 29657 End 29658 29659 29660 ;------------------------------------------------------------------------------ 29661 ; **data here is a copy and paste of AmericaVehicleBattleDrone** 29662 Object AmericaVehicleRepairDrone 29663 29664 ; *** ART Parameters *** 29665 Draw = W3DTankDraw ModuleTag_01 29666 ConditionState = NONE 29667 Model = AVRepairDr 29668 End 29669 TrackMarks = EXTireTrack.tga 29670 OkToChangeModelColor = Yes 29671 End 29672 29673 ; ***DESIGN parameters *** 29674 DisplayName = OBJECT:RepairDrone 29675 Side = America 29676 EditorSorting = VEHICLE 29677 29678 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 29679 WeaponSet 29680 Conditions = None 29681 Weapon = PRIMARY CrusaderTankGun 29682 End 29683 ArmorSet 29684 Conditions = None 29685 Armor = TankArmor 29686 DamageFX = TankDamageFX 29687 End 29688 BuildCost = 700 29689 BuildTime = 5.0 ;in seconds 29690 VisionRange = 150 29691 ShroudClearingRange = 150 29692 Prerequisites 29693 Object = AmericaWarFactory 29694 End 29695 ExperienceValue = 50 100 150 400 ;Experience point value at each level 29696 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 29697 IsTrainable = Yes ;Can gain experience 29698 29699 ; *** AUDIO Parameters *** 29700 VoiceSelect = NoSound 29701 VoiceMove = NoSound 29702 VoiceAttack = NoSound 29703 SoundMoveStart = NoSound 29704 29705 UnitSpecificSounds 29706 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 29707 TurretMoveStart = NoSound 29708 TurretMoveLoop = NoSound 29709 End 29710 29711 29712 ; *** ENGINEERING Parameters *** 29713 RadarPriority = UNIT 29714 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE 29715 29716 Body = ActiveBody ModuleTag_02 29717 MaxHealth = 100.0 29718 InitialHealth = 100.0 29719 End 29720 29721 Behavior = AIUpdateInterface ModuleTag_03 29722 Turret 29723 TurretTurnRate = 60 // turn rate, in degrees per sec 29724 ControlledWeaponSlots = PRIMARY 29725 End 29726 AutoAcquireEnemiesWhenIdle = Yes 29727 End 29728 Locomotor = SET_NORMAL BasicTankLocomotor 29729 29730 Behavior = PhysicsBehavior ModuleTag_04 29731 Mass = 50.0 29732 End 29733 Behavior = SlowDeathBehavior ModuleTag_05 29734 DestructionDelay = 500 29735 FX = FINAL FX_GenericTankDeathExplosion 29736 End 29737 29738 Behavior = MaxHealthUpgrade ModuleTag_06 29739 TriggeredBy = Upgrade_AmericaDroneArmor 29740 AddMaxHealth = 50.0 29741 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 29742 End 29743 29744 Behavior = FXListDie ModuleTag_07 29745 DeathFX = FX_GenericTankDeathEffect 29746 End 29747 Behavior = CreateObjectDie ModuleTag_08 29748 CreationList = OCL_GenericTankDeathEffect 29749 End 29750 Behavior = CreateCrateDie ModuleTag_09 29751 CrateData = SalvageCrateData 29752 ;CrateData = EliteTankCrateData 29753 ;CrateData = HeroicTankCrateData 29754 End 29755 29756 Behavior = FlammableUpdate ModuleTag_21 29757 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 29758 AflameDamageAmount = 3 ; taking this much damage... 29759 AflameDamageDelay = 500 ; this often. 29760 End 29761 29762 Geometry = BOX 29763 GeometryMajorRadius = 11.0 29764 GeometryMinorRadius = 7.0 29765 GeometryHeight = 10.0 29766 GeometryIsSmall = Yes 29767 Shadow = SHADOW_VOLUME 29768 29769 End 29770 29771 ;------------------------------------------------------------------------------ 29772 Object AmericaJetCargoPlane 29773 29774 ; *** ART Parameters *** 29775 Draw = W3DModelDraw ModuleTag_01 29776 DefaultConditionState 29777 Model = AVCargoPln 29778 Animation = AVCargoPln.AVCargoPln 29779 AnimationMode = LOOP 29780 ParticleSysBone = Propeller01 JetBlackTrailThin 29781 ParticleSysBone = Propeller02 JetBlackTrailThin 29782 ParticleSysBone = Propeller03 JetBlackTrailThin 29783 ParticleSysBone = Propeller04 JetBlackTrailThin 29784 ParticleSysBone = WingTip01 JetContrailThin 29785 ParticleSysBone = WingTip02 JetContrailThin 29786 End 29787 29788 ConditionState = DAMAGED 29789 Model = AVCargoPln_D 29790 Animation = AVCargoPln_D.AVCargoPln_D 29791 AnimationMode = MANUAL 29792 Flags = START_FRAME_FIRST 29793 ParticleSysBone = Smoke01 JetFireLarge 29794 ParticleSysBone = Smoke02 JetFireLarge 29795 ParticleSysBone = Propeller03 JetBlackTrailThin 29796 ParticleSysBone = Propeller04 JetBlackTrailThin 29797 ParticleSysBone = Smoke01 JetSmokeLarge 29798 ParticleSysBone = Smoke02 JetSmokeLarge 29799 End 29800 29801 ConditionState = REALLYDAMAGED 29802 Model = AVCargoPln_D 29803 Animation = AVCargoPln_D.AVCargoPln_D 29804 AnimationMode = MANUAL 29805 Flags = START_FRAME_FIRST 29806 ParticleSysBone = Smoke01 JetFireLarge 29807 ParticleSysBone = Smoke02 JetFireLarge 29808 ParticleSysBone = Smoke03 JetFireLarge 29809 ParticleSysBone = Smoke05 JetFireLarge 29810 ParticleSysBone = Propeller03 JetBlackTrailThin 29811 ParticleSysBone = Propeller04 JetBlackTrailThin 29812 ParticleSysBone = Smoke01 JetSmokeLarge 29813 ParticleSysBone = Smoke02 JetSmokeLarge 29814 ParticleSysBone = Smoke03 JetSmokeLarge 29815 ParticleSysBone = Smoke05 JetSmokeLarge 29816 End 29817 29818 ConditionState = RUBBLE 29819 Model = AVCargoPln_D1 29820 Animation = AVCargoPln_D.AVCargoPln_D 29821 AnimationMode = MANUAL 29822 Flags = START_FRAME_FIRST 29823 ParticleSysBone = Smoke01 JetFireLarge 29824 ParticleSysBone = Smoke06 JetFireLarge 29825 ParticleSysBone = Smoke03 JetFireLarge 29826 ParticleSysBone = Smoke05 JetFireLarge 29827 ParticleSysBone = Smoke01 JetSmokeLarge 29828 ParticleSysBone = Smoke06 JetSmokeLarge 29829 ParticleSysBone = Smoke03 JetSmokeLarge 29830 ParticleSysBone = Smoke05 JetSmokeLarge 29831 End 29832 29833 OkToChangeModelColor = Yes 29834 End 29835 29836 Draw = W3DModelDraw ModuleTag_02 29837 DefaultConditionState 29838 Model = AVCargoPln_A2 29839 Animation = AVCargoPln_A2.AVCargoPln_A2 29840 AnimationMode = MANUAL 29841 Flags = START_FRAME_FIRST 29842 End 29843 ConditionState = DOOR_1_OPENING 29844 Model = AVCargoPln_A2 29845 Animation = AVCargoPln_A2.AVCargoPln_A2 29846 AnimationMode = ONCE 29847 Flags = START_FRAME_FIRST 29848 End 29849 ConditionState = DOOR_1_CLOSING 29850 Model = AVCargoPln_A2 29851 Animation = AVCargoPln_A2.AVCargoPln_A2 29852 AnimationMode = ONCE_BACKWARDS 29853 Flags = START_FRAME_LAST 29854 End 29855 End 29856 29857 ; ***DESIGN parameters *** 29858 DisplayName = OBJECT:CargoPlane 29859 EditorSorting = VEHICLE 29860 Side = America 29861 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 29862 VisionRange = 0.0 29863 ArmorSet 29864 Conditions = None 29865 Armor = AirplaneArmor 29866 DamageFX = TankDamageFX 29867 End 29868 CommandSet = Command_ScriptedTransportDrops 29869 29870 ; *** AUDIO Parameters *** 29871 SoundAmbient = C130AmbientLoop 29872 SoundAmbientRubble = NoSound 29873 29874 ; *** ENGINEERING Parameters *** 29875 RadarPriority = UNIT 29876 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI 29877 Body = ActiveBody ModuleTag_03 29878 MaxHealth = 1000.0 29879 InitialHealth = 1000.0 29880 End 29881 29882 ExperienceValue = 40 40 40 40 ; Experience point value at each level 29883 29884 Behavior = PhysicsBehavior ModuleTag_04 29885 Mass = 500.0 29886 End 29887 29888 ;SCRIPTED SUPPORT: These special powers are triggered directly 29889 ;from the transport without creating a transport. This is done 29890 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 29891 ;which also prevents creating the payload transport. 29892 Behavior = OCLSpecialPower ModuleTag_05 29893 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ 29894 OCL = SUPERWEAPON_DaisyCutter 29895 CreateLocation = USE_OWNER_OBJECT 29896 End 29897 Behavior = OCLSpecialPower ModuleTag_06 29898 SpecialPowerTemplate = SuperweaponParadropAmerica 29899 UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 29900 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 29901 OCL = SUPERWEAPON_Paradrop1 29902 CreateLocation = USE_OWNER_OBJECT 29903 End 29904 Behavior = OCLSpecialPower ModuleTag_07 29905 SpecialPowerTemplate = SuperweaponCarpetBomb 29906 OCL = SUPERWEAPON_CarpetBomb 29907 CreateLocation = USE_OWNER_OBJECT 29908 End 29909 Behavior = OCLSpecialPower ModuleTag_08 29910 SpecialPowerTemplate = SuperweaponCrateDrop 29911 OCL = SUPERWEAPON_CrateDrop 29912 CreateLocation = USE_OWNER_OBJECT 29913 End 29914 29915 Behavior = DeliverPayloadAIUpdate ModuleTag_09 29916 DoorDelay = 500 29917 MaxAttempts = 4 29918 DropOffset = X:0 Y:0 Z:-10 29919 DropDelay = 300 ; time in between each item dropped (if more than one) 29920 PutInContainer = AmericaParachute 29921 DeliveryDistance = 150 29922 End 29923 Locomotor = SET_NORMAL B52Locomotor 29924 29925 Behavior = TransportContain ModuleTag_10 29926 Slots = 100 ; hey, it's a BIG transport 29927 ScatterNearbyOnExit = No 29928 OrientLikeContainerOnExit = Yes 29929 KeepContainerVelocityOnExit = Yes 29930 ExitPitchRate = 30 29931 ExitBone = WeaponA01 29932 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE 29933 ;gs I added parachutable as a catch all to prevent making new kindofs (like CRATE) 29934 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 29935 NumberOfExitPaths = 0 29936 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' 29937 End 29938 29939 Behavior = JetSlowDeathBehavior ModuleTag_11 29940 DestructionDelay = 2000 29941 RollRate = 0.0 29942 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 29943 PitchRate = 0 29944 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 29945 FXInitialDeath = FX_JetBigDeathInitial 29946 OCLInitialDeath = OCL_AmericaJetCargoDeathStart 29947 DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time 29948 OCLSecondary = OCL_AmericaJetCargoHulkDeath 29949 FXSecondary = FX_BigPlaneDeath 29950 ; FXFinalBlowUp = FX_JetDeathFinalBlowUp 29951 ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp 29952 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 29953 End 29954 29955 ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_12 29956 End 29957 29958 Behavior = TransitionDamageFX ModuleTag_17 29959 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 29960 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 29961 End 29962 29963 29964 Geometry = Box 29965 GeometryIsSmall = No 29966 GeometryMajorRadius = 40.0 29967 GeometryMinorRadius = 10.0 29968 GeometryHeight = 10.0 29969 Shadow = SHADOW_VOLUME 29970 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 29971 End 29972 29973 ;---------------------------------------------------------- 29974 Object AmericaJetCargoHulk 29975 ; *** ART Parameters *** 29976 Draw = W3DModelDraw ModuleTag_01 29977 ConditionState = NONE 29978 Model = AVCargoPln_D1 29979 End 29980 End 29981 29982 ; ***DESIGN parameters *** 29983 EditorSorting = DEBRIS 29984 29985 ; *** ENGINEERING Parameters *** 29986 KindOf = NO_COLLIDE HULK 29987 29988 Behavior = PhysicsBehavior ModuleTag_03 29989 Mass = 1.0 29990 AllowBouncing = Yes 29991 KillWhenRestingOnGround = No 29992 End 29993 Behavior = LifetimeUpdate ModuleTag_04 29994 MinLifetime = 500 ; min lifetime in msec 29995 MaxLifetime = 1500 ; max lifetime in msec 29996 End 29997 29998 Behavior = InstantDeathBehavior ModuleTag_05 29999 DeathTypes = ALL 30000 ; FX = FX_BigPlaneDeath 30001 ; OCL = OCL_AmericaJetCargoHulkDeath 30002 End 30003 30004 End 30005 30006 ;------------------------------------------------------------------------------ 30007 Object GLAJetCargoPlane 30008 30009 ; *** ART Parameters *** 30010 Draw = W3DModelDraw ModuleTag_01 30011 DefaultConditionState 30012 Model = UVCargoPln 30013 Animation = UVCargoPln.UVCargoPln 30014 AnimationMode = LOOP 30015 ParticleSysBone = Engine01 JetBlackTrail 30016 ParticleSysBone = Engine02 JetBlackTrail 30017 ParticleSysBone = Engine03 JetBlackTrail 30018 ParticleSysBone = Engine04 JetBlackTrail 30019 End 30020 ConditionState = DAMAGED 30021 Model = UVCargoPln_D 30022 Animation = UVCargoPln_D.UVCargoPln_D 30023 AnimationMode = MANUAL 30024 Flags = START_FRAME_FIRST 30025 ParticleSysBone = Smoke01 JetFireLarge 30026 ParticleSysBone = Smoke02 JetFireLarge 30027 ParticleSysBone = Propeller03 JetBlackTrailThin 30028 ParticleSysBone = Propeller04 JetBlackTrailThin 30029 ParticleSysBone = Smoke01 JetSmokeLarge 30030 ParticleSysBone = Smoke02 JetSmokeLarge 30031 ParticleSysBone = Smoke03 JetSmokeLarge 30032 End 30033 ConditionState = REALLYDAMAGED 30034 Model = UVCargoPln_D 30035 Animation = UVCargoPln_D.UVCargoPln_D 30036 AnimationMode = MANUAL 30037 Flags = START_FRAME_FIRST 30038 ParticleSysBone = Smoke01 JetFireLarge 30039 ParticleSysBone = Smoke02 JetFireLarge 30040 ParticleSysBone = Propeller03 JetBlackTrailThin 30041 ParticleSysBone = Propeller04 JetBlackTrailThin 30042 ParticleSysBone = Smoke01 JetSmokeLarge 30043 ParticleSysBone = Smoke02 JetSmokeLarge 30044 ParticleSysBone = Smoke03 JetSmokeLarge 30045 End 30046 ConditionState = RUBBLE 30047 Model = UVCargoPln_D1 30048 ParticleSysBone = Smoke01 JetFireLarge 30049 ParticleSysBone = Smoke02 JetFireLarge 30050 ParticleSysBone = Smoke03 JetFireLarge 30051 ParticleSysBone = Smoke04 JetFireLarge 30052 ParticleSysBone = Smoke01 JetSmokeLarge 30053 ParticleSysBone = Smoke02 JetSmokeLarge 30054 ParticleSysBone = Smoke03 JetSmokeLarge 30055 ParticleSysBone = Smoke04 JetSmokeLarge 30056 End 30057 30058 OkToChangeModelColor = Yes 30059 End 30060 30061 Draw = W3DModelDraw ModuleTag_02 30062 DefaultConditionState 30063 Model = UVCargoPln_A2 30064 Animation = UVCargoPln_A2.UVCargoPln_A2 30065 AnimationMode = MANUAL 30066 Flags = START_FRAME_FIRST 30067 End 30068 ConditionState = DOOR_1_OPENING 30069 Model = UVCargoPln_A2 30070 Animation = UVCargoPln_A2.UVCargoPln_A2 30071 AnimationMode = ONCE 30072 Flags = START_FRAME_FIRST 30073 End 30074 ConditionState = DOOR_1_CLOSING 30075 Model = UVCargoPln_A2 30076 Animation = UVCargoPln_A2.UVCargoPln_A2 30077 AnimationMode = ONCE_BACKWARDS 30078 Flags = START_FRAME_LAST 30079 End 30080 End 30081 30082 ; ***DESIGN parameters *** 30083 DisplayName = OBJECT:CargoPlane 30084 EditorSorting = VEHICLE 30085 Side = GLA 30086 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 30087 VisionRange = 0.0 30088 ArmorSet 30089 Conditions = None 30090 Armor = AirplaneArmor 30091 DamageFX = None 30092 End 30093 CommandSet = Command_ScriptedTransportDrops 30094 30095 ; *** AUDIO Parameters *** 30096 SoundAmbient = C130AmbientLoop 30097 SoundAmbientRubble = NoSound 30098 30099 ; *** ENGINEERING Parameters *** 30100 RadarPriority = UNIT 30101 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI 30102 Body = ActiveBody ModuleTag_03 30103 MaxHealth = 1000.0 30104 InitialHealth = 1000.0 30105 End 30106 30107 ExperienceValue = 40 40 40 40 ; Experience point value at each level 30108 30109 Behavior = PhysicsBehavior ModuleTag_04 30110 Mass = 500.0 30111 End 30112 30113 Behavior = DeliverPayloadAIUpdate ModuleTag_05 30114 DoorDelay = 500 30115 MaxAttempts = 4 30116 DropOffset = X:0 Y:0 Z:-10 30117 DropDelay = 300 ;500 ; time in between each item dropped (if more than one) 30118 PutInContainer = AmericaParachute 30119 DeliveryDistance = 150 30120 End 30121 Locomotor = SET_NORMAL B52Locomotor 30122 30123 Behavior = TransportContain ModuleTag_06 30124 Slots = 100 ; hey, it's a BIG transport 30125 ScatterNearbyOnExit = No 30126 OrientLikeContainerOnExit = Yes 30127 KeepContainerVelocityOnExit = Yes 30128 ExitPitchRate = 30 30129 ExitBone = WeaponA01 30130 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE FORCEATTACKABLE 30131 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 30132 NumberOfExitPaths = 0 30133 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' 30134 End 30135 30136 ;SCRIPTED SUPPORT: These special powers are triggered directly 30137 ;from the transport without creating a transport. This is done 30138 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 30139 ;which also prevents creating the payload transport. 30140 Behavior = OCLSpecialPower ModuleTag_07 30141 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ 30142 OCL = SUPERWEAPON_DaisyCutter 30143 CreateLocation = USE_OWNER_OBJECT 30144 End 30145 Behavior = OCLSpecialPower ModuleTag_08 30146 SpecialPowerTemplate = SuperweaponParadropAmerica 30147 UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 30148 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 30149 OCL = SUPERWEAPON_Paradrop1 30150 CreateLocation = USE_OWNER_OBJECT 30151 End 30152 Behavior = OCLSpecialPower ModuleTag_09 30153 SpecialPowerTemplate = SuperweaponCarpetBomb 30154 OCL = SUPERWEAPON_CarpetBomb 30155 CreateLocation = USE_OWNER_OBJECT 30156 End 30157 30158 Behavior = JetSlowDeathBehavior ModuleTag_10 30159 DestructionDelay = 2000 30160 RollRate = 0.0 30161 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 30162 PitchRate = 0 30163 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 30164 FXInitialDeath = FX_JetBigDeathInitial 30165 OCLInitialDeath = OCL_AmericaJetCargoDeathStart 30166 DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time 30167 OCLSecondary = OCL_AmericaJetCargoHulkDeath 30168 FXSecondary = FX_BigPlaneDeath 30169 End 30170 30171 ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_11 30172 End 30173 30174 Behavior = TransitionDamageFX ModuleTag_12 30175 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 30176 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 30177 End 30178 30179 Geometry = Box 30180 GeometryIsSmall = No 30181 GeometryMajorRadius = 40.0 30182 GeometryMinorRadius = 10.0 30183 GeometryHeight = 10.0 30184 Shadow = SHADOW_VOLUME 30185 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 30186 30187 End 30188 30189 ;------------------------------------------------------------------------------ 30190 Object ChinaJetCargoPlane 30191 30192 ; *** ART Parameters *** 30193 Draw = W3DModelDraw ModuleTag_01 30194 DefaultConditionState 30195 Model = NVCargoPln 30196 Animation = NVCargoPln.NVCargoPln 30197 AnimationMode = LOOP 30198 ParticleSysBone = Propeller01 JetBlackTrailThin 30199 ParticleSysBone = Propeller02 JetBlackTrailThin 30200 ParticleSysBone = Propeller03 JetBlackTrailThin 30201 ParticleSysBone = Propeller04 JetBlackTrailThin 30202 ParticleSysBone = WingTip01 JetContrailThin 30203 ParticleSysBone = WingTip02 JetContrailThin 30204 End 30205 ConditionState = DAMAGED 30206 Model = NVCargoPln_D 30207 Animation = NVCargoPln_D.NVCargoPln_D 30208 AnimationMode = MANUAL 30209 Flags = START_FRAME_FIRST 30210 ParticleSysBone = Smoke01 JetFireLarge 30211 ParticleSysBone = Smoke03 JetFireLarge 30212 ParticleSysBone = Propeller01 JetBlackTrailThin 30213 ParticleSysBone = Propeller02 JetBlackTrailThin 30214 ParticleSysBone = Propeller03 JetBlackTrailThin 30215 ParticleSysBone = Propeller04 JetBlackTrailThin 30216 ParticleSysBone = Smoke01 JetSmokeLarge 30217 ParticleSysBone = Smoke03 JetSmokeLarge 30218 ParticleSysBone = WingTip01 JetContrailThin 30219 ParticleSysBone = WingTip02 JetContrailThin 30220 End 30221 ConditionState = REALLYDAMAGED 30222 Model = NVCargoPln_D 30223 Animation = NVCargoPln_D.NVCargoPln_D 30224 AnimationMode = MANUAL 30225 Flags = START_FRAME_FIRST 30226 ParticleSysBone = Smoke01 JetFireLarge 30227 ParticleSysBone = Smoke03 JetFireLarge 30228 ParticleSysBone = Smoke04 JetFireLarge 30229 ParticleSysBone = Propeller03 JetBlackTrailThin 30230 ParticleSysBone = Propeller04 JetBlackTrailThin 30231 ParticleSysBone = Smoke01 JetSmokeLarge 30232 ParticleSysBone = Smoke03 JetSmokeLarge 30233 ParticleSysBone = Smoke04 JetSmokeLarge 30234 ParticleSysBone = WingTip01 JetContrailThin 30235 ParticleSysBone = WingTip02 JetContrailThin 30236 End 30237 ConditionState = RUBBLE 30238 Model = NVCargoPln_D1 30239 ParticleSysBone = Smoke01 JetFireLarge 30240 ParticleSysBone = Smoke06 JetFireLarge 30241 ParticleSysBone = Smoke03 JetFireLarge 30242 ParticleSysBone = Smoke04 JetFireLarge 30243 ParticleSysBone = Smoke01 JetSmokeLarge 30244 ParticleSysBone = Smoke06 JetSmokeLarge 30245 ParticleSysBone = Smoke03 JetSmokeLarge 30246 ParticleSysBone = Smoke04 JetSmokeLarge 30247 End 30248 30249 OkToChangeModelColor = Yes 30250 End 30251 30252 Draw = W3DModelDraw ModuleTag_02 30253 DefaultConditionState 30254 Model = NVCargoPln_A2 30255 Animation = NVCargoPln_A2.NVCargoPln_A2 30256 AnimationMode = MANUAL 30257 Flags = START_FRAME_FIRST 30258 End 30259 ConditionState = DOOR_1_OPENING 30260 Model = NVCargoPln_A2 30261 Animation = NVCargoPln_A2.NVCargoPln_A2 30262 AnimationMode = ONCE 30263 Flags = START_FRAME_FIRST 30264 End 30265 ConditionState = DOOR_1_CLOSING 30266 Model = NVCargoPln_A2 30267 Animation = NVCargoPln_A2.NVCargoPln_A2 30268 AnimationMode = ONCE_BACKWARDS 30269 Flags = START_FRAME_LAST 30270 End 30271 End 30272 30273 30274 ; ***DESIGN parameters *** 30275 DisplayName = OBJECT:CargoPlane 30276 EditorSorting = VEHICLE 30277 Side = China 30278 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 30279 VisionRange = 0.0 30280 ArmorSet 30281 Conditions = None 30282 Armor = AirplaneArmor 30283 DamageFX = None 30284 End 30285 CommandSet = Command_ScriptedTransportDrops 30286 30287 ; *** AUDIO Parameters *** 30288 SoundAmbient = C130AmbientLoop 30289 SoundAmbientRubble = NoSound 30290 30291 ; *** ENGINEERING Parameters *** 30292 RadarPriority = UNIT 30293 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI 30294 Body = ActiveBody ModuleTag_03 30295 MaxHealth = 1000.0 30296 InitialHealth = 1000.0 30297 End 30298 30299 ExperienceValue = 40 40 40 40 ; Experience point value at each level 30300 30301 Behavior = PhysicsBehavior ModuleTag_04 30302 Mass = 500.0 30303 End 30304 30305 Behavior = DeliverPayloadAIUpdate ModuleTag_05 30306 DoorDelay = 500 30307 MaxAttempts = 4 30308 DropOffset = X:0 Y:0 Z:-10 30309 DropDelay = 300 ;500 ; time in between each item dropped (if more than one) 30310 PutInContainer = AmericaParachute 30311 DeliveryDistance = 150 30312 End 30313 Locomotor = SET_NORMAL B52Locomotor 30314 30315 Behavior = TransportContain ModuleTag_06 30316 Slots = 100 ; hey, it's a BIG transport 30317 ScatterNearbyOnExit = No 30318 OrientLikeContainerOnExit = Yes 30319 KeepContainerVelocityOnExit = Yes 30320 ExitPitchRate = 30 30321 ExitBone = WeaponA01 30322 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE 30323 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 30324 NumberOfExitPaths = 0 30325 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' 30326 End 30327 30328 ;SCRIPTED SUPPORT: These special powers are triggered directly 30329 ;from the transport without creating a transport. This is done 30330 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 30331 ;which also prevents creating the payload transport. 30332 Behavior = OCLSpecialPower ModuleTag_07 30333 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ 30334 OCL = SUPERWEAPON_DaisyCutter 30335 CreateLocation = USE_OWNER_OBJECT 30336 End 30337 Behavior = OCLSpecialPower ModuleTag_08 30338 SpecialPowerTemplate = SuperweaponParadropAmerica 30339 UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 30340 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 30341 OCL = SUPERWEAPON_Paradrop1 30342 CreateLocation = USE_OWNER_OBJECT 30343 End 30344 Behavior = OCLSpecialPower ModuleTag_09 30345 SpecialPowerTemplate = SuperweaponCarpetBomb 30346 OCL = SUPERWEAPON_CarpetBomb 30347 CreateLocation = USE_OWNER_OBJECT 30348 End 30349 Behavior = OCLSpecialPower ModuleTag_10 30350 SpecialPowerTemplate = SuperweaponClusterMines 30351 OCL = SUPERWEAPON_ClusterMines 30352 CreateLocation = USE_OWNER_OBJECT 30353 End 30354 Behavior = OCLSpecialPower ModuleTag_11 30355 SpecialPowerTemplate = SuperweaponEMPPulse 30356 OCL = SUPERWEAPON_EMPPulse 30357 CreateLocation = USE_OWNER_OBJECT 30358 End 30359 30360 Behavior = JetSlowDeathBehavior ModuleTag_12 30361 DestructionDelay = 2000 30362 RollRate = 0.0 30363 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 30364 PitchRate = 0 30365 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 30366 FXInitialDeath = FX_JetBigDeathInitial 30367 OCLInitialDeath = OCL_AmericaJetCargoDeathStart 30368 DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time 30369 OCLSecondary = OCL_AmericaJetCargoHulkDeath 30370 FXSecondary = FX_BigPlaneDeath 30371 End 30372 30373 ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_13 30374 End 30375 30376 Behavior = TransitionDamageFX ModuleTag_14 30377 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 30378 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 30379 End 30380 30381 Geometry = Box 30382 GeometryIsSmall = No 30383 GeometryMajorRadius = 40.0 30384 GeometryMinorRadius = 10.0 30385 GeometryHeight = 10.0 30386 Shadow = SHADOW_VOLUME 30387 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 30388 30389 End 30390 30391 ;------------------------------------------------------------------------------ 30392 ; NOTE NOTE NOTE NOTE 30393 ; NOTE NOTE NOTE NOTE 30394 ; NOTE NOTE NOTE NOTE 30395 ; NOTE NOTE NOTE NOTE 30396 ; 30397 ; Although POW Trucks are cut, this one remains, for cinematic purposes only. 30398 ; (It is used in USA03.) It can't do anything interesting, other than move 30399 ; and get blown up. 30400 ; (srj) 30401 ; 30402 ; 30403 30404 Object AmericaVehiclePOWTruck 30405 ; *** ART Parameters *** 30406 SelectPortrait = SAPowTruck 30407 ButtonImage = SAPowTruck 30408 ;UpgradeCameo1 = NONE 30409 ;UpgradeCameo2 = NONE 30410 ;UpgradeCameo3 = NONE 30411 ;UpgradeCameo4 = NONE 30412 ;UpgradeCameo5 = NONE 30413 Draw = W3DTruckDraw ModuleTag_01 30414 OkToChangeModelColor = Yes 30415 ConditionState = NONE 30416 Model = AVPOWTRUCK 30417 End 30418 ConditionState = REALLYDAMAGED 30419 Model = AVPOWTRUCK_D 30420 End 30421 ConditionState = RUBBLE 30422 Model = AVPOWTruck_D 30423 End 30424 TrackMarks = EXTireTrack.tga 30425 Dust = RocketBuggyDust 30426 DirtSpray = RocketBuggyDirtSpray 30427 PowerslideSpray = RocketBuggyDirtPowerSlide 30428 ; These parameters are only used if the model has a separate suspension, 30429 ; and the locomotor has HasSuspension = Yes. 30430 LeftFrontTireBone = Tire01 30431 RightFrontTireBone = Tire02 30432 MidLeftRearTireBone = Tire03 30433 MidRightRearTireBone = Tire05 30434 LeftRearTireBone = Tire04 30435 RightRearTireBone = Tire06 30436 TireRotationMultiplier = 0.2 ; this * speed = rotation. 30437 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 30438 End 30439 ; ***DESIGN parameters *** 30440 DisplayName = OBJECT:POWTruck 30441 Side = America 30442 EditorSorting = VEHICLE 30443 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 30444 ArmorSet 30445 Conditions = None 30446 Armor = TruckArmor 30447 DamageFX = TankDamageFX 30448 End 30449 ; nope, sorry, can't build it. (srj) 30450 Buildable = No 30451 ;BuildCost = 500 30452 ;BuildTime = 10.0 ;in seconds 30453 VisionRange = 200 30454 ShroudClearingRange = 300 30455 ExperienceValue = 50 50 50 50 ;Experience point value at each level 30456 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 30457 IsTrainable = Yes ;Can gain experience 30458 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 30459 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 30460 30461 ; nope, sorry, can't control it. (srj) 30462 ;CommandSet = VehiclePOWTruckCommandSet 30463 30464 ; *** AUDIO Parameters *** 30465 VoiceSelect = POWTruckUSAVoiceSelect 30466 VoiceMove = POWTruckUSAVoiceMove 30467 VoiceGuard = POWTruckUSAVoiceMove 30468 SoundEnter = POWTruckEnter 30469 SoundExit = POWTruckExit 30470 UnitSpecificSounds 30471 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 30472 VoiceCreate = POWTruckUSAVoiceCreate 30473 TurretMoveLoop = TurretMoveLoop 30474 SoundMoveStart = POWTruckUSAMoveStart 30475 SoundMoveStartDamaged = POWTruckUSAMoveStart 30476 SoundEject = PilotSoundEject 30477 VoiceEject = PilotVoiceEject 30478 VoiceCrush = POWTruckUSAVoiceCrush 30479 ; Required for the W3DTruckDraw module 30480 TruckLandingSound = RocketBuggyLand 30481 TruckPowerslideSound = POWTruckUSAMoveStart 30482 VoiceEnter = POWTruckUSAVoiceMove 30483 End 30484 ; *** ENGINEERING Parameters *** 30485 RadarPriority = UNIT 30486 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE TRANSPORT SCORE 30487 Body = ActiveBody ModuleTag_02 30488 MaxHealth = 500.0 30489 InitialHealth = 500.0 30490 End 30491 ; nope, sorry, can't do interesting things like this. (srj) 30492 ;Behavior = POWTruckBehavior ModuleTag_03 30493 ; ContainMax = 10 30494 ; EnterSound = EnterPOWTruck 30495 ; ExitSound = ExitPOWTruck 30496 ;End 30497 ; nope, sorry, can't do interesting things like this. (srj) 30498 ;Behavior = POWTruckAIUpdate ModuleTag_04 30499 ; BoredTime = 10000 ; in milliseconds 30500 ; AtPrisonDistance = 160.0 ; This close to a prison is close enough to be doing nothing at 30501 ;End 30502 ; but we must have an AIUpdate in order for our Locomotor to work. 30503 Behavior = AIUpdateInterface ModuleTag_04 30504 ; no data 30505 End 30506 Locomotor = SET_NORMAL POWTruckLocomotor 30507 Behavior = PhysicsBehavior ModuleTag_05 30508 Mass = 50.0 30509 End 30510 Behavior = SlowDeathBehavior ModuleTag_06 30511 DeathTypes = ALL -CRUSHED -SPLATTED 30512 ProbabilityModifier = 25 30513 DestructionDelay = 1 30514 FX = FINAL FX_BattleMasterExplosionOneFinal 30515 OCL = FINAL OCL_AmericanPOWTruckDeathEffect 30516 End 30517 Behavior = FXListDie ModuleTag_07 30518 DeathTypes = NONE +CRUSHED +SPLATTED 30519 DeathFX = FX_CarCrush 30520 End 30521 Behavior = TransitionDamageFX ModuleTag_09 30522 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 30523 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 30524 End 30525 Behavior = ExperienceScalarUpgrade ModuleTag_10 30526 TriggeredBy = Upgrade_AmericaAdvancedTraining 30527 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 30528 End 30529 Behavior = FlammableUpdate ModuleTag_21 30530 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 30531 AflameDamageAmount = 3 ; taking this much damage... 30532 AflameDamageDelay = 500 ; this often. 30533 End 30534 Geometry = BOX 30535 GeometryMajorRadius = 15.0 30536 GeometryMinorRadius = 7.0 30537 GeometryHeight = 13.5 30538 GeometryIsSmall = Yes 30539 Shadow = SHADOW_VOLUME 30540 End 30541 30542 ;------------------------------------------------------------------------------ 30543 ; POW Trucks are cut. sorry. (srj) 30544 ;Object ChinaVehiclePOWTruck 30545 ; ; *** ART Parameters *** 30546 ; SelectPortrait = SNPowTruck 30547 ; ;UpgradeCameo1 = NONE 30548 ; ;UpgradeCameo2 = NONE 30549 ; ;UpgradeCameo3 = NONE 30550 ; ;UpgradeCameo4 = NONE 30551 ; ;UpgradeCameo5 = NONE 30552 ; Draw = W3DTruckDraw ModuleTag_01 30553 ; OkToChangeModelColor = Yes 30554 ; ConditionState = NONE 30555 ; Model = NVPOWTRCK 30556 ; End 30557 ; ConditionState = REALLYDAMAGED 30558 ; Model = NVPOWTRCK_D 30559 ; End 30560 ; ConditionState = RUBBLE 30561 ; Model = NVPOWTRCK_D 30562 ; End 30563 ; TrackMarks = EXTireTrack.tga 30564 ; Dust = RocketBuggyDust 30565 ; DirtSpray = RocketBuggyDirtSpray 30566 ; PowerslideSpray = RocketBuggyDirtPowerSlide 30567 ; ; These parameters are only used if the model has a separate suspension, 30568 ; ; and the locomotor has HasSuspension = Yes. 30569 ; LeftFrontTireBone = Tire01 30570 ; RightFrontTireBone = Tire04 30571 ; MidLeftRearTireBone = Tire02 30572 ; MidRightRearTireBone = Tire05 30573 ; LeftRearTireBone = Tire03 30574 ; RightRearTireBone = Tire06 30575 ; TireRotationMultiplier = 0.2 ; this * speed = rotation. 30576 ; PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 30577 ; End 30578 ; ; ***DESIGN parameters *** 30579 ; DisplayName = OBJECT:POWTruck 30580 ; Side = China 30581 ; EditorSorting = VEHICLE 30582 ; TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 30583 ; ArmorSet 30584 ; Conditions = None 30585 ; Armor = TruckArmor 30586 ; DamageFX = TankDamageFX 30587 ; End 30588 ; BuildCost = 500 30589 ; BuildTime = 10.0 ;in seconds 30590 ; VisionRange = 200 30591 ; ShroudClearingRange = 300 30592 ; ExperienceValue = 50 50 50 50 ;Experience point value at each level 30593 ; ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 30594 ; IsTrainable = Yes ;Can gain experience 30595 ; CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 30596 ; CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 30597 ; CommandSet = VehiclePOWTruckCommandSet 30598 ; ; *** AUDIO Parameters *** 30599 ; VoiceSelect = POWTruckChinaVoiceSelect 30600 ; VoiceMove = POWTruckChinaVoiceMove 30601 ; VoiceGuard = POWTruckChinaVoiceMove 30602 ; UnitSpecificSounds 30603 ; ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 30604 ; ;TurretMoveStart = NoSound 30605 ; VoiceCreate = POWTruckChinaVoiceCreate 30606 ; TurretMoveLoop = TurretMoveLoop 30607 ; SoundMoveStart = POWTruckUSAMoveStart 30608 ; SoundMoveStartDamaged = POWTruckUSAMoveStart 30609 ; SoundEject = PilotSoundEject 30610 ; VoiceEject = PilotVoiceEject 30611 ; ; Required for the W3DTruckDraw module 30612 ; TruckLandingSound = RocketBuggyLand 30613 ; TruckPowerslideSound = POWTruckUSAMoveStart 30614 ; VoiceCrush = POWTruckChinaVoiceCrush 30615 ; VoicePickup = POWTruckChinaVoicePickup 30616 ; VoiceEnter = POWTruckChinaVoiceMove 30617 ; End 30618 ; ; *** ENGINEERING Parameters *** 30619 ; RadarPriority = UNIT 30620 ; KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE TRANSPORT POW_TRUCK SCORE 30621 ; Body = ActiveBody ModuleTag_02 30622 ; MaxHealth = 500.0 30623 ; InitialHealth = 500.0 30624 ; End 30625 ; Behavior = POWTruckBehavior ModuleTag_03 30626 ; ContainMax = 10 30627 ; EnterSound = EnterPOWTruck 30628 ; ExitSound = ExitPOWTruck 30629 ; End 30630 ; Behavior = POWTruckAIUpdate ModuleTag_04 30631 ; BoredTime = 10000 ; in milliseconds 30632 ; AtPrisonDistance = 160.0 ; This close to a prison is close enough to be doing nothing at 30633 ; End 30634 ; Locomotor = SET_NORMAL POWTruckLocomotor 30635 ; Behavior = PhysicsBehavior ModuleTag_05 30636 ; Mass = 50.0 30637 ; End 30638 ; Behavior = SlowDeathBehavior ModuleTag_06 30639 ; DeathTypes = ALL -CRUSHED -SPLATTED 30640 ; ProbabilityModifier = 25 30641 ; DestructionDelay = 1 30642 ; FX = FINAL FX_BattleMasterExplosionOneFinal 30643 ; OCL = FINAL OCL_ChinaPOWTruckDeathEffect 30644 ; End 30645 ; Behavior = FXListDie ModuleTag_07 30646 ; DeathTypes = NONE +CRUSHED +SPLATTED 30647 ; DeathFX = FX_CarCrush 30648 ; End 30649 ; Behavior = TransitionDamageFX ModuleTag_09 30650 ; ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 30651 ; ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 30652 ; End 30653 ; Behavior = FlammableUpdate ModuleTag_21 30654 ; AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 30655 ; AflameDamageAmount = 3 ; taking this much damage... 30656 ; AflameDamageDelay = 500 ; this often. 30657 ; End 30658 ; Geometry = BOX 30659 ; GeometryMajorRadius = 15.0 30660 ; GeometryMinorRadius = 7.0 30661 ; GeometryHeight = 13.5 30662 ; GeometryIsSmall = Yes 30663 ; Shadow = SHADOW_VOLUME 30664 ;End 30665 30666 ;------------------------------------------------------------------------------ 30667 ; POW Trucks are cut. sorry. (srj) 30668 ;Object GLAVehiclePOWTruck 30669 ; ; *** ART Parameters *** 30670 ; SelectPortrait = SUPowTruck 30671 ; ;UpgradeCameo1 = NONE 30672 ; ;UpgradeCameo2 = NONE 30673 ; ;UpgradeCameo3 = NONE 30674 ; ;UpgradeCameo4 = NONE 30675 ; ;UpgradeCameo5 = NONE 30676 ; Draw = W3DTruckDraw ModuleTag_01 30677 ; OkToChangeModelColor = Yes 30678 ; ConditionState = NONE 30679 ; Model = UVPOWTRUCK 30680 ; End 30681 ; ConditionState = REALLYDAMAGED 30682 ; Model = UVPOWTRUCK_D 30683 ; End 30684 ; TrackMarks = EXTireTrack.tga 30685 ; Dust = RocketBuggyDust 30686 ; DirtSpray = RocketBuggyDirtSpray 30687 ; PowerslideSpray = RocketBuggyDirtPowerSlide 30688 ; ; These parameters are only used if the model has a separate suspension, 30689 ; ; and the locomotor has HasSuspension = Yes. 30690 ; LeftFrontTireBone = Tire01 30691 ; RightFrontTireBone = Tire02 30692 ; MidLeftRearTireBone = Tire03 30693 ; MidRightRearTireBone = Tire04 30694 ; LeftRearTireBone = Tire05 30695 ; RightRearTireBone = Tire06 30696 ; TireRotationMultiplier = 0.2 ; this * speed = rotation. 30697 ; PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 30698 ; End 30699 ; ; ***DESIGN parameters *** 30700 ; DisplayName = OBJECT:POWTruck 30701 ; Side = GLA 30702 ; EditorSorting = VEHICLE 30703 ; TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 30704 ; ArmorSet 30705 ; Conditions = None 30706 ; Armor = TruckArmor 30707 ; DamageFX = TankDamageFX 30708 ; End 30709 ; BuildCost = 500 30710 ; BuildTime = 10.0 ;in seconds 30711 ; VisionRange = 200 30712 ; ShroudClearingRange = 300 30713 ; ExperienceValue = 50 50 50 50 ;Experience point value at each level 30714 ; ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 30715 ; IsTrainable = Yes ;Can gain experience 30716 ; CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 30717 ; CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 30718 ; CommandSet = VehiclePOWTruckCommandSet 30719 ; ; *** AUDIO Parameters *** 30720 ; VoiceSelect = POWTruckGLAVoiceSelect 30721 ; VoiceMove = POWTruckGLAVoiceMove 30722 ; VoiceGuard = POWTruckGLAVoiceMove 30723 ; UnitSpecificSounds 30724 ; ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 30725 ; ;TurretMoveStart = RocketBuggyLand 30726 ; VoiceCreate = POWTruckGLAVoiceCreate 30727 ; SoundMoveStart = POWTruckUSAMoveStart 30728 ; SoundMoveStartDamaged = POWTruckUSAMoveStart 30729 ; TurretMoveLoop = TurretMoveLoop 30730 ; SoundEject = PilotSoundEject 30731 ; VoiceEject = PilotVoiceEject 30732 ; ; Required for the W3DTruckDraw module 30733 ; TruckLandingSound = NoSound 30734 ; TruckPowerslideSound = POWTruckUSAMoveStart 30735 ; VoiceCrush = POWTruckGLAVoiceCrush 30736 ; VoicePickup = POWTruckGLAVoicePickup 30737 ; VoiceEnter = POWTruckGLAVoiceMove 30738 ; End 30739 ; ; *** ENGINEERING Parameters *** 30740 ; RadarPriority = UNIT 30741 ; KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER TRANSPORT POW_TRUCK SCORE 30742 ; Body = ActiveBody ModuleTag_02 30743 ; MaxHealth = 500.0 30744 ; InitialHealth = 500.0 30745 ; End 30746 ; Behavior = POWTruckBehavior ModuleTag_03 30747 ; ContainMax = 10 30748 ; EnterSound = EnterPOWTruck 30749 ; ExitSound = ExitPOWTruck 30750 ; End 30751 ;; Behavior = POWTruckAIUpdate ModuleTag_04 30752 ;; BoredTime = 10000 ; in milliseconds 30753 ;; AtPrisonDistance = 160.0 ; This close to a prison is close enough to be doing nothing at 30754 ;; End 30755 ; Locomotor = SET_NORMAL POWTruckLocomotor 30756 ; Behavior = PhysicsBehavior ModuleTag_05 30757 ; Mass = 50.0 30758 ; End 30759 ; Behavior = SlowDeathBehavior ModuleTag_06 30760 ; DeathTypes = ALL -CRUSHED -SPLATTED 30761 ; ProbabilityModifier = 25 30762 ; DestructionDelay = 1 30763 ; FX = FINAL FX_BattleMasterExplosionOneFinal 30764 ; OCL = FINAL OCL_GLAPOWTruckDeathEffect 30765 ; End 30766 ; Behavior = FXListDie ModuleTag_07 30767 ; DeathTypes = NONE +CRUSHED +SPLATTED 30768 ; DeathFX = FX_CarCrush 30769 ; End 30770 ; Behavior = TransitionDamageFX ModuleTag_08 30771 ; ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 30772 ; ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 30773 ; End 30774 ; Behavior = FlammableUpdate ModuleTag_21 30775 ; AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 30776 ; AflameDamageAmount = 3 ; taking this much damage... 30777 ; AflameDamageDelay = 500 ; this often. 30778 ; End 30779 ; Geometry = BOX 30780 ; GeometryMajorRadius = 15.0 30781 ; GeometryMinorRadius = 7.0 30782 ; GeometryHeight = 13.5 30783 ; GeometryIsSmall = Yes 30784 ; Shadow = SHADOW_VOLUME 30785 ;End 30786 30787 ;------------------------------------------------------------------------------ 30788 Object GLAAngryMobRockProjectileObject 30789 30790 ; *** ART Parameters *** 30791 30792 Draw = W3DModelDraw ModuleTag_01 30793 ConditionState = NONE 30794 Model = Mob_Rock 30795 End 30796 End 30797 30798 ; ***DESIGN parameters *** 30799 DisplayName = OBJECT:GLARock 30800 EditorSorting = SYSTEM 30801 ArmorSet 30802 Armor = ProjectileArmor 30803 End 30804 VisionRange = 0.0 30805 30806 ; *** ENGINEERING Parameters *** 30807 KindOf = PROJECTILE 30808 Body = ActiveBody ModuleTag_02 30809 MaxHealth = 100.0 30810 InitialHealth = 100.0 30811 End 30812 30813 Behavior = DestroyDie ModuleTag_03 30814 ;nothing 30815 End 30816 30817 Behavior = DumbProjectileBehavior ModuleTag_04 30818 TumbleRandomly = Yes ; not implemented, alas 30819 DetonateCallsKill = Yes 30820 ; To tweak a Bezier path, please see GS 30821 FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain 30822 SecondHeight = 10 30823 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 30824 SecondPercentIndent = 90% 30825 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 30826 End 30827 30828 Behavior = PhysicsBehavior ModuleTag_05;lorenzen sez, please keep this, it allows tumbling 30829 Mass = 0.1 ; about the weight of a rock 30830 End 30831 30832 Geometry = Sphere 30833 GeometryIsSmall = Yes 30834 GeometryMajorRadius = 1.0 30835 30836 End 30837 30838 30839 ;------------------------------------------------------------------------------ 30840 Object GLAAngryMobMolotovCocktailProjectileObject 30841 30842 ; *** ART Parameters *** 30843 Draw = W3DModelDraw ModuleTag_01 30844 ConditionState = NONE 30845 Model = Mob_Botl 30846 ParticleSysBone = BONE_FX MolotovBurningRag 30847 End 30848 End 30849 30850 ; ***DESIGN parameters *** 30851 DisplayName = OBJECT:GLARock 30852 EditorSorting = SYSTEM 30853 ArmorSet 30854 Armor = ProjectileArmor 30855 End 30856 VisionRange = 0.0 30857 30858 ; *** ENGINEERING Parameters *** 30859 KindOf = PROJECTILE 30860 Body = ActiveBody ModuleTag_02 30861 MaxHealth = 100.0 30862 InitialHealth = 100.0 30863 End 30864 30865 30866 Behavior = DumbProjectileBehavior ModuleTag_03 30867 TumbleRandomly = Yes ; not implemented, alas 30868 DetonateCallsKill = Yes 30869 ; To tweak a Bezier path, please see GS 30870 FirstHeight = 30 //TALL ARC LOOK GOOD 30871 SecondHeight = 30 //TALL ARC LOOK GOOD 30872 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed 30873 SecondPercentIndent = 90% 30874 FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 30875 End 30876 30877 Behavior = PhysicsBehavior ModuleTag_04;lorenzen sez, please keep this, it allows tumbling 30878 Mass = 0.1 ; about the weight of a rock 30879 End 30880 30881 ; Behavior = FireWeaponWhenDeadBehavior 30882 ; DeathWeapon = GLAAngryMobMolotovCocktailPersistentFlameWeapon 30883 ; StartsActive = Yes 30884 ; End 30885 30886 Behavior = DestroyDie ModuleTag_05 30887 ;nothing 30888 End 30889 30890 30891 Geometry = Sphere 30892 GeometryIsSmall = Yes 30893 GeometryMajorRadius = 1.0 30894 30895 End 30896 30897 ;------------------------------------------------------------------------------ 30898 Object ChinaArtilleryCannon 30899 30900 ; *** ART Parameters *** 30901 ; Draw = W3DModelDraw 30902 ; DefaultConditionState 30903 ; Model = AVBomber_B 30904 ; End 30905 ; End 30906 30907 ; ***DESIGN parameters *** 30908 ;DisplayName = OBJECT:A10Thunderbolt 30909 EditorSorting = VEHICLE 30910 Side = China 30911 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 30912 VisionRange = 99999.0 30913 ShroudClearingRange = 0 30914 ArmorSet 30915 Conditions = None 30916 Armor = AirplaneArmor 30917 DamageFX = None 30918 End 30919 30920 30921 ; *** AUDIO Parameters *** 30922 ; In the Activation of the superweapon, where it plays only once instead of once per missile. 30923 ; SoundMoveStart = FireArtilleryCannonSound 30924 30925 30926 ; *** ENGINEERING Parameters *** 30927 RadarPriority = UNIT 30928 KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT UNATTACKABLE IGNORED_IN_GUI 30929 Body = ActiveBody ModuleTag_01 30930 MaxHealth = 200.0 30931 InitialHealth = 200.0 30932 End 30933 30934 Behavior = DestroyDie ModuleTag_02 30935 ;nothing 30936 End 30937 30938 Behavior = PhysicsBehavior ModuleTag_03 30939 Mass = 0.001 ; about the weight of grain of salt 30940 End 30941 30942 Behavior = DeliverPayloadAIUpdate ModuleTag_05 30943 End 30944 30945 Locomotor = SET_NORMAL ChinaArtilleryBarrageCannonLocomotor 30946 30947 Geometry = Cylinder 30948 GeometryIsSmall = Yes 30949 GeometryMajorRadius = 1.0 30950 GeometryMinorRadius = 1.0 30951 GeometryHeight = 1.0 30952 Shadow = SHADOW_DECAL 30953 ShadowSizeX = 1; 30954 ShadowSizeY = 1; 30955 ShadowTexture = ShadowI; 30956 30957 End 30958 30959 ;------------------------------------------------------------------------------ 30960 30961 30962 30963 ;------------------------------------------------------------------------------ 30964 Object ChinaArtilleryBarrageShell 30965 30966 ; *** ART Parameters *** 30967 Draw = W3DModelDraw ModuleTag_01 30968 OkToChangeModelColor = Yes 30969 ConditionState = NONE 30970 Model = AVTankShel 30971 ParticleSysBone = NONE ArtilleryBarrageTrail 30972 ParticleSysBone = NONE ArtilleryBarrageTrailRing 30973 End 30974 End 30975 30976 ; ***DESIGN parameters *** 30977 DisplayName = OBJECT:Missile 30978 Side = China 30979 EditorSorting = SYSTEM 30980 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 30981 VisionRange = 0.0 30982 ArmorSet 30983 Conditions = None 30984 Armor = ProjectileArmor 30985 DamageFX = None 30986 End 30987 30988 30989 ; *** AUDIO Parameters *** 30990 SoundAmbient = ArtilleryBarrageIncomingWhistle 30991 30992 30993 ; *** ENGINEERING Parameters *** 30994 KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE ;SMALL_MISSILE 30995 Body = ActiveBody ModuleTag_02 30996 MaxHealth = 100.0 30997 InitialHealth = 100.0 30998 End 30999 31000 ; ---- begin Projectile death behaviors 31001 Behavior = InstantDeathBehavior DeathModuleTag_01 31002 DeathTypes = NONE +DETONATED 31003 ; we detonated normally. No effect, since it is in weapon. Don't want to double. 31004 ; FX = FX_ArtilleryBarrage 31005 End 31006 Behavior = InstantDeathBehavior DeathModuleTag_02 31007 DeathTypes = NONE +LASERED 31008 ; shot down by laser. 31009 FX = FX_GenericMissileDisintegrate 31010 OCL = OCL_GenericMissileDisintegrate 31011 End 31012 Behavior = InstantDeathBehavior DeathModuleTag_03 31013 DeathTypes = ALL -LASERED -DETONATED 31014 ; shot down by nonlaser. 31015 FX = FX_GenericMissileDeath 31016 End 31017 ; ---- end Projectile death behaviors 31018 31019 ; Besides being the wrong weapon, the weapon is fired from the DeliverPayload listing in OCL.ini 31020 ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 31021 ; DeathWeapon = A10ThunderboltMissileWeapon 31022 ; StartsActive = Yes 31023 ; End 31024 31025 Behavior = PhysicsBehavior ModuleTag_08 31026 Mass = 1 31027 End 31028 Behavior = MissileAIUpdate ModuleTag_09 31029 TryToFollowTarget = Yes 31030 FuelLifetime = 10000 31031 InitialVelocity = 30 ; in dist/sec 31032 IgnitionDelay = 0 31033 End 31034 ; It's a missile, it needs to hit so it can +DETONATED 31035 ; Behavior = HeightDieUpdate ModuleTag_10 31036 ; TargetHeight = 1.0 31037 ; TargetHeightIncludesStructures = No 31038 ; End 31039 Locomotor = SET_NORMAL A10ThunderboltMissileLocomotor 31040 31041 Geometry = Sphere 31042 GeometryIsSmall = Yes 31043 GeometryMajorRadius = 1.0 31044 31045 Behavior = SpecialPowerCompletionDie ModuleTag_11 31046 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike 31047 End 31048 31049 31050 End 31051 31052 ;------------------------------------------------------------------------------ 31053 ; *********************** Cinematic-only unit ********************************* 31054 Object CINE_ChinaVehicleTroopCrawlerEmpty 31055 31056 ; *** ART Parameters *** 31057 Draw = W3DTankDraw ModuleTag_01 31058 OkToChangeModelColor = Yes 31059 TrackMarks = EXTireTrack.tga 31060 ConditionState = NONE 31061 Model = NVTCrawler 31062 End 31063 ConditionState = REALLYDAMAGED 31064 Model = NVTCrawler_D 31065 End 31066 ConditionState = RUBBLE 31067 Model = NVTCrawler_D 31068 End 31069 End 31070 31071 ; ***DESIGN parameters *** 31072 DisplayName = OBJECT:TroopCrawler 31073 Side = China 31074 EditorSorting = VEHICLE 31075 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 31076 WeaponSet 31077 Conditions = None 31078 Weapon = PRIMARY TroopCrawlerAssault 31079 End 31080 ArmorSet 31081 Conditions = None 31082 Armor = TankArmor 31083 DamageFX = TankDamageFX 31084 End 31085 BuildCost = 700 31086 BuildTime = 1.0 ;in seconds 31087 VisionRange = 150 31088 ShroudClearingRange = 150 31089 Prerequisites 31090 Object = ChinaWarFactory 31091 End 31092 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 31093 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 31094 CommandSet = ChinaTroopCrawlerCommandSet 31095 31096 ; *** AUDIO Parameters *** 31097 VoiceSelect = TroopCrawlerVoiceSelect 31098 VoiceMove = TroopCrawlerVoiceMove 31099 VoiceGuard = TroopCrawlerVoiceMove 31100 VoiceAttack = TroopCrawlerVoiceAttack 31101 SoundMoveStart = TroopCrawlerMoveStart 31102 31103 UnitSpecificSounds 31104 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 31105 VoiceCreate = TroopCrawlerVoiceCreate 31106 TurretMoveStart = NoSound 31107 TurretMoveLoop = TurretMoveLoop 31108 VoiceUnload = TroopCrawlerVoiceUnload 31109 VoiceEnter = TroopCrawlerVoiceMove 31110 End 31111 31112 31113 ; *** ENGINEERING Parameters *** 31114 RadarPriority = UNIT 31115 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS TRANSPORT VEHICLE SCORE 31116 31117 Body = ActiveBody ModuleTag_02 31118 MaxHealth = 200.0 31119 InitialHealth = 200.0 31120 End 31121 Behavior = AIUpdateInterface ModuleTag_03 31122 Turret 31123 ControlledWeaponSlots = PRIMARY 31124 End 31125 End 31126 Locomotor = SET_NORMAL CINE_TroopCrawlerLocomotor 31127 Behavior = PhysicsBehavior ModuleTag_04 31128 Mass = 50.0 31129 End 31130 31131 31132 Behavior = SlowDeathBehavior ModuleTag_05 31133 DeathTypes = ALL -CRUSHED -SPLATTED 31134 ProbabilityModifier = 5 31135 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 31136 DestructionDelay = 0 31137 DestructionDelayVariance = 200 31138 FX = FINAL FX_BuggyNewDeathExplosion 31139 OCL = FINAL OCL_FinalTroopCrawlerDebris 31140 End 31141 31142 Behavior = TransportContain ModuleTag_06 31143 Slots = 10 31144 HealthRegen%PerSec = 10 31145 DamagePercentToUnits = 10% 31146 AllowInsideKindOf = INFANTRY 31147 End 31148 31149 31150 ; A crushing defeat 31151 Behavior = FXListDie ModuleTag_07 31152 DeathTypes = NONE +CRUSHED +SPLATTED 31153 DeathFX = FX_CarCrush 31154 End 31155 Behavior = CreateObjectDie ModuleTag_08 31156 DeathTypes = NONE +CRUSHED +SPLATTED 31157 CreationList = OCL_CrusaderTank_CrushEffect 31158 End 31159 ;Behavior = CreateCrateDie ModuleTag_09 31160 ; CrateData = None 31161 ;CrateData = SalvageCrateData 31162 ;CrateData = EliteTankCrateData 31163 ;CrateData = HeroicTankCrateData 31164 ;End 31165 31166 Behavior = FlammableUpdate ModuleTag_21 31167 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 31168 AflameDamageAmount = 3 ; taking this much damage... 31169 AflameDamageDelay = 500 ; this often. 31170 End 31171 31172 Geometry = BOX 31173 GeometryMajorRadius = 22.0 31174 GeometryMinorRadius = 9.0 31175 GeometryHeight = 13.0 31176 GeometryIsSmall = No 31177 Shadow = SHADOW_VOLUME 31178 31179 End 31180 31181 ;------------------------------------------------------------------------------ 31182 ; ************************* Cinematic-only unit ******************************* 31183 Object CINE_ChinaInfantryRedguard 31184 31185 ; *** ART Parameters *** 31186 SelectPortrait = SNRedGuard_L 31187 ButtonImage = SNRedGuard_L 31188 31189 UpgradeCameo1 = Upgrade_Nationalism 31190 ;UpgradeCameo2 = NONE 31191 ;UpgradeCameo3 = NONE 31192 ;UpgradeCameo4 = NONE 31193 ;UpgradeCameo5 = NONE 31194 31195 Draw = W3DModelDraw ModuleTag_01 31196 OkToChangeModelColor = Yes 31197 31198 ; ------- Standing-Around Animations 31199 31200 DefaultConditionState 31201 Model = NICNSC_SKN 31202 IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35 31203 IdleAnimation = NICNSC_SKL.NICNSC_IDA 31204 IdleAnimation = NICNSC_SKL.NICNSC_IDB 31205 AnimationMode = ONCE 31206 WeaponFireFXBone = PRIMARY Muzzle 31207 WeaponMuzzleFlash = PRIMARY MuzzleFX 31208 TransitionKey = TRANS_Stand 31209 End 31210 31211 ConditionState = REALLYDAMAGED 31212 IdleAnimation = NICNSC_SKL.NICNSC_STB 31213 AnimationMode = ONCE 31214 TransitionKey = TRANS_StandDamaged 31215 End 31216 31217 ; ------- Machine Gun Animations 31218 31219 ConditionState = FIRING_A 31220 Animation = NICNSC_SKL.NICNSC_ATA 31221 AnimationMode = LOOP 31222 TransitionKey = TRANS_Firing 31223 End 31224 AliasConditionState = BETWEEN_FIRING_SHOTS_A 31225 AliasConditionState = RELOADING_A 31226 31227 ConditionState = FIRING_A REALLYDAMAGED 31228 Animation = NICNSC_SKL.NICNSC_ATC 31229 AnimationMode = LOOP 31230 TransitionKey = TRANS_FiringDamaged 31231 End 31232 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 31233 AliasConditionState = RELOADING_A REALLYDAMAGED 31234 31235 ; ------- Stun Bullet Animations 31236 ; sorry, no tranq or stun bullets, cut for this version (srj) 31237 ; 31238 ; ConditionState = FIRING_B 31239 ; Animation = NICNSC_SKL.NICNSC_ATA 31240 ; AnimationMode = LOOP 31241 ; TransitionKey = TRANS_Firing 31242 ; End 31243 ; AliasConditionState = BETWEEN_FIRING_SHOTS_B 31244 ; AliasConditionState = RELOADING_B 31245 ; 31246 ; ConditionState = FIRING_B REALLYDAMAGED 31247 ; Animation = NICNSC_SKL.NICNSC_ATC 31248 ; AnimationMode = LOOP 31249 ; TransitionKey = TRANS_FiringDamaged 31250 ; End 31251 ; AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 31252 ; AliasConditionState = RELOADING_B REALLYDAMAGED 31253 31254 ; ------- Firing-related Transitions 31255 31256 TransitionState = TRANS_Firing TRANS_FiringDamaged 31257 Animation = NICNSC_SKL.NICNSC_AA2AC 31258 AnimationMode = ONCE 31259 End 31260 31261 TransitionState = TRANS_Stand TRANS_Firing 31262 Animation = NICNSC_SKL.NICNSC_SA2AA 31263 AnimationMode = ONCE 31264 End 31265 31266 TransitionState = TRANS_Firing TRANS_Stand 31267 Animation = NICNSC_SKL.NICNSC_AA2SA 31268 AnimationMode = ONCE 31269 End 31270 31271 TransitionState = TRANS_StandDamaged TRANS_FiringDamaged 31272 Animation = NICNSC_SKL.NICNSC_ATCST 31273 AnimationMode = ONCE 31274 End 31275 31276 TransitionState = TRANS_FiringDamaged TRANS_StandDamaged 31277 Animation = NICNSC_SKL.NICNSC_ATCED 31278 AnimationMode = ONCE 31279 End 31280 31281 ; ------------- Damage Transitions -------------------- 31282 TransitionState = TRANS_StandDamaged TRANS_RunDamaged 31283 Animation = NICNSC_SKL.NICNSC_AA2AC 31284 AnimationMode = ONCE 31285 AnimationSpeedFactorRange = 2 2 31286 End 31287 TransitionState = TRANS_RunDamaged TRANS_StandDamaged 31288 Animation = NICNSC_SKL.NICNSC_AA2AC 31289 AnimationMode = ONCE_BACKWARDS 31290 AnimationSpeedFactorRange = 2 2 31291 Flags = START_FRAME_LAST 31292 End 31293 TransitionState = TRANS_Stand TRANS_StandDamaged 31294 Animation = NICNSC_SKL.NICNSC_AA2SA 31295 AnimationMode = ONCE_BACKWARDS 31296 AnimationSpeedFactorRange = 4 5 31297 Flags = START_FRAME_LAST 31298 End 31299 31300 31301 ; ------- Bayonet Animations 31302 31303 ConditionState = PREATTACK_C 31304 Animation = NICNSC_SKL.NICNSC_ATB1 31305 AnimationMode = ONCE 31306 TransitionKey = TRANS_Stab 31307 End 31308 AliasConditionState = PREATTACK_C MOVING 31309 AliasConditionState = PREATTACK_C FIRING_C 31310 AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C 31311 31312 ConditionState = FIRING_C 31313 Animation = NICNSC_SKL.NICNSC_ATB2 31314 AnimationMode = ONCE 31315 ; this is basically a trick: this guy has a nontrivial animation for firing, 31316 ; and a long recycle time between shots. we want him to finish his fire animation 31317 ; (unless he's ordered to do something else), so this is just a handy trick that 31318 ; says, "if the previous state had this transition key, allow it to finish before 31319 ; switching to us, if possible". 31320 WaitForStateToFinishIfPossible = TRANS_Stab 31321 End 31322 AliasConditionState = BETWEEN_FIRING_SHOTS_C 31323 AliasConditionState = RELOADING_C 31324 31325 ; ------- Parachuting Animations 31326 31327 ConditionState = FREEFALL 31328 Animation = NICNSC_SKL.NICNSC_POP 31329 AnimationMode = MANUAL 31330 Flags = START_FRAME_FIRST 31331 TransitionKey = TRANS_Falling 31332 End 31333 AliasConditionState = FREEFALL REALLYDAMAGED 31334 AliasConditionState = FREEFALL DYING 31335 31336 ConditionState = PARACHUTING 31337 Animation = NICNSC_SKL.NICNSC_PHG 31338 AnimationMode = LOOP 31339 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 31340 TransitionKey = TRANS_Chute 31341 End 31342 AliasConditionState = PARACHUTING REALLYDAMAGED 31343 AliasConditionState = PARACHUTING DYING 31344 31345 TransitionState = TRANS_Falling TRANS_Chute 31346 Animation = NICNSC_SKL.NICNSC_POP 31347 AnimationMode = ONCE 31348 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 31349 End 31350 31351 TransitionState = TRANS_Chute TRANS_Stand 31352 Animation = NICNSC_SKL.NICNSC_PTD 31353 AnimationMode = ONCE 31354 End 31355 31356 ; ------- Movement Animations 31357 31358 ConditionState = MOVING 31359 Animation = NICNSC_SKL.NICNSC_RNA 48 ; used to be 26 31360 AnimationMode = LOOP 31361 Flags = RANDOMSTART 31362 TransitionKey = None 31363 End 31364 AliasConditionState = MOVING ATTACKING 31365 31366 ConditionState = MOVING REALLYDAMAGED 31367 Animation = NICNSC_SKL.NICNSC_RNB 28 31368 AnimationMode = LOOP 31369 Flags = RANDOMSTART 31370 TransitionKey = TRANS_RunDamaged 31371 TransitionKey = None 31372 End 31373 AliasConditionState = MOVING ATTACKING REALLYDAMAGED 31374 31375 ; ------- Bldg-capture 31376 31377 ConditionState = UNPACKING 31378 Model = NICNSC_F_SKN 31379 Animation = NICNSC_F_SKL.NICNSC_F_FDP1 31380 AnimationMode = ONCE 31381 End 31382 AliasConditionState = UNPACKING REALLYDAMAGED 31383 31384 ConditionState = RAISING_FLAG 31385 Model = NICNSC_F_SKN 31386 Animation = NICNSC_F_SKL.NICNSC_F_FDP2 31387 AnimationMode = ONCE 31388 TransitionKey = TRANS_Raising 31389 End 31390 AliasConditionState = RAISING_FLAG REALLYDAMAGED 31391 31392 ConditionState = PACKING 31393 Model = NICNSC_F_SKN 31394 Animation = NICNSC_F_SKL.NICNSC_F_FDP1 31395 AnimationMode = ONCE_BACKWARDS 31396 Flags = START_FRAME_LAST 31397 TransitionKey = TRANS_Packing 31398 End 31399 AliasConditionState = PACKING REALLYDAMAGED 31400 31401 TransitionState = TRANS_Raising TRANS_Packing 31402 Model = NICNSC_F_SKN 31403 Animation = NICNSC_F_SKL.NICNSC_F_FDP2 31404 AnimationMode = ONCE_BACKWARDS 31405 Flags = START_FRAME_LAST 31406 End 31407 31408 ; ------- Misc Animations 31409 31410 ConditionState = DYING 31411 Animation = NICNSC_SKL.NICNSC_DTA 31412 Animation = NICNSC_SKL.NICNSC_DTB 31413 AnimationMode = ONCE 31414 TransitionKey = TRANS_Dying 31415 End 31416 31417 TransitionState = TRANS_Dying TRANS_Flailing 31418 Animation = NICNSC_SKL.NICNSC_ATDE1 31419 AnimationMode = ONCE 31420 End 31421 31422 ConditionState = DYING EXPLODED_FLAILING 31423 Animation = NICNSC_SKL.NICNSC_ATDE2 31424 AnimationMode = LOOP 31425 TransitionKey = TRANS_Flailing 31426 End 31427 31428 ConditionState = DYING EXPLODED_BOUNCING 31429 Animation = NICNSC_SKL.NICNSC_ATDE3 31430 AnimationMode = ONCE 31431 TransitionKey = None 31432 End 31433 31434 ConditionState = SPECIAL_CHEERING 31435 Animation = NICNSC_SKL.NICNSC_CHA 31436 AnimationMode = LOOP 31437 End 31438 31439 End 31440 31441 ; ***DESIGN parameters *** 31442 DisplayName = OBJECT:Redguard 31443 Side = China 31444 EditorSorting = INFANTRY 31445 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 31446 WeaponSet 31447 Conditions = None 31448 Weapon = PRIMARY RedguardMachineGun 31449 Weapon = SECONDARY None 31450 Weapon = TERTIARY RedguardBayonet 31451 AutoChooseSources = PRIMARY None 31452 AutoChooseSources = SECONDARY None 31453 AutoChooseSources = TERTIARY None 31454 End 31455 ; sorry, no stun bullets, cut for this version (srj) 31456 ; WeaponSet 31457 ; Conditions = PLAYER_UPGRADE 31458 ; Weapon = PRIMARY RedguardMachineGun 31459 ; Weapon = SECONDARY RedguardStunBulletsMachineGun 31460 ; Weapon = TERTIARY RedguardBayonet 31461 ; AutoChooseSources = SECONDARY None 31462 ; AutoChooseSources = TERTIARY None 31463 ; End 31464 ArmorSet 31465 Conditions = None 31466 Armor = HumanArmor 31467 DamageFX = InfantryDamageFX 31468 End 31469 VisionRange = 100 31470 ShroudClearingRange = 200 31471 Prerequisites 31472 Object = ChinaBarracks 31473 End 31474 BuildCost = 300 31475 BuildTime = 10.0 ;in seconds 31476 31477 ExperienceValue = 5 5 10 20 ;Experience point value at each level 31478 ExperienceRequired = 0 20 40 80 ;Experience points needed to gain each level 31479 IsTrainable = Yes ;Can gain experience 31480 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 31481 CommandSet = ChinaInfantryRedguardCommandSet 31482 31483 ; *** AUDIO Parameters *** 31484 VoiceSelect = RedGuardVoiceSelect 31485 VoiceMove = RedGuardVoiceMove 31486 VoiceGuard = RedGuardVoiceMove 31487 VoiceAttack = RedGuardVoiceAttack 31488 VoiceGroupSelect = BattleCrySound 31489 SoundDie = RedGuardVoiceDie 31490 SoundDieFire = DieByFireChina 31491 SoundDieToxin = DieByToxinChina 31492 VoiceFear = RedGuardVoiceFear 31493 VoiceTaskComplete = RedGuardVoiceCaptureComplete 31494 UnitSpecificSounds 31495 VoiceGarrison = RedGuardVoiceGarrison 31496 VoiceCreate = RedGuardVoiceCreate 31497 VoiceSubdue = RedGuardVoiceSubdue 31498 VoiceEnter = RedGuardVoiceMove 31499 VoiceEnterHostile = RedGuardVoiceMove 31500 VoiceGetHealed = RedGuardVoiceMove 31501 End 31502 31503 ; *** ENGINEERING Parameters *** 31504 RadarPriority = UNIT 31505 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE PARACHUTABLE 31506 31507 Body = ActiveBody ModuleTag_02 31508 MaxHealth = 120.0 31509 InitialHealth = 120.0 31510 End 31511 31512 Behavior = VeterancyGainCreate ModuleTag_03 31513 StartingLevel = VETERAN 31514 ScienceRequired = SCIENCE_RedGuardTraining 31515 End 31516 31517 Behavior = AIUpdateInterface ModuleTag_04 31518 AutoAcquireEnemiesWhenIdle = Yes 31519 End 31520 31521 Behavior = CommandButtonHuntUpdate ModuleTag_05 ; allows use of command button hunt script with this unit. 31522 End 31523 31524 Locomotor = SET_NORMAL CINE_RedguardLocomotor 31525 31526 Behavior = HordeUpdate ModuleTag_06 31527 RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 31528 UpdateRate = 1000 ; how often to recheck horde status (msec) 31529 Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 31530 KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness 31531 AlliesOnly = Yes ; do we only count allies towards horde status? 31532 ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) 31533 Count = 5 ; how many units must be within Radius to grant us horde-ness 31534 Action = HORDE ; when horde-ing, grant us the HORDE bonus 31535 End 31536 Behavior = PhysicsBehavior ModuleTag_07 31537 Mass = 5.0 31538 End 31539 31540 ; sorry, no tranq or stun bullets, cut for this version (srj) 31541 ; Behavior = WeaponSetUpgrade ModuleTag_09 31542 ; TriggeredBy = Upgrade_ChinaStunBullets 31543 ; End 31544 31545 Behavior = SquishCollide ModuleTag_10 31546 ;nothing 31547 End 31548 31549 ; --- begin Death modules --- 31550 Behavior = SlowDeathBehavior ModuleTag_Death01 31551 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 31552 SinkDelay = 3000 31553 SinkRate = 0.5 ; in Dist/Sec 31554 DestructionDelay = 8000 31555 FX = INITIAL FX_GIDie 31556 End 31557 Behavior = SlowDeathBehavior ModuleTag_Death02 31558 DeathTypes = NONE +CRUSHED +SPLATTED 31559 SinkDelay = 3000 31560 SinkRate = 0.5 ; in Dist/Sec 31561 DestructionDelay = 8000 31562 FX = INITIAL FX_GIDieCrushed 31563 End 31564 Behavior = SlowDeathBehavior ModuleTag_Death03 31565 DeathTypes = NONE +EXPLODED 31566 SinkDelay = 3000 31567 SinkRate = 0.5 ; in Dist/Sec 31568 DestructionDelay = 8000 31569 FX = INITIAL FX_GIDie 31570 FlingForce = 8 31571 FlingForceVariance = 3 31572 FlingPitch = 60 31573 FlingPitchVariance = 10 31574 End 31575 Behavior = SlowDeathBehavior ModuleTag_Death04 31576 DeathTypes = NONE +BURNED 31577 DestructionDelay = 0 31578 FX = INITIAL FX_GIDie 31579 OCL = INITIAL OCL_FlamingInfantry 31580 End 31581 Behavior = SlowDeathBehavior ModuleTag_Death05 31582 DeathTypes = NONE +POISONED 31583 DestructionDelay = 0 31584 FX = INITIAL FX_GIDie 31585 OCL = INITIAL OCL_ToxicInfantry 31586 End 31587 ; --- end Death modules --- 31588 31589 Behavior = PoisonedBehavior ModuleTag_15 31590 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 31591 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 31592 End 31593 31594 Behavior = SpecialAbility ModuleTag_16 31595 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 31596 UpdateModuleStartsAttack = Yes 31597 StartsPaused = Yes 31598 InitiateSound = RedGuardVoiceCapture 31599 End 31600 Behavior = SpecialAbilityUpdate ModuleTag_17 31601 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 31602 StartAbilityRange = 5.0 31603 UnpackTime = 3000 ; (changing this will scale anim speed) 31604 PreparationTime = 10000 ; time to complete hack once prepared (changing this will scale anim speed) 31605 PackTime = 2000 ; (changing this will scale anim speed) 31606 DoCaptureFX = Yes 31607 End 31608 31609 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18 31610 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 31611 TriggeredBy = Upgrade_InfantryCaptureBuilding 31612 End 31613 31614 Geometry = CYLINDER 31615 Scale = 0.95 ;Scaling 31616 GeometryMajorRadius = 1.0 31617 GeometryMinorRadius = 1.0 31618 GeometryHeight = 8.0 31619 GeometryIsSmall = Yes 31620 Shadow = SHADOW_DECAL 31621 ShadowSizeX = 9; 31622 ShadowSizeY = 9; 31623 ShadowTexture = ShadowI; 31624 BuildCompletion = APPEARS_AT_RALLY_POINT 31625 31626 End 31627 ;------------------------------------------------------------------------------ 31628 Object CINE_AmericaJetRaptor 31629 31630 ; *** ART Parameters *** 31631 SelectPortrait = SACRaptor_L 31632 ButtonImage = SACRaptor 31633 31634 UpgradeCameo1 = Upgrade_AmericaLaserMissiles 31635 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 31636 ;UpgradeCameo3 = NONE 31637 ;UpgradeCameo4 = NONE 31638 ;UpgradeCameo5 = NONE 31639 31640 Draw = W3DModelDraw ModuleTag_01 31641 31642 DefaultConditionState 31643 Model = AVRaptor 31644 HideSubObject = BurnerFX01 BurnerFX02 31645 WeaponLaunchBone = PRIMARY WeaponA 31646 End 31647 31648 ConditionState = JETEXHAUST 31649 ; exhaust 31650 ParticleSysBone = Wingtip01 JetContrail 31651 ParticleSysBone = Wingtip02 JetContrail 31652 End 31653 31654 ConditionState = JETEXHAUST JETAFTERBURNER 31655 ; exhaust 31656 ParticleSysBone = Wingtip01 JetContrail 31657 ParticleSysBone = Wingtip02 JetContrail 31658 ; afterburner 31659 ShowSubObject = BurnerFX01 BurnerFX02 31660 ParticleSysBone = Engine01 JetLenzflare 31661 ParticleSysBone = Engine02 JetLenzflare 31662 End 31663 31664 ConditionState = REALLYDAMAGED 31665 Model = AVRaptor_D 31666 ; damage 31667 ParticleSysBone = Smoke01 JetSmoke 31668 ParticleSysBone = Engine01 JetEngineDamagedSmoke 31669 End 31670 31671 ConditionState = REALLYDAMAGED JETEXHAUST 31672 Model = AVRaptor_D 31673 ; damage 31674 ParticleSysBone = Smoke01 JetSmoke 31675 ParticleSysBone = Engine01 JetEngineDamagedSmoke 31676 ; exhaust 31677 ParticleSysBone = Wingtip01 JetContrail 31678 ParticleSysBone = Wingtip02 JetContrail 31679 End 31680 31681 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 31682 Model = AVRaptor_D 31683 ; damage 31684 ParticleSysBone = Smoke01 JetSmoke 31685 ParticleSysBone = Engine01 JetEngineDamagedSmoke 31686 ; afterburner 31687 ShowSubObject = BurnerFX01 BurnerFX02 31688 ParticleSysBone = Engine01 JetLenzflare 31689 ParticleSysBone = Engine02 JetLenzflare 31690 ; exhaust 31691 ParticleSysBone = Wingtip01 JetContrail 31692 ParticleSysBone = Wingtip02 JetContrail 31693 End 31694 31695 ConditionState = RUBBLE 31696 Model = AVRaptor_D1B 31697 HideSubObject = None 31698 ShowSubObject = None 31699 End 31700 31701 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 31702 Model = AVRaptor_D1B 31703 ;HideSubObject is needed cause there're inherited from default condition state 31704 HideSubObject = None 31705 ShowSubObject = None 31706 ParticleSysBone = Engine01 JetExhaust 31707 ParticleSysBone = Engine02 JetExhaust 31708 ; exhaust 31709 ParticleSysBone = Wingtip01 JetContrail 31710 ParticleSysBone = Wingtip02 JetContrail 31711 End 31712 31713 OkToChangeModelColor = Yes 31714 31715 End 31716 31717 ; ***DESIGN parameters *** 31718 DisplayName = OBJECT:Raptor 31719 EditorSorting = VEHICLE 31720 Side = America 31721 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 31722 VisionRange = 400.0 31723 ShroudClearingRange = 400 31724 Prerequisites 31725 Object = AmericaAirfield 31726 End 31727 31728 WeaponSet 31729 Conditions = None 31730 Weapon = PRIMARY RaptorJetMissileWeapon 31731 End 31732 WeaponSet 31733 Conditions = PLAYER_UPGRADE 31734 Weapon = PRIMARY RaptorJetLaserGuidedMissileWeapon 31735 End 31736 ArmorSet 31737 Conditions = None 31738 Armor = AirplaneArmor 31739 DamageFX = None 31740 End 31741 31742 BuildCost = 1400 31743 BuildTime = 1 31744 ExperienceValue = 50 50 100 150 ;Experience point value at each level 31745 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 31746 IsTrainable = Yes ;Can gain experience 31747 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 31748 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 31749 CommandSet = AmericaJetRaptorCommandSet 31750 31751 ; *** AUDIO Parameters *** 31752 VoiceSelect = RaptorVoiceSelect 31753 VoiceMove = RaptorVoiceMove 31754 VoiceAttack = RaptorVoiceAttack 31755 VoiceAttackAir = RaptorVoiceAttackAir 31756 VoiceGuard = RaptorVoiceAirPatrol 31757 SoundDie = RaptorVoiceFalling 31758 SoundAmbient = RaptorAmbientLoop 31759 SoundAmbientRubble = NoSound 31760 ; For now, it is better to have some sound than no sound cause there is a bug in 31761 ; what triggers the sound move loop sound, and the multiplayer test is only days away 31762 ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield 31763 ; SoundAmbient = NoSound 31764 UnitSpecificSounds 31765 VoiceCreate = RaptorVoiceCreate 31766 SoundEject = PilotSoundEject 31767 VoiceEject = PilotVoiceEject 31768 Afterburner = RaptorAfterburner 31769 VoiceLowFuel = RaptorVoiceLowFuel 31770 VoiceGarrison = RaptorVoiceMove 31771 End 31772 31773 ; *** ENGINEERING Parameters *** 31774 RadarPriority = UNIT 31775 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 31776 Body = ActiveBody ModuleTag_02 31777 MaxHealth = 160.0 31778 InitialHealth = 160.0 31779 End 31780 31781 Behavior = WeaponSetUpgrade ModuleTag_03 31782 TriggeredBy = Upgrade_AmericaLaserMissiles 31783 End 31784 Behavior = ExperienceScalarUpgrade ModuleTag_04 31785 TriggeredBy = Upgrade_AmericaAdvancedTraining 31786 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 31787 End 31788 31789 Behavior = JetSlowDeathBehavior ModuleTag_05 31790 FXOnGroundDeath = FX_JetOnGroundDeath 31791 OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp 31792 DestructionDelay = 99999999; destruction will happen when we 31793 RollRate = 0.2 31794 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 31795 PitchRate = 0.0 31796 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 31797 FXInitialDeath = FX_JetDeathInitial 31798 OCLInitialDeath = OCL_RaptorDeathInitial 31799 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 31800 FXSecondary = FX_JetDeathSecondary 31801 OCLSecondary = OCL_RaptorDeathSecondary 31802 FXHitGround = FX_JetDeathHitGround 31803 OCLHitGround = OCL_RaptorDeathHitGround 31804 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 31805 FXFinalBlowUp = FX_JetDeathFinalBlowUp 31806 OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp 31807 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 31808 End 31809 Behavior = EjectPilotDie ModuleTag_06 31810 ExemptStatus = HIJACKED 31811 GroundCreationList = OCL_EjectPilotOnGround 31812 AirCreationList = OCL_EjectPilotViaParachute 31813 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 31814 End 31815 31816 Behavior = PhysicsBehavior ModuleTag_07 31817 Mass = 500.0 31818 End 31819 31820 Behavior = TransitionDamageFX ModuleTag_08 31821 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 31822 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 31823 End 31824 31825 Behavior = JetAIUpdate ModuleTag_09 31826 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 31827 ; note that it's expressed as a percent of max health, not an absolute 31828 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 31829 TakeoffPause = 500 31830 MinHeight = 5 31831 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors 31832 ReturnToBaseIdleTime = 3 ; if idle for this long, return to base, even if not out of ammo 31833 End 31834 Locomotor = SET_NORMAL RaptorJetLocomotor 31835 Locomotor = SET_TAXIING CINE_BasicJetTaxiLocomotor 31836 31837 Behavior = FlammableUpdate ModuleTag_21 31838 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 31839 AflameDamageAmount = 3 ; taking this much damage... 31840 AflameDamageDelay = 500 ; this often. 31841 End 31842 31843 31844 Geometry = Box 31845 GeometryIsSmall = Yes 31846 GeometryMajorRadius = 14.0 31847 GeometryMinorRadius = 7.0 31848 GeometryHeight = 5.0 31849 Shadow = SHADOW_VOLUME 31850 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. 31851 31852 End 31853 31854 ;------------------------------------------------------------------------------ 31855 ; *********************** Cinematic-only unit ********************************* 31856 Object CINE_AmericaJetB52 31857 31858 ; *** ART Parameters *** 31859 Draw = W3DModelDraw ModuleTag_01 31860 DefaultConditionState 31861 Model = AVBomber 31862 ParticleSysBone = Engine01 JetBlackTrailThin 31863 ParticleSysBone = Engine02 JetBlackTrailThin 31864 ParticleSysBone = Engine03 JetBlackTrailThin 31865 ParticleSysBone = Engine04 JetBlackTrailThin 31866 ParticleSysBone = WingTip01 JetContrailThin 31867 ParticleSysBone = WingTip02 JetContrailThin 31868 End 31869 ConditionState = DAMAGED 31870 Model = AVBomber_D 31871 ParticleSysBone = Smoke01 JetFireLarge 31872 ParticleSysBone = Smoke02 JetFireLarge 31873 ParticleSysBone = Engine01 JetBlackTrailThin 31874 ParticleSysBone = Engine02 JetBlackTrailThin 31875 ParticleSysBone = Engine03 JetBlackTrailThin 31876 ParticleSysBone = Engine04 JetBlackTrailThin 31877 ParticleSysBone = Smoke01 JetSmokeLarge 31878 ParticleSysBone = Smoke02 JetSmokeLarge 31879 End 31880 ConditionState = REALLYDAMAGED 31881 Model = AVBomber_D 31882 ParticleSysBone = Smoke01 JetFireLarge 31883 ParticleSysBone = Smoke02 JetFireLarge 31884 ParticleSysBone = Engine01 JetBlackTrailThin 31885 ParticleSysBone = Engine02 JetBlackTrailThin 31886 ParticleSysBone = Engine03 JetBlackTrailThin 31887 ParticleSysBone = Engine04 JetBlackTrailThin 31888 ParticleSysBone = Smoke01 JetSmokeLarge 31889 ParticleSysBone = Smoke02 JetSmokeLarge 31890 End 31891 ConditionState = RUBBLE 31892 Model = AVBomber_D1 31893 ParticleSysBone = Smoke01 JetFireLarge 31894 ParticleSysBone = Smoke02 JetFireLarge 31895 ParticleSysBone = Smoke01 JetSmokeLarge 31896 ParticleSysBone = Smoke02 JetSmokeLarge 31897 End 31898 OkToChangeModelColor = Yes 31899 End 31900 31901 Draw = W3DModelDraw ModuleTag_02 31902 DefaultConditionState 31903 Model = AVBomber_A2U 31904 Animation = AVBomber_A2K.AVBomber_A2 31905 AnimationMode = MANUAL 31906 Flags = START_FRAME_FIRST 31907 End 31908 ConditionState = DOOR_1_OPENING 31909 Animation = AVBomber_A2K.AVBomber_A2 31910 AnimationMode = ONCE 31911 Flags = START_FRAME_FIRST 31912 End 31913 ConditionState = DOOR_1_CLOSING 31914 Animation = AVBomber_A2K.AVBomber_A2 31915 AnimationMode = ONCE_BACKWARDS 31916 Flags = START_FRAME_LAST 31917 End 31918 31919 ConditionState = REALLYDAMAGED 31920 Model = AVBomber_A2DU 31921 Animation = AVBomber_A2K.AVBomber_A2 31922 AnimationMode = MANUAL 31923 Flags = START_FRAME_FIRST 31924 End 31925 ConditionState = DOOR_1_OPENING REALLYDAMAGED 31926 Model = AVBomber_A2DU 31927 Animation = AVBomber_A2K.AVBomber_A2 31928 AnimationMode = ONCE 31929 Flags = START_FRAME_FIRST 31930 End 31931 ConditionState = DOOR_1_CLOSING REALLYDAMAGED 31932 Model = AVBomber_A2DU 31933 Animation = AVBomber_A2K.AVBomber_A2 31934 AnimationMode = ONCE_BACKWARDS 31935 Flags = START_FRAME_LAST 31936 End 31937 End 31938 31939 ; ***DESIGN parameters *** 31940 DisplayName = OBJECT:B52 31941 EditorSorting = VEHICLE 31942 Side = America 31943 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 31944 VisionRange = 0.0 31945 ArmorSet 31946 Conditions = None 31947 Armor = AirplaneArmor 31948 DamageFX = TankDamageFX 31949 End 31950 CommandSet = Command_ScriptedTransportDrops 31951 31952 ; *** AUDIO Parameters *** 31953 SoundAmbient = CINE_B52AmbientLoop 31954 SoundAmbientRubble = NoSound 31955 31956 ; *** ENGINEERING Parameters *** 31957 RadarPriority = UNIT 31958 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI 31959 Body = ActiveBody ModuleTag_03 31960 MaxHealth = 1000.0 31961 InitialHealth = 1000.0 31962 End 31963 31964 ExperienceValue = 50 50 50 50 ; Experience point value at each level 31965 31966 ;SCRIPTED SUPPORT: These special powers are triggered directly 31967 ;from the transport without creating a transport. This is done 31968 ;via new code support and CreateLocation USE_OWNER_OBJECT -- 31969 ;which also prevents creating the payload transport. 31970 Behavior = OCLSpecialPower ModuleTag_04 31971 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ 31972 OCL = SUPERWEAPON_DaisyCutter 31973 CreateLocation = USE_OWNER_OBJECT 31974 End 31975 Behavior = OCLSpecialPower ModuleTag_05 31976 SpecialPowerTemplate = SuperweaponParadropAmerica 31977 UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 31978 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 31979 OCL = SUPERWEAPON_Paradrop1 31980 CreateLocation = USE_OWNER_OBJECT 31981 End 31982 Behavior = OCLSpecialPower ModuleTag_06 31983 SpecialPowerTemplate = SuperweaponCarpetBomb 31984 OCL = SUPERWEAPON_CarpetBomb 31985 CreateLocation = USE_OWNER_OBJECT 31986 End 31987 31988 Behavior = PhysicsBehavior ModuleTag_07 31989 Mass = 500.0 31990 End 31991 31992 Behavior = DeliverPayloadAIUpdate ModuleTag_08 31993 DoorDelay = 500 31994 MaxAttempts = 4 31995 DropOffset = X:0 Y:0 Z:-10 31996 DropDelay = 300 ; time in between each item dropped (if more than one) 31997 PutInContainer = AmericaParachute 31998 DeliveryDistance = 150 31999 End 32000 Locomotor = SET_NORMAL CINE_B52Locomotor 32001 32002 Behavior = TransportContain ModuleTag_09 32003 Slots = 100 ; hey, it's a BIG transport 32004 ScatterNearbyOnExit = No 32005 OrientLikeContainerOnExit = Yes 32006 KeepContainerVelocityOnExit = Yes 32007 ExitPitchRate = 30 32008 ExitBone = WeaponA01 32009 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE 32010 DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em 32011 NumberOfExitPaths = 0 32012 DestroyRidersWhoAreNotFreeToExit = Yes 32013 End 32014 32015 Behavior = JetSlowDeathBehavior ModuleTag_10 32016 DestructionDelay = 2000 32017 RollRate = 0.0 32018 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 32019 PitchRate = 0 32020 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 32021 FXInitialDeath = FX_JetBigDeathInitial 32022 OCLInitialDeath = OCL_AmericaJetCargoDeathStart 32023 DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time 32024 OCLSecondary = OCL_AmericaJetCargoHulkDeath 32025 FXSecondary = FX_BigPlaneDeath 32026 ; FXFinalBlowUp = FX_JetDeathFinalBlowUp 32027 ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp 32028 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 32029 End 32030 32031 Behavior = TransitionDamageFX ModuleTag_11 32032 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 32033 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 32034 End 32035 32036 Geometry = Box 32037 GeometryIsSmall = No 32038 GeometryMajorRadius = 60.0 32039 GeometryMinorRadius = 10.0 32040 GeometryHeight = 10.0 32041 Shadow = SHADOW_VOLUME 32042 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 32043 32044 End 32045 32046 ;------------------------------------------------------------------------------ 32047 ; *********************** Cinematic-only unit ********************************* 32048 Object CINE_GLAInfantryRebel 32049 32050 ; *** ART Parameters *** 32051 SelectPortrait = SURebel_L 32052 ButtonImage = SURebel 32053 32054 UpgradeCameo1 = Upgrade_GLAAPBullets 32055 UpgradeCameo2 = Upgrade_GLACamouflage 32056 ;UpgradeCameo3 = NONE 32057 ;UpgradeCameo4 = NONE 32058 ;UpgradeCameo5 = NONE 32059 32060 Draw = W3DModelDraw ModuleTag_01 32061 32062 OkToChangeModelColor = Yes 32063 32064 ; this says "we don't use these condition states at all, so completely 32065 ; ignore them for purposes of matchmaking"... this is useful to help 32066 ; reduce the number of AliasConditionState clauses you must add in 32067 ; order to avoid ambiguity in some cases. 32068 IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A 32069 32070 ; ---- standing 32071 DefaultConditionState 32072 Model = UIRGrd_SKN 32073 IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35 32074 IdleAnimation = UIRGrd_SKL.UIRGrd_IDA 32075 IdleAnimation = UIRGrd_SKL.UIRGrd_IDB 32076 AnimationMode = ONCE 32077 WeaponFireFXBone = PRIMARY Muzzle 32078 WeaponMuzzleFlash = PRIMARY MuzzleFX 32079 TransitionKey = TRANS_Standing 32080 End 32081 32082 ConditionState = REALLYDAMAGED 32083 IdleAnimation = UIRGrd_SKL.UIRGrd_STB 0 35 32084 IdleAnimation = UIRGrd_SKL.UIRGrd_IDC 32085 IdleAnimation = UIRGrd_SKL.UIRGrd_IDD 32086 AnimationMode = ONCE 32087 TransitionKey = TRANS_StandingHurt 32088 End 32089 32090 ; ---- moving 32091 ConditionState = MOVING 32092 Animation = UIRGrd_SKL.UIRGrd_RNA 21 ; used to be 15 32093 AnimationMode = LOOP 32094 TransitionKey = TRANS_Walking 32095 ParticleSysBone = None InfantryDustTrails 32096 End 32097 AliasConditionState = MOVING ATTACKING 32098 32099 ConditionState = MOVING REALLYDAMAGED 32100 Animation = UIRGrd_SKL.UIRGrd_RNB 25 32101 AnimationMode = LOOP 32102 TransitionKey = TRANS_WalkingHurt 32103 ParticleSysBone = None InfantryDustTrails 32104 End 32105 AliasConditionState = MOVING ATTACKING REALLYDAMAGED 32106 32107 ; ---- dying 32108 ConditionState = DYING 32109 Animation = UIRGrd_SKL.UIRGrd_DTA 32110 Animation = UIRGrd_SKL.UIRGrd_DTB 32111 AnimationMode = ONCE 32112 TransitionKey = TRANS_Dying 32113 End 32114 32115 TransitionState = TRANS_Dying TRANS_Flailing 32116 Animation = UIRGrd_SKL.UIRGrd_ADTE1 32117 AnimationMode = ONCE 32118 End 32119 32120 ConditionState = DYING EXPLODED_FLAILING 32121 Animation = UIRGrd_SKL.UIRGrd_ADTE2 32122 AnimationMode = LOOP 32123 TransitionKey = TRANS_Flailing 32124 End 32125 32126 ConditionState = DYING EXPLODED_BOUNCING 32127 Animation = UIRGrd_SKL.UIRGrd_ADTE3 32128 AnimationMode = ONCE 32129 TransitionKey = None 32130 End 32131 32132 ; ---- firing 32133 ConditionState = USING_WEAPON_A 32134 Animation = UIRGrd_SKL.UIRGrd_ATA 32135 AnimationMode = LOOP 32136 TransitionKey = TRANS_Firing 32137 End 32138 32139 ConditionState = USING_WEAPON_A REALLYDAMAGED 32140 Animation = UIRGrd_SKL.UIRGrd_ATA2 32141 AnimationMode = LOOP 32142 TransitionKey = TRANS_FiringHurt 32143 End 32144 32145 TransitionState = TRANS_Standing TRANS_Firing 32146 Animation = UIRGrd_SKL.UIRGrd_ATAST 32147 AnimationMode = ONCE 32148 End 32149 32150 TransitionState = TRANS_Firing TRANS_Standing 32151 Animation = UIRGrd_SKL.UIRGrd_ATAED 32152 AnimationMode = ONCE 32153 End 32154 32155 TransitionState = TRANS_StandingHurt TRANS_FiringHurt 32156 Animation = UIRGrd_SKL.UIRGrd_ATA2ED 32157 AnimationMode = ONCE_BACKWARDS 32158 End 32159 32160 TransitionState = TRANS_FiringHurt TRANS_StandingHurt 32161 Animation = UIRGrd_SKL.UIRGrd_ATA2ED 32162 AnimationMode = ONCE 32163 End 32164 32165 ; ------- Bldg-capture 32166 32167 ConditionState = UNPACKING 32168 Model = UIRGrd_F_SKN 32169 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 32170 AnimationMode = ONCE 32171 End 32172 AliasConditionState = UNPACKING REALLYDAMAGED 32173 32174 ConditionState = RAISING_FLAG 32175 Model = UIRGrd_F_SKN 32176 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 32177 AnimationMode = ONCE 32178 TransitionKey = TRANS_Raising 32179 End 32180 AliasConditionState = RAISING_FLAG REALLYDAMAGED 32181 32182 ConditionState = PACKING 32183 Model = UIRGrd_F_SKN 32184 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 32185 AnimationMode = ONCE_BACKWARDS 32186 Flags = START_FRAME_LAST 32187 TransitionKey = TRANS_Packing 32188 End 32189 AliasConditionState = PACKING REALLYDAMAGED 32190 32191 TransitionState = TRANS_Raising TRANS_Packing 32192 Model = UIRGrd_F_SKN 32193 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 32194 AnimationMode = ONCE_BACKWARDS 32195 Flags = START_FRAME_LAST 32196 End 32197 32198 End 32199 32200 ; ***DESIGN parameters *** 32201 DisplayName = OBJECT:Rebel 32202 Side = GLA 32203 EditorSorting = INFANTRY 32204 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 32205 32206 WeaponSet 32207 Conditions = None 32208 Weapon = PRIMARY GLARebelMachineGun 32209 End 32210 ; sorry, no tranqs, cut for this version (srj) 32211 ; WeaponSet 32212 ; Conditions = PLAYER_UPGRADE 32213 ; Weapon = PRIMARY GLARebelMachineGun 32214 ; Weapon = SECONDARY GLARebelTranqDartsWeapon 32215 ; AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 32216 ; AutoChooseSources = SECONDARY NONE 32217 ; End 32218 32219 ArmorSet 32220 Conditions = None 32221 Armor = HumanArmor 32222 DamageFX = InfantryDamageFX 32223 End 32224 VisionRange = 150 32225 ShroudClearingRange = 300 32226 Prerequisites 32227 Object = GLABarracks 32228 End 32229 BuildCost = 150 32230 BuildTime = 5.0 ;in seconds 32231 32232 ExperienceValue = 15 15 30 40 ;Experience point value at each level 32233 ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level 32234 IsTrainable = Yes ;Can gain experience 32235 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 32236 CommandSet = GLAInfantryRebelCommandSet 32237 32238 ; *** AUDIO Parameters *** 32239 VoiceSelect = RebelVoiceSelect 32240 VoiceMove = RebelVoiceMove 32241 VoiceGuard = RebelVoiceMove 32242 VoiceAttack = RebelVoiceAttack 32243 SoundDie = RebelVoiceDie 32244 SoundDieFire = DieByFireGLA 32245 SoundDieToxin = DieByToxinGLA 32246 SoundStealthOn = StealthOn 32247 SoundStealthOff = StealthOff 32248 VoiceFear = RebelVoiceFear 32249 VoiceTaskComplete = RebelVoiceCaptureComplete 32250 UnitSpecificSounds 32251 VoiceCreate = RebelVoiceCreate 32252 VoiceSubdue = RebelVoiceSubdue 32253 VoiceGarrison = RebelVoiceGarrison 32254 VoiceEnter = RebelVoiceMove 32255 VoiceEnterHostile = RebelVoiceMove 32256 VoiceGetHealed = RebelVoiceMove 32257 End 32258 32259 ; *** ENGINEERING Parameters *** 32260 RadarPriority = UNIT 32261 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 32262 32263 Body = ActiveBody ModuleTag_02 32264 MaxHealth = 120.0 32265 InitialHealth = 120.0 32266 End 32267 32268 Behavior = AIUpdateInterface ModuleTag_03 32269 AutoAcquireEnemiesWhenIdle = Yes 32270 End 32271 32272 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 32273 End 32274 32275 Locomotor = SET_NORMAL CINE_BasicHumanLocomotor 32276 32277 Behavior = PhysicsBehavior ModuleTag_05 32278 Mass = 5.0 32279 End 32280 Behavior = StealthUpdate ModuleTag_07 32281 StealthDelay = 2500 ; msec 32282 StealthForbiddenConditions = ATTACKING USING_ABILITY 32283 MoveThresholdSpeed = 3 32284 InnateStealth = No ;Requires upgrade first 32285 OrderIdleEnemiesToAttackMeUponReveal = Yes 32286 End 32287 32288 ; sorry, no tranq or stun bullets, cut for this version (srj) 32289 ; Behavior = WeaponSetUpgrade ModuleTag_08 32290 ; TriggeredBy = Upgrade_GLATranqDarts 32291 ; End 32292 Behavior = WeaponBonusUpgrade ModuleTag_09 32293 TriggeredBy = Upgrade_GLAAPBullets 32294 End 32295 Behavior = StealthUpgrade ModuleTag_10 32296 TriggeredBy = Upgrade_GLACamouflage 32297 End 32298 32299 32300 Behavior = SquishCollide ModuleTag_11 32301 ;nothing 32302 End 32303 32304 32305 ; --- begin Death modules --- 32306 Behavior = SlowDeathBehavior ModuleTag_Death01 32307 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 32308 SinkDelay = 3000 32309 SinkRate = 0.5 ; in Dist/Sec 32310 DestructionDelay = 8000 32311 FX = INITIAL FX_GIDie 32312 End 32313 Behavior = SlowDeathBehavior ModuleTag_Death02 32314 DeathTypes = NONE +CRUSHED +SPLATTED 32315 SinkDelay = 3000 32316 SinkRate = 0.5 ; in Dist/Sec 32317 DestructionDelay = 8000 32318 FX = INITIAL FX_GIDieCrushed 32319 End 32320 Behavior = SlowDeathBehavior ModuleTag_Death03 32321 DeathTypes = NONE +EXPLODED 32322 SinkDelay = 3000 32323 SinkRate = 0.5 ; in Dist/Sec 32324 DestructionDelay = 8000 32325 FX = INITIAL FX_GIDie 32326 FlingForce = 8 32327 FlingForceVariance = 3 32328 FlingPitch = 60 32329 FlingPitchVariance = 10 32330 End 32331 Behavior = SlowDeathBehavior ModuleTag_Death04 32332 DeathTypes = NONE +BURNED 32333 DestructionDelay = 0 32334 FX = INITIAL FX_GIDie 32335 OCL = INITIAL OCL_FlamingInfantry 32336 End 32337 Behavior = SlowDeathBehavior ModuleTag_Death05 32338 DeathTypes = NONE +POISONED 32339 DestructionDelay = 0 32340 FX = INITIAL FX_GIDie 32341 OCL = INITIAL OCL_ToxicInfantry 32342 End 32343 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 32344 DeathTypes = NONE +POISONED_BETA 32345 DestructionDelay = 0 32346 FX = INITIAL FX_GIDie 32347 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 32348 End 32349 ; --- end Death modules --- 32350 32351 Behavior = PoisonedBehavior ModuleTag_16 32352 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 32353 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 32354 End 32355 32356 Behavior = SpecialAbility ModuleTag_17 32357 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 32358 UpdateModuleStartsAttack = Yes 32359 StartsPaused = Yes 32360 InitiateSound = RebelVoiceCapture 32361 End 32362 Behavior = SpecialAbilityUpdate ModuleTag_18 32363 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 32364 StartAbilityRange = 5.0 32365 UnpackTime = 3000 ; (changing this will scale anim speed) 32366 PreparationTime = 10000 ; time to complete hack once prepared (changing this will scale anim speed) 32367 PackTime = 2000 ; (changing this will scale anim speed) 32368 DoCaptureFX = Yes 32369 End 32370 32371 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19 32372 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 32373 TriggeredBy = Upgrade_InfantryCaptureBuilding 32374 End 32375 32376 32377 Geometry = CYLINDER 32378 Scale = 0.95 ;Scaling 32379 GeometryMajorRadius = 1 32380 GeometryMinorRadius = 1 32381 GeometryHeight = 8.0 32382 GeometryIsSmall = Yes 32383 Shadow = SHADOW_DECAL 32384 ShadowSizeX = 9; 32385 ShadowSizeY = 9; 32386 ShadowTexture = ShadowI; 32387 BuildCompletion = APPEARS_AT_RALLY_POINT 32388 32389 End 32390 32391 ;------------------------------------------------------------------------------ 32392 ; *********************** Cinematic-only unit ********************************* 32393 ;Tunnel Fanatic ;Now called the RPG Trooper 32394 Object CINE_GLAInfantryTunnelDefender 32395 32396 ; *** ART Parameters *** 32397 SelectPortrait = SURPG_L 32398 ButtonImage = SURPG 32399 32400 UpgradeCameo1 = Upgrade_GLAAPRockets 32401 ;UpgradeCameo2 = NONE 32402 ;UpgradeCameo3 = NONE 32403 ;UpgradeCameo4 = NONE 32404 ;UpgradeCameo5 = NONE 32405 32406 Draw = W3DModelDraw ModuleTag_01 32407 OkToChangeModelColor = Yes 32408 32409 DefaultConditionState 32410 Model = UITunF_SKN 32411 IdleAnimation = UITunF_SKL.UITunF_STA 0 20 32412 IdleAnimation = UITunF_SKL.UITunF_IDA 32413 IdleAnimation = UITunF_SKL.UITunF_IDB 32414 IdleAnimation = UITunF_SKL.UITunF_IDC 32415 AnimationMode = ONCE 32416 WeaponMuzzleFlash = PRIMARY MuzzleFX 32417 WeaponFireFXBone = PRIMARY Muzzle 32418 WeaponLaunchBone = PRIMARY Muzzle 32419 End 32420 32421 ConditionState = MOVING 32422 Animation = UITunF_SKL.UITunF_WKA 18.5 ; used to be 16 32423 Animation = UITunF_SKL.UITunF_WKB 36 ; used to be 30 32424 Animation = UITunF_SKL.UITunF_WKC 40 ; used to be 30 32425 Animation = UITunF_SKL.UITunF_RNA 25 ; used to be 15 32426 Animation = UITunF_SKL.UITunF_RNB 38 ; used to be 25 32427 AnimationMode = LOOP 32428 ParticleSysBone = None InfantryDustTrails 32429 End 32430 32431 ConditionState = DYING 32432 Animation = UITunF_SKL.UITunF_DTA 32433 Animation = UITunF_SKL.UITunF_DTB 32434 AnimationMode = ONCE 32435 TransitionKey = TRANS_Dying 32436 End 32437 32438 TransitionState = TRANS_Dying TRANS_Flailing 32439 Animation = UITunF_SKL.UITunF_ADTA1 32440 Animation = UITunF_SKL.UITunF_ADTE1 32441 Animation = UITunF_SKL.UITunF_ADTF1 32442 AnimationMode = ONCE 32443 End 32444 32445 ConditionState = DYING EXPLODED_FLAILING 32446 Animation = UITunF_SKL.UITunF_ADTA2 32447 Animation = UITunF_SKL.UITunF_ADTE2 32448 Animation = UITunF_SKL.UITunF_ADTF2 32449 AnimationMode = LOOP 32450 TransitionKey = TRANS_Flailing 32451 End 32452 32453 ConditionState = DYING EXPLODED_BOUNCING 32454 Animation = UITunF_SKL.UITunF_ADTA3 32455 Animation = UITunF_SKL.UITunF_ADTE3 32456 Animation = UITunF_SKL.UITunF_ADTF3 32457 AnimationMode = ONCE 32458 TransitionKey = None 32459 End 32460 32461 ConditionState = FIRING_A 32462 Animation = UITunF_SKL.UITunF_ATA 32463 AnimationMode = ONCE 32464 TransitionKey = TRANS_START_FIRING 32465 End 32466 ConditionState = BETWEEN_FIRING_SHOTS_A 32467 Animation = UITunF_SKL.UITunF_STA 32468 AnimationMode = ONCE 32469 ; this is basically a trick: this guy has a nontrivial animation for firing, 32470 ; and a long recycle time between shots. we want him to finish his fire animation 32471 ; (unless he's ordered to do something else), so this is just a handy trick that 32472 ; says, "if the previous state had this transition key, allow it to finish before 32473 ; switching to us, if possible". 32474 WaitForStateToFinishIfPossible = TRANS_START_FIRING 32475 End 32476 AliasConditionState = RELOADING_A 32477 32478 ConditionState = SPECIAL_CHEERING 32479 Animation = UITUNF_SKL.UITUNF_CHA 32480 AnimationMode = LOOP 32481 End 32482 32483 End 32484 32485 ; ***DESIGN parameters *** 32486 DisplayName = OBJECT:TunnelDefender 32487 Side = GLA 32488 EditorSorting = INFANTRY 32489 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 32490 WeaponSet 32491 Conditions = None 32492 Weapon = PRIMARY TunnelDefenderRocketWeapon 32493 End 32494 ArmorSet 32495 Conditions = None 32496 Armor = HumanArmor 32497 DamageFX = InfantryDamageFX 32498 End 32499 VisionRange = 150 32500 ShroudClearingRange = 400 32501 ; Prerequisites 32502 ; Object = GLATunnelNetwork 32503 ; End 32504 BuildCost = 300 32505 BuildTime = 5.0 ;in seconds 32506 32507 ExperienceValue = 20 20 40 60 ;Experience point value at each level 32508 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 32509 IsTrainable = Yes ;Can gain experience 32510 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 32511 CommandSet = GLAInfantryTunnelDefenderCommandSet 32512 32513 ; *** AUDIO Parameters *** 32514 VoiceSelect = RPGTrooperVoiceSelect 32515 VoiceMove = RPGTrooperVoiceMove 32516 VoiceGuard = RPGTrooperVoiceMove 32517 VoiceAttack = RPGTrooperVoiceAttack 32518 VoiceAttackAir = RPGTrooperVoiceAttack 32519 SoundDie = RPGTrooperVoiceDie 32520 SoundDieFire = DieByFireGLA 32521 SoundDieToxin = DieByToxinGLA 32522 VoiceFear = RPGTrooperVoiceFear 32523 UnitSpecificSounds 32524 VoiceCreate = RPGTrooperVoiceCreate 32525 VoiceGarrison = RPGTrooperVoiceGarrison 32526 VoiceEnter = RPGTrooperVoiceMove 32527 VoiceEnterHostile = RPGTrooperVoiceMove 32528 VoiceGetHealed = RPGTrooperVoiceMove 32529 End 32530 32531 32532 ; *** ENGINEERING Parameters *** 32533 RadarPriority = UNIT 32534 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 32535 32536 Body = ActiveBody ModuleTag_02 32537 MaxHealth = 100.0 32538 InitialHealth = 100.0 32539 End 32540 32541 Behavior = AIUpdateInterface ModuleTag_03 32542 AutoAcquireEnemiesWhenIdle = Yes 32543 End 32544 Locomotor = SET_NORMAL CINE_MissileDefenderLocomotor 32545 32546 Behavior = PhysicsBehavior ModuleTag_04 32547 Mass = 5.0 32548 End 32549 32550 Behavior = SquishCollide ModuleTag_06 32551 ;nothing 32552 End 32553 32554 ; --- begin Death modules --- 32555 Behavior = SlowDeathBehavior ModuleTag_Death01 32556 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 32557 SinkDelay = 3000 32558 SinkRate = 0.5 ; in Dist/Sec 32559 DestructionDelay = 8000 32560 FX = INITIAL FX_GIDie 32561 End 32562 Behavior = SlowDeathBehavior ModuleTag_Death02 32563 DeathTypes = NONE +CRUSHED +SPLATTED 32564 SinkDelay = 3000 32565 SinkRate = 0.5 ; in Dist/Sec 32566 DestructionDelay = 8000 32567 FX = INITIAL FX_GIDieCrushed 32568 End 32569 Behavior = SlowDeathBehavior ModuleTag_Death03 32570 DeathTypes = NONE +EXPLODED 32571 SinkDelay = 3000 32572 SinkRate = 0.5 ; in Dist/Sec 32573 DestructionDelay = 8000 32574 FX = INITIAL FX_GIDie 32575 FlingForce = 8 32576 FlingForceVariance = 3 32577 FlingPitch = 60 32578 FlingPitchVariance = 10 32579 End 32580 Behavior = SlowDeathBehavior ModuleTag_Death04 32581 DeathTypes = NONE +BURNED 32582 DestructionDelay = 0 32583 FX = INITIAL FX_GIDie 32584 OCL = INITIAL OCL_FlamingInfantry 32585 End 32586 Behavior = SlowDeathBehavior ModuleTag_Death05 32587 DeathTypes = NONE +POISONED 32588 DestructionDelay = 0 32589 FX = INITIAL FX_GIDie 32590 OCL = INITIAL OCL_ToxicInfantry 32591 End 32592 ; --- end Death modules --- 32593 32594 Behavior = PoisonedBehavior ModuleTag_12 32595 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 32596 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 32597 End 32598 32599 Geometry = CYLINDER 32600 Scale = 0.95 ;Scaling 32601 GeometryMajorRadius = 1.0 32602 GeometryMinorRadius = 1.0 32603 GeometryHeight = 8.0 32604 GeometryIsSmall = Yes 32605 Shadow = SHADOW_DECAL 32606 ShadowSizeX = 9; 32607 ShadowSizeY = 9; 32608 ShadowTexture = ShadowI; 32609 BuildCompletion = APPEARS_AT_RALLY_POINT 32610 32611 End 32612 32613 ;------------------------------------------------------------------------------ 32614 ; ************************* Cinematic-only unit ******************************* 32615 ;------------------------------------------------------------------------------ 32616 ; this unit is never really "built"; building one triggers the random building of 32617 ; one of the other chassis. If you want a *specific* chassis, choose it explicitly; 32618 ; if you want a chassis at random, specify this. 32619 Object CINE_GLAVehicleTechnical 32620 32621 ; *** ART Parameters *** 32622 32623 Draw = W3DModelDraw ModuleTag_01 32624 DefaultConditionState 32625 ; give it a model so it'll show up in WB 32626 Model = UVTechTrck 32627 End 32628 End 32629 32630 ; set cost and time fields here or else they won't work 32631 BuildCost = 500 32632 BuildTime = 5.0 ;in seconds 32633 32634 ; Needed to get the Veterancy Overlays on top of the Technical with his build variations. 32635 ;------------------------------------------------------------ 32636 Behavior = VeterancyGainCreate ModuleTag_03 32637 StartingLevel = VETERAN 32638 ScienceRequired = SCIENCE_TechnicalTraining 32639 End 32640 32641 Side = GLA 32642 EditorSorting = VEHICLE 32643 BuildVariations = CINE_GLAVehicleTechnicalChassisOne CINE_GLAVehicleTechnicalChassisTwo CINE_GLAVehicleTechnicalChassisThree 32644 32645 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE TRANSPORT 32646 32647 End 32648 32649 ;------------------------------------------------------------------------------ 32650 ; ************************* Cinematic-only unit ******************************* 32651 Object CINE_GLAVehicleTechnicalChassisOne 32652 32653 ; *** ART Parameters *** 32654 SelectPortrait = SUTechnical_L 32655 ButtonImage = SUTechnical 32656 32657 UpgradeCameo1 = Upgrade_GLAAPBullets 32658 UpgradeCameo2 = Upgrade_GLAJunkRepair 32659 ;UpgradeCameo3 = NONE 32660 ;UpgradeCameo4 = NONE 32661 ;UpgradeCameo5 = NONE 32662 32663 Draw = W3DTruckDraw ModuleTag_01 32664 32665 ExtraPublicBone = Dum_Turret 32666 32667 DefaultConditionState 32668 Model = UVTechTrck 32669 End 32670 ConditionState = REALLYDAMAGED 32671 Model = UVTechTrck_d 32672 End 32673 ConditionState = RUBBLE 32674 Model = UVTechTrck_d 32675 End 32676 32677 OkToChangeModelColor = Yes 32678 TrackMarks = EXTireTrack.tga 32679 Dust = TechnicalDust 32680 DirtSpray = RocketBuggyDirtSpray 32681 PowerslideSpray = RocketBuggyDirtPowerSlide 32682 32683 ; These parameters are only used if the model has a separate suspension, 32684 ; and the locomotor has HasSuspension = Yes. 32685 LeftFrontTireBone = Tire01 32686 RightFrontTireBone = Tire02 32687 LeftRearTireBone = Tire03 32688 RightRearTireBone = Tire04 32689 TireRotationMultiplier = 0.2 ; this * speed = rotation. 32690 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 32691 End 32692 32693 Draw = W3DModelDraw ModuleTag_02 32694 32695 OkToChangeModelColor = Yes 32696 AttachToBoneInAnotherModule = Dum_Turret 32697 32698 ; ------------------ basic technical ------------------------ 32699 DefaultConditionState 32700 Model = UITech_SKN 32701 Turret = Dum-TurManMVR 32702 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 32703 HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 32704 IdleAnimation = UITech_SKL.UITech_STA 0 6 32705 IdleAnimation = UITech_SKL.UITech_IDA 32706 IdleAnimation = UITech_SKL.UITech_IDB 32707 AnimationMode = ONCE 32708 ShowSubObject = 20Cal 32709 WeaponMuzzleFlash = PRIMARY MuzzleFX01 32710 WeaponFireFXBone = PRIMARY Muzzle01 32711 End 32712 32713 ConditionState = RUBBLE MOVING TURRET_ROTATE 32714 Animation = None 32715 HideSubObject = UITech-SKN 32716 ShowSubObject = 20Cal 32717 WeaponMuzzleFlash = PRIMARY MuzzleFX01 32718 WeaponFireFXBone = PRIMARY Muzzle01 32719 End 32720 32721 ConditionState = MOVING 32722 Animation = UITech_SKL.UITech_MVB 32723 AnimationMode = LOOP 32724 ShowSubObject = 20Cal 32725 WeaponMuzzleFlash = PRIMARY MuzzleFX01 32726 WeaponFireFXBone = PRIMARY Muzzle01 32727 End 32728 32729 ConditionState = TURRET_ROTATE 32730 Animation = UITech_SKL.UITech_TNA 32731 AnimationMode = LOOP 32732 ShowSubObject = 20Cal 32733 WeaponMuzzleFlash = PRIMARY MuzzleFX01 32734 WeaponFireFXBone = PRIMARY Muzzle01 32735 End 32736 AliasConditionState = TURRET_ROTATE MOVING 32737 AliasConditionState = TURRET_ROTATE FIRING_A 32738 AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 32739 AliasConditionState = TURRET_ROTATE RELOADING_A 32740 AliasConditionState = TURRET_ROTATE MOVING FIRING_A 32741 AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 32742 AliasConditionState = TURRET_ROTATE MOVING RELOADING_A 32743 32744 ConditionState = FIRING_A 32745 Animation = UITech_SKL.UITech_ATA 32746 AnimationMode = LOOP 32747 ShowSubObject = 20Cal 32748 WeaponMuzzleFlash = PRIMARY MuzzleFX01 32749 WeaponFireFXBone = PRIMARY Muzzle01 32750 End 32751 32752 ; AliasConditionState is a new keyword that says, 32753 ; "give me another ConditionState exactly like the previous 32754 ; one, except with different conditions". Useful when you 32755 ; have several states that are the same with only different condition bits. 32756 AliasConditionState = BETWEEN_FIRING_SHOTS_A 32757 AliasConditionState = RELOADING_A 32758 32759 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 32760 AliasConditionState = MOVING FIRING_A 32761 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 32762 AliasConditionState = MOVING RELOADING_A 32763 32764 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ 32765 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 32766 IdleAnimation = UITech_SKL.UITech_STA 0 6 32767 IdleAnimation = UITech_SKL.UITech_IDA 32768 IdleAnimation = UITech_SKL.UITech_IDB 32769 AnimationMode = ONCE 32770 ShowSubObject = 50Cal 32771 WeaponMuzzleFlash = PRIMARY MuzzleFX02 32772 WeaponFireFXBone = PRIMARY Muzzle02 32773 WeaponLaunchBone = PRIMARY Muzzle02 32774 End 32775 32776 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE 32777 Animation = None 32778 HideSubObject = UITech-SKN 32779 ShowSubObject = 50Cal 32780 WeaponMuzzleFlash = PRIMARY MuzzleFX02 32781 WeaponFireFXBone = PRIMARY Muzzle02 32782 WeaponLaunchBone = PRIMARY Muzzle02 32783 End 32784 32785 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE 32786 Animation = UITech_SKL.UITech_MVB 32787 AnimationMode = LOOP 32788 ShowSubObject = 50Cal 32789 WeaponMuzzleFlash = PRIMARY MuzzleFX02 32790 WeaponFireFXBone = PRIMARY Muzzle02 32791 WeaponLaunchBone = PRIMARY Muzzle02 32792 End 32793 32794 ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE 32795 Animation = UITech_SKL.UITech_TNA 32796 AnimationMode = LOOP 32797 ShowSubObject = 50Cal 32798 WeaponMuzzleFlash = PRIMARY MuzzleFX02 32799 WeaponFireFXBone = PRIMARY Muzzle02 32800 WeaponLaunchBone = PRIMARY Muzzle02 32801 End 32802 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING 32803 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A 32804 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 32805 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A 32806 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A 32807 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 32808 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A 32809 32810 ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 32811 Animation = UITech_SKL.UITech_ATA 32812 AnimationMode = LOOP 32813 ShowSubObject = 50Cal 32814 WeaponMuzzleFlash = PRIMARY MuzzleFX02 32815 WeaponFireFXBone = PRIMARY Muzzle02 32816 WeaponLaunchBone = PRIMARY Muzzle02 32817 End 32818 32819 ; AliasConditionState is a new keyword that says, 32820 ; "give me another ConditionState exactly like the previous 32821 ; one, except with different conditions". Useful when you 32822 ; have several states that are the same with only different condition bits. 32823 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A 32824 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A 32825 32826 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 32827 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A 32828 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A 32829 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A 32830 32831 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ 32832 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 32833 IdleAnimation = UITech_SKL.UITech_STA 0 6 32834 IdleAnimation = UITech_SKL.UITech_IDA 32835 IdleAnimation = UITech_SKL.UITech_IDB 32836 AnimationMode = ONCE 32837 ShowSubObject = RPG 32838 WeaponFireFXBone = PRIMARY Muzzle03 32839 WeaponLaunchBone = PRIMARY Muzzle03 32840 End 32841 32842 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE 32843 Animation = None 32844 HideSubObject = UITech-SKN 32845 ShowSubObject = RPG 32846 WeaponFireFXBone = PRIMARY Muzzle03 32847 WeaponLaunchBone = PRIMARY Muzzle03 32848 End 32849 32850 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO 32851 Animation = UITech_SKL.UITech_MVB 32852 AnimationMode = LOOP 32853 ShowSubObject = RPG 32854 WeaponFireFXBone = PRIMARY Muzzle03 32855 WeaponLaunchBone = PRIMARY Muzzle03 32856 End 32857 32858 ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE 32859 Animation = UITech_SKL.UITech_TNA 32860 AnimationMode = LOOP 32861 ShowSubObject = RPG 32862 WeaponFireFXBone = PRIMARY Muzzle03 32863 WeaponLaunchBone = PRIMARY Muzzle03 32864 End 32865 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING 32866 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A 32867 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 32868 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A 32869 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A 32870 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 32871 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A 32872 32873 ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A 32874 Animation = UITech_SKL.UITech_ATA 32875 AnimationMode = LOOP 32876 ShowSubObject = RPG 32877 WeaponFireFXBone = PRIMARY Muzzle03 32878 WeaponLaunchBone = PRIMARY Muzzle03 32879 End 32880 32881 ; AliasConditionState is a new keyword that says, 32882 ; "give me another ConditionState exactly like the previous 32883 ; one, except with different conditions". Useful when you 32884 ; have several states that are the same with only different condition bits. 32885 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A 32886 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A 32887 32888 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 32889 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A 32890 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A 32891 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A 32892 32893 End 32894 32895 ; ***DESIGN parameters *** 32896 DisplayName = OBJECT:Technical 32897 Side = GLA 32898 EditorSorting = VEHICLE 32899 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 32900 32901 WeaponSet 32902 Conditions = None 32903 Weapon = PRIMARY TechnicalMachineGunWeapon 32904 End 32905 WeaponSet 32906 Conditions = CRATEUPGRADE_ONE 32907 Weapon = PRIMARY TechnicalCannonWeapon 32908 End 32909 WeaponSet 32910 Conditions = CRATEUPGRADE_TWO 32911 Weapon = PRIMARY TechnicalRPGWeapon 32912 End 32913 ArmorSet 32914 Conditions = None 32915 Armor = TruckArmor 32916 DamageFX = TruckDamageFX 32917 End 32918 ;update cost and time fields in Object GLAVehicleTechnical, or else they won't work 32919 ;BuildCost = 300 32920 ;BuildTime = 5.0 ;in seconds 32921 VisionRange = 100 32922 ShroudClearingRange = 300 32923 Prerequisites 32924 Object = GLAArmsDealer 32925 End 32926 32927 ExperienceValue = 25 25 50 100 ;Experience point value at each level 32928 ExperienceRequired = 0 50 75 150 ;Experience points needed to gain each level 32929 IsTrainable = Yes ;Can gain experience 32930 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 32931 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 32932 CommandSet = GLAVehicleTechnicalCommandSet 32933 32934 ; *** AUDIO Parameters *** 32935 VoiceSelect = TechnicalVoiceSelect 32936 VoiceMove = TechnicalVoiceMove 32937 VoiceGuard = TechnicalVoiceMove 32938 VoiceAttack = TechnicalVoiceAttack 32939 SoundMoveStart = TechnicalMoveStart 32940 SoundMoveStartDamaged = TechnicalMoveStart 32941 SoundDie = TechnicalVoiceDie 32942 SoundEnter = HumveeEnter 32943 SoundExit = HumveeExit 32944 32945 UnitSpecificSounds 32946 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 32947 VoiceCreate = TechnicalVoiceCreate 32948 TurretMoveStart = NoSound 32949 TurretMoveLoop = TurretMoveLoop 32950 TruckLandingSound = RocketBuggyLand 32951 TruckPowerslideSound = RocketBuggyPowerslide 32952 VoiceCrush = TechnicalVoiceCrush 32953 VoiceUnload = TechnicalVoiceUnload 32954 VoiceEnter = TechnicalVoiceMove 32955 End 32956 32957 ; *** ENGINEERING Parameters *** 32958 RadarPriority = UNIT 32959 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE TRANSPORT 32960 32961 Behavior = VeterancyGainCreate ModuleTag_03 32962 StartingLevel = VETERAN 32963 ScienceRequired = SCIENCE_TechnicalTraining 32964 End 32965 32966 Body = ActiveBody ModuleTag_04 32967 MaxHealth = 180 32968 InitialHealth = 180 32969 End 32970 Behavior = AIUpdateInterface ModuleTag_05 32971 Turret 32972 TurretTurnRate = 240 ; turn rate, in degrees per sec 32973 NaturalTurretAngle = 0 32974 MinIdleScanAngle = 30 ; in degrees off the natural turret angle 32975 MaxIdleScanAngle = 60 ; in degrees off the natural turret angle 32976 MinIdleScanInterval = 5000 ; in milliseconds 32977 MaxIdleScanInterval = 10000 ; in milliseconds 32978 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY 32979 End 32980 AutoAcquireEnemiesWhenIdle = Yes 32981 End 32982 Locomotor = SET_NORMAL CINE_TechnicalLocomotor 32983 Behavior = PhysicsBehavior ModuleTag_06 32984 Mass = 40.0 32985 End 32986 Behavior = AutoHealBehavior ModuleTag_07 32987 HealingAmount = 2 32988 HealingDelay = 1000 ; msec 32989 TriggeredBy = Upgrade_GLAJunkRepair 32990 End 32991 32992 Behavior = FlammableUpdate ModuleTag_09 32993 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 32994 AflameDamageAmount = 3 ; taking this much damage... 32995 AflameDamageDelay = 500 ; this often. 32996 End 32997 32998 Behavior = TransitionDamageFX ModuleTag_10 32999 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 33000 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 33001 End 33002 33003 Behavior = DestroyDie ModuleTag_11 33004 DeathTypes = NONE +CRUSHED +SPLATTED 33005 End 33006 33007 ; A crushing defeat 33008 Behavior = FXListDie ModuleTag_12 33009 DeathTypes = NONE +CRUSHED +SPLATTED 33010 DeathFX = FX_CarCrush 33011 End 33012 Behavior = CreateObjectDie ModuleTag_13 33013 DeathTypes = NONE +CRUSHED +SPLATTED 33014 CreationList = OCL_CrusaderTank_CrushEffect 33015 End 33016 Behavior = CreateCrateDie ModuleTag_14 33017 CrateData = SalvageCrateData 33018 ;CrateData = EliteTankCrateData 33019 ;CrateData = HeroicTankCrateData 33020 End 33021 33022 Behavior = SlowDeathBehavior ModuleTag_15 33023 DeathTypes = ALL -CRUSHED -SPLATTED 33024 DestructionDelay = 500 33025 DestructionDelayVariance = 1500 33026 OCL = INITIAL OCL_TechnicalAirDeathStart 33027 FX = INITIAL FX_RocketBuggyAirDeathGroundPart 33028 OCL = FINAL OCL_RocketBuggyAirDeath 33029 FX = FINAL FX_RocketBuggyAirDeathAirPart ; This happens in the air 33030 End 33031 33032 Behavior = TransportContain ModuleTag_16 33033 Slots = 5 33034 AllowInsideKindOf = INFANTRY 33035 DamagePercentToUnits = 10% 33036 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 33037 End 33038 33039 Behavior = WeaponBonusUpgrade ModuleTag_17 ; Not a full weapon set switch, just a number tweak reflected in a weapon. 33040 TriggeredBy = Upgrade_GLAAPBullets 33041 End 33042 33043 Geometry = BOX 33044 GeometryMajorRadius = 18.0 33045 GeometryMinorRadius = 9.0 33046 GeometryHeight = 7.5 33047 GeometryIsSmall = No 33048 Shadow = SHADOW_VOLUME 33049 33050 End 33051 33052 ;------------------------------------------------------------------------------ 33053 ; ************************* Cinematic-only unit ******************************* 33054 ObjectReskin CINE_GLAVehicleTechnicalChassisTwo CINE_GLAVehicleTechnicalChassisOne 33055 33056 ; *** ART Parameters *** 33057 Draw = W3DTruckDraw ModuleTag_01 33058 33059 ExtraPublicBone = Dum_Turret 33060 33061 DefaultConditionState 33062 Model = UVTechVan 33063 End 33064 33065 ConditionState = REALLYDAMAGED 33066 Model = UVTechVan_d 33067 End 33068 ConditionState = RUBBLE 33069 Model = UVTechVan_d 33070 End 33071 33072 OkToChangeModelColor = Yes 33073 TrackMarks = EXTireTrack.tga 33074 Dust = TechnicalDust 33075 33076 ;DirtSpray = RocketBuggyDirtSpray 33077 PowerslideSpray = RocketBuggyDirtPowerSlide 33078 33079 ; These parameters are only used if the model has a separate suspension, 33080 ; and the locomotor has HasSuspension = Yes. 33081 LeftFrontTireBone = Tire01 33082 RightFrontTireBone = Tire02 33083 LeftRearTireBone = Tire03 33084 RightRearTireBone = Tire04 33085 TireRotationMultiplier = 0.2 ; this * speed = rotation. 33086 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 33087 End 33088 33089 Draw = W3DModelDraw ModuleTag_02 33090 OkToChangeModelColor = Yes 33091 AttachToBoneInAnotherModule = Dum_Turret 33092 33093 ; ------------------ basic technical ------------------------ 33094 DefaultConditionState 33095 Model = UITech_SKN 33096 Turret = Dum-TurManMVR 33097 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 33098 HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 33099 IdleAnimation = UITech_SKL.UITech_STA 0 6 33100 IdleAnimation = UITech_SKL.UITech_IDA 33101 IdleAnimation = UITech_SKL.UITech_IDB 33102 AnimationMode = ONCE 33103 ShowSubObject = 20Cal 33104 WeaponMuzzleFlash = PRIMARY MuzzleFX01 33105 WeaponFireFXBone = PRIMARY Muzzle01 33106 End 33107 33108 ConditionState = RUBBLE MOVING TURRET_ROTATE 33109 Animation = None 33110 HideSubObject = UITech-SKN 33111 ShowSubObject = 20Cal 33112 WeaponMuzzleFlash = PRIMARY MuzzleFX01 33113 WeaponFireFXBone = PRIMARY Muzzle01 33114 End 33115 33116 ConditionState = MOVING 33117 Animation = UITech_SKL.UITech_MVB 33118 AnimationMode = LOOP 33119 ShowSubObject = 20Cal 33120 WeaponMuzzleFlash = PRIMARY MuzzleFX01 33121 WeaponFireFXBone = PRIMARY Muzzle01 33122 End 33123 33124 ConditionState = TURRET_ROTATE 33125 Animation = UITech_SKL.UITech_TNA 33126 AnimationMode = LOOP 33127 ShowSubObject = 20Cal 33128 WeaponMuzzleFlash = PRIMARY MuzzleFX01 33129 WeaponFireFXBone = PRIMARY Muzzle01 33130 End 33131 AliasConditionState = TURRET_ROTATE MOVING 33132 AliasConditionState = TURRET_ROTATE FIRING_A 33133 AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 33134 AliasConditionState = TURRET_ROTATE RELOADING_A 33135 AliasConditionState = TURRET_ROTATE MOVING FIRING_A 33136 AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 33137 AliasConditionState = TURRET_ROTATE MOVING RELOADING_A 33138 33139 ConditionState = FIRING_A 33140 Animation = UITech_SKL.UITech_ATA 33141 AnimationMode = LOOP 33142 ShowSubObject = 20Cal 33143 WeaponMuzzleFlash = PRIMARY MuzzleFX01 33144 WeaponFireFXBone = PRIMARY Muzzle01 33145 End 33146 33147 ; AliasConditionState is a new keyword that says, 33148 ; "give me another ConditionState exactly like the previous 33149 ; one, except with different conditions". Useful when you 33150 ; have several states that are the same with only different condition bits. 33151 AliasConditionState = BETWEEN_FIRING_SHOTS_A 33152 AliasConditionState = RELOADING_A 33153 33154 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 33155 AliasConditionState = MOVING FIRING_A 33156 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 33157 AliasConditionState = MOVING RELOADING_A 33158 33159 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ 33160 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 33161 IdleAnimation = UITech_SKL.UITech_STA 0 6 33162 IdleAnimation = UITech_SKL.UITech_IDA 33163 IdleAnimation = UITech_SKL.UITech_IDB 33164 AnimationMode = ONCE 33165 ShowSubObject = 50Cal 33166 WeaponMuzzleFlash = PRIMARY MuzzleFX02 33167 WeaponFireFXBone = PRIMARY Muzzle02 33168 WeaponLaunchBone = PRIMARY Muzzle02 33169 End 33170 33171 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE 33172 Animation = None 33173 HideSubObject = UITech-SKN 33174 ShowSubObject = 50Cal 33175 WeaponMuzzleFlash = PRIMARY MuzzleFX02 33176 WeaponFireFXBone = PRIMARY Muzzle02 33177 WeaponLaunchBone = PRIMARY Muzzle02 33178 End 33179 33180 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE 33181 Animation = UITech_SKL.UITech_MVB 33182 AnimationMode = LOOP 33183 ShowSubObject = 50Cal 33184 WeaponMuzzleFlash = PRIMARY MuzzleFX02 33185 WeaponFireFXBone = PRIMARY Muzzle02 33186 WeaponLaunchBone = PRIMARY Muzzle02 33187 End 33188 33189 ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE 33190 Animation = UITech_SKL.UITech_TNA 33191 AnimationMode = LOOP 33192 ShowSubObject = 50Cal 33193 WeaponMuzzleFlash = PRIMARY MuzzleFX02 33194 WeaponFireFXBone = PRIMARY Muzzle02 33195 WeaponLaunchBone = PRIMARY Muzzle02 33196 End 33197 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING 33198 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A 33199 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 33200 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A 33201 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A 33202 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 33203 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A 33204 33205 ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 33206 Animation = UITech_SKL.UITech_ATA 33207 AnimationMode = LOOP 33208 ShowSubObject = 50Cal 33209 WeaponMuzzleFlash = PRIMARY MuzzleFX02 33210 WeaponFireFXBone = PRIMARY Muzzle02 33211 WeaponLaunchBone = PRIMARY Muzzle02 33212 End 33213 33214 ; AliasConditionState is a new keyword that says, 33215 ; "give me another ConditionState exactly like the previous 33216 ; one, except with different conditions". Useful when you 33217 ; have several states that are the same with only different condition bits. 33218 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A 33219 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A 33220 33221 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 33222 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A 33223 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A 33224 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A 33225 33226 33227 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ 33228 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 33229 IdleAnimation = UITech_SKL.UITech_STA 0 6 33230 IdleAnimation = UITech_SKL.UITech_IDA 33231 IdleAnimation = UITech_SKL.UITech_IDB 33232 AnimationMode = ONCE 33233 ShowSubObject = RPG 33234 WeaponFireFXBone = PRIMARY Muzzle03 33235 WeaponLaunchBone = PRIMARY Muzzle03 33236 End 33237 33238 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE 33239 Animation = None 33240 HideSubObject = UITech-SKN 33241 ShowSubObject = RPG 33242 WeaponFireFXBone = PRIMARY Muzzle03 33243 WeaponLaunchBone = PRIMARY Muzzle03 33244 End 33245 33246 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO 33247 Animation = UITech_SKL.UITech_MVB 33248 AnimationMode = LOOP 33249 ShowSubObject = RPG 33250 WeaponFireFXBone = PRIMARY Muzzle03 33251 WeaponLaunchBone = PRIMARY Muzzle03 33252 End 33253 33254 ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE 33255 Animation = UITech_SKL.UITech_TNA 33256 AnimationMode = LOOP 33257 ShowSubObject = RPG 33258 WeaponFireFXBone = PRIMARY Muzzle03 33259 WeaponLaunchBone = PRIMARY Muzzle03 33260 End 33261 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING 33262 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A 33263 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 33264 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A 33265 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A 33266 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 33267 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A 33268 33269 ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A 33270 Animation = UITech_SKL.UITech_ATA 33271 AnimationMode = LOOP 33272 ShowSubObject = RPG 33273 WeaponFireFXBone = PRIMARY Muzzle03 33274 WeaponLaunchBone = PRIMARY Muzzle03 33275 End 33276 33277 ; AliasConditionState is a new keyword that says, 33278 ; "give me another ConditionState exactly like the previous 33279 ; one, except with different conditions". Useful when you 33280 ; have several states that are the same with only different condition bits. 33281 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A 33282 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A 33283 33284 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 33285 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A 33286 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A 33287 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A 33288 33289 End 33290 33291 Geometry = BOX 33292 GeometryMajorRadius = 16.0 33293 GeometryMinorRadius = 8.0 33294 GeometryHeight = 7.5 33295 GeometryIsSmall = Yes 33296 33297 End 33298 33299 ;------------------------------------------------------------------------------ 33300 ;-------------------------------------------- 33301 ;------------------------------------------------------------------------------ 33302 33303 ;------------------------------------------------------------------------------ 33304 ; ************************* Cinematic-only unit ******************************* 33305 ObjectReskin CINE_GLAVehicleTechnicalChassisThree CINE_GLAVehicleTechnicalChassisOne 33306 33307 ; *** ART Parameters *** 33308 Draw = W3DTruckDraw ModuleTag_01 33309 33310 ExtraPublicBone = Dum_Turret 33311 33312 DefaultConditionState 33313 Model = UVTechJeep 33314 End 33315 33316 ConditionState = REALLYDAMAGED 33317 Model = UVTechJeep_d 33318 End 33319 ConditionState = RUBBLE 33320 Model = UVTechJeep_d 33321 End 33322 33323 OkToChangeModelColor = Yes 33324 TrackMarks = EXTireTrack.tga 33325 Dust = TechnicalDust 33326 33327 ;DirtSpray = RocketBuggyDirtSpray 33328 PowerslideSpray = RocketBuggyDirtPowerSlide 33329 33330 ; These parameters are only used if the model has a separate suspension, 33331 ; and the locomotor has HasSuspension = Yes. 33332 LeftFrontTireBone = Tire01 33333 RightFrontTireBone = Tire02 33334 LeftRearTireBone = Tire03 33335 RightRearTireBone = Tire04 33336 TireRotationMultiplier = 0.2 ; this * speed = rotation. 33337 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 33338 End 33339 33340 Draw = W3DModelDraw ModuleTag_02 33341 OkToChangeModelColor = Yes 33342 AttachToBoneInAnotherModule = Dum_Turret 33343 33344 ; ------------------ basic technical ------------------------ 33345 DefaultConditionState 33346 Model = UITech_SKN 33347 Turret = Dum-TurManMVR 33348 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 33349 HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 33350 IdleAnimation = UITech_SKL.UITech_STA 0 6 33351 IdleAnimation = UITech_SKL.UITech_IDA 33352 IdleAnimation = UITech_SKL.UITech_IDB 33353 AnimationMode = ONCE 33354 ShowSubObject = 20Cal 33355 WeaponMuzzleFlash = PRIMARY MuzzleFX01 33356 WeaponFireFXBone = PRIMARY Muzzle01 33357 End 33358 33359 ConditionState = RUBBLE MOVING TURRET_ROTATE 33360 Animation = None 33361 HideSubObject = UITech-SKN 33362 ShowSubObject = 20Cal 33363 WeaponMuzzleFlash = PRIMARY MuzzleFX01 33364 WeaponFireFXBone = PRIMARY Muzzle01 33365 End 33366 33367 ConditionState = MOVING 33368 Animation = UITech_SKL.UITech_MVB 33369 AnimationMode = LOOP 33370 ShowSubObject = 20Cal 33371 WeaponMuzzleFlash = PRIMARY MuzzleFX01 33372 WeaponFireFXBone = PRIMARY Muzzle01 33373 End 33374 33375 ConditionState = TURRET_ROTATE 33376 Animation = UITech_SKL.UITech_TNA 33377 AnimationMode = LOOP 33378 ShowSubObject = 20Cal 33379 WeaponMuzzleFlash = PRIMARY MuzzleFX01 33380 WeaponFireFXBone = PRIMARY Muzzle01 33381 End 33382 AliasConditionState = TURRET_ROTATE MOVING 33383 AliasConditionState = TURRET_ROTATE FIRING_A 33384 AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 33385 AliasConditionState = TURRET_ROTATE RELOADING_A 33386 AliasConditionState = TURRET_ROTATE MOVING FIRING_A 33387 AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 33388 AliasConditionState = TURRET_ROTATE MOVING RELOADING_A 33389 33390 ConditionState = FIRING_A 33391 Animation = UITech_SKL.UITech_ATA 33392 AnimationMode = LOOP 33393 ShowSubObject = 20Cal 33394 WeaponMuzzleFlash = PRIMARY MuzzleFX01 33395 WeaponFireFXBone = PRIMARY Muzzle01 33396 End 33397 33398 ; AliasConditionState is a new keyword that says, 33399 ; "give me another ConditionState exactly like the previous 33400 ; one, except with different conditions". Useful when you 33401 ; have several states that are the same with only different condition bits. 33402 AliasConditionState = BETWEEN_FIRING_SHOTS_A 33403 AliasConditionState = RELOADING_A 33404 33405 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 33406 AliasConditionState = MOVING FIRING_A 33407 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 33408 AliasConditionState = MOVING RELOADING_A 33409 33410 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ 33411 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 33412 IdleAnimation = UITech_SKL.UITech_STA 0 6 33413 IdleAnimation = UITech_SKL.UITech_IDA 33414 IdleAnimation = UITech_SKL.UITech_IDB 33415 AnimationMode = ONCE 33416 ShowSubObject = 50Cal 33417 WeaponMuzzleFlash = PRIMARY MuzzleFX02 33418 WeaponFireFXBone = PRIMARY Muzzle02 33419 WeaponLaunchBone = PRIMARY Muzzle02 33420 End 33421 33422 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE 33423 Animation = None 33424 HideSubObject = UITech-SKN 33425 ShowSubObject = 50Cal 33426 WeaponMuzzleFlash = PRIMARY MuzzleFX02 33427 WeaponFireFXBone = PRIMARY Muzzle02 33428 WeaponLaunchBone = PRIMARY Muzzle02 33429 End 33430 33431 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE 33432 Animation = UITech_SKL.UITech_MVB 33433 AnimationMode = LOOP 33434 ShowSubObject = 50Cal 33435 WeaponMuzzleFlash = PRIMARY MuzzleFX02 33436 WeaponFireFXBone = PRIMARY Muzzle02 33437 WeaponLaunchBone = PRIMARY Muzzle02 33438 End 33439 33440 ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE 33441 Animation = UITech_SKL.UITech_TNA 33442 AnimationMode = LOOP 33443 ShowSubObject = 50Cal 33444 WeaponMuzzleFlash = PRIMARY MuzzleFX02 33445 WeaponFireFXBone = PRIMARY Muzzle02 33446 WeaponLaunchBone = PRIMARY Muzzle02 33447 End 33448 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING 33449 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A 33450 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 33451 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A 33452 33453 ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 33454 Animation = UITech_SKL.UITech_ATA 33455 AnimationMode = LOOP 33456 ShowSubObject = 50Cal 33457 WeaponMuzzleFlash = PRIMARY MuzzleFX02 33458 WeaponFireFXBone = PRIMARY Muzzle02 33459 WeaponLaunchBone = PRIMARY Muzzle02 33460 End 33461 33462 ; AliasConditionState is a new keyword that says, 33463 ; "give me another ConditionState exactly like the previous 33464 ; one, except with different conditions". Useful when you 33465 ; have several states that are the same with only different condition bits. 33466 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A 33467 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A 33468 33469 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 33470 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A 33471 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A 33472 AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A 33473 33474 ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ 33475 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 33476 IdleAnimation = UITech_SKL.UITech_STA 0 6 33477 IdleAnimation = UITech_SKL.UITech_IDA 33478 IdleAnimation = UITech_SKL.UITech_IDB 33479 AnimationMode = ONCE 33480 ShowSubObject = RPG 33481 WeaponFireFXBone = PRIMARY Muzzle03 33482 WeaponLaunchBone = PRIMARY Muzzle03 33483 End 33484 33485 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE 33486 Animation = None 33487 HideSubObject = UITech-SKN 33488 ShowSubObject = RPG 33489 WeaponFireFXBone = PRIMARY Muzzle03 33490 WeaponLaunchBone = PRIMARY Muzzle03 33491 End 33492 33493 ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO 33494 Animation = UITech_SKL.UITech_MVB 33495 AnimationMode = LOOP 33496 ShowSubObject = RPG 33497 WeaponFireFXBone = PRIMARY Muzzle03 33498 WeaponLaunchBone = PRIMARY Muzzle03 33499 End 33500 33501 ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE 33502 Animation = UITech_SKL.UITech_TNA 33503 AnimationMode = LOOP 33504 ShowSubObject = RPG 33505 WeaponFireFXBone = PRIMARY Muzzle03 33506 WeaponLaunchBone = PRIMARY Muzzle03 33507 End 33508 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING 33509 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A 33510 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 33511 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A 33512 33513 ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A 33514 Animation = UITech_SKL.UITech_ATA 33515 AnimationMode = LOOP 33516 ShowSubObject = RPG 33517 WeaponFireFXBone = PRIMARY Muzzle03 33518 WeaponLaunchBone = PRIMARY Muzzle03 33519 End 33520 33521 ; AliasConditionState is a new keyword that says, 33522 ; "give me another ConditionState exactly like the previous 33523 ; one, except with different conditions". Useful when you 33524 ; have several states that are the same with only different condition bits. 33525 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A 33526 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A 33527 33528 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 33529 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A 33530 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A 33531 AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A 33532 33533 End 33534 33535 Geometry = BOX 33536 GeometryMajorRadius = 14.0 33537 GeometryMinorRadius = 9.0 33538 GeometryHeight = 9.5 33539 GeometryIsSmall = Yes 33540 33541 End 33542 33543 ;------------------------------------------------------------------------------ 33544 ; ************************* Cinematic-only unit ******************************* 33545 Object CINE_AmericaVehicleComanche 33546 33547 ; *** ART Parameters *** 33548 SelectPortrait = SACCommanche_L 33549 ButtonImage = SACCommanche 33550 33551 UpgradeCameo1 = Upgrade_ComancheRocketPods 33552 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 33553 ;UpgradeCameo3 = NONE 33554 ;UpgradeCameo4 = NONE 33555 ;UpgradeCameo5 = NONE 33556 33557 Draw = W3DModelDraw ModuleTag_01 33558 33559 DefaultConditionState 33560 Model = AVComanche 33561 HideSubObject = MissileUpgrade 33562 Animation = AVComanche.AVComanche 33563 AnimationMode = LOOP 33564 WeaponMuzzleFlash = PRIMARY TurretFX 33565 WeaponFireFXBone = PRIMARY Muzzle 33566 WeaponFireFXBone = SECONDARY Muzzle 33567 WeaponLaunchBone = SECONDARY Muzzle 33568 End 33569 33570 ConditionState = REALLYDAMAGED 33571 Model = AVComanche_d 33572 Animation = AVComanche_d.AVComanche_d 33573 AnimationMode = LOOP 33574 End 33575 33576 ConditionState = WEAPONSET_PLAYER_UPGRADE 33577 ShowSubObject = MissileUpgrade 33578 Animation = AVComanche.AVComanche 33579 AnimationMode = LOOP 33580 WeaponFireFXBone = TERTIARY WeaponB 33581 WeaponLaunchBone = TERTIARY WeaponB 33582 End 33583 33584 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 33585 Model = AVComanche_d 33586 ShowSubObject = MissileUpgrade 33587 Animation = AVComanche_d.AVComanche_d 33588 AnimationMode = LOOP 33589 WeaponFireFXBone = TERTIARY WeaponB 33590 WeaponLaunchBone = TERTIARY WeaponB 33591 End 33592 33593 ConditionState = RUBBLE 33594 Model = AVComanche_d 33595 Animation = AVComanche_d.AVComanche_d 33596 AnimationMode = LOOP 33597 End 33598 33599 ConditionState = RUBBLE SPECIAL_DAMAGED 33600 Model = AVComanche_d 33601 HideSubObject = AVComanche_Prop 33602 End 33603 33604 OkToChangeModelColor = Yes 33605 End 33606 33607 ; ***DESIGN parameters *** 33608 DisplayName = OBJECT:Comanche 33609 EditorSorting = VEHICLE 33610 Side = America 33611 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 33612 VisionRange = 400.0 33613 ShroudClearingRange = 600 33614 Prerequisites 33615 Object = AmericaAirfield 33616 End 33617 33618 WeaponSet 33619 Conditions = None 33620 ; ----- 33621 Weapon = PRIMARY Comanche20mmCannonWeapon 33622 PreferredAgainst = PRIMARY INFANTRY 33623 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 33624 ; ----- 33625 Weapon = SECONDARY ComancheAntiTankMissileWeapon 33626 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 33627 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 33628 ; ----- 33629 Weapon = TERTIARY NONE 33630 End 33631 WeaponSet 33632 Conditions = PLAYER_UPGRADE 33633 ; ----- 33634 Weapon = PRIMARY Comanche20mmCannonWeapon 33635 PreferredAgainst = PRIMARY INFANTRY 33636 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 33637 ; ----- 33638 Weapon = SECONDARY ComancheAntiTankMissileWeapon 33639 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 33640 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 33641 ; ----- 33642 Weapon = TERTIARY ComancheRocketPodWeapon 33643 AutoChooseSources = TERTIARY NONE 33644 End 33645 ArmorSet 33646 Conditions = None 33647 Armor = ComancheArmor 33648 DamageFX = None 33649 End 33650 BuildCost = 1500 33651 BuildTime = 20 ; in seconds 33652 ExperienceValue = 50 50 100 200 ; Experience point value at each level 33653 ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level 33654 IsTrainable = Yes ; Can gain experience 33655 CommandSet = AmericaVehicleComancheCommandSet 33656 33657 ; *** AUDIO Parameters *** 33658 VoiceSelect = ComancheVoiceSelect 33659 VoiceMove = ComancheVoiceMove 33660 VoiceGuard = ComancheVoiceMove 33661 VoiceAttack = ComancheVoiceAttack 33662 SoundAmbient = ComancheAmbientLoop 33663 SoundAmbientRubble = NoSound 33664 SoundDie = ComancheVoiceFalling 33665 UnitSpecificSounds 33666 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 33667 VoiceCreate = ComancheVoiceCreate 33668 SoundEject = PilotSoundEject 33669 VoiceEject = PilotVoiceEject 33670 Afterburner = RaptorAfterburner 33671 VoiceGarrison = ComancheVoiceMove 33672 TurretMoveStart = NoSound 33673 TurretMoveLoop = NoSound 33674 End 33675 33676 33677 ; *** ENGINEERING Parameters *** 33678 RadarPriority = UNIT 33679 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD 33680 33681 Behavior = WeaponSetUpgrade ModuleTag_02 33682 TriggeredBy = Upgrade_ComancheRocketPods 33683 End 33684 Behavior = ExperienceScalarUpgrade ModuleTag_03 33685 TriggeredBy = Upgrade_AmericaAdvancedTraining 33686 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 33687 End 33688 33689 Body = ActiveBody ModuleTag_04 33690 MaxHealth = 220.0 33691 InitialHealth = 220.0 33692 End 33693 33694 Behavior = FXListDie ModuleTag_05 33695 DeathFX = FX_HelicopterStartDeath 33696 End 33697 33698 Behavior = JetAIUpdate ModuleTag_06 33699 MinHeight = 5 33700 NeedsRunway = No 33701 KeepsParkingSpaceWhenAirborne = No 33702 AutoAcquireEnemiesWhenIdle = Yes 33703 ; note that comanches do not return to base when idle 33704 33705 ; this is a bit of a trick... normally, units cannot move-and-fire at 33706 ; the same time. we need the comanche to be able to. so we give it 33707 ; a "turret" (invisible) and put the two main weapons on it, but with 33708 ; no turn rate. voila! 33709 Turret 33710 TurretTurnRate = 0 ; this "turret" does not turn 33711 TurretPitchRate = 0 ; nor does it pitch 33712 ControlledWeaponSlots = PRIMARY SECONDARY 33713 End 33714 33715 End 33716 Locomotor = SET_NORMAL CINE_ComancheLocomotor 33717 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 33718 33719 Behavior = PhysicsBehavior ModuleTag_07 33720 Mass = 50.0 33721 End 33722 Behavior = HelicopterSlowDeathBehavior ModuleTag_08 33723 DestructionDelay = 99999999 ; the destruction delay 33724 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 33725 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 33726 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 33727 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 33728 SoundDeathLoop = ComancheDamagedLoop 33729 MinSelfSpin = 100 ; in degrees per second 33730 MaxSelfSpin = 300 ; in degrees per second 33731 SelfSpinUpdateDelay = 100 ; in milliseconds 33732 SelfSpinUpdateAmount = 10 ; in degrees 33733 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 33734 MinBladeFlyOffDelay = 1500 ; in milliseconds 33735 MaxBladeFlyOffDelay = 1500 ; in milliseconds 33736 AttachParticle = SootySmokeTrail 33737 AttachParticleBone = Propeller02 33738 BladeObjectName = ComancheBlades 33739 BladeBoneName = Propeller01 33740 ; Most things that eject pilots do so immediately upon death, 33741 ; via use of EjectPilotDie, but Helicopters are a special case... 33742 ; they need to do so after their blades are ejected. 33743 OCLEjectPilot = OCL_EjectPilotViaParachute 33744 FXBlade = FX_HelicopterBladeExplosion 33745 OCLBlade = OCL_HelicopterBladeExplosion 33746 FXHitGround = FX_HelicopterHitGround 33747 OCLHitGround = OCL_HelicopterHitGround 33748 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 33749 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 33750 DelayFromGroundToFinalDeath = 1500 33751 FinalRubbleObject = ComancheRubbleHull 33752 End 33753 33754 Behavior = TransitionDamageFX ModuleTag_09 33755 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 33756 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 33757 End 33758 33759 Behavior = FlammableUpdate ModuleTag_21 33760 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 33761 AflameDamageAmount = 3 ; taking this much damage... 33762 AflameDamageDelay = 500 ; this often. 33763 End 33764 33765 Geometry = BOX 33766 GeometryMajorRadius = 20.0 33767 GeometryMinorRadius = 3.0 33768 GeometryHeight = 25.0 33769 GeometryIsSmall = No 33770 Shadow = SHADOW_VOLUME 33771 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 33772 33773 End 33774 33775 ;------------------------------------------------------------------------------ 33776 ; *************************** Cinematic-only unit ***************************** 33777 Object CINE_GLATankScorpion 33778 33779 ; *** ART Parameters *** 33780 SelectPortrait = SUScorpion_L 33781 ButtonImage = SUScorpion 33782 33783 UpgradeCameo1 = Upgrade_GLAScorpionRocket 33784 UpgradeCameo2 = Upgrade_GLAAPRockets 33785 UpgradeCameo3 = Upgrade_GLAToxinShells 33786 UpgradeCameo4 = Upgrade_GLAJunkRepair 33787 ;UpgradeCameo5 = NONE 33788 33789 Draw = W3DTankDraw ModuleTag_01 33790 OkToChangeModelColor = Yes 33791 33792 ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset 33793 33794 DefaultConditionState 33795 Model = UVLiteTank 33796 Turret = Turret01 33797 ; note, order-dependent: we must hide/show Missile AFTER we hide/show MissileRack! 33798 HideSubObject = MissleRack01 Missile ; MissileRack misspelled in the Art 33799 WeaponFireFXBone = PRIMARY Muzzle 33800 WeaponRecoilBone = PRIMARY Barrel 33801 WeaponMuzzleFlash = PRIMARY MuzzleFX 33802 WeaponLaunchBone = PRIMARY Muzzle 33803 End 33804 33805 ConditionState = REALLYDAMAGED 33806 Model = UVLiteTank_d 33807 End 33808 33809 ConditionState = RUBBLE 33810 Model = UVLiteTank_d 33811 End 33812 33813 ConditionState = WEAPONSET_PLAYER_UPGRADE 33814 ShowSubObject = MissleRack01 33815 WeaponFireFXBone = SECONDARY WeaponA 33816 WeaponLaunchBone = SECONDARY WeaponA 33817 WeaponHideShowBone = SECONDARY Missile 33818 End 33819 33820 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 33821 Model = UVLiteTank_d 33822 ShowSubObject = MissleRack01 33823 WeaponFireFXBone = SECONDARY WeaponA 33824 WeaponLaunchBone = SECONDARY WeaponA 33825 WeaponHideShowBone = SECONDARY Missile 33826 End 33827 33828 TrackMarks = EXTnkTrack.tga 33829 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 33830 End 33831 33832 ; ***DESIGN parameters *** 33833 DisplayName = OBJECT:Scorpion 33834 Side = GLA 33835 EditorSorting = VEHICLE 33836 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 33837 WeaponSet 33838 Conditions = None 33839 Weapon = PRIMARY ScorpionTankGun 33840 Weapon = SECONDARY None 33841 End 33842 WeaponSet 33843 Conditions = PLAYER_UPGRADE 33844 Weapon = PRIMARY ScorpionTankGun 33845 Weapon = SECONDARY ScorpionMissileWeapon 33846 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 33847 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 33848 End 33849 ArmorSet 33850 Conditions = None 33851 Armor = TankArmor 33852 DamageFX = TankDamageFX 33853 End 33854 BuildCost = 600 33855 BuildTime = 7.0 ;in seconds 33856 VisionRange = 125 33857 ShroudClearingRange = 300 33858 Prerequisites 33859 Object = GLAArmsDealer 33860 End 33861 33862 ExperienceValue = 60 60 120 200 ;Experience point value at each level 33863 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 33864 IsTrainable = Yes ;Can gain experience 33865 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 33866 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 33867 CommandSet = GLATankScorpionCommandSet 33868 33869 ; *** AUDIO Parameters *** 33870 VoiceSelect = ScorpionTankVoiceSelect 33871 VoiceMove = ScorpionTankVoiceMove 33872 VoiceAttack = ScorpionTankVoiceAttack 33873 SoundMoveStart = ScorpionTankMoveStart 33874 SoundMoveStartDamaged = ScorpionTankMoveStart 33875 VoiceGuard = ScorpionTankVoiceMove 33876 33877 UnitSpecificSounds 33878 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 33879 VoiceCreate = ScorpionTankVoiceCreate 33880 ;TurretMoveStart = NoSound 33881 TurretMoveLoop = TurretMoveLoop 33882 VoiceEnter = ScorpionTankVoiceMove 33883 End 33884 33885 ; *** ENGINEERING Parameters *** 33886 RadarPriority = UNIT 33887 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 33888 33889 Body = ActiveBody ModuleTag_02 33890 MaxHealth = 370.0 33891 InitialHealth = 370.0 33892 End 33893 33894 Behavior = AIUpdateInterface ModuleTag_03 33895 Turret 33896 TurretTurnRate = 100 33897 RecenterTime = 5000 ; how long to wait during idle before recentering 33898 ControlledWeaponSlots = PRIMARY SECONDARY 33899 End 33900 AutoAcquireEnemiesWhenIdle = Yes 33901 End 33902 Locomotor = SET_NORMAL CINE_ScorpionLocomotor 33903 Behavior = PhysicsBehavior ModuleTag_04 33904 Mass = 50.0 33905 End 33906 Behavior = AutoHealBehavior ModuleTag_05 33907 HealingAmount = 2 33908 HealingDelay = 1000 ; msec 33909 TriggeredBy = Upgrade_GLAJunkRepair 33910 End 33911 33912 ; Catch fire, and explode death 33913 Behavior = SlowDeathBehavior ModuleTag_06 33914 DeathTypes = ALL -CRUSHED -SPLATTED 33915 ProbabilityModifier = 50 33916 DestructionDelay = 2000 33917 DestructionDelayVariance = 300 33918 FX = INITIAL FX_CrusaderCatchFire 33919 OCL = FINAL OCL_GenericTankDeathEffect 33920 FX = FINAL FX_BattleMasterExplosionOneFinal 33921 End 33922 33923 Behavior = WeaponSetUpgrade ModuleTag_07 33924 TriggeredBy = Upgrade_GLAScorpionRocket 33925 End 33926 33927 Behavior = DestroyDie ModuleTag_09 33928 DeathTypes = NONE +CRUSHED +SPLATTED 33929 End 33930 33931 ; A crushing defeat 33932 Behavior = FXListDie ModuleTag_10 33933 DeathTypes = NONE +CRUSHED +SPLATTED 33934 DeathFX = FX_CarCrush 33935 End 33936 Behavior = CreateObjectDie ModuleTag_11 33937 DeathTypes = NONE +CRUSHED +SPLATTED 33938 CreationList = OCL_CrusaderTank_CrushEffect 33939 End 33940 Behavior = CreateCrateDie ModuleTag_12 33941 CrateData = SalvageCrateData 33942 ;CrateData = EliteTankCrateData 33943 ;CrateData = HeroicTankCrateData 33944 End 33945 33946 Behavior = TransitionDamageFX ModuleTag_13 33947 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 33948 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 33949 End 33950 33951 Behavior = FlammableUpdate ModuleTag_21 33952 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 33953 AflameDamageAmount = 3 ; taking this much damage... 33954 AflameDamageDelay = 500 ; this often. 33955 End 33956 33957 Geometry = BOX 33958 GeometryMajorRadius = 14.0 33959 GeometryMinorRadius = 9.0 33960 GeometryHeight = 10.5 33961 GeometryIsSmall = Yes 33962 Shadow = SHADOW_VOLUME 33963 33964 End 33965 33966 ;------------------------------------------------------------------------------ 33967 ;************************* Cinematic-only unit ******************************** 33968 Object CINE_ChinaJetMIG 33969 33970 ; *** ART Parameters *** 33971 SelectPortrait = SNMig_L 33972 ButtonImage = SNMig 33973 33974 UpgradeCameo1 = Upgrade_ChinaAircraftArmor 33975 UpgradeCameo2 = Upgrade_ChinaBlackNapalm 33976 ;UpgradeCameo3 = NONE 33977 ;UpgradeCameo4 = NONE 33978 ;UpgradeCameo5 = NONE 33979 33980 Draw = W3DModelDraw ModuleTag_01 33981 33982 OkToChangeModelColor = Yes 33983 33984 DefaultConditionState 33985 Model = NVMIG 33986 HideSubObject = BurnerFX01 BurnerFX02 33987 WeaponLaunchBone = PRIMARY WeaponA 33988 End 33989 33990 ConditionState = JETEXHAUST 33991 ParticleSysBone = Wingtip01 JetContrail 33992 ParticleSysBone = Wingtip02 JetContrail 33993 End 33994 33995 ConditionState = JETEXHAUST JETAFTERBURNER 33996 ShowSubObject = BurnerFX01 BurnerFX02 33997 ParticleSysBone = Exhaust01 JetExhaust 33998 ParticleSysBone = Exhaust02 JetExhaust 33999 ParticleSysBone = Wingtip01 JetContrail 34000 ParticleSysBone = Wingtip02 JetContrail 34001 End 34002 34003 ConditionState = REALLYDAMAGED 34004 Model = NVMIG_D 34005 ParticleSysBone = Wingtip01 JetContrail 34006 ParticleSysBone = Wingtip02 JetContrail 34007 End 34008 34009 ConditionState = RUBBLE 34010 Model = NVMIG_D 34011 End 34012 34013 ConditionState = REALLYDAMAGED JETEXHAUST 34014 Model = NVMIG_D 34015 ParticleSysBone = Wingtip01 JetContrail 34016 ParticleSysBone = Wingtip02 JetContrail 34017 End 34018 34019 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 34020 Model = NVMIG_D 34021 ShowSubObject = BurnerFX01 BurnerFX02 34022 ParticleSysBone = Engine01 JetExhaust 34023 ParticleSysBone = Engine02 JetExhaust 34024 ParticleSysBone = Wingtip01 JetContrail 34025 ParticleSysBone = Wingtip02 JetContrail 34026 End 34027 34028 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 34029 ; @todo srj -- model missing 34030 ;Model = NVMIG_D1B 34031 Model = NVMIG_D 34032 ;HideSubObject is needed cause there're inherited from default condition state 34033 HideSubObject = None 34034 ShowSubObject = None 34035 ParticleSysBone = Engine01 JetExhaust 34036 ParticleSysBone = Engine02 JetExhaust 34037 ParticleSysBone = Wingtip01 JetContrail 34038 ParticleSysBone = Wingtip02 JetContrail 34039 End 34040 34041 End 34042 34043 ; ***DESIGN parameters *** 34044 DisplayName = OBJECT:MIG 34045 EditorSorting = VEHICLE 34046 Side = China 34047 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 34048 VisionRange = 300.0 34049 ShroudClearingRange = 300.0 34050 34051 Prerequisites 34052 Object = ChinaAirfield 34053 End 34054 34055 WeaponSet 34056 Conditions = None 34057 Weapon = PRIMARY NapalmMissileWeapon 34058 AutoChooseSources = PRIMARY NONE 34059 End 34060 WeaponSet 34061 Conditions = PLAYER_UPGRADE 34062 Weapon = PRIMARY BlackNapalmMissileWeapon 34063 AutoChooseSources = PRIMARY NONE 34064 End 34065 34066 ArmorSet 34067 Conditions = None 34068 Armor = AirplaneArmor 34069 DamageFX = None 34070 End 34071 34072 BuildCost = 1000 34073 BuildTime = 10 34074 ExperienceValue = 50 50 100 150 ;Experience point value at each level 34075 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 34076 IsTrainable = Yes ;Can gain experience 34077 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 34078 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 34079 CommandSet = ChinaJetMIGCommandSet 34080 34081 ; *** AUDIO Parameters *** 34082 VoiceSelect = MigVoiceSelect 34083 VoiceMove = MigVoiceMove 34084 VoiceAttack = MigVoiceAttack 34085 VoiceAttackAir = MigVoiceAttackAir 34086 VoiceGuard = MigVoiceAirPatrol 34087 SoundMoveLoop = NoSound ; don't want sound while sitting 34088 SoundAmbient = MigAmbientLoop 34089 SoundAmbientRubble = NoSound 34090 SoundDie = MigVoiceFalling 34091 UnitSpecificSounds 34092 VoiceCreate = MigVoiceCreate 34093 Afterburner = RaptorAfterburner 34094 VoiceGarrison = MigVoiceMove 34095 End 34096 34097 ; *** ENGINEERING Parameters *** 34098 RadarPriority = UNIT 34099 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 34100 Body = ActiveBody ModuleTag_02 34101 MaxHealth = 160.0 34102 InitialHealth = 160.0 34103 End 34104 34105 Behavior = JetSlowDeathBehavior ModuleTag_03 34106 FXOnGroundDeath = FX_JetOnGroundDeath 34107 OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp_CinematicVersion 34108 DestructionDelay = 99999999 ; destruction will happen when we 34109 RollRate = 0.2 34110 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 34111 PitchRate = 0.0 34112 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 34113 FXInitialDeath = FX_JetDeathInitial 34114 OCLInitialDeath = OCL_MIGDeathInitial 34115 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 34116 FXSecondary = FX_JetDeathSecondary 34117 OCLSecondary = OCL_MIGDeathSecondary 34118 FXHitGround = FX_JetDeathHitGround 34119 OCLHitGround = OCL_MIGDeathHitGround 34120 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 34121 FXFinalBlowUp = FX_JetDeathFinalBlowUp_CinematicVersion 34122 OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp_CinematicVersion 34123 End 34124 34125 Behavior = WeaponSetUpgrade ModuleTag_04 34126 TriggeredBy = Upgrade_ChinaBlackNapalm 34127 End 34128 34129 Behavior = PhysicsBehavior ModuleTag_05 34130 Mass = 500.0 34131 End 34132 34133 Behavior = JetAIUpdate ModuleTag_06 34134 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 34135 ; note that it's expressed as a percent of max health, not an absolute 34136 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 34137 TakeoffPause = 500 34138 MinHeight = 5 34139 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 34140 End 34141 34142 Locomotor = SET_NORMAL CINE_MIGLocomotor 34143 Locomotor = SET_TAXIING CINE_BasicJetTaxiLocomotor 34144 34145 34146 Behavior = FlammableUpdate ModuleTag_08 34147 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 34148 AflameDamageAmount = 3 ; taking this much damage... 34149 AflameDamageDelay = 500 ; this often. 34150 End 34151 34152 Behavior = TransitionDamageFX ModuleTag_09 34153 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 34154 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 34155 End 34156 34157 Behavior = MaxHealthUpgrade ModuleTag_10 34158 TriggeredBy = Upgrade_ChinaAircraftArmor 34159 AddMaxHealth = 40.0 34160 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 34161 End 34162 34163 34164 34165 Geometry = Box 34166 GeometryIsSmall = Yes 34167 GeometryMajorRadius = 14.0 34168 GeometryMinorRadius = 7.0 34169 GeometryHeight = 5.0 34170 Shadow = SHADOW_VOLUME 34171 34172 Shadow = SHADOW_VOLUME 34173 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 34174 34175 End 34176 34177 ;------------------------------------------------------------------------------ 34178 ; ******************** Cinematic-only unit *********************************** 34179 Object CINE_GLAInfantryAngryMobNexus 34180 34181 ;**** ART Parameters ************************** 34182 SelectPortrait = SUAngryMob_L 34183 ButtonImage = SUAngryMob 34184 34185 UpgradeCameo1 = Upgrade_GLAArmTheMob 34186 ;UpgradeCameo2 = NONE 34187 ;UpgradeCameo3 = NONE 34188 ;UpgradeCameo4 = NONE 34189 ;UpgradeCameo5 = NONE 34190 34191 Draw = W3DModelDraw ModuleTag_01 34192 OkToChangeModelColor = Yes 34193 DefaultConditionState 34194 Model = None 34195 ; Model = AVBomber_B 34196 End 34197 End 34198 34199 34200 ;****DESIGN parameters ************************** 34201 34202 DisplayName = OBJECT:AngryMobNexus 34203 Side = GLA 34204 EditorSorting = INFANTRY 34205 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 34206 34207 WeaponSet 34208 Conditions = None 34209 Weapon = PRIMARY GLAAngryMobNexusHarmlessWeapon 34210 Weapon = SECONDARY GLAAngryMobNexusHarmlessWeapon 34211 Weapon = TERTIARY GLAAngryMobNexusHarmlessWeapon 34212 End 34213 34214 34215 ArmorSet 34216 Conditions = None 34217 Armor = InvulnerableAllArmor 34218 DamageFX = None 34219 End 34220 34221 BuildCost = 800 34222 BuildTime = 15.0 ;in seconds 34223 VisionRange = 200 ; it can scout for the spawn 34224 ShroudClearingRange = 0 34225 34226 Prerequisites 34227 Object = GLABarracks 34228 Object = GLAPalace 34229 End 34230 34231 ExperienceValue = 5 5 5 5 ;Experience point value at each level 34232 34233 IsTrainable = No 34234 34235 34236 34237 CommandSet = GLAInfantryAngryMobCommandSet; 34238 34239 ;**** AUDIO Parameters ***************************** 34240 VoiceSelect = AngryMobVoiceSelect 34241 VoiceMove = AngryMobVoiceMove 34242 VoiceAttack = AngryMobVoiceAttack 34243 SoundMoveStart = AngryMobMoveStart 34244 SoundMoveStartDamaged = AngryMobMoveStart 34245 SoundAmbient = AngryMobAmbientLoop 34246 SoundAmbientRubble = NoSound 34247 SoundDie = CivilianArabMaleDie 34248 SoundDieFire = DieByFireGLA 34249 SoundDieToxin = DieByToxinGLA 34250 UnitSpecificSounds 34251 VoiceCreate = AngryMobVoiceCreate 34252 End 34253 34254 34255 ;**** ENGINEERING Parameters ****************************** 34256 34257 RadarPriority = UNIT 34258 KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE 34259 Body = ImmortalBody ModuleTag_02 34260 MaxHealth = 99999.0 34261 InitialHealth = 99999.0 34262 End 34263 34264 Behavior = AIUpdateInterface ModuleTag_03 34265 AutoAcquireEnemiesWhenIdle = Yes 34266 End 34267 34268 Locomotor = SET_NORMAL CINE_BasicHumanLocomotor 34269 Locomotor = SET_WANDER WanderHumanLocomotor 34270 Locomotor = SET_PANIC PanicHumanLocomotor 34271 34272 Behavior = PhysicsBehavior ModuleTag_04 34273 Mass = 50.0 34274 End 34275 34276 Behavior = SpawnBehavior ModuleTag_05 34277 SpawnNumber = 17 34278 SpawnReplaceDelay = 30000 ; 30 seconds 34279 34280 34281 SpawnTemplateName = CINE_GLAInfantryAngryMobPistol01 ; Aladdin 34282 SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume 34283 SpawnTemplateName = CINE_GLAInfantryAngryMobPistol03 ; Skinny Guy with the Green Beret 34284 SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume 34285 SpawnTemplateName = CINE_GLAInfantryAngryMobPistol05 ; The robed dude with the Man-Veil 34286 SpawnTemplateName = CINE_GLAInfantryAngryMobPistol01 ; The Lady with the hot sauce 34287 34288 34289 34290 ExitByBudding = Yes;! 34291 34292 InitialBurst = 15 ; all 15 will not delay 34293 OneShot = No 34294 AggregateHealth = Yes 34295 End 34296 34297 Behavior = QueueProductionExitUpdate ModuleTag_06 34298 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 34299 NaturalRallyPoint = X: 0.0 Y: 0.0 Z:0.0 34300 ExitDelay = 5000 ; 5 sec 34301 InitialBurst = 15 ; all 15 will not delay 34302 End 34303 34304 Behavior = DestroyDie ModuleTag_07 34305 DeathTypes = ALL 34306 End 34307 34308 Geometry = CYLINDER 34309 GeometryMajorRadius = 1.0 34310 GeometryMinorRadius = 1.0 34311 GeometryHeight = 8.0 34312 GeometryIsSmall = Yes 34313 Shadow = SHADOW_VOLUME 34314 34315 End 34316 34317 ;------------------------------------------------------------------------------ 34318 ; *********************** Cinematic-only unit ********************************* 34319 Object CINE_GLAInfantryAngryMobPistol01 34320 34321 ;**** ART Parameters *** 34322 Draw = W3DModelDraw DrawTag_01 34323 OkToChangeModelColor = Yes 34324 34325 34326 34327 ; WHILE CARRYING PISTOL 34328 ;--------------------------------------------------------- 34329 DefaultConditionState ;Idle with Pistol Holstered 34330 Model = UIMOB01_SKN 34331 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA1 0 12 34332 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA2 0 5 34333 IdleAnimation = UIMOB01_SKL.UIMOB01_CHA 0 5 34334 IdleAnimation = UIMOB01_SKL.UIMOB01_STA 0 5 34335 AnimationMode = ONCE 34336 AnimationSpeedFactorRange 0.9 1.1 34337 TransitionKey = TRANS_STAND_A 34338 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34339 34340 WeaponFireFXBone = PRIMARY Muzzle 34341 WeaponMuzzleFlash = PRIMARY MuzzleFX 34342 WeaponFireFXBone = SECONDARY MuzzleAK 34343 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 34344 WeaponFireFXBone = TERTIARY "UIMOB01 R HAND" 34345 End 34346 34347 ; Drawing pistol 34348 ConditionState = PREATTACK_A 34349 Animation = UIMOB01_SKL.UIMOB01_ATA1_ST ; start firing 34350 AnimationMode = ONCE 34351 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34352 End 34353 AliasConditionState = PREATTACK_A FIRING_A 34354 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 34355 34356 ; Firing pistol 34357 ConditionState = FIRING_A 34358 Animation = UIMOB01_SKL.UIMOB01_ATA1_LP ; looping firing 34359 AnimationMode = LOOP 34360 TransitionKey = TRANS_FIRING_A 34361 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34362 End 34363 34364 ConditionState = BETWEEN_FIRING_SHOTS_A 34365 Animation = UIMOB01_SKL.UIMOB01_ATA1_LP ; looping firing 34366 AnimationMode = LOOP 34367 TransitionKey = TRANS_FIRING_A 34368 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34369 End 34370 34371 ConditionState = RELOADING_A 34372 Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing 34373 AnimationMode = ONCE 34374 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34375 End 34376 34377 ; This transition allows him to put his gun away when he's finished attacking. 34378 TransitionState = TRANS_FIRING_A TRANS_STAND_A 34379 Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing 34380 AnimationMode = ONCE 34381 End 34382 34383 ConditionState = MOVING 34384 Animation = UIMOB01_SKL.UIMOB01_RNA 34385 AnimationMode = LOOP 34386 Flags = RANDOMSTART 34387 TransitionKey = MOVING 34388 ParticleSysBone = None InfantryDustTrails 34389 End 34390 AliasConditionState = MOVING RELOADING_A 34391 AliasConditionState = MOVING PREATTACK_A 34392 AliasConditionState = MOVING FIRING_A 34393 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 34394 AliasConditionState = MOVING RELOADING_C RELOADING_A 34395 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 34396 34397 ConditionState = DYING 34398 Animation = UIMOB01_SKL.UIMOB01_DA1 34399 Animation = UIMOB01_SKL.UIMOB01_DA2 34400 AnimationMode = ONCE 34401 TransitionKey = TRANS_Dying 34402 End 34403 34404 34405 ConditionState = SPECIAL_CHEERING 34406 Animation = UIMOB01_SKL.UIMOB01_CHA 34407 AnimationMode = ONCE 34408 End 34409 34410 ;-------------------------------------------------------- 34411 34412 ; TRANSITION FROM PISTOL TO AK47 34413 TransitionState = TRANS_STAND_A TRANS_STAND_AK 34414 Animation = UIMOB01_SKL.UIMOB01_TA-D 34415 AnimationMode = ONCE 34416 End 34417 34418 34419 ; WHILE CARRYING AK47 34420 ;--------------------------------------------------------- 34421 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 34422 Model = UIMOB01_SKN 34423 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD1 0 6 34424 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD2 0 6 34425 IdleAnimation = UIMOB01_SKL.UIMOB01_CHD 0 6 34426 IdleAnimation = UIMOB01_SKL.UIMOB01_STD 34427 AnimationMode = ONCE 34428 AnimationSpeedFactorRange 0.9 1.1 34429 TransitionKey = TRANS_STAND_AK 34430 End 34431 34432 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 34433 Animation = UIMOB01_SKL.UIMOB01_RND 34434 AnimationMode = LOOP 34435 Flags = RANDOMSTART 34436 TransitionKey = MOVING_AK 34437 End 34438 34439 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 34440 Animation = UIMOB01_SKL.UIMOB01_DD1 34441 Animation = UIMOB01_SKL.UIMOB01_DD2 34442 AnimationMode = ONCE 34443 TransitionKey = TRANS_Dying 34444 End 34445 34446 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 34447 Animation = UIMOB01_SKL.UIMOB01_CHD 34448 AnimationMode = ONCE 34449 End 34450 34451 34452 ; Drawing AK47 34453 ConditionState = PREATTACK_B 34454 Animation = UIMOB01_SKL.UIMOB01_ATD1_ST ; start firing 34455 AnimationMode = ONCE 34456 End 34457 AliasConditionState = PREATTACK_B MOVING 34458 AliasConditionState = PREATTACK_B FIRING_B 34459 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 34460 34461 ; Firing Gun 34462 ConditionState = FIRING_B 34463 Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing 34464 AnimationMode = LOOP 34465 WeaponFireFXBone = SECONDARY MuzzleAK 34466 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 34467 TransitionKey = TRANS_FIRING_AK 34468 End 34469 AliasConditionState = MOVING FIRING_B 34470 34471 ConditionState = BETWEEN_FIRING_SHOTS_B 34472 Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing 34473 AnimationMode = LOOP 34474 TransitionKey = TRANS_FIRING_AK 34475 End 34476 AliasConditionState = RELOADING_B 34477 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B 34478 AliasConditionState = MOVING RELOADING_B 34479 34480 ; This transition allows him to put his gun away when he's finished attacking. 34481 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 34482 Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing 34483 AnimationMode = ONCE 34484 End 34485 34486 34487 ;Throwing bottle---------------------------------------------------------------- 34488 ConditionState = PREATTACK_C 34489 Animation = UIMOB01_SKL.UIMOB01_ATCA_BF ; the wind up 34490 End 34491 AliasConditionState = PREATTACK_C FIRING_A 34492 AliasConditionState = PREATTACK_C RELOADING_A 34493 AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 34494 34495 ConditionState = FIRING_C 34496 Animation = UIMOB01_SKL.UIMOB01_ATCA_AF ; the release and follow-thru 34497 TransitionKey = TRANS_THROW 34498 End 34499 AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 34500 34501 ConditionState RELOADING_C 34502 Animation =UIMOB01_SKL.UIMOB01_IDA1 34503 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34504 End 34505 AliasConditionState = RELOADING_C RELOADING_A 34506 AliasConditionState = RELOADING_C FIRING_A 34507 AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 34508 34509 34510 ; TransitionState = TRANSXXX TRANS_THROW 34511 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway gun and take out bottle 34512 ; End 34513 34514 ; TransitionState = TRANS_THROW TRANS_FIRING_A 34515 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get PISTOL 34516 ; End 34517 34518 ; TransitionState = TRANSXXXAK TRANS_THROW 34519 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway AK and take out bottle 34520 ; End 34521 34522 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 34523 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get AK 34524 ; End 34525 34526 34527 34528 34529 34530 ;-------------------------------------------------------- 34531 34532 34533 34534 34535 34536 34537 TransitionState = TRANS_Dying TRANS_Flailing 34538 Animation = UIMOB01_SKL.UIMOB01_A_ADTE1 34539 Animation = UIMOB01_SKL.UIMOB01_D_ADTE1 34540 AnimationMode = ONCE 34541 End 34542 34543 ConditionState = DYING EXPLODED_FLAILING 34544 Animation = UIMOB01_SKL.UIMOB01_A_ADTE2 34545 Animation = UIMOB01_SKL.UIMOB01_D_ADTE2 34546 AnimationMode = LOOP 34547 TransitionKey = TRANS_Flailing 34548 End 34549 34550 ConditionState = DYING EXPLODED_BOUNCING 34551 Animation = UIMOB01_SKL.UIMOB01_A_ADTE3 34552 Animation = UIMOB01_SKL.UIMOB01_D_ADTE3 34553 AnimationMode = ONCE 34554 TransitionKey = None 34555 End 34556 34557 34558 End 34559 34560 ;**** DESIGN parameters *** 34561 34562 DisplayName = OBJECT:AngryMob 34563 Side = GLA 34564 EditorSorting = INFANTRY 34565 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 34566 34567 34568 34569 34570 ;==================== CINEMA ONLY WEAPONSET ======================== 34571 WeaponSet 34572 Conditions = None 34573 Weapon = PRIMARY GLAAngryMobMolotovCocktailProjectileWeapon 34574 PreferredAgainst = TERTIARY VEHICLE STRUCTURE 34575 ShareWeaponReloadTime = No 34576 End 34577 ;==================== CINEMA ONLY WEAPONSET ======================== 34578 34579 34580 ArmorSet 34581 Conditions = None 34582 Armor = HumanArmor 34583 DamageFX = InfantryDamageFX 34584 End 34585 VisionRange = 150 34586 ShroudClearingRange = 150 34587 Prerequisites 34588 Object = GLABarracks 34589 End 34590 BuildCost = 100 34591 BuildTime = 0.0 34592 34593 ExperienceValue = 5 5 5 5 ;Experience point value at each level 34594 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 34595 IsTrainable = Yes ;Can gain experience 34596 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 34597 34598 ; *** AUDIO Parameters *** 34599 VoiceSelect = NoSound 34600 VoiceMove = NoSound 34601 VoiceAttack = NoSound 34602 SoundDie = RebelVoiceDie 34603 34604 34605 ;**** ENGINEERING Parameters *** ;MOB01 34606 RadarPriority = UNIT 34607 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 34608 34609 Body = ActiveBody BodyTag_01 34610 MaxHealth = 50.0 34611 InitialHealth = 50.0 34612 End 34613 34614 Behavior = AIUpdateInterface ModuleTag_03 34615 AutoAcquireEnemiesWhenIdle = Yes 34616 End 34617 34618 Behavior = MobMemberSlavedUpdate ModuleTag_04 34619 MustCatchUpRadius = 70 ; bigger; bigger; bigger; bigger; bigger; bigger 34620 NoNeedToCatchUpRadius = 25 ; bigger; bigger; bigger; bigger; bigger; bigger 34621 Squirrelliness = 0.00 ; zero; zero; zero; zero; zero; zero 34622 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 34623 End 34624 34625 Locomotor = SET_NORMAL CINE_BasicHumanLocomotor 34626 Locomotor = SET_WANDER WanderHumanLocomotor 34627 Locomotor = SET_PANIC PanicHumanLocomotor 34628 34629 Behavior = PhysicsBehavior BehaviorTag_01 34630 Mass = 5.0 34631 End 34632 34633 Behavior = SquishCollide ModuleTag_08 34634 ;nothing 34635 End 34636 34637 Behavior = WeaponSetUpgrade UpgradeTag_01 34638 TriggeredBy = Upgrade_GLAArmTheMob 34639 End 34640 34641 34642 ; --- begin Death modules --- 34643 Behavior = SlowDeathBehavior DeathTag_01 34644 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 34645 SinkDelay = 3000 34646 SinkRate = 0.5 ; in Dist/Sec 34647 DestructionDelay = 8000 34648 FX = INITIAL FX_GIDie 34649 End 34650 Behavior = SlowDeathBehavior DeathTag_02 34651 DeathTypes = NONE +CRUSHED +SPLATTED 34652 SinkDelay = 3000 34653 SinkRate = 0.5 ; in Dist/Sec 34654 DestructionDelay = 8000 34655 FX = INITIAL FX_GIDieCrushed 34656 End 34657 Behavior = SlowDeathBehavior DeathTag_03 34658 DeathTypes = NONE +EXPLODED 34659 SinkDelay = 3000 34660 SinkRate = 0.5 ; in Dist/Sec 34661 DestructionDelay = 8000 34662 FX = INITIAL FX_GIDie 34663 FlingForce = 8 34664 FlingForceVariance = 3 34665 FlingPitch = 60 34666 FlingPitchVariance = 10 34667 End 34668 Behavior = SlowDeathBehavior DeathTag_04 34669 DeathTypes = NONE +BURNED 34670 DestructionDelay = 0 34671 FX = INITIAL FX_GIDie 34672 OCL = INITIAL OCL_FlamingInfantry 34673 End 34674 Behavior = SlowDeathBehavior DeathTag_05 34675 DeathTypes = NONE +POISONED 34676 DestructionDelay = 0 34677 FX = INITIAL FX_GIDie 34678 OCL = INITIAL OCL_ToxicInfantry 34679 End 34680 ; --- end Death modules --- 34681 34682 Behavior = PoisonedBehavior BehaviorTag_02 34683 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 34684 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 34685 End 34686 34687 Geometry = CYLINDER 34688 Scale = 0.95 ;Scaling 34689 GeometryMajorRadius = 1.0 ; very thin 34690 GeometryHeight = 8.0 34691 GeometryIsSmall = Yes 34692 Shadow = SHADOW_DECAL 34693 ShadowSizeX = 9; 34694 ShadowSizeY = 9; 34695 ShadowTexture = ShadowI; 34696 BuildCompletion = APPEARS_AT_RALLY_POINT 34697 34698 End 34699 34700 ;------------------------------------------------------------------------------ 34701 ;------------------------------------------------------------------------------ 34702 ; **************************** Cinematic-only unit **************************** 34703 Object CINE_GLAInfantryAngryMobPistol03 34704 34705 ;**** ART Parameters *** 34706 Draw = W3DModelDraw DrawTag_01 34707 OkToChangeModelColor = Yes 34708 34709 34710 34711 ; WHILE CARRYING PISTOL 34712 ;--------------------------------------------------------- 34713 DefaultConditionState ;Idle with Pistol Holstered 34714 Model = UIMOB03_SKN 34715 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA1 0 12 34716 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA2 0 5 34717 IdleAnimation = UIMOB03_SKL.UIMOB03_CHA 0 5 34718 IdleAnimation = UIMOB03_SKL.UIMOB03_STA 0 5 34719 AnimationMode = ONCE 34720 AnimationSpeedFactorRange 0.9 1.1 34721 TransitionKey = TRANS_STAND_A 34722 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34723 34724 WeaponFireFXBone = PRIMARY Muzzle 34725 WeaponMuzzleFlash = PRIMARY MuzzleFX 34726 WeaponFireFXBone = SECONDARY MuzzleAK 34727 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 34728 WeaponFireFXBone = TERTIARY "UIMOB03 R HAND" 34729 End 34730 34731 ; Drawing pistol 34732 ConditionState = PREATTACK_A 34733 Animation = UIMOB03_SKL.UIMOB03_ATA1_ST ; start firing 34734 AnimationMode = ONCE 34735 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34736 End 34737 AliasConditionState = PREATTACK_A FIRING_A 34738 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 34739 34740 ; Firing pistol 34741 ConditionState = FIRING_A 34742 Animation = UIMOB03_SKL.UIMOB03_ATA1_LP ; looping firing 34743 AnimationMode = LOOP 34744 TransitionKey = TRANS_FIRING_A 34745 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34746 End 34747 34748 ConditionState = BETWEEN_FIRING_SHOTS_A 34749 Animation = UIMOB03_SKL.UIMOB03_ATA1_LP ; looping firing 34750 AnimationMode = LOOP 34751 TransitionKey = TRANS_FIRING_A 34752 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34753 End 34754 34755 ConditionState = RELOADING_A 34756 Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing 34757 AnimationMode = ONCE 34758 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34759 End 34760 34761 ; This transition allows him to put his gun away when he's finished attacking. 34762 TransitionState = TRANS_FIRING_A TRANS_STAND_A 34763 Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing 34764 AnimationMode = ONCE 34765 End 34766 34767 ConditionState = MOVING 34768 Animation = UIMOB03_SKL.UIMOB03_RNA 34769 AnimationMode = LOOP 34770 Flags = RANDOMSTART 34771 TransitionKey = MOVING 34772 End 34773 AliasConditionState = MOVING RELOADING_A 34774 AliasConditionState = MOVING PREATTACK_A 34775 AliasConditionState = MOVING FIRING_A 34776 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 34777 AliasConditionState = MOVING RELOADING_C RELOADING_A 34778 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 34779 34780 ConditionState = DYING 34781 Animation = UIMOB03_SKL.UIMOB03_DA1 34782 Animation = UIMOB03_SKL.UIMOB03_DA2 34783 AnimationMode = ONCE 34784 TransitionKey = TRANS_Dying 34785 End 34786 34787 34788 ConditionState = SPECIAL_CHEERING 34789 Animation = UIMOB03_SKL.UIMOB03_CHA 34790 AnimationMode = ONCE 34791 End 34792 34793 ;-------------------------------------------------------- 34794 34795 ; TRANSITION FROM PISTOL TO AK47 34796 TransitionState = TRANS_STAND_A TRANS_STAND_AK 34797 Animation = UIMOB03_SKL.UIMOB03_TA-D 34798 AnimationMode = ONCE 34799 End 34800 34801 34802 ; WHILE CARRYING AK47 34803 ;--------------------------------------------------------- 34804 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 34805 Model = UIMOB03_SKN 34806 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD1 0 6 34807 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD2 0 6 34808 IdleAnimation = UIMOB03_SKL.UIMOB03_CHD 0 6 34809 IdleAnimation = UIMOB03_SKL.UIMOB03_STD 34810 AnimationMode = ONCE 34811 AnimationSpeedFactorRange 0.9 1.1 34812 TransitionKey = TRANS_STAND_AK 34813 End 34814 34815 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 34816 Animation = UIMOB03_SKL.UIMOB03_RND 34817 AnimationMode = LOOP 34818 Flags = RANDOMSTART 34819 TransitionKey = MOVING_AK 34820 End 34821 34822 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 34823 Animation = UIMOB03_SKL.UIMOB03_DD1 34824 Animation = UIMOB03_SKL.UIMOB03_DD2 34825 AnimationMode = ONCE 34826 TransitionKey = TRANS_Dying 34827 End 34828 34829 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 34830 Animation = UIMOB03_SKL.UIMOB03_CHD 34831 AnimationMode = ONCE 34832 End 34833 34834 34835 ; Drawing AK47 34836 ConditionState = PREATTACK_B 34837 Animation = UIMOB03_SKL.UIMOB03_ATD_ST ; start firing 34838 AnimationMode = ONCE 34839 End 34840 AliasConditionState = PREATTACK_B MOVING 34841 AliasConditionState = PREATTACK_B FIRING_B 34842 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 34843 34844 ; Firing Gun 34845 ConditionState = FIRING_B 34846 Animation = UIMOB03_SKL.UIMOB03_ATD_LP ; looping firing 34847 AnimationMode = LOOP 34848 WeaponFireFXBone = SECONDARY MuzzleAK 34849 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 34850 TransitionKey = TRANS_FIRING_AK 34851 End 34852 AliasConditionState = MOVING FIRING_B 34853 34854 ConditionState = BETWEEN_FIRING_SHOTS_B 34855 Animation = UIMOB03_SKL.UIMOB03_ATD_LP ; looping firing 34856 AnimationMode = LOOP 34857 TransitionKey = TRANS_FIRING_AK 34858 End 34859 AliasConditionState = RELOADING_B 34860 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B 34861 AliasConditionState = MOVING RELOADING_B 34862 34863 ; This transition allows him to put his gun away when he's finished attacking. 34864 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 34865 Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing 34866 AnimationMode = ONCE 34867 End 34868 34869 34870 ;Throwing bottle---------------------------------------------------------------- 34871 ConditionState = PREATTACK_C 34872 Animation = UIMOB03_SKL.UIMOB03_ATCA_BF ; the wind up 34873 End 34874 AliasConditionState = PREATTACK_C FIRING_A 34875 AliasConditionState = PREATTACK_C RELOADING_A 34876 AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 34877 34878 ConditionState = FIRING_C 34879 Animation = UIMOB03_SKL.UIMOB03_ATCA_AF ; the release and follow-thru 34880 TransitionKey = TRANS_THROW 34881 End 34882 AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 34883 34884 ConditionState RELOADING_C 34885 Animation =UIMOB03_SKL.UIMOB03_IDA1 34886 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 34887 34888 End 34889 AliasConditionState = RELOADING_C RELOADING_A 34890 AliasConditionState = RELOADING_C FIRING_A 34891 AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 34892 34893 34894 ; TransitionState = TRANSXXX TRANS_THROW 34895 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway gun and take out bottle 34896 ; End 34897 34898 ; TransitionState = TRANS_THROW TRANS_FIRING_A 34899 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get PISTOL 34900 ; End 34901 34902 ; TransitionState = TRANSXXXAK TRANS_THROW 34903 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway AK and take out bottle 34904 ; End 34905 34906 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 34907 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get AK 34908 ; End 34909 34910 34911 ;-------------------------------------------------------- 34912 34913 TransitionState = TRANS_Dying TRANS_Flailing 34914 Animation = UIMOB03_SKL.UIMOB03_A_ADTD1 34915 Animation = UIMOB03_SKL.UIMOB03_D_ADTD1 34916 AnimationMode = ONCE 34917 End 34918 34919 ConditionState = DYING EXPLODED_FLAILING 34920 Animation = UIMOB03_SKL.UIMOB03_A_ADTD2 34921 Animation = UIMOB03_SKL.UIMOB03_D_ADTD2 34922 AnimationMode = LOOP 34923 TransitionKey = TRANS_Flailing 34924 End 34925 34926 ConditionState = DYING EXPLODED_BOUNCING 34927 Animation = UIMOB03_SKL.UIMOB03_A_ADTD3 34928 Animation = UIMOB03_SKL.UIMOB03_D_ADTD3 34929 AnimationMode = ONCE 34930 TransitionKey = None 34931 End 34932 34933 End 34934 34935 ;**** DESIGN parameters *** 34936 34937 DisplayName = OBJECT:AngryMob 34938 Side = GLA 34939 EditorSorting = INFANTRY 34940 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 34941 34942 34943 34944 34945 ;==================== CINEMA ONLY WEAPONSET ======================== 34946 WeaponSet 34947 Conditions = None 34948 Weapon = PRIMARY GLAAngryMobMolotovCocktailProjectileWeapon 34949 PreferredAgainst = TERTIARY VEHICLE STRUCTURE 34950 ShareWeaponReloadTime = Yes 34951 End 34952 ;==================== CINEMA ONLY WEAPONSET ======================== 34953 34954 34955 ArmorSet 34956 Conditions = None 34957 Armor = HumanArmor 34958 DamageFX = InfantryDamageFX 34959 End 34960 VisionRange = 150 34961 ShroudClearingRange = 150 34962 Prerequisites 34963 Object = GLABarracks 34964 End 34965 BuildCost = 100 34966 BuildTime = 0.0 34967 34968 ExperienceValue = 5 5 5 5 ;Experience point value at each level 34969 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 34970 IsTrainable = Yes ;Can gain experience 34971 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 34972 34973 ; *** AUDIO Parameters *** 34974 VoiceSelect = NoSound 34975 VoiceMove = NoSound 34976 VoiceAttack = NoSound 34977 SoundDie = RebelVoiceDie 34978 34979 34980 ;**** ENGINEERING Parameters *** ;MOB01 34981 RadarPriority = UNIT 34982 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 34983 34984 Body = ActiveBody BodyTag_01 34985 MaxHealth = 50.0 34986 InitialHealth = 50.0 34987 End 34988 34989 Behavior = AIUpdateInterface ModuleTag_03 34990 AutoAcquireEnemiesWhenIdle = Yes 34991 End 34992 34993 Behavior = MobMemberSlavedUpdate ModuleTag_04 34994 MustCatchUpRadius = 70 ; bigger; bigger; bigger; bigger; bigger; bigger 34995 NoNeedToCatchUpRadius = 25 ; bigger; bigger; bigger; bigger; bigger; bigger 34996 Squirrelliness = 0.00 ; zero; zero; zero; zero; zero; zero 34997 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 34998 End 34999 35000 Locomotor = SET_NORMAL CINE_BasicHumanLocomotor 35001 Locomotor = SET_WANDER WanderHumanLocomotor 35002 Locomotor = SET_PANIC PanicHumanLocomotor 35003 35004 Behavior = PhysicsBehavior BehaviorTag_01 35005 Mass = 5.0 35006 End 35007 35008 Behavior = SquishCollide ModuleTag_08 35009 ;nothing 35010 End 35011 35012 Behavior = WeaponSetUpgrade UpgradeTag_01 35013 TriggeredBy = Upgrade_GLAArmTheMob 35014 End 35015 35016 35017 ; --- begin Death modules --- 35018 Behavior = SlowDeathBehavior DeathTag_01 35019 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 35020 SinkDelay = 3000 35021 SinkRate = 0.5 ; in Dist/Sec 35022 DestructionDelay = 8000 35023 FX = INITIAL FX_GIDie 35024 End 35025 Behavior = SlowDeathBehavior DeathTag_02 35026 DeathTypes = NONE +CRUSHED +SPLATTED 35027 SinkDelay = 3000 35028 SinkRate = 0.5 ; in Dist/Sec 35029 DestructionDelay = 8000 35030 FX = INITIAL FX_GIDieCrushed 35031 End 35032 Behavior = SlowDeathBehavior DeathTag_03 35033 DeathTypes = NONE +EXPLODED 35034 SinkDelay = 3000 35035 SinkRate = 0.5 ; in Dist/Sec 35036 DestructionDelay = 8000 35037 FX = INITIAL FX_GIDie 35038 FlingForce = 8 35039 FlingForceVariance = 3 35040 FlingPitch = 60 35041 FlingPitchVariance = 10 35042 End 35043 Behavior = SlowDeathBehavior DeathTag_04 35044 DeathTypes = NONE +BURNED 35045 DestructionDelay = 0 35046 FX = INITIAL FX_GIDie 35047 OCL = INITIAL OCL_FlamingInfantry 35048 End 35049 Behavior = SlowDeathBehavior DeathTag_05 35050 DeathTypes = NONE +POISONED 35051 DestructionDelay = 0 35052 FX = INITIAL FX_GIDie 35053 OCL = INITIAL OCL_ToxicInfantry 35054 End 35055 ; --- end Death modules --- 35056 35057 Behavior = PoisonedBehavior BehaviorTag_02 35058 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 35059 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 35060 End 35061 35062 Geometry = CYLINDER 35063 Scale = 0.95 ;Scaling 35064 GeometryMajorRadius = 1.0 ; very thin 35065 GeometryHeight = 8.0 35066 GeometryIsSmall = Yes 35067 Shadow = SHADOW_DECAL 35068 ShadowSizeX = 9; 35069 ShadowSizeY = 9; 35070 ShadowTexture = ShadowI; 35071 BuildCompletion = APPEARS_AT_RALLY_POINT 35072 35073 End 35074 35075 ;------------------------------------------------------------------------------ 35076 ;------------------------------------------------------------------------------ 35077 ; **************************** Cinematic-only unit **************************** 35078 Object CINE_GLAInfantryAngryMobPistol05 35079 35080 ;**** ART Parameters *** 35081 Draw = W3DModelDraw DrawTag_01 35082 OkToChangeModelColor = Yes 35083 35084 35085 35086 ; WHILE CARRYING PISTOL 35087 ;--------------------------------------------------------- 35088 DefaultConditionState ;Idle with Pistol Holstered 35089 Model = UIMOB05_SKN 35090 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA1 0 12 35091 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA2 0 5 35092 IdleAnimation = UIMOB05_SKL.UIMOB05_CHA 0 5 35093 IdleAnimation = UIMOB05_SKL.UIMOB05_STA 0 5 35094 AnimationMode = ONCE 35095 AnimationSpeedFactorRange 0.9 1.1 35096 TransitionKey = TRANS_STAND_A 35097 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 35098 35099 WeaponFireFXBone = PRIMARY Muzzle01 35100 WeaponMuzzleFlash = PRIMARY Muzzle01 35101 WeaponFireFXBone = SECONDARY MuzzleAK01 35102 WeaponMuzzleFlash = SECONDARY MuzzleAKFX01 35103 WeaponFireFXBone = TERTIARY "UIMOB05 R HAND" 35104 End 35105 35106 ; Drawing pistol 35107 ConditionState = PREATTACK_A 35108 Animation = UIMOB05_SKL.UIMOB05_ATA1_ST ; start firing 35109 AnimationMode = ONCE 35110 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 35111 End 35112 AliasConditionState = PREATTACK_A FIRING_A 35113 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 35114 35115 ; Firing pistol 35116 ConditionState = FIRING_A 35117 Animation = UIMOB05_SKL.UIMOB05_ATA1_LP ; looping firing 35118 AnimationMode = LOOP 35119 TransitionKey = TRANS_FIRING_A 35120 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 35121 End 35122 35123 ConditionState = BETWEEN_FIRING_SHOTS_A 35124 Animation = UIMOB05_SKL.UIMOB05_ATA1_LP ; looping firing 35125 AnimationMode = LOOP 35126 TransitionKey = TRANS_FIRING_A 35127 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 35128 End 35129 35130 ConditionState = RELOADING_A 35131 Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing 35132 AnimationMode = ONCE 35133 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 35134 End 35135 35136 ; This transition allows him to put his gun away when he's finished attacking. 35137 TransitionState = TRANS_FIRING_A TRANS_STAND_A 35138 Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing 35139 AnimationMode = ONCE 35140 End 35141 35142 ConditionState = MOVING 35143 Animation = UIMOB05_SKL.UIMOB05_RNA 35144 AnimationMode = LOOP 35145 Flags = RANDOMSTART 35146 TransitionKey = MOVING 35147 ParticleSysBone = None InfantryDustTrails 35148 End 35149 AliasConditionState = MOVING RELOADING_A 35150 AliasConditionState = MOVING PREATTACK_A 35151 AliasConditionState = MOVING FIRING_A 35152 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 35153 AliasConditionState = MOVING RELOADING_C RELOADING_A 35154 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 35155 35156 ConditionState = DYING 35157 Animation = UIMOB05_SKL.UIMOB05_DA1 35158 Animation = UIMOB05_SKL.UIMOB05_DA2 35159 AnimationMode = ONCE 35160 TransitionKey = TRANS_Dying 35161 End 35162 35163 35164 ConditionState = SPECIAL_CHEERING 35165 Animation = UIMOB05_SKL.UIMOB05_CHA 35166 AnimationMode = ONCE 35167 End 35168 35169 ;-------------------------------------------------------- 35170 35171 ; TRANSITION FROM PISTOL TO AK47 35172 TransitionState = TRANS_STAND_A TRANS_STAND_AK 35173 Animation = UIMOB05_SKL.UIMOB05_TA-D 35174 AnimationMode = ONCE 35175 End 35176 35177 35178 ; WHILE CARRYING AK47 35179 ;--------------------------------------------------------- 35180 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 35181 Model = UIMOB05_SKN 35182 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD1 0 6 35183 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD2 0 6 35184 IdleAnimation = UIMOB05_SKL.UIMOB05_CHD 0 6 35185 IdleAnimation = UIMOB05_SKL.UIMOB05_STD 35186 AnimationMode = ONCE 35187 AnimationSpeedFactorRange 0.9 1.1 35188 TransitionKey = TRANS_STAND_AK 35189 End 35190 35191 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 35192 Animation = UIMOB05_SKL.UIMOB05_RND 35193 AnimationMode = LOOP 35194 Flags = RANDOMSTART 35195 TransitionKey = MOVING_AK 35196 End 35197 35198 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 35199 Animation = UIMOB05_SKL.UIMOB05_DD1 35200 Animation = UIMOB05_SKL.UIMOB05_DD2 35201 AnimationMode = ONCE 35202 TransitionKey = TRANS_Dying 35203 End 35204 35205 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 35206 Animation = UIMOB05_SKL.UIMOB05_CHD 35207 AnimationMode = ONCE 35208 End 35209 35210 ; Drawing AK47 35211 ConditionState = PREATTACK_B 35212 Animation = UIMOB05_SKL.UIMOB05_ATD1_ST ; start firing 35213 AnimationMode = ONCE 35214 End 35215 AliasConditionState = PREATTACK_B MOVING 35216 AliasConditionState = PREATTACK_B FIRING_B 35217 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 35218 35219 ; Firing Gun 35220 ConditionState = FIRING_B 35221 Animation = UIMOB05_SKL.UIMOB05_ATD1_LP ; looping firing 35222 AnimationMode = LOOP 35223 WeaponFireFXBone = SECONDARY MuzzleAK 35224 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 35225 TransitionKey = TRANS_FIRING_AK 35226 End 35227 AliasConditionState = MOVING FIRING_B 35228 35229 ConditionState = BETWEEN_FIRING_SHOTS_B 35230 Animation = UIMOB05_SKL.UIMOB05_ATD1_LP ; looping firing 35231 AnimationMode = LOOP 35232 TransitionKey = TRANS_FIRING_AK 35233 End 35234 AliasConditionState = RELOADING_B 35235 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B 35236 AliasConditionState = MOVING RELOADING_B 35237 35238 ; This transition allows him to put his gun away when he's finished attacking. 35239 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 35240 Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing 35241 AnimationMode = ONCE 35242 End 35243 35244 35245 ;Throwing bottle---------------------------------------------------------------- 35246 ConditionState = PREATTACK_C 35247 Animation = UIMOB05_SKL.UIMOB05_ATCA_BF ; the wind up 35248 End 35249 AliasConditionState = PREATTACK_C FIRING_A 35250 AliasConditionState = PREATTACK_C RELOADING_A 35251 AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 35252 35253 ConditionState = FIRING_C 35254 Animation = UIMOB05_SKL.UIMOB05_ATCA_AF ; the release and follow-thru 35255 TransitionKey = TRANS_THROW 35256 End 35257 AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 35258 35259 ConditionState RELOADING_C 35260 Animation =UIMOB05_SKL.UIMOB05_IDA1 35261 WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 35262 End 35263 AliasConditionState = RELOADING_C RELOADING_A 35264 AliasConditionState = RELOADING_C FIRING_A 35265 AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 35266 35267 35268 ; TransitionState = TRANSXXX TRANS_THROW 35269 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway gun and take out bottle 35270 ; End 35271 35272 ; TransitionState = TRANS_THROW TRANS_FIRING_A 35273 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get PISTOL 35274 ; End 35275 35276 ; TransitionState = TRANSXXXAK TRANS_THROW 35277 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway AK and take out bottle 35278 ; End 35279 35280 35281 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 35282 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get AK 35283 ; End 35284 35285 ;-------------------------------------------------------- 35286 35287 TransitionState = TRANS_Dying TRANS_Flailing 35288 Animation = UIMOB05_SKL.UIMOB05_A_ADTA1 35289 Animation = UIMOB05_SKL.UIMOB05_D_ADTA1 35290 AnimationMode = ONCE 35291 End 35292 35293 ConditionState = DYING EXPLODED_FLAILING 35294 Animation = UIMOB05_SKL.UIMOB05_A_ADTA2 35295 Animation = UIMOB05_SKL.UIMOB05_D_ADTA2 35296 AnimationMode = LOOP 35297 TransitionKey = TRANS_Flailing 35298 End 35299 35300 ConditionState = DYING EXPLODED_BOUNCING 35301 Animation = UIMOB05_SKL.UIMOB05_A_ADTA3 35302 Animation = UIMOB05_SKL.UIMOB05_D_ADTA3 35303 AnimationMode = ONCE 35304 TransitionKey = None 35305 End 35306 35307 35308 End 35309 35310 35311 35312 ;**** DESIGN parameters *** 35313 35314 DisplayName = OBJECT:AngryMob 35315 Side = GLA 35316 EditorSorting = INFANTRY 35317 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 35318 35319 35320 35321 35322 ;==================== CINEMA ONLY WEAPONSET ======================== 35323 WeaponSet 35324 Conditions = None 35325 Weapon = PRIMARY GLAAngryMobPistolWeapon 35326 PreferredAgainst = PRIMARY INFANTRY 35327 Weapon = SECONDARY None 35328 Weapon = TERTIARY GLAAngryMobMolotovCocktailProjectileWeapon 35329 PreferredAgainst = TERTIARY VEHICLE STRUCTURE 35330 ShareWeaponReloadTime = No 35331 End 35332 ;==================== CINEMA ONLY WEAPONSET ======================== 35333 35334 35335 ArmorSet 35336 Conditions = None 35337 Armor = HumanArmor 35338 DamageFX = InfantryDamageFX 35339 End 35340 VisionRange = 150 35341 ShroudClearingRange = 150 35342 Prerequisites 35343 Object = GLABarracks 35344 End 35345 BuildCost = 100 35346 BuildTime = 0.0 35347 35348 ExperienceValue = 5 5 5 5 ;Experience point value at each level 35349 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 35350 IsTrainable = Yes ;Can gain experience 35351 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 35352 35353 ; *** AUDIO Parameters *** 35354 VoiceSelect = NoSound 35355 VoiceMove = NoSound 35356 VoiceAttack = NoSound 35357 SoundDie = RebelVoiceDie 35358 35359 35360 ;**** ENGINEERING Parameters *** ;MOB01 35361 RadarPriority = UNIT 35362 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 35363 35364 Body = ActiveBody BodyTag_01 35365 MaxHealth = 50.0 35366 InitialHealth = 50.0 35367 End 35368 35369 Behavior = AIUpdateInterface ModuleTag_03 35370 AutoAcquireEnemiesWhenIdle = Yes 35371 End 35372 35373 Behavior = MobMemberSlavedUpdate ModuleTag_04 35374 MustCatchUpRadius = 70 ; bigger; bigger; bigger; bigger; bigger; bigger 35375 NoNeedToCatchUpRadius = 25 ; bigger; bigger; bigger; bigger; bigger; bigger 35376 Squirrelliness = 0.00 ; zero; zero; zero; zero; zero; zero 35377 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 35378 End 35379 35380 Locomotor = SET_NORMAL CINE_BasicHumanLocomotor 35381 Locomotor = SET_WANDER WanderHumanLocomotor 35382 Locomotor = SET_PANIC PanicHumanLocomotor 35383 35384 Behavior = PhysicsBehavior BehaviorTag_01 35385 Mass = 5.0 35386 End 35387 35388 Behavior = SquishCollide ModuleTag_08 35389 ;nothing 35390 End 35391 35392 Behavior = WeaponSetUpgrade UpgradeTag_01 35393 TriggeredBy = Upgrade_GLAArmTheMob 35394 End 35395 35396 35397 ; --- begin Death modules --- 35398 Behavior = SlowDeathBehavior DeathTag_01 35399 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 35400 SinkDelay = 3000 35401 SinkRate = 0.5 ; in Dist/Sec 35402 DestructionDelay = 8000 35403 FX = INITIAL FX_GIDie 35404 End 35405 Behavior = SlowDeathBehavior DeathTag_02 35406 DeathTypes = NONE +CRUSHED +SPLATTED 35407 SinkDelay = 3000 35408 SinkRate = 0.5 ; in Dist/Sec 35409 DestructionDelay = 8000 35410 FX = INITIAL FX_GIDieCrushed 35411 End 35412 Behavior = SlowDeathBehavior DeathTag_03 35413 DeathTypes = NONE +EXPLODED 35414 SinkDelay = 3000 35415 SinkRate = 0.5 ; in Dist/Sec 35416 DestructionDelay = 8000 35417 FX = INITIAL FX_GIDie 35418 FlingForce = 8 35419 FlingForceVariance = 3 35420 FlingPitch = 60 35421 FlingPitchVariance = 10 35422 End 35423 Behavior = SlowDeathBehavior DeathTag_04 35424 DeathTypes = NONE +BURNED 35425 DestructionDelay = 0 35426 FX = INITIAL FX_GIDie 35427 OCL = INITIAL OCL_FlamingInfantry 35428 End 35429 Behavior = SlowDeathBehavior DeathTag_05 35430 DeathTypes = NONE +POISONED 35431 DestructionDelay = 0 35432 FX = INITIAL FX_GIDie 35433 OCL = INITIAL OCL_ToxicInfantry 35434 End 35435 ; --- end Death modules --- 35436 35437 Behavior = PoisonedBehavior BehaviorTag_02 35438 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 35439 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 35440 End 35441 35442 Geometry = CYLINDER 35443 Scale = 0.95 ;Scaling 35444 GeometryMajorRadius = 1.0 ; very thin 35445 GeometryHeight = 8.0 35446 GeometryIsSmall = Yes 35447 Shadow = SHADOW_DECAL 35448 ShadowSizeX = 9; 35449 ShadowSizeY = 9; 35450 ShadowTexture = ShadowI; 35451 BuildCompletion = APPEARS_AT_RALLY_POINT 35452 35453 End 35454 35455 ;------------------------------------------------------------------------------ 35456 ;**************************** Cinematic-only unit ***************************** 35457 Object CINE_AmericaInfantryColonelBurton 35458 35459 ; *** ART Parameters *** 35460 SelectPortrait = SABurton_L 35461 ButtonImage = SABurton 35462 35463 Draw = W3DModelDraw ModuleTag_01 35464 OkToChangeModelColor = Yes 35465 35466 ; idle 35467 DefaultConditionState 35468 Model = AIHERO_SKN 35469 IdleAnimation = AIHERO_SKL.AIHERO_STA 0 25 35470 IdleAnimation = AIHERO_SKL.AIHERO_IDA 35471 IdleAnimation = AIHERO_SKL.AIHERO_IDB 35472 AnimationMode = ONCE 35473 TransitionKey = TRANS_Stand 35474 WeaponFireFXBone = PRIMARY Muzzle 35475 WeaponMuzzleFlash = PRIMARY MuzzleFX 35476 End 35477 35478 ; injured idle 35479 ConditionState = REALLYDAMAGED 35480 IdleAnimation = AIHERO_SKL.AIHERO_ISTA 0 30 35481 IdleAnimation = AIHERO_SKL.AIHERO_IIDA 35482 IdleAnimation = AIHERO_SKL.AIHERO_IIDB 35483 AnimationMode = ONCE 35484 TransitionKey = TRANS_StandInjured 35485 End 35486 35487 TransitionState = TRANS_Stand TRANS_StandInjured 35488 Animation = AIHERO_SKL.AIHERO_ISTAHIT 35489 AnimationMode = ONCE 35490 End 35491 35492 ; moving 35493 ConditionState = MOVING 35494 Animation = AIHERO_SKL.AIHERO_RNA 34 35495 AnimationMode = LOOP 35496 Flags = RANDOMSTART 35497 TransitionKey = TRANS_Stand 35498 ParticleSysBone = None InfantryDustTrails 35499 End 35500 AliasConditionState = MOVING FIRING_A 35501 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 35502 AliasConditionState = MOVING RELOADING_A 35503 AliasConditionState = MOVING FIRING_B 35504 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B 35505 AliasConditionState = MOVING RELOADING_B 35506 35507 ; injured moving 35508 ConditionState = MOVING REALLYDAMAGED 35509 Animation = AIHERO_SKL.AIHERO_IRNA 26 35510 AnimationMode = LOOP 35511 Flags = RANDOMSTART 35512 TransitionKey = TRANS_StandInjured 35513 ParticleSysBone = None InfantryDustTrails 35514 End 35515 AliasConditionState = MOVING FIRING_A REALLYDAMAGED 35516 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 35517 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 35518 AliasConditionState = MOVING FIRING_B REALLYDAMAGED 35519 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 35520 AliasConditionState = MOVING RELOADING_B REALLYDAMAGED 35521 35522 ; Firing animation 35523 ConditionState = FIRING_A 35524 Animation = AIHERO_SKL.AIHERO_ATA 35525 AnimationMode = ONCE 35526 TransitionKey = TRANS_FiringA 35527 End 35528 AliasConditionState = BETWEEN_FIRING_SHOTS_A 35529 AliasConditionState = RELOADING_A 35530 35531 ; Injured Firing animation 35532 ConditionState = FIRING_A REALLYDAMAGED 35533 Animation = AIHERO_SKL.AIHERO_IATA 35534 AnimationMode = ONCE 35535 TransitionKey = TRANS_FiringAInjured 35536 End 35537 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 35538 AliasConditionState = RELOADING_A REALLYDAMAGED 35539 35540 TransitionState = TRANS_FiringA TRANS_FiringAInjured 35541 Animation = AIHERO_SKL.AIHERO_IATAHIT 35542 AnimationMode = ONCE 35543 End 35544 35545 ; Placing charge animation 35546 ConditionState = UNPACKING 35547 Animation = AIHERO_SKL.AIHERO_ATB1 35548 AnimationMode = ONCE 35549 End 35550 AliasConditionState = MOVING UNPACKING 35551 35552 ; Injured Placing charge animation 35553 ConditionState = UNPACKING REALLYDAMAGED 35554 Animation = AIHERO_SKL.AIHERO_IATB1 35555 AnimationMode = ONCE 35556 End 35557 AliasConditionState = MOVING UNPACKING REALLYDAMAGED 35558 35559 ; Stab animations 35560 ConditionState = PREATTACK_B 35561 Animation = AIHERO_SKL.AIHERO_ATC 35562 AnimationMode = ONCE 35563 TransitionKey = TRANS_Stabbing 35564 End 35565 AliasConditionState = PREATTACK_B MOVING 35566 AliasConditionState = PREATTACK_B FIRING_B 35567 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 35568 35569 ConditionState = FIRING_B 35570 Animation = AIHERO_SKL.AIHERO_ATC 35571 AnimationMode = MANUAL 35572 Flags = START_FRAME_LAST 35573 TransitionKey = TRANS_Stabbing 35574 End 35575 AliasConditionState = BETWEEN_FIRING_SHOTS_B 35576 AliasConditionState = RELOADING_B 35577 35578 TransitionState = TRANS_Stabbing TRANS_Stand 35579 Animation = AIHERO_SKL.AIHERO_ATC2 35580 AnimationMode = ONCE 35581 End 35582 35583 ; Injured Stab animations 35584 ConditionState = PREATTACK_B REALLYDAMAGED 35585 Animation = AIHERO_SKL.AIHERO_IATC1 35586 AnimationMode = ONCE 35587 TransitionKey = TRANS_StabbingInjured 35588 End 35589 AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED 35590 AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED 35591 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 35592 35593 ConditionState = FIRING_B REALLYDAMAGED 35594 Animation = AIHERO_SKL.AIHERO_IATC2 35595 AnimationMode = MANUAL 35596 Flags = START_FRAME_LAST 35597 TransitionKey = TRANS_StabbingInjured 35598 End 35599 AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 35600 AliasConditionState = RELOADING_B REALLYDAMAGED 35601 35602 TransitionState = TRANS_StabbingInjured TRANS_StandInjured 35603 Animation = AIHERO_SKL.AIHERO_IATC2 35604 AnimationMode = ONCE 35605 End 35606 35607 ; cheering 35608 ConditionState = SPECIAL_CHEERING 35609 Animation = AIHERO_SKL.AIHERO_CHA 35610 AnimationMode = ONCE 35611 End 35612 35613 ; injured cheering 35614 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 35615 Animation = AIHERO_SKL.AIHERO_ICHA 35616 AnimationMode = ONCE 35617 End 35618 35619 ; climbing 35620 ConditionState = CLIMBING 35621 Animation = AIHERO_SKL.AIHERO_CLMID 35622 AnimationMode = LOOP 35623 TransitionKey = TRANS_Climbing 35624 End 35625 AliasConditionState = RAPPELLING 35626 AliasConditionState = CLIMBING REALLYDAMAGED 35627 AliasConditionState = RAPPELLING REALLYDAMAGED 35628 35629 ConditionState = CLIMBING MOVING 35630 Animation = AIHERO_SKL.AIHERO_CLMUP 35631 AnimationMode = LOOP 35632 TransitionKey = TRANS_Climbing 35633 End 35634 AliasConditionState = CLIMBING MOVING REALLYDAMAGED 35635 35636 ConditionState = RAPPELLING MOVING 35637 Animation = AIHERO_SKL.AIHERO_CLMUP 35638 AnimationMode = LOOP_BACKWARDS 35639 TransitionKey = TRANS_Climbing 35640 End 35641 AliasConditionState = RAPPELLING MOVING REALLYDAMAGED 35642 35643 ; these transitions don't really work well with our code. leave 'em out. 35644 ; TransitionState = TRANS_Climbing TRANS_Stand 35645 ; Animation = AIHERO_SKL.AIHERO_CLMST 35646 ; AnimationMode = ONCE 35647 ; End 35648 ; 35649 ; TransitionState = TRANS_Stand TRANS_Climbing 35650 ; Animation = AIHERO_SKL.AIHERO_CLMST 35651 ; AnimationMode = ONCE_BACKWARDS 35652 ; End 35653 35654 ; dying anims 35655 ConditionState = DYING 35656 Animation = AIHERO_SKL.AIHERO_DTA 35657 Animation = AIHERO_SKL.AIHERO_DTB 35658 Animation = AIHero_SKL.AIHero_IDTA 35659 Animation = AIHero_SKL.AIHero_IDTB 35660 AnimationMode = ONCE 35661 TransitionKey = TRANS_Dying 35662 End 35663 AliasConditionState = RAPPELLING DYING 35664 AliasConditionState = CLIMBING DYING 35665 35666 TransitionState = TRANS_Dying TRANS_Flailing 35667 Animation = AIHERO_SKL.AIHERO_ADTG21 35668 AnimationMode = ONCE 35669 End 35670 35671 ConditionState = DYING EXPLODED_FLAILING 35672 Animation = AIHERO_SKL.AIHERO_ADTG22 35673 AnimationMode = LOOP 35674 TransitionKey = TRANS_Flailing 35675 End 35676 35677 ConditionState = DYING EXPLODED_BOUNCING 35678 Animation = AIHERO_SKL.AIHERO_ADTG23 35679 AnimationMode = ONCE 35680 TransitionKey = None 35681 End 35682 35683 ; misc anims 35684 ConditionState = FREEFALL 35685 Animation = AIHERO_SKL.AIHERO_PFL 35686 AnimationMode = LOOP 35687 TransitionKey = TRANS_Falling 35688 End 35689 AliasConditionState = FREEFALL REALLYDAMAGED 35690 AliasConditionState = FREEFALL DYING 35691 35692 ConditionState = PARACHUTING 35693 Animation = AIHERO_SKL.AIHERO_PHG 35694 AnimationMode = LOOP 35695 TransitionKey = TRANS_Chute 35696 End 35697 AliasConditionState = PARACHUTING REALLYDAMAGED 35698 AliasConditionState = PARACHUTING DYING 35699 35700 TransitionState = TRANS_Falling TRANS_Chute 35701 Animation = AIHERO_SKL.AIHERO_POP 35702 AnimationMode = ONCE 35703 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 35704 End 35705 35706 TransitionState = TRANS_Chute TRANS_Stand 35707 Animation = AIHERO_SKL.AIHERO_PTD 35708 AnimationMode = ONCE 35709 End 35710 35711 TransitionState = TRANS_Chute TRANS_StandInjured 35712 Animation = AIHERO_SKL.AIHERO_PTD 35713 AnimationMode = ONCE 35714 End 35715 35716 End 35717 35718 ; ***DESIGN parameters *** 35719 DisplayName = OBJECT:ColonelBurton 35720 Side = America 35721 EditorSorting = INFANTRY 35722 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 35723 WeaponSet 35724 Conditions = None 35725 Weapon = PRIMARY ColonelBurtonSniperRifleWeapon 35726 Weapon = SECONDARY ColonelBurtonKnifeWeapon 35727 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 35728 AutoChooseSources = SECONDARY NONE 35729 End 35730 ArmorSet 35731 Conditions = None 35732 Armor = HumanArmor 35733 DamageFX = InfantryDamageFX 35734 End 35735 VisionRange = 250 35736 ShroudClearingRange = 500 35737 Prerequisites 35738 Object = AmericaBarracks 35739 Object = AmericaStrategyCenter 35740 End 35741 BuildCost = 1500 35742 BuildTime = 20.0 ;in seconds 35743 35744 ExperienceValue = 50 100 100 150 ; Experience point value at each level 35745 ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level 35746 IsTrainable = Yes ; Can gain experience 35747 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 35748 CommandSet = AmericaInfantryColonelBurtonCommandSet 35749 35750 MaxSimultaneousOfType = 1 35751 35752 ; *** AUDIO Parameters *** 35753 VoiceSelect = ColonelBurtonVoiceSelect 35754 VoiceMove = ColonelBurtonVoiceMove 35755 VoiceAttack = ColonelBurtonVoiceAttack 35756 VoiceFear = ColonelBurtonVoiceFear 35757 VoiceGuard = ColonelBurtonVoiceMove 35758 SoundDie = ColonelBurtonVoiceDie 35759 SoundDieFire = DieByFireUSA 35760 SoundDieToxin = DieByToxinUSA 35761 SoundStealthOn = StealthOn 35762 SoundStealthOff = StealthOff 35763 35764 UnitSpecificSounds 35765 VoiceMelee = ColonelBurtonVoiceAttackKnife 35766 VoiceCreate = ColonelBurtonVoiceCreate 35767 VoiceGarrison = ColonelBurtonVoiceGarrison 35768 VoiceEnter = ColonelBurtonVoiceMove 35769 VoiceEnterHostile = ColonelBurtonVoiceMove 35770 VoiceGetHealed = ColonelBurtonVoiceMove 35771 End 35772 35773 ; *** ENGINEERING Parameters *** 35774 RadarPriority = UNIT 35775 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE 35776 35777 Body = ActiveBody ModuleTag_02 35778 MaxHealth = 200.0 35779 InitialHealth = 200.0 35780 End 35781 35782 Behavior = AIUpdateInterface ModuleTag_03 35783 AutoAcquireEnemiesWhenIdle = Yes 35784 End 35785 35786 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 35787 End 35788 35789 Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 35790 ScanRate = 1000 ; once a second. 35791 ScanRange = 300 ; 35792 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 35793 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 35794 End 35795 35796 Locomotor = SET_NORMAL CINE_ColonelBurtonGroundLocomotor CINE_ColonelBurtonCliffLocomotor 35797 35798 Behavior = PhysicsBehavior ModuleTag_06 35799 Mass = 5.0 35800 End 35801 35802 Behavior = StealthUpdate ModuleTag_07 35803 StealthDelay = 2000 ; msec 35804 StealthForbiddenConditions = FIRING_PRIMARY 35805 HintDetectableConditions = IS_FIRING_WEAPON 35806 FriendlyOpacityMin = 50.0% 35807 FriendlyOpacityMax = 100.0% 35808 InnateStealth = Yes 35809 OrderIdleEnemiesToAttackMeUponReveal = Yes 35810 End 35811 35812 Behavior = SpecialAbility ModuleTag_08 35813 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges 35814 UpdateModuleStartsAttack = Yes 35815 InitiateSound = ColonelBurtonVoicePlantRemoteCharge 35816 End 35817 Behavior = SpecialAbilityUpdate ModuleTag_09 35818 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges 35819 StartAbilityRange = 0.0 35820 PreparationTime = 0 35821 SpecialObject = RemoteC4Charge 35822 MaxSpecialObjects = 8 35823 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). 35824 AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. 35825 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 35826 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 35827 UnpackTime = 5500 35828 PackTime = 0 35829 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. 35830 FlipOwnerAfterUnpacking = Yes 35831 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 35832 UnpackSound = ColonelBurtonPlantCharge 35833 LoseStealthOnTrigger = Yes 35834 End 35835 35836 Behavior = SpecialAbility ModuleTag_10 35837 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges 35838 UpdateModuleStartsAttack = Yes 35839 InitiateSound = ColonelBurtonVoicePlantTimedCharge 35840 End 35841 Behavior = SpecialAbilityUpdate ModuleTag_11 35842 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges 35843 StartAbilityRange = 0.0 35844 PreparationTime = 0 35845 SpecialObject = TimedC4Charge 35846 MaxSpecialObjects = 10 35847 SpecialObjectsPersistWhenOwnerDies = Yes 35848 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 35849 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 35850 UnpackTime = 5500 35851 FlipOwnerAfterUnpacking = Yes 35852 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 35853 UnpackSound = ColonelBurtonPlantCharge 35854 LoseStealthOnTrigger = Yes 35855 End 35856 35857 Behavior = ExperienceScalarUpgrade ModuleTag_12 35858 TriggeredBy = Upgrade_AmericaAdvancedTraining 35859 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 35860 End 35861 35862 Behavior = SquishCollide ModuleTag_13 35863 ;nothing 35864 End 35865 35866 35867 ; --- begin Death modules --- 35868 Behavior = SlowDeathBehavior ModuleTag_Death01 35869 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 35870 SinkDelay = 3000 35871 SinkRate = 0.5 ; in Dist/Sec 35872 DestructionDelay = 8000 35873 FX = INITIAL FX_GIDie 35874 End 35875 Behavior = SlowDeathBehavior ModuleTag_Death02 35876 DeathTypes = NONE +CRUSHED +SPLATTED 35877 SinkDelay = 3000 35878 SinkRate = 0.5 ; in Dist/Sec 35879 DestructionDelay = 8000 35880 FX = INITIAL FX_GIDieCrushed 35881 End 35882 Behavior = SlowDeathBehavior ModuleTag_Death03 35883 DeathTypes = NONE +EXPLODED 35884 SinkDelay = 3000 35885 SinkRate = 0.5 ; in Dist/Sec 35886 DestructionDelay = 8000 35887 FX = INITIAL FX_GIDie 35888 FlingForce = 8 35889 FlingForceVariance = 3 35890 FlingPitch = 60 35891 FlingPitchVariance = 10 35892 End 35893 Behavior = SlowDeathBehavior ModuleTag_Death04 35894 DeathTypes = NONE +BURNED 35895 DestructionDelay = 0 35896 FX = INITIAL FX_GIDie 35897 OCL = INITIAL OCL_FlamingInfantry 35898 End 35899 Behavior = SlowDeathBehavior ModuleTag_Death05 35900 DeathTypes = NONE +POISONED 35901 DestructionDelay = 0 35902 FX = INITIAL FX_GIDie 35903 OCL = INITIAL OCL_ToxicInfantry 35904 End 35905 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 35906 DeathTypes = NONE +POISONED_BETA 35907 DestructionDelay = 0 35908 FX = INITIAL FX_GIDie 35909 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 35910 End 35911 ; --- end Death modules --- 35912 35913 Behavior = PoisonedBehavior ModuleTag_18 35914 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 35915 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 35916 End 35917 35918 Geometry = CYLINDER 35919 Scale = 0.95 ;Scaling 35920 GeometryMajorRadius = 1.0 35921 GeometryMinorRadius = 1.0 35922 GeometryHeight = 8.0 35923 GeometryIsSmall = Yes 35924 Shadow = SHADOW_DECAL 35925 ShadowSizeX = 9 35926 ShadowSizeY = 9 35927 ShadowTexture = ShadowI 35928 BuildCompletion = APPEARS_AT_RALLY_POINT 35929 35930 End 35931 35932 ;------------------------------------------------------------------------------ 35933 ;**************************** Cinematic-only unit ***************************** 35934 Object CINE_GLAVehicleQuadCannon 35935 35936 ; *** ART Parameters *** 35937 SelectPortrait = SUQuadCannon_L 35938 ButtonImage = SUQuadCannon 35939 35940 UpgradeCameo1 = Upgrade_GLAAPBullets 35941 UpgradeCameo2 = Upgrade_GLAJunkRepair 35942 ;UpgradeCameo3 = XXX 35943 ;UpgradeCameo4 = XXX 35944 ;UpgradeCameo5 = XXX 35945 35946 Draw = W3DTankTruckDraw ModuleTag_01 35947 OkToChangeModelColor = Yes 35948 35949 ConditionState = NONE 35950 Model = UVQuadCann 35951 Turret = TURRET 35952 TurretPitch = TURRETEL 35953 WeaponFireFXBone = PRIMARY BarrelMS 35954 WeaponMuzzleFlash = PRIMARY BarrelFX 35955 WeaponRecoilBone = PRIMARY Barrel 35956 WeaponFireFXBone = SECONDARY BarrelMS 35957 WeaponMuzzleFlash = SECONDARY BarrelFX 35958 WeaponRecoilBone = SECONDARY Barrel 35959 HideSubObject = TURRETUP01 TURRETUP02 35960 ShowSubObject = TURRET 35961 End 35962 35963 ConditionState = REALLYDAMAGED 35964 Model = UVQuadCann_D 35965 Turret = TURRET 35966 TurretPitch = TURRETEL 35967 WeaponFireFXBone = PRIMARY BarrelMS 35968 WeaponMuzzleFlash = PRIMARY BarrelFX 35969 WeaponRecoilBone = PRIMARY Barrel 35970 WeaponFireFXBone = SECONDARY BarrelMS 35971 WeaponMuzzleFlash = SECONDARY BarrelFX 35972 WeaponRecoilBone = SECONDARY Barrel 35973 HideSubObject = TURRETUP01 TURRETUP02 35974 ShowSubObject = TURRET 35975 End 35976 35977 ConditionState = RUBBLE 35978 Model = UVQuadCann_D 35979 Turret = TURRET 35980 TurretPitch = TURRETEL 35981 WeaponFireFXBone = PRIMARY BarrelMS 35982 WeaponMuzzleFlash = PRIMARY BarrelFX 35983 WeaponRecoilBone = PRIMARY Barrel 35984 WeaponFireFXBone = SECONDARY BarrelMS 35985 WeaponMuzzleFlash = SECONDARY BarrelFX 35986 WeaponRecoilBone = SECONDARY Barrel 35987 HideSubObject = TURRETUP01 TURRETUP02 35988 ShowSubObject = TURRET 35989 End 35990 35991 ConditionState = WEAPONSET_CRATEUPGRADE_ONE 35992 Model = UVQuadCann 35993 Turret = TURRETUP01 35994 TurretPitch = TURRETEL01 35995 WeaponFireFXBone = PRIMARY BarrelUp01MS 35996 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 35997 WeaponRecoilBone = PRIMARY BarrelUp01 35998 WeaponFireFXBone = SECONDARY BarrelUp01MS 35999 WeaponMuzzleFlash = SECONDARY BarrelUp01FX 36000 WeaponRecoilBone = SECONDARY BarrelUp01 36001 HideSubObject = TURRET TURRETUP02 36002 ShowSubObject = TURRETUP01 36003 End 36004 36005 ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED 36006 Model = UVQuadCann 36007 Turret = TURRETUP01 36008 TurretPitch = TURRETEL01 36009 WeaponFireFXBone = PRIMARY BarrelUp01MS 36010 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 36011 WeaponRecoilBone = PRIMARY BarrelUp01 36012 WeaponFireFXBone = SECONDARY BarrelUp01MS 36013 WeaponMuzzleFlash = SECONDARY BarrelUp01FX 36014 WeaponRecoilBone = SECONDARY BarrelUp01 36015 HideSubObject = TURRET TURRETUP02 36016 ShowSubObject = TURRETUP01 36017 End 36018 36019 ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE 36020 Model = UVQuadCann 36021 Turret = TURRETUP01 36022 TurretPitch = TURRETEL01 36023 WeaponFireFXBone = PRIMARY BarrelUp01MS 36024 WeaponMuzzleFlash = PRIMARY BarrelUp01FX 36025 WeaponRecoilBone = PRIMARY BarrelUp01 36026 WeaponFireFXBone = SECONDARY BarrelUp01MS 36027 WeaponMuzzleFlash = SECONDARY BarrelUp01FX 36028 WeaponRecoilBone = SECONDARY BarrelUp01 36029 HideSubObject = TURRET TURRETUP02 36030 ShowSubObject = TURRETUP01 36031 End 36032 36033 ConditionState = WEAPONSET_CRATEUPGRADE_TWO 36034 Model = UVQuadCann 36035 Turret = TURRETUP02 36036 TurretPitch = TURRETEL02 36037 WeaponFireFXBone = PRIMARY BarrelUp02MS 36038 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 36039 WeaponRecoilBone = PRIMARY BarrelUp02 36040 WeaponFireFXBone = SECONDARY BarrelUp02MS 36041 WeaponMuzzleFlash = SECONDARY BarrelUp02FX 36042 WeaponRecoilBone = SECONDARY BarrelUp02 36043 HideSubObject = TURRETUP01 TURRET 36044 ShowSubObject = TURRETUP02 36045 End 36046 36047 ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED 36048 Model = UVQuadCann_D 36049 Turret = TURRETUP02 36050 TurretPitch = TURRETEL02 36051 WeaponFireFXBone = PRIMARY BarrelUp02MS 36052 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 36053 WeaponRecoilBone = PRIMARY BarrelUp02 36054 WeaponFireFXBone = SECONDARY BarrelUp02MS 36055 WeaponMuzzleFlash = SECONDARY BarrelUp02FX 36056 WeaponRecoilBone = SECONDARY BarrelUp02 36057 HideSubObject = TURRETUP01 TURRET 36058 ShowSubObject = TURRETUP02 36059 End 36060 36061 ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE 36062 Model = UVQuadCann_D 36063 Turret = TURRETUP02 36064 TurretPitch = TURRETEL02 36065 WeaponFireFXBone = PRIMARY BarrelUp02MS 36066 WeaponMuzzleFlash = PRIMARY BarrelUp02FX 36067 WeaponRecoilBone = PRIMARY BarrelUp02 36068 WeaponFireFXBone = SECONDARY BarrelUp02MS 36069 WeaponMuzzleFlash = SECONDARY BarrelUp02FX 36070 WeaponRecoilBone = SECONDARY BarrelUp02 36071 HideSubObject = TURRETUP01 TURRET 36072 ShowSubObject = TURRETUP02 36073 End 36074 36075 TrackMarks = EXTnkTrack.tga 36076 36077 TreadAnimationRate = 2.0; amount of tread texture to move per second 36078 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 36079 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 36080 36081 Dust = RocketBuggyDust 36082 DirtSpray = RocketBuggyDirtSpray 36083 36084 ; These parameters are only used if the model has a separate suspension, 36085 ; and the locomotor has HasSuspension = Yes. 36086 LeftFrontTireBone = Tire01 36087 RightFrontTireBone = Tire02 36088 TireRotationMultiplier = 0.2 ; this * speed = rotation. 36089 PowerslideRotationAddition = 0 ; This unit doesn't powerslide. 36090 End 36091 36092 ; ***DESIGN parameters *** 36093 DisplayName = OBJECT:QuadCannon 36094 Side = GLA 36095 EditorSorting = VEHICLE 36096 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 36097 WeaponSet 36098 Conditions = None 36099 Weapon = PRIMARY QuadCannonGun 36100 Weapon = SECONDARY QuadCannonGunAir 36101 End 36102 WeaponSet 36103 Conditions = CRATEUPGRADE_ONE 36104 Weapon = PRIMARY QuadCannonGunUpgradeOne 36105 Weapon = SECONDARY QuadCannonGunUpgradeOneAir 36106 End 36107 WeaponSet 36108 Conditions = CRATEUPGRADE_TWO 36109 Weapon = PRIMARY QuadCannonGunUpgradeTwo 36110 Weapon = SECONDARY QuadCannonGunUpgradeTwoAir 36111 End 36112 ArmorSet 36113 Conditions = None 36114 Armor = AntiAirVehicle 36115 DamageFX = TankDamageFX 36116 End 36117 BuildCost = 700 36118 BuildTime = 10.0 ;in seconds 36119 VisionRange = 350 36120 ShroudClearingRange = 300 36121 Prerequisites 36122 Object = GLAArmsDealer 36123 End 36124 36125 CommandSet = GLAVehicleQuadCannon 36126 36127 ExperienceValue = 50 50 100 150 ;Experience point value at each level 36128 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 36129 IsTrainable = Yes ;Can gain experience 36130 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 36131 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 36132 36133 ; *** AUDIO Parameters *** 36134 VoiceSelect = QuadCannonVoiceSelect 36135 VoiceMove = QuadCannonVoiceMove 36136 VoiceAttack = QuadCannonVoiceAttack 36137 VoiceAttackAir = QuadCannonVoiceAttackAir 36138 SoundMoveStart = QuadCannonMoveStart 36139 SoundMoveStartDamaged = QuadCannonMoveStart 36140 VoiceGuard = QuadCannonVoiceMove 36141 UnitSpecificSounds 36142 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 36143 VoiceCreate = QuadCannonVoiceCreate 36144 TurretMoveStart = NoSound 36145 TurretMoveLoop = TurretMoveLoop 36146 ; Required for the W3DTruckDraw module 36147 TruckLandingSound = NoSound 36148 TruckPowerslideSound = NoSound 36149 VoiceSalvage = QuadCannonVoiceSalvage 36150 VoiceCrush = QuadCannonVoiceCrush 36151 VoiceEnter = QuadCannonVoiceMove 36152 End 36153 36154 Behavior = AIUpdateInterface ModuleTag_20 36155 AutoAcquireEnemiesWhenIdle = Yes 36156 MoodAttackCheckRate = 250 36157 End 36158 36159 ; *** ENGINEERING Parameters *** 36160 RadarPriority = UNIT 36161 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE 36162 36163 Body = ActiveBody ModuleTag_02 36164 MaxHealth = 180.0 36165 InitialHealth = 180.0 36166 End 36167 36168 Behavior = AIUpdateInterface ModuleTag_03 36169 Turret 36170 TurretTurnRate = 360 36171 TurretPitchRate = 360 36172 AllowsPitch = Yes 36173 ControlledWeaponSlots = PRIMARY SECONDARY 36174 End 36175 AutoAcquireEnemiesWhenIdle = Yes 36176 End 36177 36178 Locomotor = SET_NORMAL CINE_QuadCannonLocomotor 36179 36180 Behavior = PhysicsBehavior ModuleTag_04 36181 Mass = 40.0 36182 End 36183 36184 ; Catch fire, and explode death 36185 Behavior = SlowDeathBehavior ModuleTag_05 36186 DeathTypes = ALL -CRUSHED -SPLATTED 36187 ProbabilityModifier = 411 36188 DestructionDelay = 150 36189 DestructionDelayVariance = 250 36190 OCL = FINAL OCL_QuadCannonDeathEffect 36191 FX = FINAL FX_BattleMasterExplosionOneFinal 36192 End 36193 36194 Behavior = AutoHealBehavior ModuleTag_06 36195 HealingAmount = 2 36196 HealingDelay = 1000 ; msec 36197 TriggeredBy = Upgrade_GLAJunkRepair 36198 End 36199 36200 Behavior = FlammableUpdate ModuleTag_08 36201 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 36202 AflameDamageAmount = 3 ; taking this much damage... 36203 AflameDamageDelay = 500 ; this often. 36204 End 36205 36206 Behavior = TransitionDamageFX ModuleTag_09 36207 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 36208 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 36209 End 36210 36211 36212 ; A crushing defeat 36213 Behavior = FXListDie ModuleTag_10 36214 DeathTypes = NONE +CRUSHED +SPLATTED 36215 DeathFX = FX_CarCrush 36216 End 36217 36218 Behavior = CreateCrateDie ModuleTag_11 36219 CrateData = SalvageCrateData 36220 ;CrateData = EliteTankCrateData 36221 ;CrateData = HeroicTankCrateData 36222 End 36223 36224 Behavior = WeaponBonusUpgrade ModuleTag_12 36225 TriggeredBy = Upgrade_GLAAPBullets 36226 End 36227 36228 Geometry = BOX 36229 GeometryMajorRadius = 18.0 36230 GeometryMinorRadius = 7.0 36231 GeometryHeight = 11.5 36232 GeometryIsSmall = No 36233 Shadow = SHADOW_VOLUME 36234 36235 End 36236 36237 ;------------------------------------------------------------------------------ 36238 ;*************************** Cinematic-only unit ****************************** 36239 Object CINE_GLAVehicleScudLauncher 36240 36241 ; *** ART Parameters *** 36242 SelectPortrait = SUScudLauncher_L 36243 ButtonImage = SUScudLauncher 36244 36245 UpgradeCameo1 = Upgrade_GLAJunkRepair 36246 ;UpgradeCameo2 = Upgrade_GLAAnthraxBeta 36247 ;UpgradeCameo3 = NONE 36248 ;UpgradeCameo4 = NONE 36249 ;UpgradeCameo5 = NONE 36250 36251 Draw = W3DTruckDraw ModuleTag_01 36252 OkToChangeModelColor = Yes 36253 36254 ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset 36255 36256 DefaultConditionState 36257 Model = UVScudLchr 36258 Turret = TURRET 36259 TurretPitch = TURRETEL 36260 WeaponLaunchBone = PRIMARY WeaponA 36261 WeaponLaunchBone = SECONDARY WeaponA 36262 WeaponHideShowBone = PRIMARY MISSILE 36263 WeaponHideShowBone = SECONDARY MISSILE 36264 End 36265 36266 ConditionState = REALLYDAMAGED 36267 Model = UVScudLchr_d 36268 End 36269 AliasConditionState = RUBBLE 36270 36271 TrackMarks = EXTireTrack.tga 36272 36273 Dust = ScudLauncherDust 36274 DirtSpray = RocketBuggyDirtSpray 36275 PowerslideSpray = RocketBuggyDirtPowerSlide 36276 36277 ; These parameters are only used if the model has a separate suspension, 36278 ; and the locomotor has HasSuspension = Yes. 36279 LeftFrontTireBone = Tire01 36280 RightFrontTireBone = Tire05 36281 LeftRearTireBone = Tire04 36282 RightRearTireBone = Tire08 36283 MidLeftFrontTireBone = Tire02 36284 MidRightFrontTireBone = Tire06 36285 MidLeftRearTireBone = Tire03 36286 MidRightRearTireBone = Tire07 36287 36288 TireRotationMultiplier = 0.2 ; this * speed = rotation. 36289 ;PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. 36290 36291 End 36292 36293 36294 ; ***DESIGN parameters *** 36295 36296 DisplayName = OBJECT:ScudLauncher 36297 Side = GLA 36298 EditorSorting = VEHICLE 36299 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 36300 WeaponSet 36301 Conditions = None 36302 Weapon = PRIMARY CINE_SCUDLauncherGunExplosive 36303 Weapon = SECONDARY SCUDLauncherGunAnthrax 36304 AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 36305 AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI 36306 PreferredAgainst = SECONDARY INFANTRY 36307 ShareWeaponReloadTime = Yes 36308 End 36309 ArmorSet 36310 Conditions = None 36311 Armor = TruckArmor 36312 DamageFX = TankDamageFX 36313 End 36314 BuildCost = 1200 36315 BuildTime = 20.0 ;in seconds 36316 VisionRange = 500 36317 ShroudClearingRange = 300 36318 Prerequisites 36319 Object = GLAArmsDealer 36320 Object = GLAPalace 36321 Science = SCIENCE_ScudLauncher 36322 End 36323 36324 ExperienceValue = 50 50 100 150 ;Experience point value at each level 36325 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 36326 IsTrainable = Yes ;Can gain experience 36327 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 36328 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 36329 CommandSet = GLAVehicleScudLauncherCommandSet 36330 36331 ; *** AUDIO Parameters *** 36332 VoiceSelect = ScudLauncherVoiceSelect 36333 VoiceMove = ScudLauncherVoiceMove 36334 VoiceGuard = ScudLauncherVoiceMove 36335 VoiceAttack = ScudLauncherVoiceAttack 36336 SoundMoveStart = ScudLauncherMoveStart 36337 SoundMoveStartDamaged = ScudLauncherMoveStart 36338 UnitSpecificSounds 36339 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 36340 VoiceCreate = ScudLauncherVoiceCreate 36341 TurretMoveStart = NoSound 36342 TurretMoveLoop = TurretMoveLoop 36343 TruckLandingSound = NoSound 36344 TruckPowerslideSound = NoSound 36345 VoiceCrush = ScudLauncherVoiceCrush 36346 VoiceEnter = ScudLauncherVoiceMove 36347 End 36348 36349 ; *** ENGINEERING Parameters *** 36350 RadarPriority = UNIT 36351 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 36352 36353 Body = ActiveBody ModuleTag_02 36354 MaxHealth = 180.0 36355 InitialHealth = 180.0 36356 End 36357 36358 Behavior = AIUpdateInterface ModuleTag_03 36359 Turret 36360 TurretTurnRate = 60 ; turn rate, in degrees per sec 36361 TurretPitchRate = 60 36362 FirePitch = 90 ; Instead of aiming pitchwise at the target, it will aim here 36363 AllowsPitch = Yes 36364 ControlledWeaponSlots = PRIMARY SECONDARY 36365 End 36366 AutoAcquireEnemiesWhenIdle = No NotWhileAttacking 36367 End 36368 36369 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 36370 End 36371 36372 Locomotor = SET_NORMAL CINE_ScudLauncherLocomotor 36373 Behavior = PhysicsBehavior ModuleTag_05 36374 Mass = 40.0 36375 End 36376 36377 Behavior = AutoHealBehavior ModuleTag_06 36378 HealingAmount = 2 36379 HealingDelay = 1000 ; msec 36380 TriggeredBy = Upgrade_GLAJunkRepair 36381 End 36382 36383 ; Behavior = DestroyDie 36384 ;nothing 36385 ; End 36386 36387 Behavior = TransitionDamageFX ModuleTag_08 36388 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 36389 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ScudLauncherDamageTransition 36390 End 36391 36392 ; Catch fire, and explode death 36393 Behavior = SlowDeathBehavior ModuleTag_09 36394 DeathTypes = ALL -CRUSHED -SPLATTED 36395 ProbabilityModifier = 50 36396 DestructionDelay = 2000 36397 DestructionDelayVariance = 300 36398 FX = INITIAL FX_CrusaderCatchFire 36399 OCL = FINAL OCL_SCUDLauncherDeathEffect 36400 FX = FINAL FX_ScudLauncherExplosionOneFinal 36401 End 36402 36403 ; A crushing defeat 36404 Behavior = FXListDie ModuleTag_10 36405 DeathTypes = NONE +CRUSHED +SPLATTED 36406 DeathFX = FX_CarCrush 36407 End 36408 36409 Behavior = CreateObjectDie ModuleTag_11 36410 DeathTypes = NONE +CRUSHED +SPLATTED 36411 CreationList = OCL_CrusaderTank_CrushEffect 36412 End 36413 36414 Behavior = FlammableUpdate ModuleTag_21 36415 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 36416 AflameDamageAmount = 3 ; taking this much damage... 36417 AflameDamageDelay = 500 ; this often. 36418 End 36419 36420 Geometry = BOX 36421 GeometryMajorRadius = 14.0 36422 GeometryMinorRadius = 7.0 36423 GeometryHeight = 11.5 36424 GeometryIsSmall = No 36425 Shadow = SHADOW_VOLUME 36426 36427 End 36428 36429 ;------------------------------------------------------------------------------ 36430 ;************************** Cinematic-only unit ******************************* 36431 Object CINE_GLAVehicleBombTruck 36432 36433 ; *** ART Parameters *** 36434 SelectPortrait = SUBombTruck_L 36435 ButtonImage = SUBombTruck 36436 36437 UpgradeCameo1 = Upgrade_GLABombTruckHighExplosiveBomb 36438 UpgradeCameo2 = Upgrade_GLABombTruckBioBomb 36439 UpgradeCameo3 = Upgrade_GLAJunkRepair 36440 ;UpgradeCameo4 = NONE 36441 ;UpgradeCameo5 = NONE 36442 36443 36444 Draw = W3DTruckDraw ModuleTag_01 36445 OkToChangeModelColor = Yes 36446 TrackMarks = EXTireTrack.tga 36447 36448 DefaultConditionState 36449 Model = UVBMBTRUK 36450 Animation = UVBMBTRUK.UVBMBTRUK 36451 AnimationMode = LOOP 36452 36453 ;Display the default bombload -- and the upgrades will handle the rest! 36454 HideSubObject = Bombload02 Bombload03 Bombload04 36455 End 36456 36457 ConditionState = REALLYDAMAGED 36458 Model = UVBMBTRUK_D 36459 Animation = UVBMBTRUK_D.UVBMBTRUK_D 36460 AnimationMode = LOOP 36461 End 36462 36463 ConditionState = RUBBLE 36464 Model = UVBMBTRUK_D 36465 End 36466 36467 LeftFrontTireBone = Tire01 36468 RightFrontTireBone = Tire02 36469 MidLeftFrontTireBone = Tire03 36470 MidRightFrontTireBone = Tire04 36471 LeftRearTireBone = Tire05 36472 RightRearTireBone = Tire06 36473 TireRotationMultiplier = 0.2 ; this * speed = rotation. 36474 36475 Dust = RocketBuggyDust 36476 DirtSpray = RocketBuggyDirtSpray 36477 PowerslideSpray = RocketBuggyDirtPowerSlide 36478 36479 End 36480 36481 ; ***DESIGN parameters *** 36482 DisplayName = OBJECT:BombTruck 36483 Side = GLA 36484 EditorSorting = VEHICLE 36485 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 36486 WeaponSet 36487 Conditions = None 36488 Weapon = PRIMARY SuicideWeapon 36489 End 36490 ArmorSet 36491 Conditions = None 36492 Armor = TruckArmor 36493 DamageFX = TruckDamageFX 36494 End 36495 BuildCost = 1200 36496 BuildTime = 15.0 ;in seconds 36497 VisionRange = 150 ; Used in attack move targeting 36498 ShroudClearingRange = 200 36499 Prerequisites 36500 Object = GLAArmsDealer 36501 Object = GLAPalace 36502 Science = SCIENCE_TechnicalTraining 36503 End 36504 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 36505 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 36506 CommandSet = GLAVehicleBombTruckCommandSet 36507 36508 ; *** AUDIO Parameters *** 36509 VoiceSelect = BombTruckVoiceSelect 36510 VoiceMove = BombTruckVoiceMove 36511 VoiceGuard = BombTruckVoiceMove 36512 VoiceAttack = BombTruckVoiceAttack 36513 SoundMoveStart = BombTruckMoveStart 36514 SoundMoveStartDamaged = BombTruckMoveStart 36515 UnitSpecificSounds 36516 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 36517 VoiceCreate = BombTruckVoiceCreate 36518 TurretMoveStart = NoSound 36519 TurretMoveLoop = NoSound 36520 TruckLandingSound = RocketBuggyLand 36521 TruckPowerslideSound = RocketBuggyPowerslide 36522 DisguiseStarted = BombTruckDisguiseStarted 36523 DisguiseRevealedSuccess = BombTruckDisguiseRevealedSuccess 36524 DisguiseRevealedFailure = BombTruckDisguiseRevealedFailure 36525 VoiceEnter = BombTruckVoiceMove 36526 End 36527 36528 ; *** ENGINEERING Parameters *** 36529 RadarPriority = UNIT 36530 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 36531 36532 Body = ActiveBody ModuleTag_02 36533 MaxHealth = 220.0 36534 InitialHealth = 220.0 36535 End 36536 36537 ExperienceValue = 50 50 50 50 ; Experience point value at each level 36538 36539 Behavior = VeterancyGainCreate ModuleTag_03 36540 StartingLevel = VETERAN 36541 End 36542 36543 Behavior = AIUpdateInterface ModuleTag_04 36544 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS 36545 End 36546 Locomotor = SET_NORMAL CINE_BombTruckLocomotor 36547 36548 Behavior = PhysicsBehavior ModuleTag_05 36549 Mass = 40.0 36550 End 36551 36552 Behavior = AutoHealBehavior ModuleTag_06 36553 HealingAmount = 2 36554 HealingDelay = 1000 ; msec 36555 TriggeredBy = Upgrade_GLAJunkRepair 36556 End 36557 36558 Behavior = ProductionUpdate ModuleTag_07 36559 ; nothing 36560 End 36561 36562 Behavior = SlowDeathBehavior ModuleTag_08 36563 DeathTypes = ALL -CRUSHED -SPLATTED 36564 ProbabilityModifier = 5 36565 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 36566 DestructionDelay = 0 36567 DestructionDelayVariance = 200 36568 FX = FINAL FX_BuggyNewDeathExplosion 36569 OCL = FINAL OCL_BombTruckDeathEffect 36570 End 36571 36572 ;Behavior = DestroyDie 36573 ;nothing 36574 ;End 36575 36576 36577 ;************************************************************************************************ 36578 ;* WHICH BOMB DO WE USE??? 36579 ;* We have 2 damage possibilities -- (normal OR high explosive) 36580 ;* So part 1 is inflicting the damage itself without creating effects 36581 ;* The complicated part is the part where we have 6 possible effect explosions based on 36582 ;* all the possible upgrade combinations. Note that bio weapons don't inflict damage through 36583 ;* the explosion. 36584 ;* 36585 ;* DAMAGE COMBINATIONS (NO EFFECTS): 36586 ;* 1) Normal (doesn't have high explosive upgrade) 36587 ;* 2) High explosive (has high-explosive upgrade) 36588 ;* 36589 ;* EFFECT COMBINATIONS (NO DAMAGE): 36590 ;* 1) Normal (no upgrades) 36591 ;* 2) Bio (bio-bomb upgrade) 36592 ;* 3) Anthrax (bio-bomb and anthrax upgrade) 36593 ;* 4) High explosive (high explosive upgrade) 36594 ;* 5) High explosive bio (high explosive and bio-bomb upgrade) 36595 ;* 6) High explosive anthrax (high explosive, bio-bomb, and anthrax upgrades) 36596 ;************************************************************************************************ 36597 36598 ;************************************************************************************************ 36599 ;* EXCLUSIVE DAMAGE POSSIBILITY 1 -- Normal explosion (can't have high-explosive upgrade) 36600 ;************************************************************************************************ 36601 Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 36602 DeathWeapon = BombTruckDefaultBombDamage 36603 StartsActive = Yes ; turned on by upgrade 36604 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb 36605 End 36606 36607 ;************************************************************************************************ 36608 ;* EXCLUSIVE DAMAGE POSSIBILITY 2 -- High explosion (always plays if it has high-explosive upgrade) 36609 ;************************************************************************************************ 36610 Behavior = FireWeaponWhenDeadBehavior ModuleTag_10 36611 DeathWeapon = BombTruckHighExplosionBombDamage 36612 StartsActive = No ; turned on by upgrade 36613 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 36614 End 36615 36616 ;************************************************************************************************ 36617 ;* EXCLUSIVE EFFECT COMBINATION 1 - Regular explosion (no upgrades) 36618 ;************************************************************************************************ 36619 Behavior = FireWeaponWhenDeadBehavior ModuleTag_11 36620 DeathWeapon = BombTruckDefaultBombEffect 36621 StartsActive = Yes ; turned on by upgrade 36622 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb 36623 End 36624 36625 ;************************************************************************************************ 36626 ;* EXCLUSIVE EFFECT COMBINATION 2 - Bio explosion 36627 ;* Requires: Bio upgrade 36628 ;* Can't have: Anthrax upgrade, high explosive upgrade 36629 ;************************************************************************************************ 36630 Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 36631 DeathWeapon = BombTruckBioBombEffect 36632 StartsActive = No ; turned on by upgrade 36633 TriggeredBy = Upgrade_GLABombTruckBioBomb 36634 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta 36635 RequiresAllTriggers = Yes 36636 End 36637 36638 ;************************************************************************************************ 36639 ;* EXCLUSIVE EFFECT COMBINATION 3 - Anthrax explosion 36640 ;* Requires: Bio upgrade and anthrax upgrade 36641 ;* Can't have: High explosive upgrade 36642 ;************************************************************************************************ 36643 Behavior = FireWeaponWhenDeadBehavior ModuleTag_13 36644 DeathWeapon = BombTruckAnthraxBombEffect 36645 StartsActive = No ; turned on by upgrade 36646 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLAAnthraxBeta 36647 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb 36648 RequiresAllTriggers = Yes 36649 End 36650 36651 ;************************************************************************************************ 36652 ;* EXCLUSIVE EFFECT COMBINATION 4 - High explosion 36653 ;* Requires: High explosive upgrade 36654 ;* Can't have: Bio upgrade and anthrax upgrade 36655 ;************************************************************************************************ 36656 Behavior = FireWeaponWhenDeadBehavior ModuleTag_14 36657 DeathWeapon = BombTruckHighExplosiveBombEffect 36658 StartsActive = No ; turned on by upgrade 36659 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 36660 ConflictsWith = Upgrade_GLABombTruckBioBomb 36661 RequiresAllTriggers = Yes 36662 End 36663 36664 ;************************************************************************************************ 36665 ;* EXCLUSIVE EFFECT COMBINATION 5 - High explosive bio explosion 36666 ;* Requires: High explosive upgrade and bio upgrade 36667 ;* Can't have: Anthrax upgrade 36668 ;************************************************************************************************ 36669 Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 36670 DeathWeapon = BombTruckHighExplosiveBioBombEffect 36671 StartsActive = No ; turned on by upgrade 36672 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb 36673 ConflictsWith = Upgrade_GLAAnthraxBeta 36674 RequiresAllTriggers = Yes 36675 End 36676 36677 ;************************************************************************************************ 36678 ;* EXCLUSIVE EFFECT COMBINATION 6 - High explosive Anthrax explosion 36679 ;* Requires: High explosive, Bio, and anthrax upgrade 36680 ;************************************************************************************************ 36681 Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 36682 DeathWeapon = BombTruckHighExplosiveAnthraxBombEffect 36683 StartsActive = No ; turned on by upgrade 36684 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta 36685 RequiresAllTriggers = Yes 36686 End 36687 36688 ;------------------------------------------------------------------- 36689 ; Wheeeee! Now we get to display the payload based on upgrades!!! 36690 ;------------------------------------------------------------------- 36691 Behavior = SubObjectsUpgrade ModuleTag_17 36692 ;*** Bio bomb load *** 36693 TriggeredBy = Upgrade_GLABombTruckBioBomb 36694 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb 36695 ShowSubObjects = Bombload02 36696 HideSubObjects = Bombload01 Bombload03 Bombload04 36697 End 36698 Behavior = SubObjectsUpgrade ModuleTag_18 36699 ;*** High-explosive bomb load *** 36700 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 36701 ConflictsWith = Upgrade_GLABombTruckBioBomb 36702 ShowSubObjects = Bombload03 36703 HideSubObjects = Bombload01 Bombload02 Bombload04 36704 End 36705 Behavior = SubObjectsUpgrade ModuleTag_19 36706 ;*** High-explosive bio bomb load *** 36707 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb 36708 ShowSubObjects = Bombload04 36709 HideSubObjects = Bombload01 Bombload02 Bombload03 36710 RequiresAllTriggers = Yes 36711 End 36712 ;------------------------------------------------------------------- 36713 36714 36715 Behavior = SpecialAbility ModuleTag_20 36716 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle 36717 UpdateModuleStartsAttack = Yes 36718 End 36719 Behavior = SpecialAbilityUpdate ModuleTag_21 36720 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle 36721 StartAbilityRange = 20000.0 36722 End 36723 36724 Behavior = StealthUpdate ModuleTag_22 36725 StealthDelay = 1 36726 DisguisesAsTeam = Yes 36727 RevealDistanceFromTarget = 100.0f 36728 OrderIdleEnemiesToAttackMeUponReveal = Yes 36729 DisguiseFX = FX_BombTruckDisguise 36730 DisguiseRevealFX = FX_BombTruckDisguiseReveal 36731 InnateStealth = Yes 36732 DisguiseTransitionTime = 2000 36733 DisguiseRevealTransitionTime = 1000 36734 End 36735 36736 ; A crushing defeat 36737 Behavior = FXListDie ModuleTag_23 36738 DeathTypes = NONE +CRUSHED +SPLATTED 36739 DeathFX = FX_CarCrush 36740 End 36741 Behavior = CreateObjectDie ModuleTag_24 36742 DeathTypes = NONE +CRUSHED +SPLATTED 36743 CreationList = OCL_CrusaderTank_CrushEffect 36744 End 36745 Behavior = CreateCrateDie ModuleTag_25 36746 CrateData = SalvageCrateData 36747 ;CrateData = EliteTankCrateData 36748 ;CrateData = HeroicTankCrateData 36749 End 36750 36751 Behavior = TransitionDamageFX ModuleTag_26 36752 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 36753 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 36754 End 36755 36756 Behavior = FlammableUpdate ModuleTag_28 36757 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 36758 AflameDamageAmount = 3 ; taking this much damage... 36759 AflameDamageDelay = 500 ; this often. 36760 End 36761 36762 Geometry = BOX 36763 GeometryMajorRadius = 19.0 36764 GeometryMinorRadius = 8.0 36765 GeometryHeight = 11.5 36766 GeometryIsSmall = No 36767 Shadow = SHADOW_VOLUME 36768 36769 End 36770 36771 ;------------------------------------------------------------------------------ 36772 ;************************** Cinematic-only unit ******************************* 36773 Object CINE_AmericaVehicleChinook 36774 36775 ; *** ART Parameters *** 36776 SelectPortrait = SAChinook_L 36777 ButtonImage = SAChinook 36778 36779 ;UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 36780 ;UpgradeCameo2 = NONE 36781 ;UpgradeCameo3 = NONE 36782 ;UpgradeCameo4 = NONE 36783 ;UpgradeCameo5 = NONE 36784 36785 Draw = W3DModelDraw ModuleTag_01 ; Helicopter 36786 36787 ExtraPublicBone = RopeStart 36788 ExtraPublicBone = RopeEnd 36789 36790 DefaultConditionState 36791 Model = AVChinook 36792 Animation = AVChinook.AVChinook 36793 AnimationMode = LOOP 36794 End 36795 36796 ConditionState = REALLYDAMAGED 36797 Model = AVChinook_d 36798 Animation = AVChinook_d.AVChinook_d 36799 AnimationMode = LOOP 36800 End 36801 36802 ConditionState = RUBBLE 36803 Model = AVChinook_d 36804 Animation = AVChinook_d.AVChinook_d 36805 AnimationMode = LOOP 36806 End 36807 36808 ConditionState = RUBBLE SPECIAL_DAMAGED 36809 Model = AVChinook_d 36810 HideSubObject = Props01 36811 HideSubObject = Props02 36812 End 36813 36814 OkToChangeModelColor = Yes 36815 End 36816 36817 Draw = W3DModelDraw ModuleTag_02 ; Cargo net 36818 ConditionState = NONE 36819 Model = None ; Nothing here 36820 TransitionKey = TRANS_Empty 36821 WaitForStateToFinishIfPossible = TRANS_Unloading 36822 End 36823 36824 ConditionState = DYING 36825 Model = None ; Nothing here 36826 End 36827 AliasConditionState = RUBBLE 36828 AliasConditionState = CARRYING RUBBLE 36829 AliasConditionState = DOCKING RUBBLE 36830 AliasConditionState = DOCKING CARRYING RUBBLE 36831 36832 ConditionState = CARRYING 36833 Model = AVChinook_A ;Carrying a full wobbly net of stuff 36834 Animation = AVChinook_A.AVChinook_A 36835 AnimationMode = LOOP 36836 TransitionKey = TRANS_Full 36837 WaitForStateToFinishIfPossible = TRANS_PickingUp 36838 End 36839 36840 ConditionState = DOCKING 36841 Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff 36842 Animation = AVChinook_A1SK.AVChinook_A1 36843 AnimationMode = ONCE_BACKWARDS 36844 Flags = START_FRAME_LAST 36845 AnimationSpeedFactorRange = .75 .75 36846 TransitionKey = TRANS_PickingUp 36847 WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 36848 End 36849 36850 ConditionState = DOCKING CARRYING 36851 Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net 36852 Animation = AVChinook_A1SK.AVChinook_A1 36853 AnimationMode = ONCE 36854 AnimationSpeedFactorRange = 2.75 2.75 36855 TransitionKey = TRANS_Unloading 36856 WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 36857 End 36858 End 36859 36860 ; ***DESIGN parameters *** 36861 DisplayName = OBJECT:Chinook 36862 EditorSorting = VEHICLE 36863 Side = America 36864 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 36865 VisionRange = 300.0 36866 ShroudClearingRange = 600 36867 BuildCost = 1200 36868 BuildTime = 10.0 ;in seconds 36869 Prerequisites 36870 Object = AmericaSupplyCenter 36871 End 36872 ExperienceValue = 50 50 50 50 ;Experience point value at each level 36873 IsTrainable = No 36874 CommandSet = AmericaVehicleChinookCommandSet 36875 ArmorSet 36876 Conditions = None 36877 Armor = ChinookArmor 36878 DamageFX = None 36879 End 36880 36881 ; *** AUDIO Parameters *** 36882 VoiceSelect = ChinookVoiceSelect 36883 VoiceMove = ChinookVoiceMove 36884 VoiceAttack = ChinookVoiceAttack 36885 SoundAmbient = ChinookAmbientLoop 36886 SoundAmbientRubble = NoSound 36887 SoundDie = ChinookVoiceFalling 36888 SoundEnter = HumveeEnter 36889 SoundExit = HumveeExit 36890 UnitSpecificSounds 36891 VoiceCreate = ChinookVoiceCreate 36892 VoiceSupply = ChinookVoiceSupply 36893 VoiceUnload = ChinookVoiceUnload 36894 VoiceCombatDrop = ChinookVoiceCombatDrop 36895 VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! 36896 VoiceGarrison = ChinookVoiceMove 36897 End 36898 36899 ; *** ENGINEERING Parameters *** 36900 RadarPriority = UNIT 36901 ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at 36902 ; (well, "near" actually) an Airfield to get healed... 36903 ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. 36904 KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD 36905 36906 Body = ActiveBody ModuleTag_03 36907 MaxHealth = 300.0 36908 InitialHealth = 300.0 36909 End 36910 36911 Behavior = FXListDie ModuleTag_05 36912 DeathFX = FX_HelicopterStartDeath 36913 End 36914 36915 Behavior = TransitionDamageFX ModuleTag_06 36916 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 36917 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 36918 End 36919 36920 Behavior = ChinookAIUpdate ModuleTag_07 36921 MaxBoxes = 8 36922 SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction) 36923 SupplyWarehouseActionDelay = 1250 ; 875 ; ms per box (many small transactions) 36924 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) 36925 SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted 36926 NumRopes = 4 36927 ; these define how long we can wait, once a guy is on-rope, before throwing another 36928 ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely 36929 ; and we'll wait for each guy to clear before spawning another. 36930 PerRopeDelayMin = 900 36931 PerRopeDelayMax = 1500 36932 RopeWidth = 0.5 36933 RopeColor = R:0 G:0 B:0 36934 RopeWobbleLen = 10 36935 RopeWobbleAmplitude = 0.25 36936 RopeWobbleRate = 180 36937 RopeFinalHeight = 10 ; stop this far above ground 36938 RappelSpeed = 30 36939 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it 36940 36941 End 36942 Locomotor = SET_NORMAL CINE_ChinookLocomotor 36943 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 36944 36945 Behavior = TransportContain ModuleTag_08 36946 Slots = 8 36947 DamagePercentToUnits = 100% 36948 AllowInsideKindOf = INFANTRY VEHICLE 36949 ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE 36950 ExitDelay = 100 36951 NumberOfExitPaths = 1 36952 End 36953 Behavior = PhysicsBehavior ModuleTag_09 36954 Mass = 50.0 36955 End 36956 Behavior = HelicopterSlowDeathBehavior ModuleTag_10 36957 DestructionDelay = 99999999 ; the destruction delay 36958 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 36959 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 36960 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 36961 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 36962 SoundDeathLoop = ComancheDamagedLoop 36963 MinSelfSpin = 100 ; in degrees per second 36964 MaxSelfSpin = 300 ; in degrees per second 36965 SelfSpinUpdateDelay = 100 ; in milliseconds 36966 SelfSpinUpdateAmount = 10 ; in degrees 36967 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 36968 MinBladeFlyOffDelay = 1500 ; in milliseconds 36969 MaxBladeFlyOffDelay = 1500 ; in milliseconds 36970 AttachParticle = SootySmokeTrail 36971 AttachParticleBone = Propeller02 36972 BladeObjectName = ComancheBlades 36973 BladeBoneName = Propeller01 36974 FXBlade = FX_HelicopterBladeExplosion 36975 OCLBlade = OCL_HelicopterBladeExplosion 36976 FXHitGround = FX_HelicopterHitGround 36977 OCLHitGround = OCL_HelicopterHitGround 36978 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 36979 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 36980 DelayFromGroundToFinalDeath = 30 36981 FinalRubbleObject = ChinookRubbleHull 36982 End 36983 36984 Behavior = FlammableUpdate ModuleTag_21 36985 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 36986 AflameDamageAmount = 3 ; taking this much damage... 36987 AflameDamageDelay = 500 ; this often. 36988 End 36989 36990 Geometry = BOX 36991 GeometryMajorRadius = 20.0 36992 GeometryMinorRadius = 6.0 36993 GeometryHeight = 12.0 36994 GeometryIsSmall = No 36995 Shadow = SHADOW_VOLUME 36996 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 36997 36998 End 36999 37000 ;------------------------------------------------------------------------------ 37001 ;************************** Cinematic-only unit ******************************* 37002 ;China Dragon Tank 37003 Object CINE_ChinaTankDragon 37004 37005 ; *** ART Parameters *** 37006 SelectPortrait = SNDragonTank_L 37007 ButtonImage = SNDragonTank 37008 37009 UpgradeCameo1 = Upgrade_ChinaBlackNapalm 37010 ;UpgradeCameo2 = NONE 37011 ;UpgradeCameo3 = NONE 37012 ;UpgradeCameo4 = NONE 37013 ;UpgradeCameo5 = NONE 37014 37015 Draw = W3DTankDraw ModuleTag_01 37016 OkToChangeModelColor = Yes 37017 37018 DefaultConditionState 37019 Model = NVDragon 37020 Turret = Turret 37021 TurretPitch = TURRETEL 37022 WeaponFireFXBone = PRIMARY WeaponA 37023 WeaponLaunchBone = PRIMARY WeaponA 37024 WeaponFireFXBone = SECONDARY WeaponA 37025 WeaponLaunchBone = SECONDARY WeaponA 37026 End 37027 ConditionState = REALLYDAMAGED 37028 Model = NVDragon_D 37029 Turret = Turret 37030 TurretPitch = TURRETEL 37031 WeaponFireFXBone = PRIMARY WeaponA 37032 WeaponLaunchBone = PRIMARY WeaponA 37033 WeaponFireFXBone = SECONDARY WeaponA 37034 WeaponLaunchBone = SECONDARY WeaponA 37035 End 37036 ConditionState = RUBBLE 37037 Model = NVDragon_D 37038 Turret = Turret 37039 TurretPitch = TURRETEL 37040 WeaponFireFXBone = PRIMARY WeaponA 37041 WeaponLaunchBone = PRIMARY WeaponA 37042 WeaponFireFXBone = SECONDARY WeaponA 37043 WeaponLaunchBone = SECONDARY WeaponA 37044 End 37045 37046 TrackMarks = EXTnkTrack.tga 37047 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 37048 TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. 37049 TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. 37050 End 37051 37052 ; ***DESIGN parameters *** 37053 DisplayName = OBJECT:Dragon 37054 Side = China 37055 EditorSorting = VEHICLE 37056 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 37057 37058 WeaponSet 37059 Conditions = None 37060 Weapon = PRIMARY DragonTankFlameWeapon 37061 Weapon = SECONDARY DragonTankFireWallWeapon 37062 AutoChooseSources = SECONDARY NONE 37063 End 37064 WeaponSet 37065 Conditions = PLAYER_UPGRADE 37066 Weapon = PRIMARY DragonTankFlameWeaponUpgraded 37067 Weapon = SECONDARY DragonTankFireWallWeaponUpgraded 37068 AutoChooseSources = SECONDARY NONE 37069 End 37070 37071 ArmorSet 37072 Conditions = None 37073 Armor = DragonTankArmor 37074 DamageFX = TankDamageFX 37075 End 37076 BuildCost = 800 37077 BuildTime = 10.0 ;in seconds 37078 VisionRange = 100 37079 ShroudClearingRange = 200 37080 Prerequisites 37081 Object = ChinaWarFactory 37082 End 37083 37084 ExperienceValue = 50 50 100 150 ;Experience point value at each level 37085 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 37086 IsTrainable = Yes ;Can gain experience 37087 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 37088 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 37089 CommandSet = ChinaTankDragonCommandSet 37090 37091 ; *** AUDIO Parameters *** 37092 VoiceSelect = DragonTankVoiceSelect 37093 VoiceMove = DragonTankVoiceMove 37094 VoiceGuard = DragonTankVoiceMove 37095 VoiceAttack = DragonTankVoiceAttack 37096 SoundMoveStart = DragonTankMoveStart 37097 SoundMoveStartDamaged = DragonTankMoveStart 37098 37099 UnitSpecificSounds 37100 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 37101 VoiceCreate = DragonTankVoiceCreate 37102 TurretMoveStart = NoSound 37103 TurretMoveLoop = TurretMoveLoop 37104 VoiceEnter = DragonTankVoiceMove 37105 VoiceFlameLocation = DragonTankVoiceFireStorm 37106 End 37107 37108 37109 ; *** ENGINEERING Parameters *** 37110 RadarPriority = UNIT 37111 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 37112 37113 Body = ActiveBody ModuleTag_02 37114 MaxHealth = 280.0 37115 InitialHealth = 280.0 37116 End 37117 Behavior = AIUpdateInterface ModuleTag_03 37118 Turret 37119 TurretTurnRate = 120 37120 TurretPitchRate = 120 37121 37122 TurretFireAngleSweep = PRIMARY 10 37123 TurretFireAngleSweep = SECONDARY 60 37124 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn (aim for 30 for art) 37125 TurretSweepSpeedModifier = SECONDARY 2.0 ; Sweep faster than you turn 37126 ControlledWeaponSlots = PRIMARY SECONDARY 37127 End 37128 AutoAcquireEnemiesWhenIdle = Yes 37129 End 37130 Locomotor = SET_NORMAL CINE_DragonLocomotor 37131 Behavior = PhysicsBehavior ModuleTag_04 37132 Mass = 50.0 37133 End 37134 37135 37136 Behavior = WeaponSetUpgrade ModuleTag_05 37137 TriggeredBy = Upgrade_ChinaBlackNapalm 37138 End 37139 37140 ; A crushing defeat 37141 Behavior = DestroyDie ModuleTag_06 37142 DeathTypes = NONE +CRUSHED +SPLATTED 37143 End 37144 Behavior = FXListDie ModuleTag_07 37145 DeathTypes = NONE +CRUSHED +SPLATTED 37146 DeathFX = FX_CarCrush 37147 End 37148 Behavior = CreateObjectDie ModuleTag_08 37149 DeathTypes = NONE +CRUSHED +SPLATTED 37150 CreationList = OCL_CrusaderTank_CrushEffect 37151 End 37152 Behavior = CreateCrateDie ModuleTag_09 37153 CrateData = SalvageCrateData 37154 ;CrateData = EliteTankCrateData 37155 ;CrateData = HeroicTankCrateData 37156 End 37157 37158 37159 ; just explode death 37160 Behavior = SlowDeathBehavior ModuleTag_10 37161 DeathTypes = ALL -CRUSHED -SPLATTED 37162 ; ProbabilityModifier = 33 37163 DestructionDelay = 500 37164 DestructionDelayVariance = 500 37165 FX = INITIAL FX_BattleMasterExplosionOneFinal 37166 OCL = FINAL OCL_DragonDebris 37167 FX = FINAL FX_DragonTankDeathExplosionFinal 37168 End 37169 37170 ; Catch fire, and explode death 37171 ; Behavior = SlowDeathBehavior 37172 ; DeathTypes = ALL -CRUSHED -SPLATTED 37173 ;; ProbabilityModifier = 33 37174 ; DestructionDelay = 2000 37175 ; DestructionDelayVariance = 300 37176 ; FX = INITIAL FX_CrusaderCatchFire 37177 ; OCL = FINAL OCL_DragonDebris 37178 ; FX = FINAL FX_GenericTankDeathExplosion 37179 ; End 37180 37181 ; Napalm spills out, and explode death 37182 ; Behavior = SlowDeathBehavior 37183 ; DeathTypes = ALL -CRUSHED -SPLATTED 37184 ;; ProbabilityModifier = 34 37185 ; DestructionDelay = 2000 37186 ; DestructionDelayVariance = 300 37187 ; FX = INITIAL FX_DragonNapalmSpill 37188 ; OCL = FINAL OCL_DragonDebris 37189 ; FX = FINAL FX_DragonTankDeathExplosionFinal 37190 ; End 37191 37192 ; Turret fly off death 37193 ; Behavior = SlowDeathBehavior 37194 ; DeathTypes = ALL -CRUSHED -SPLATTED 37195 ;; ProbabilityModifier = 25 37196 ; DestructionDelay = 500 37197 ; DestructionDelayVariance = 100 37198 ; FX = INITIAL FX_GenericTankDeathEffect 37199 ; OCL = MIDPOINT OCL_DragonDebris 37200 ; FX = FINAL FX_GenericTankDeathExplosionFinal 37201 ; End 37202 37203 37204 Behavior = FlammableUpdate ModuleTag_12 37205 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 37206 AflameDamageAmount = 3 ; taking this much damage... 37207 AflameDamageDelay = 500 ; this often. 37208 End 37209 37210 Behavior = TransitionDamageFX ModuleTag_13 37211 ; ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 37212 ReallyDamagedParticleSystem2 = Bone:Smoke RandomBone:Yes Psys:DragonTransitionFire 37213 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_DragonDamageTransition 37214 End 37215 37216 Geometry = BOX 37217 GeometryMajorRadius = 15.0 37218 GeometryMinorRadius = 10.0 37219 GeometryHeight = 15.0 37220 GeometryIsSmall = Yes 37221 Shadow = SHADOW_VOLUME 37222 37223 End 37224 37225 ;------------------------------------------------------------------------------ 37226 ;*************************** Cinematic-only unit ****************************** 37227 Object CINE_ChinaInfantryBlackLotus 37228 37229 ; *** ART Parameters *** 37230 SelectPortrait = SNBlkLotus_L2 37231 ButtonImage = SNBlkLotus2 37232 37233 ;UpgradeCameo1 = NONE 37234 ;UpgradeCameo2 = NONE 37235 ;UpgradeCameo3 = NONE 37236 ;UpgradeCameo4 = NONE 37237 ;UpgradeCameo5 = NONE 37238 37239 Draw = W3DModelDraw ModuleTag_01 37240 37241 OkToChangeModelColor = Yes 37242 37243 ; --- idle 37244 DefaultConditionState 37245 Model = NIHERO_SKN 37246 IdleAnimation = NIHERO_SKL.NIHERO_STA 0 17 37247 IdleAnimation = NIHERO_SKL.NIHero_IDA 37248 IdleAnimation = NIHERO_SKL.NIHero_IDB 37249 AnimationMode = ONCE 37250 TransitionKey = TRANS_Stand 37251 End 37252 37253 ConditionState = REALLYDAMAGED 37254 IdleAnimation = NIHERO_SKL.NIHERO_ISTA 0 30 37255 IdleAnimation = NIHERO_SKL.NIHero_IIDA 37256 AnimationMode = ONCE 37257 TransitionKey = TRANS_StandInjured 37258 End 37259 37260 TransitionState = TRANS_Stand TRANS_StandInjured 37261 Animation = NIHero_SKL.NIHero_ISTAHIT 37262 AnimationMode = ONCE 37263 End 37264 37265 ; --- moving 37266 ConditionState = MOVING 37267 Animation = NIHero_SKL.NIHero_RNA 20 ;used to have no value here 37268 AnimationMode = LOOP 37269 Flags = RANDOMSTART 37270 TransitionKey = None 37271 ParticleSysBone = None InfantryDustTrails 37272 End 37273 AliasConditionState = MOVING UNPACKING 37274 37275 ConditionState = MOVING REALLYDAMAGED 37276 Animation = NIHero_SKL.NIHero_IRNA 37277 AnimationMode = LOOP 37278 Flags = RANDOMSTART 37279 TransitionKey = None 37280 ParticleSysBone = None InfantryDustTrails 37281 End 37282 AliasConditionState = MOVING UNPACKING REALLYDAMAGED 37283 37284 ; --- packing states 37285 ConditionState = UNPACKING 37286 ;Preparing to attack (unpacking gear) 37287 Animation = NIHero_SKL.NIHero_ATA1 37288 AnimationMode = ONCE 37289 End 37290 AliasConditionState = UNPACKING FIRING_A 37291 37292 ConditionState = FIRING_A 37293 ;Processing attack (hacking) 37294 Animation = NIHero_SKL.NIHero_ATA2 37295 AnimationMode = LOOP 37296 TransitionKey = TRANS_FiringA 37297 End 37298 37299 ConditionState = PACKING 37300 ;Completing attack (packing gear) 37301 Animation = NIHero_SKL.NIHero_ATA3 37302 AnimationMode = ONCE 37303 End 37304 AliasConditionState = FIRING_A PACKING 37305 37306 TransitionState = TRANS_FiringA TRANS_FiringAInjured 37307 Animation = NIHero_SKL.NIHero_IATAHIT 37308 AnimationMode = ONCE 37309 End 37310 37311 ; --- injured-packing states 37312 ConditionState = UNPACKING REALLYDAMAGED 37313 ;Preparing to attack (unpacking gear) 37314 Animation = NIHero_SKL.NIHero_IATA1 37315 AnimationMode = ONCE 37316 End 37317 AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED 37318 37319 ConditionState = FIRING_A REALLYDAMAGED 37320 ;Processing attack (hacking) 37321 Animation = NIHero_SKL.NIHero_IATA2 37322 AnimationMode = LOOP 37323 TransitionKey = TRANS_FiringAInjured 37324 End 37325 37326 ConditionState = PACKING REALLYDAMAGED 37327 ;Completing attack (packing gear) 37328 Animation = NIHero_SKL.NIHero_IATA3 37329 AnimationMode = ONCE 37330 End 37331 AliasConditionState = FIRING_A PACKING REALLYDAMAGED 37332 37333 ; --- packing-dying states 37334 ; code doesn't really support this. Oh well. 37335 ; ConditionState = DYING RAISING_FLAG 37336 ; Animation = NIHero_SKL.NIHero_IDTA 37337 ; Animation = NIHero_SKL.NIHero_IDTB 37338 ; AnimationMode = ONCE 37339 ; End 37340 ; AliasConditionState = DYING RAISING_FLAG EXPLODED_FLAILING EXPLODED_BOUNCING 37341 37342 ; --- normal-dying states 37343 ConditionState = DYING 37344 Animation = NIHero_SKL.NIHero_DTA 37345 Animation = NIHero_SKL.NIHero_DTB 37346 AnimationMode = ONCE 37347 TransitionKey = TRANS_Dying 37348 End 37349 37350 TransitionState = TRANS_Dying TRANS_Flailing 37351 Animation = NIHero_SKL.NIHero_ADTF1 37352 AnimationMode = ONCE 37353 End 37354 37355 ConditionState = DYING EXPLODED_FLAILING 37356 Animation = NIHero_SKL.NIHero_ADTF2 37357 AnimationMode = LOOP 37358 TransitionKey = TRANS_Flailing 37359 End 37360 37361 ConditionState = DYING EXPLODED_BOUNCING 37362 Animation = NIHero_SKL.NIHero_ADTF3 37363 AnimationMode = ONCE 37364 TransitionKey = None 37365 End 37366 37367 ; --- cheering states 37368 ConditionState = SPECIAL_CHEERING 37369 Animation = NIHERO_SKL.NIHERO_CHA 37370 AnimationMode = ONCE 37371 End 37372 37373 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 37374 Animation = NIHERO_SKL.NIHERO_ICHA 37375 AnimationMode = ONCE 37376 End 37377 37378 ; --- falling states 37379 ConditionState = FREEFALL 37380 Animation = NIHero_SKL.NIHero_PFL 37381 AnimationMode = LOOP 37382 TransitionKey = TRANS_Falling 37383 End 37384 AliasConditionState = FREEFALL REALLYDAMAGED 37385 AliasConditionState = FREEFALL DYING 37386 37387 ConditionState = PARACHUTING 37388 Animation = NIHero_SKL.NIHero_PHG 37389 AnimationMode = LOOP 37390 TransitionKey = TRANS_Chute 37391 End 37392 AliasConditionState = PARACHUTING REALLYDAMAGED 37393 AliasConditionState = PARACHUTING DYING 37394 37395 TransitionState = TRANS_Falling TRANS_Chute 37396 Animation = NIHero_SKL.NIHero_POP 37397 AnimationMode = ONCE 37398 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 37399 End 37400 37401 TransitionState = TRANS_Chute TRANS_Stand 37402 Animation = NIHero_SKL.NIHero_PTD 37403 AnimationMode = ONCE 37404 End 37405 37406 TransitionState = TRANS_Chute TRANS_StandInjured 37407 Animation = NIHero_SKL.NIHero_PTD 37408 AnimationMode = ONCE 37409 End 37410 37411 End 37412 37413 ; ***DESIGN parameters *** 37414 DisplayName = OBJECT:BlackLotus 37415 Side = China 37416 EditorSorting = INFANTRY 37417 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 37418 WeaponSet 37419 Conditions = None 37420 Weapon = PRIMARY None 37421 End 37422 ArmorSet 37423 Conditions = None 37424 Armor = HumanArmor 37425 DamageFX = InfantryDamageFX 37426 End 37427 VisionRange = 150 37428 ShroudClearingRange = 300 37429 Prerequisites 37430 Object = ChinaBarracks 37431 Object = ChinaPropagandaCenter 37432 End 37433 BuildCost = 1500 37434 BuildTime = 20.0 ;in seconds 37435 MaxSimultaneousOfType = 1 37436 CommandSet = ChinaInfantryBlackLotusCommandSet 37437 37438 ExperienceValue = 50 100 150 400 ;Experience point value at each level 37439 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 37440 IsTrainable = Yes ;Can gain experience 37441 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 37442 CommandSet = ChinaInfantryBlackLotusCommandSet 37443 37444 ; *** AUDIO Parameters *** 37445 VoiceSelect = BlackLotusVoiceSelect 37446 VoiceMove = BlackLotusVoiceMove 37447 VoiceAttack = BlackLotusVoiceAttack 37448 VoiceGuard = BlackLotusVoiceMove 37449 VoiceFear = BlackLotusVoiceFear 37450 VoiceTaskComplete = BlackLotusVoiceCaptureComplete 37451 SoundDie = BlackLotusVoiceDie 37452 SoundDieFire = DieByFireFemale 37453 SoundDieToxin = DieByToxinFemale 37454 SoundStealthOn = StealthOn 37455 SoundStealthOff = StealthOff 37456 37457 UnitSpecificSounds 37458 VoiceCreate = BlackLotusVoiceCreate 37459 VoiceGarrison = BlackLotusVoiceMove 37460 VoiceEnter = BlackLotusVoiceMove 37461 VoiceEnterHostile = BlackLotusVoiceMove 37462 VoiceStealCashComplete = BlackLotusVoiceCashComplete 37463 VoiceDisableVehicleComplete = BlackLotusVoiceDisableComplete 37464 VoiceCaptureBuildingComplete = BlackLotusVoiceCaptureComplete 37465 VoiceGetHealed = BlackLotusVoiceMove 37466 End 37467 37468 ; *** ENGINEERING Parameters *** 37469 RadarPriority = UNIT 37470 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 37471 37472 Body = ActiveBody ModuleTag_02 37473 MaxHealth = 100.0 37474 InitialHealth = 100.0 37475 End 37476 37477 Behavior = CommandButtonHuntUpdate ModuleTag_03 ; allows use of command button hunt script with this unit. 37478 End 37479 37480 Behavior = AIUpdateInterface ModuleTag_04 37481 AutoAcquireEnemiesWhenIdle = No 37482 End 37483 Locomotor = SET_NORMAL CINE_BlackLotusLocomotor 37484 Locomotor = SET_FREEFALL FreeFallLocomotor 37485 Behavior = PhysicsBehavior ModuleTag_05 37486 Mass = 5.0 37487 End 37488 Behavior = StealthUpdate ModuleTag_07 37489 StealthDelay = 2500 ; msec 37490 StealthForbiddenConditions = USING_ABILITY 37491 InnateStealth = Yes 37492 OrderIdleEnemiesToAttackMeUponReveal = Yes 37493 End 37494 37495 37496 Behavior = SpecialAbility ModuleTag_08 37497 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding 37498 UpdateModuleStartsAttack = Yes 37499 InitiateSound = BlackLotusVoiceHackBuilding 37500 End 37501 Behavior = SpecialAbilityUpdate ModuleTag_09 37502 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding 37503 StartAbilityRange = 150.0 37504 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) 37505 PackTime = 2800 ;animation time is 5800 (changing this will scale anim speed) 37506 PreparationTime = 6000 ;time to complete hack once prepared (unpacked) 37507 SpecialObject = BinaryDataStream 37508 DoCaptureFX = Yes 37509 PackSound = BlackLotusPack 37510 UnpackSound = BlackLotusUnpack 37511 TriggerSound = BlackLotusTrigger 37512 PrepSoundLoop = BlackLotusPrepLoop 37513 End 37514 Behavior = SpecialAbility ModuleTag_10 37515 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack 37516 UpdateModuleStartsAttack = Yes 37517 InitiateSound = BlackLotusVoiceHackVehicle 37518 End 37519 Behavior = SpecialAbilityUpdate ModuleTag_11 37520 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack 37521 StartAbilityRange = 150.0 37522 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) 37523 PackTime = 2800 ;animation time is 5800 (changing this will scale anim speed) 37524 PreparationTime = 2000 ;time to complete hack once prepared (unpacked) 37525 EffectDuration = 30000 ;duration vehicle is disabled (30 seconds) 37526 DisableFXParticleSystem = DisabledEffectBinaryShower0 37527 SpecialObject = BinaryDataStream 37528 PackSound = BlackLotusPack 37529 UnpackSound = BlackLotusUnpack 37530 TriggerSound = BlackLotusTrigger 37531 PrepSoundLoop = BlackLotusPrepLoop 37532 End 37533 Behavior = SpecialAbility ModuleTag_12 37534 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack 37535 UpdateModuleStartsAttack = Yes 37536 InitiateSound = BlackLotusVoiceHackCash 37537 End 37538 Behavior = SpecialAbilityUpdate ModuleTag_13 37539 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack 37540 StartAbilityRange = 150.0 37541 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) 37542 PackTime = 5800 ;animation time is 5800 (changing this will scale anim speed) 37543 PreparationTime = 6000 ;time to complete hack once prepared (unpacked) 37544 EffectValue = 1000 ;amount of cash stolen 37545 SpecialObject = BinaryDataStream 37546 PackSound = BlackLotusPack 37547 UnpackSound = BlackLotusUnpack 37548 TriggerSound = BlackLotusTrigger 37549 PrepSoundLoop = BlackLotusPrepLoop 37550 End 37551 37552 Behavior = SquishCollide ModuleTag_14 37553 ;nothing 37554 End 37555 37556 37557 ; --- begin Death modules --- 37558 Behavior = SlowDeathBehavior ModuleTag_Death01 37559 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 37560 SinkDelay = 3000 37561 SinkRate = 0.5 ; in Dist/Sec 37562 DestructionDelay = 8000 37563 FX = INITIAL FX_GIDie 37564 End 37565 Behavior = SlowDeathBehavior ModuleTag_Death02 37566 DeathTypes = NONE +CRUSHED +SPLATTED 37567 SinkDelay = 3000 37568 SinkRate = 0.5 ; in Dist/Sec 37569 DestructionDelay = 8000 37570 FX = INITIAL FX_GIDieCrushed 37571 End 37572 Behavior = SlowDeathBehavior ModuleTag_Death03 37573 DeathTypes = NONE +EXPLODED 37574 SinkDelay = 3000 37575 SinkRate = 0.5 ; in Dist/Sec 37576 DestructionDelay = 8000 37577 FX = INITIAL FX_GIDie 37578 FlingForce = 8 37579 FlingForceVariance = 3 37580 FlingPitch = 60 37581 FlingPitchVariance = 10 37582 End 37583 Behavior = SlowDeathBehavior ModuleTag_Death04 37584 DeathTypes = NONE +BURNED 37585 DestructionDelay = 0 37586 FX = INITIAL FX_GIDie 37587 OCL = INITIAL OCL_FlamingInfantry 37588 End 37589 Behavior = SlowDeathBehavior ModuleTag_Death05 37590 DeathTypes = NONE +POISONED 37591 DestructionDelay = 0 37592 FX = INITIAL FX_GIDie 37593 OCL = INITIAL OCL_ToxicInfantry 37594 End 37595 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 37596 DeathTypes = NONE +POISONED_BETA 37597 DestructionDelay = 0 37598 FX = INITIAL FX_GIDie 37599 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 37600 End 37601 ; --- end Death modules --- 37602 37603 Behavior = PoisonedBehavior ModuleTag_17 37604 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 37605 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 37606 End 37607 37608 Geometry = CYLINDER 37609 Scale = 0.95 ;Scaling 37610 GeometryMajorRadius = 1.0 37611 GeometryMinorRadius = 1.0 37612 GeometryHeight = 8.0 37613 GeometryIsSmall = Yes 37614 Shadow = SHADOW_DECAL 37615 ShadowSizeX = 9; 37616 ShadowSizeY = 9; 37617 ShadowTexture = ShadowI; 37618 BuildCompletion = APPEARS_AT_RALLY_POINT 37619 37620 End 37621 37622 ;------------------------------------------------------------------------------ 37623 ;*************************** Cinematic-only unit ****************************** 37624 Object CINE_AmericaJetStealthFighter 37625 37626 ; *** ART Parameters *** 37627 SelectPortrait = SAStealth_L 37628 ButtonImage = SAStealth_L 37629 37630 UpgradeCameo1 = Upgrade_AmericaLaserMissiles 37631 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 37632 ;UpgradeCameo3 = NONE 37633 ;UpgradeCameo4 = NONE 37634 ;UpgradeCameo5 = NONE 37635 37636 Draw = W3DModelDraw ModuleTag_01 37637 37638 DefaultConditionState 37639 Model = AVStealth 37640 HideSubObject = BurnerFX03 BurnerFX04 37641 WeaponLaunchBone = PRIMARY WeaponA 37642 End 37643 37644 ConditionState = JETEXHAUST 37645 ParticleSysBone = Wingtip01 JetContrail 37646 ParticleSysBone = Wingtip02 JetContrail 37647 End 37648 37649 ConditionState = JETEXHAUST JETAFTERBURNER 37650 ; exhaust 37651 ParticleSysBone = Wingtip01 JetContrail 37652 ParticleSysBone = Wingtip02 JetContrail 37653 ; afterburners 37654 ShowSubObject = BurnerFX03 BurnerFX04 37655 ParticleSysBone = Engine01 JetLenzflare 37656 ParticleSysBone = Engine02 JetLenzflare 37657 End 37658 37659 ConditionState = REALLYDAMAGED 37660 Model = AVStealth_D 37661 ; damage 37662 ParticleSysBone = Smoke01 JetSmoke 37663 ParticleSysBone = Engine01 JetEngineDamagedSmoke 37664 End 37665 37666 ConditionState = REALLYDAMAGED JETEXHAUST 37667 Model = AVStealth_D 37668 ; damage 37669 ParticleSysBone = Smoke01 JetSmoke 37670 ParticleSysBone = Engine01 JetEngineDamagedSmoke 37671 ; exhaust 37672 ParticleSysBone = Wingtip01 JetContrail 37673 ParticleSysBone = Wingtip02 JetContrail 37674 End 37675 37676 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 37677 Model = AVStealth_D 37678 ; damage 37679 ParticleSysBone = Smoke01 JetSmoke 37680 ParticleSysBone = Engine01 JetEngineDamagedSmoke 37681 ; exhaust 37682 ParticleSysBone = Wingtip01 JetContrail 37683 ParticleSysBone = Wingtip02 JetContrail 37684 ; afterburners 37685 ShowSubObject = BurnerFX03 BurnerFX04 37686 ParticleSysBone = Engine01 JetLenzflare 37687 ParticleSysBone = Engine02 JetLenzflare 37688 End 37689 37690 ConditionState = RUBBLE 37691 Model = AVStealth_D1 37692 HideSubObject = None 37693 ShowSubObject = None 37694 End 37695 37696 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 37697 Model = AVStealth_D1 37698 ;HideSubObject is needed cause there're inherited from default condition state 37699 HideSubObject = None 37700 ShowSubObject = None 37701 ParticleSysBone = Engine01 JetExhaust 37702 ParticleSysBone = Engine02 JetExhaust 37703 ParticleSysBone = Wingtip01 JetContrail 37704 ParticleSysBone = Wingtip02 JetContrail 37705 End 37706 37707 OkToChangeModelColor = Yes 37708 37709 End 37710 37711 ; ***DESIGN parameters *** 37712 DisplayName = OBJECT:StealthFighter 37713 EditorSorting = VEHICLE 37714 Side = America 37715 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 37716 VisionRange = 300.0 37717 ShroudClearingRange = 300.0 37718 Prerequisites 37719 Object = AmericaAirfield 37720 Science = SCIENCE_StealthFighter 37721 End 37722 WeaponSet 37723 Conditions = None 37724 Weapon = PRIMARY CINE_StealthJetMissileWeapon 37725 End 37726 WeaponSet 37727 Conditions = PLAYER_UPGRADE 37728 Weapon = PRIMARY StealthJetLaserGuidedMissileWeapon 37729 End 37730 ArmorSet 37731 Conditions = None 37732 Armor = AirplaneArmor 37733 DamageFX = None 37734 End 37735 37736 BuildCost = 1600 37737 BuildTime = 25.0 ;in seconds 37738 ExperienceValue = 100 100 200 300 ;Experience point value at each level 37739 ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level 37740 IsTrainable = Yes ;Can gain experience 37741 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 37742 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 37743 CommandSet = AmericaJetStealthFighterCommandSet 37744 37745 ; *** AUDIO Parameters *** 37746 VoiceSelect = StealthFighterVoiceSelect 37747 VoiceMove = StealthFighterVoiceMove 37748 VoiceAttack = StealthFighterVoiceAttack 37749 VoiceAttackAir = StealthFighterVoiceAttackAir 37750 VoiceGuard = StealthFighterVoiceAirPatrol 37751 SoundAmbient = StealthFighterAmbientLoop 37752 SoundAmbientRubble = NoSound 37753 SoundDie = StealthFighterVoiceFalling 37754 SoundStealthOn = StealthOn 37755 SoundStealthOff = StealthOff 37756 UnitSpecificSounds 37757 VoiceCreate = StealthFighterVoiceCreate 37758 SoundEject = PilotSoundEject 37759 VoiceEject = PilotVoiceEject 37760 Afterburner = RaptorAfterburner 37761 VoiceLowFuel = AuroraBomberVoiceLowFuel 37762 VoiceGarrison = StealthFighterVoiceMove 37763 End 37764 37765 ; *** ENGINEERING Parameters *** 37766 RadarPriority = LOCAL_UNIT_ONLY 37767 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 37768 Body = ActiveBody ModuleTag_02 37769 MaxHealth = 160.0 37770 InitialHealth = 160.0 37771 End 37772 37773 Behavior = JetSlowDeathBehavior ModuleTag_03 37774 FXOnGroundDeath = FX_JetOnGroundDeath 37775 OCLOnGroundDeath = OCL_StealthDeathFinalBlowUp 37776 DestructionDelay = 99999999; destruction will happen when we 37777 RollRate = 0.2 37778 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 37779 PitchRate = 0.0 37780 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 37781 FXInitialDeath = FX_JetDeathInitial 37782 ;OCLInitialDeath = None 37783 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 37784 FXSecondary = FX_JetDeathSecondary 37785 ;OCLSecondary = None 37786 FXHitGround = FX_JetDeathHitGround 37787 ;OCLHitGround = None 37788 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 37789 FXFinalBlowUp = FX_JetDeathFinalBlowUp 37790 OCLFinalBlowUp = OCL_StealthDeathFinalBlowUp 37791 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 37792 End 37793 Behavior = EjectPilotDie ModuleTag_04 37794 GroundCreationList = OCL_EjectPilotOnGround 37795 AirCreationList = OCL_EjectPilotViaParachute 37796 ExemptStatus = HIJACKED 37797 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 37798 End 37799 37800 Behavior = PhysicsBehavior ModuleTag_05 37801 Mass = 500.0 37802 End 37803 37804 Behavior = JetAIUpdate ModuleTag_06 37805 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 37806 ; note that it's expressed as a percent of max health, not an absolute 37807 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 37808 TakeoffPause = 500 37809 MinHeight = 5 37810 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 37811 End 37812 37813 Behavior = WeaponSetUpgrade ModuleTag_07 37814 TriggeredBy = Upgrade_AmericaLaserMissiles 37815 End 37816 37817 Behavior = ExperienceScalarUpgrade ModuleTag_08 37818 TriggeredBy = Upgrade_AmericaAdvancedTraining 37819 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 37820 End 37821 37822 Behavior = StealthUpdate ModuleTag_09 37823 StealthDelay = 1 ; msec 37824 StealthForbiddenConditions = FIRING_PRIMARY 37825 ; not currently used... but maybe someday? (srj) 37826 ;RevealDistanceFromTarget = 0.0f 37827 FriendlyOpacityMin = 50.0% 37828 FriendlyOpacityMax = 100.0% 37829 InnateStealth = Yes 37830 OrderIdleEnemiesToAttackMeUponReveal = Yes 37831 End 37832 37833 Locomotor = SET_NORMAL CINE_StealthJetLocomotor 37834 Locomotor = SET_TAXIING CINE_BasicJetTaxiLocomotor 37835 37836 Behavior = FlammableUpdate ModuleTag_21 37837 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 37838 AflameDamageAmount = 3 ; taking this much damage... 37839 AflameDamageDelay = 500 ; this often. 37840 End 37841 37842 Behavior = TransitionDamageFX ModuleTag_22 37843 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 37844 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 37845 End 37846 37847 37848 Geometry = Cylinder 37849 GeometryIsSmall = Yes 37850 GeometryMajorRadius = 7.0 37851 GeometryMinorRadius = 7.0 37852 GeometryHeight = 7.0 37853 Shadow = SHADOW_VOLUME 37854 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 37855 37856 End 37857 37858 ;------------------------------------------------------------------------------ 37859 ;------------------------------------------------------------------------------ 37860 ;*************************** Cinematic-only unit ****************************** 37861 Object CINE_AmericaJetStealthFighterUSA08 37862 37863 ; *** ART Parameters *** 37864 SelectPortrait = SAStealth_L 37865 ButtonImage = SAStealth 37866 37867 UpgradeCameo1 = Upgrade_AmericaLaserMissiles 37868 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 37869 ;UpgradeCameo3 = NONE 37870 ;UpgradeCameo4 = NONE 37871 ;UpgradeCameo5 = NONE 37872 37873 Draw = W3DModelDraw ModuleTag_01 37874 37875 DefaultConditionState 37876 Model = AVStealth 37877 HideSubObject = BurnerFX03 BurnerFX04 37878 WeaponLaunchBone = PRIMARY WeaponA 37879 End 37880 37881 ConditionState = JETEXHAUST 37882 ParticleSysBone = Wingtip01 JetContrail 37883 ParticleSysBone = Wingtip02 JetContrail 37884 End 37885 37886 ConditionState = JETEXHAUST JETAFTERBURNER 37887 ; exhaust 37888 ParticleSysBone = Wingtip01 JetContrail 37889 ParticleSysBone = Wingtip02 JetContrail 37890 ; afterburners 37891 ShowSubObject = BurnerFX03 BurnerFX04 37892 ParticleSysBone = Engine01 JetLenzflare 37893 ParticleSysBone = Engine02 JetLenzflare 37894 End 37895 37896 ConditionState = REALLYDAMAGED 37897 Model = AVStealth_D 37898 ; damage 37899 ParticleSysBone = Smoke01 JetSmoke 37900 ParticleSysBone = Engine01 JetEngineDamagedSmoke 37901 End 37902 37903 ConditionState = REALLYDAMAGED JETEXHAUST 37904 Model = AVStealth_D 37905 ; damage 37906 ParticleSysBone = Smoke01 JetSmoke 37907 ParticleSysBone = Engine01 JetEngineDamagedSmoke 37908 ; exhaust 37909 ParticleSysBone = Wingtip01 JetContrail 37910 ParticleSysBone = Wingtip02 JetContrail 37911 End 37912 37913 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 37914 Model = AVStealth_D 37915 ; damage 37916 ParticleSysBone = Smoke01 JetSmoke 37917 ParticleSysBone = Engine01 JetEngineDamagedSmoke 37918 ; exhaust 37919 ParticleSysBone = Wingtip01 JetContrail 37920 ParticleSysBone = Wingtip02 JetContrail 37921 ; afterburners 37922 ShowSubObject = BurnerFX03 BurnerFX04 37923 ParticleSysBone = Engine01 JetLenzflare 37924 ParticleSysBone = Engine02 JetLenzflare 37925 End 37926 37927 ConditionState = RUBBLE 37928 Model = AVStealth_D1 37929 HideSubObject = None 37930 ShowSubObject = None 37931 End 37932 37933 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 37934 Model = AVStealth_D1 37935 ;HideSubObject is needed cause there're inherited from default condition state 37936 HideSubObject = None 37937 ShowSubObject = None 37938 ParticleSysBone = Engine01 JetExhaust 37939 ParticleSysBone = Engine02 JetExhaust 37940 ParticleSysBone = Wingtip01 JetContrail 37941 ParticleSysBone = Wingtip02 JetContrail 37942 End 37943 37944 OkToChangeModelColor = Yes 37945 37946 End 37947 37948 ; ***DESIGN parameters *** 37949 DisplayName = OBJECT:StealthFighter 37950 EditorSorting = VEHICLE 37951 Side = America 37952 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 37953 VisionRange = 300.0 37954 ShroudClearingRange = 300.0 37955 Prerequisites 37956 Object = AmericaAirfield 37957 Science = SCIENCE_StealthFighter 37958 End 37959 WeaponSet 37960 Conditions = None 37961 Weapon = PRIMARY CINE_StealthJetMissileWeapon 37962 End 37963 WeaponSet 37964 Conditions = PLAYER_UPGRADE 37965 Weapon = PRIMARY StealthJetLaserGuidedMissileWeapon 37966 End 37967 ArmorSet 37968 Conditions = None 37969 Armor = AirplaneArmor 37970 DamageFX = None 37971 End 37972 37973 BuildCost = 1600 37974 BuildTime = 25.0 ;in seconds 37975 ExperienceValue = 100 100 200 300 ;Experience point value at each level 37976 ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level 37977 IsTrainable = Yes ;Can gain experience 37978 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 37979 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 37980 CommandSet = AmericaJetStealthFighterCommandSet 37981 37982 ; *** AUDIO Parameters *** 37983 VoiceSelect = StealthFighterVoiceSelect 37984 VoiceMove = StealthFighterVoiceMove 37985 VoiceAttack = StealthFighterVoiceAttack 37986 VoiceAttackAir = StealthFighterVoiceAttackAir 37987 VoiceGuard = StealthFighterVoiceAirPatrol 37988 SoundAmbient = StealthFighterAmbientLoop 37989 SoundAmbientRubble = NoSound 37990 SoundDie = StealthFighterVoiceFalling 37991 SoundStealthOn = StealthOn 37992 SoundStealthOff = StealthOff 37993 UnitSpecificSounds 37994 VoiceCreate = StealthFighterVoiceCreate 37995 SoundEject = PilotSoundEject 37996 VoiceEject = PilotVoiceEject 37997 Afterburner = RaptorAfterburner 37998 VoiceLowFuel = AuroraBomberVoiceLowFuel 37999 VoiceGarrison = StealthFighterVoiceMove 38000 End 38001 38002 ; *** ENGINEERING Parameters *** 38003 RadarPriority = LOCAL_UNIT_ONLY 38004 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 38005 Body = ActiveBody ModuleTag_02 38006 MaxHealth = 160.0 38007 InitialHealth = 160.0 38008 End 38009 38010 Behavior = JetSlowDeathBehavior ModuleTag_03 38011 FXOnGroundDeath = FX_JetOnGroundDeath 38012 OCLOnGroundDeath = OCL_StealthDeathFinalBlowUp 38013 DestructionDelay = 99999999; destruction will happen when we 38014 RollRate = 0.2 38015 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 38016 PitchRate = 0.0 38017 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 38018 FXInitialDeath = FX_JetDeathInitial 38019 ;OCLInitialDeath = None 38020 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 38021 FXSecondary = FX_JetDeathSecondary 38022 ;OCLSecondary = None 38023 FXHitGround = FX_JetDeathHitGround 38024 ;OCLHitGround = None 38025 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 38026 FXFinalBlowUp = FX_JetDeathFinalBlowUp 38027 OCLFinalBlowUp = OCL_StealthDeathFinalBlowUp 38028 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 38029 End 38030 Behavior = EjectPilotDie ModuleTag_04 38031 GroundCreationList = OCL_EjectPilotOnGround 38032 AirCreationList = OCL_EjectPilotViaParachute 38033 ExemptStatus = HIJACKED 38034 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 38035 End 38036 38037 Behavior = PhysicsBehavior ModuleTag_05 38038 Mass = 500.0 38039 End 38040 38041 Behavior = JetAIUpdate ModuleTag_06 38042 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 38043 ; note that it's expressed as a percent of max health, not an absolute 38044 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 38045 TakeoffPause = 500 38046 MinHeight = 5 38047 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 38048 End 38049 38050 Behavior = WeaponSetUpgrade ModuleTag_07 38051 TriggeredBy = Upgrade_AmericaLaserMissiles 38052 End 38053 38054 Behavior = ExperienceScalarUpgrade ModuleTag_08 38055 TriggeredBy = Upgrade_AmericaAdvancedTraining 38056 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 38057 End 38058 38059 ; Behavior = StealthUpdate ModuleTag_09 38060 ; StealthDelay = 1 ; msec 38061 ; StealthForbiddenConditions = FIRING_PRIMARY 38062 ; ; not currently used... but maybe someday? (srj) 38063 ; ;RevealDistanceFromTarget = 0.0f 38064 ; FriendlyOpacityMin = 50.0% 38065 ; FriendlyOpacityMax = 100.0% 38066 ; InnateStealth = Yes 38067 ; OrderIdleEnemiesToAttackMeUponReveal = Yes 38068 ; End 38069 38070 Locomotor = SET_NORMAL CINE_StealthJetLocomotor 38071 Locomotor = SET_TAXIING CINE_BasicJetTaxiLocomotor 38072 38073 Behavior = FlammableUpdate ModuleTag_21 38074 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 38075 AflameDamageAmount = 3 ; taking this much damage... 38076 AflameDamageDelay = 500 ; this often. 38077 End 38078 38079 Behavior = TransitionDamageFX ModuleTag_22 38080 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 38081 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 38082 End 38083 38084 38085 Geometry = Cylinder 38086 GeometryIsSmall = Yes 38087 GeometryMajorRadius = 7.0 38088 GeometryMinorRadius = 7.0 38089 GeometryHeight = 7.0 38090 Shadow = SHADOW_VOLUME 38091 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 38092 38093 End 38094 38095 ;------------------------------------------------------------------------------ 38096 ;***************************** Cinematic-only unit **************************** 38097 Object CINE_GLAInfantryTerrorist 38098 38099 ; *** ART Parameters *** 38100 SelectPortrait = SUTerrorist_L 38101 ButtonImage = SUTerrorist 38102 38103 ;UpgradeCameo1 = NONE 38104 ;UpgradeCameo2 = NONE 38105 ;UpgradeCameo3 = NONE 38106 ;UpgradeCameo4 = NONE 38107 ;UpgradeCameo5 = NONE 38108 38109 Draw = W3DModelDraw ModuleTag_01 38110 OkToChangeModelColor = Yes 38111 DefaultConditionState 38112 Model = UITRST_SKN 38113 IdleAnimation = UITRST_SKL.UITRST_STA 0 25 38114 ;Regular spice animations 38115 IdleAnimation = UITRST_SKL.UITRST_IDA 38116 IdleAnimation = UITRST_SKL.UITRST_IDB 38117 AnimationMode = ONCE 38118 TransitionKey = TRANS_Stand 38119 End 38120 38121 ConditionState = REALLYDAMAGED 38122 Animation = UITRST_SKL.UITRST_STA 38123 AnimationMode = LOOP 38124 TransitionKey = TRANS_Stand 38125 End 38126 38127 ConditionState = FREEFALL 38128 Animation = UITRST_SKL.UITRST_PFL 38129 AnimationMode = LOOP 38130 TransitionKey = TRANS_Falling 38131 End 38132 AliasConditionState = FREEFALL REALLYDAMAGED 38133 AliasConditionState = FREEFALL DYING 38134 38135 ConditionState = PARACHUTING 38136 Animation = UITRST_SKL.UITRST_PHG 38137 AnimationMode = LOOP 38138 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 38139 TransitionKey = TRANS_Chute 38140 End 38141 AliasConditionState = PARACHUTING REALLYDAMAGED 38142 AliasConditionState = PARACHUTING DYING 38143 38144 ConditionState = MOVING 38145 Animation = UITRST_SKL.UITRST_RNA 23 ; used to be 15 38146 AnimationMode = LOOP 38147 Flags = RANDOMSTART 38148 TransitionKey = None 38149 ParticleSysBone = None InfantryDustTrails 38150 End 38151 AliasConditionState = MOVING REALLYDAMAGED 38152 38153 ConditionState = ATTACKING MOVING 38154 Animation = UITRST_SKL.UITRST_RNB 10 38155 AnimationMode = LOOP 38156 Flags = RANDOMSTART 38157 TransitionKey = None 38158 End 38159 AliasConditionState = ATTACKING MOVING REALLYDAMAGED 38160 38161 ConditionState = PREATTACK_A 38162 Animation = UITRST_SKL.UITRST_ATA 38163 AnimationMode = ONCE 38164 End 38165 AliasConditionState = PREATTACK_A MOVING 38166 38167 ConditionState = DYING 38168 Animation = UITRST_SKL.UITRST_DTA 38169 Animation = UITRST_SKL.UITRST_DTC 38170 AnimationMode = ONCE 38171 TransitionKey = TRANS_Dying 38172 End 38173 38174 TransitionState = TRANS_Dying TRANS_Flailing 38175 Animation = UITRST_SKL.UITRST_ADTE1 38176 AnimationMode = ONCE 38177 End 38178 38179 ConditionState = DYING EXPLODED_FLAILING 38180 Animation = UITRST_SKL.UITRST_ADTE2 38181 AnimationMode = LOOP 38182 TransitionKey = TRANS_Flailing 38183 End 38184 38185 ConditionState = DYING EXPLODED_BOUNCING 38186 Animation = UITRST_SKL.UITRST_ADTE3 38187 AnimationMode = ONCE 38188 TransitionKey = None 38189 End 38190 38191 ConditionState = SPECIAL_CHEERING 38192 Animation = UITRST_SKL.UITRST_CHA 38193 AnimationMode = LOOP 38194 End 38195 38196 TransitionState = TRANS_Falling TRANS_Chute 38197 Animation = UITRST_SKL.UITRST_POP 38198 AnimationMode = ONCE 38199 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 38200 End 38201 38202 TransitionState = TRANS_Chute TRANS_Stand 38203 Animation = UITRST_SKL.UITRST_PTD 38204 AnimationMode = ONCE 38205 End 38206 38207 End 38208 38209 ; ***DESIGN parameters *** 38210 DisplayName = OBJECT:Terrorist 38211 Side = GLA 38212 EditorSorting = INFANTRY 38213 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 38214 WeaponSet 38215 Conditions = None 38216 ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE 38217 ;damage to do ini logic for type of death to play -- unresistable for success. 38218 Weapon = PRIMARY TerroristSuicideWeapon 38219 End 38220 ArmorSet 38221 Conditions = None 38222 Armor = HumanArmor 38223 DamageFX = InfantryDamageFX 38224 End 38225 VisionRange = 150 38226 ShroudClearingRange = 200 38227 Prerequisites 38228 Object = GLABarracks 38229 End 38230 BuildCost = 200 38231 BuildTime = 5.0 ;in seconds 38232 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 38233 CommandSet = GLAInfantryTerroristCommandSet 38234 38235 ; *** AUDIO Parameters *** 38236 VoiceSelect = TerroristVoiceSelect 38237 VoiceMove = TerroristVoiceMove 38238 VoiceAttack = TerroristVoiceAttack 38239 SoundDie = TerroristVoiceDie 38240 SoundDieFire = DieByFireGLA 38241 SoundDieToxin = DieByToxinGLA 38242 VoiceFear = TerroristVoiceFear 38243 VoiceGuard = TerroristVoiceMove 38244 UnitSpecificSounds 38245 VoiceGarrison = TerroristVoiceMove 38246 VoiceCreate = TerroristVoiceCreate 38247 VoiceEnter = TerroristVoiceEnter 38248 VoiceEnterHostile = TerroristVoiceEnterHostile 38249 VoiceGetHealed = TerroristVoiceMove 38250 End 38251 38252 ; *** ENGINEERING Parameters *** 38253 RadarPriority = UNIT 38254 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 38255 38256 Body = ActiveBody ModuleTag_02 38257 MaxHealth = 120.0 38258 InitialHealth = 120.0 38259 End 38260 38261 ExperienceValue = 20 20 20 20 ; Experience point value at each level 38262 38263 Behavior = AIUpdateInterface ModuleTag_03 38264 AutoAcquireEnemiesWhenIdle = Yes 38265 End 38266 Locomotor = SET_NORMAL CINE_FastHumanLocomotor 38267 Behavior = PhysicsBehavior ModuleTag_04 38268 Mass = 5.0 38269 End 38270 38271 ;Kris 38272 Behavior = ConvertToCarBombCrateCollide ModuleTag_06 38273 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with 38274 ;ForbiddenKindOf = TRANSPORT DOZER ; but not to TRANSPORTs or DOZERs! 38275 FXList = FX_MakeCarBombSuccess 38276 End 38277 38278 Behavior = SquishCollide ModuleTag_07 38279 ;nothing 38280 End 38281 38282 ; --- begin Death modules --- 38283 Behavior = SlowDeathBehavior ModuleTag_Death01 38284 DeathTypes = ALL -CRUSHED -SPLATTED -SUICIDED -EXPLODED -BURNED -LASERED 38285 SinkDelay = 3000 38286 SinkRate = 0.5 ; in Dist/Sec 38287 DestructionDelay = 8000 38288 FX = INITIAL FX_GIDie 38289 End 38290 Behavior = SlowDeathBehavior ModuleTag_Death02 38291 DeathTypes = NONE +POISONED 38292 DestructionDelay = 0 38293 FX = INITIAL FX_GIDie 38294 OCL = INITIAL OCL_ToxicInfantry 38295 End 38296 ; If he is killed by "powerful arms", then "detonate" him. 38297 Behavior = SlowDeathBehavior ModuleTag_Death03 38298 ;DeathTypes = ****everything else!!! 38299 SinkDelay = 3000 38300 SinkRate = 0.5 ; in Dist/Sec 38301 DestructionDelay = 8000 38302 FX = INITIAL FX_TerroristExplode 38303 FlingForce = 8 38304 FlingForceVariance = 3 38305 FlingPitch = 60 38306 FlingPitchVariance = 10 38307 End 38308 Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04 38309 DeathWeapon = SuicideDynamitePack 38310 StartsActive = Yes ; turned on by upgrade 38311 DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED 38312 End 38313 ; --- end Death modules --- 38314 38315 Behavior = PoisonedBehavior ModuleTag_14 38316 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 38317 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 38318 End 38319 38320 Geometry = CYLINDER 38321 Scale = 0.95 ;Scaling 38322 GeometryMajorRadius = 1.0 38323 GeometryMinorRadius = 1.0 38324 GeometryHeight = 8.0 38325 GeometryIsSmall = Yes 38326 Shadow = SHADOW_DECAL 38327 ShadowSizeX = 9; 38328 ShadowSizeY = 9; 38329 ShadowTexture = ShadowI; 38330 BuildCompletion = APPEARS_AT_RALLY_POINT 38331 38332 End 38333 38334 ;------------------------------------------------------------------------------ 38335 ;**************************** Cinematic-only unit ***************************** 38336 ;Also called Toxin Tractor && ToxinTractor 38337 Object CINE_GLAVehicleToxinTruck 38338 38339 ; *** ART Parameters *** 38340 SelectPortrait = SUToxinTractor_L 38341 ButtonImage = SUToxinTractor 38342 38343 UpgradeCameo1 = Upgrade_GLAAnthraxBeta 38344 UpgradeCameo2 = Upgrade_GLAJunkRepair 38345 ;UpgradeCameo3 = NONE 38346 ;UpgradeCameo4 = NONE 38347 ;UpgradeCameo5 = NONE 38348 38349 Draw = W3DTruckDraw ModuleTag_01 38350 OkToChangeModelColor = Yes 38351 ConditionState = NONE 38352 Model = UVToxinTrk 38353 Turret = Turret 38354 TurretPitch = TurretEL 38355 WeaponFireFXBone = PRIMARY WeaponA 38356 WeaponLaunchBone = PRIMARY WeaponA 38357 WeaponFireFXBone = SECONDARY Spigot 38358 WeaponLaunchBone = SECONDARY Spigot 38359 End 38360 38361 ConditionState = REALLYDAMAGED 38362 Model = UVToxinTrk_D 38363 Turret = Turret 38364 TurretPitch = TurretEL 38365 WeaponFireFXBone = PRIMARY WeaponA 38366 WeaponLaunchBone = PRIMARY WeaponA 38367 WeaponFireFXBone = SECONDARY Spigot 38368 WeaponLaunchBone = SECONDARY Spigot 38369 End 38370 38371 ConditionState = RUBBLE 38372 Model = UVToxinTrk_D 38373 Turret = Turret 38374 TurretPitch = TurretEL 38375 WeaponFireFXBone = PRIMARY WeaponA 38376 WeaponLaunchBone = PRIMARY WeaponA 38377 WeaponFireFXBone = SECONDARY Spigot 38378 WeaponLaunchBone = SECONDARY Spigot 38379 End 38380 38381 TrackMarks = EXTireTrack.tga 38382 LeftFrontTireBone = Tire01 38383 RightFrontTireBone = Tire02 38384 LeftRearTireBone = Tire03 38385 38386 RightRearTireBone = Tire04 38387 TireRotationMultiplier = 0.2 ; this * speed = rotation. 38388 PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. 38389 38390 Dust = RocketBuggyDust 38391 DirtSpray = RocketBuggyDirtSpray 38392 38393 End 38394 38395 ; ***DESIGN parameters *** 38396 DisplayName = OBJECT:ToxinTruck 38397 Side = GLA 38398 EditorSorting = VEHICLE 38399 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 38400 WeaponSet 38401 Conditions = None 38402 Weapon = PRIMARY ToxinTruckGun 38403 Weapon = SECONDARY ToxinTruckSprayer 38404 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 38405 AutoChooseSources = SECONDARY NONE ;Special attack only 38406 End 38407 WeaponSet 38408 Conditions = PLAYER_UPGRADE 38409 Weapon = PRIMARY ToxinTruckGunUpgraded 38410 Weapon = SECONDARY ToxinTruckSprayerUpgraded 38411 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 38412 AutoChooseSources = SECONDARY NONE ;Special attack only 38413 End 38414 ArmorSet 38415 Conditions = None 38416 Armor = ToxinTruckArmor 38417 DamageFX = TruckDamageFX 38418 End 38419 BuildCost = 600 38420 BuildTime = 5.0 ;in seconds 38421 VisionRange = 150 38422 ShroudClearingRange = 200 38423 Prerequisites 38424 Object = GLAArmsDealer 38425 End 38426 38427 ExperienceValue = 50 50 100 150 ;Experience point value at each level 38428 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 38429 IsTrainable = Yes ;Can gain experience 38430 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 38431 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 38432 CommandSet = GLAVehicleToxinTruckCommandSet 38433 38434 ; *** AUDIO Parameters *** 38435 VoiceSelect = ToxinTractorVoiceSelect 38436 VoiceMove = ToxinTractorVoiceMove 38437 VoiceGuard = ToxinTractorVoiceMove 38438 VoiceAttack = ToxinTractorVoiceAttack 38439 SoundMoveStart = ToxinTractorMoveStart 38440 SoundMoveStartDamaged = ToxinTractorMoveStart 38441 SoundDie = ToxinTractorDie 38442 38443 UnitSpecificSounds 38444 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 38445 VoiceCreate = ToxinTractorVoiceCreate 38446 TurretMoveStart = NoSound 38447 TurretMoveLoop = TurretMoveLoop 38448 TruckLandingSound = NoSound 38449 TruckPowerslideSound = NoSound 38450 VoiceCrush = ToxinTractorVoiceCrush 38451 VoiceEnter = ToxinTractorVoiceMove 38452 VoicePoisonLocation = ToxinTractorVoiceAttackContam 38453 38454 End 38455 38456 ; *** ENGINEERING Parameters *** 38457 RadarPriority = UNIT 38458 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 38459 38460 Body = ActiveBody ModuleTag_02 38461 MaxHealth = 240.0 38462 InitialHealth = 240.0 38463 End 38464 38465 Behavior = AIUpdateInterface ModuleTag_03 38466 AutoAcquireEnemiesWhenIdle = Yes 38467 Turret 38468 TurretTurnRate = 180 38469 TurretPitchRate = 180 38470 AllowsPitch = Yes 38471 MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) 38472 TurretFireAngleSweep = PRIMARY 8 38473 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn 38474 ControlledWeaponSlots = PRIMARY 38475 End 38476 End 38477 Locomotor = SET_NORMAL CINE_ToxinTruckLocomotor 38478 Behavior = PhysicsBehavior ModuleTag_04 38479 Mass = 10.0 38480 End 38481 38482 Behavior = SlowDeathBehavior ModuleTag_05 38483 DeathTypes = ALL -CRUSHED -SPLATTED 38484 ProbabilityModifier = 5 38485 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 38486 DestructionDelay = 0 38487 DestructionDelayVariance = 200 38488 OCL = INITIAL OCL_ToxinTractorDeathEffect 38489 FX = FINAL FX_ToxinTruckExplosionOneFinal 38490 OCL = FINAL OCL_PoisonFieldSmall 38491 End 38492 Behavior = InstantDeathBehavior ModuleTag_06 38493 DeathTypes = NONE +CRUSHED +SPLATTED 38494 FX = FX_CarCrush 38495 OCL = OCL_CrusaderTank_CrushEffect 38496 End 38497 38498 Behavior = CreateCrateDie ModuleTag_07 38499 CrateData = SalvageCrateData 38500 ;CrateData = EliteTankCrateData 38501 ;CrateData = HeroicTankCrateData 38502 End 38503 38504 Behavior = WeaponSetUpgrade ModuleTag_08 38505 ; the Toxin Tractor gets this upgrade if we either buy the upgrade, 38506 ; or if it gets HEROIC status 38507 TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC 38508 End 38509 38510 Behavior = TransitionDamageFX ModuleTag_11 38511 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 38512 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 38513 End 38514 38515 Behavior = AutoHealBehavior ModuleTag_12 38516 HealingAmount = 2 38517 HealingDelay = 1000 ; msec 38518 TriggeredBy = Upgrade_GLAJunkRepair 38519 End 38520 38521 Behavior = FlammableUpdate ModuleTag_21 38522 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 38523 AflameDamageAmount = 3 ; taking this much damage... 38524 AflameDamageDelay = 500 ; this often. 38525 End 38526 38527 Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_13 38528 WeaponSlot = SECONDARY 38529 ConflictsWith = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC 38530 OCL = OCL_PoisonFieldMedium 38531 MinShotsToCreateOCL = 4 38532 OCLLifetimePerSecond = 10000 38533 OCLLifetimeMaxCap = 180000 38534 End 38535 Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_14 38536 WeaponSlot = SECONDARY 38537 TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC 38538 OCL = OCL_PoisonFieldUpgradedMedium 38539 MinShotsToCreateOCL = 4 38540 OCLLifetimePerSecond = 10000 38541 OCLLifetimeMaxCap = 180000 38542 End 38543 Geometry = BOX 38544 GeometryMajorRadius = 13.0 38545 GeometryMinorRadius = 9.0 38546 GeometryHeight = 10.0 ; set to make the projectile stream look right 38547 GeometryIsSmall = Yes 38548 Shadow = SHADOW_VOLUME 38549 38550 End 38551 38552 ;------------------------------------------------------------------------------ 38553 ;*************************** Cinematic-only unit ****************************** 38554 ; 38555 ; ??? This unit is used in a mission for "color". 38556 ; This unit is never human-controllable! 38557 ; 38558 Object CINE_AmericaInfantryOfficer 38559 ; *** ART Parameters *** 38560 Draw = W3DModelDraw ModuleTag_01 38561 OkToChangeModelColor = Yes 38562 38563 ;NORMAL STANDING 38564 DefaultConditionState 38565 Model = AIOFCR_SKN 38566 IdleAnimation = AIOFCR_SKL.AIOFCR_STA 0 21 38567 ;Regular spice animations 38568 IdleAnimation = AIOFCR_SKL.AIOFCR_IDA 38569 IdleAnimation = AIOFCR_SKL.AIOFCR_IDB 38570 AnimationMode = ONCE 38571 WeaponFireFXBone = PRIMARY Muzzle 38572 WeaponMuzzleFlash = PRIMARY MuzzleFX 38573 TransitionKey = TRANS_STAND 38574 End 38575 38576 ConditionState = MOVING 38577 Animation = AIOFCR_SKL.AIOFCR_RNA 38578 AnimationMode = LOOP 38579 ParticleSysBone = None InfantryDustTrails 38580 End 38581 38582 ; NORMAL ATTACK 38583 ;-------------------------------------------------------- 38584 ; Drawing gun 38585 ConditionState = PREATTACK_A 38586 Animation = AIOFCR_SKL.AIOFCR_ATAST 38587 AnimationMode = ONCE 38588 End 38589 AliasConditionState = PREATTACK_A MOVING 38590 AliasConditionState = PREATTACK_A FIRING_A 38591 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 38592 38593 ; Firing gun 38594 ConditionState = FIRING_A 38595 Animation = AIOFCR_SKL.AIOFCR_ATALP 38596 AnimationMode = LOOP 38597 TransitionKey = TRANS_FIRING_A 38598 End 38599 ConditionState = BETWEEN_FIRING_SHOTS_A 38600 Animation = AIOFCR_SKL.AIOFCR_ATALP 38601 AnimationMode = LOOP 38602 TransitionKey = TRANS_FIRING_A 38603 End 38604 AliasConditionState = RELOADING_A 38605 AliasConditionState = MOVING FIRING_A 38606 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 38607 AliasConditionState = MOVING RELOADING_A 38608 38609 ; This transition allows him to put his gun away when he's finished attacking. 38610 TransitionState = TRANS_FIRING_A TRANS_STAND 38611 Animation = AIOFCR_SKL.AIOFCR_ATAED 38612 AnimationMode = ONCE 38613 End 38614 ;-------------------------------------------------------- 38615 38616 ConditionState = DYING 38617 Animation = AIOFCR_SKL.AIOFCR_DTA 38618 Animation = AIOFCR_SKL.AIOFCR_DTB 38619 AnimationMode = ONCE 38620 TransitionKey = TRANS_Dying 38621 End 38622 38623 TransitionState = TRANS_Dying TRANS_Flailing 38624 Animation = AIOFCR_SKL.AIOFCR_ADTE1 38625 AnimationMode = ONCE 38626 End 38627 38628 ConditionState = DYING EXPLODED_FLAILING 38629 Animation = AIOFCR_SKL.AIOFCR_ADTE2 38630 AnimationMode = LOOP 38631 TransitionKey = TRANS_Flailing 38632 End 38633 38634 ConditionState = DYING EXPLODED_BOUNCING 38635 Animation = AIOFCR_SKL.AIOFCR_ADTE3 38636 AnimationMode = ONCE 38637 TransitionKey = None 38638 End 38639 38640 ConditionState = SPECIAL_CHEERING 38641 Animation = AIOFCR_SKL.AIOFCR_CHA 38642 AnimationMode = LOOP 38643 End 38644 38645 ;PARACHUTING ANIMATIONS 38646 38647 ;@TODO - MISSING ANIMATION FILE 38648 ;ConditionState = FREEFALL 38649 ; Animation = AIOFCR_SKL.AIOFCR_PFL 38650 ; AnimationMode = LOOP 38651 ; TransitionKey = TRANS_Falling 38652 ;End 38653 ;AliasConditionState = FREEFALL REALLYDAMAGED 38654 ;AliasConditionState = FREEFALL DYING 38655 ConditionState = PARACHUTING 38656 Animation = AIOFCR_SKL.AIOFCR_PHG 38657 AnimationMode = LOOP 38658 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 38659 TransitionKey = TRANS_Chute 38660 38661 End 38662 AliasConditionState = PARACHUTING REALLYDAMAGED 38663 AliasConditionState = PARACHUTING DYING 38664 TransitionState = TRANS_Falling TRANS_Chute 38665 Animation = AIOFCR_SKL.AIOFCR_POP 38666 AnimationMode = ONCE 38667 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 38668 End 38669 TransitionState = TRANS_Chute TRANS_Stand 38670 Animation = AIOFCR_SKL.AIOFCR_PTD 38671 AnimationMode = ONCE 38672 End 38673 38674 End 38675 38676 ; ***DESIGN parameters *** 38677 DisplayName = OBJECT:Officer 38678 Side = America 38679 EditorSorting = INFANTRY 38680 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 38681 WeaponSet 38682 Conditions = None 38683 Weapon = PRIMARY AmericaOfficerMachineGun 38684 End 38685 ArmorSet 38686 Conditions = None 38687 Armor = HumanArmor 38688 DamageFX = InfantryDamageFX 38689 End 38690 VisionRange = 150 38691 ShroudClearingRange = 150 38692 38693 BuildCost = 400 38694 BuildTime = 10.0 ;in seconds 38695 38696 ; *** AUDIO Parameters *** 38697 VoiceSelect = RangerVoiceSelect 38698 VoiceGroupSelect = BattleCrySound 38699 VoiceMove = RangerVoiceMove 38700 VoiceAttack = RangerVoiceAttack 38701 SoundDie = RangerVoiceDie 38702 SoundDieFire = DieByFireUSA 38703 SoundDieToxin = DieByToxinChina 38704 38705 ; *** ENGINEERING Parameters *** 38706 RadarPriority = UNIT 38707 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 38708 38709 Body = ActiveBody ModuleTag_02 38710 MaxHealth = 100.0 38711 InitialHealth = 100.0 38712 End 38713 38714 Behavior = AIUpdateInterface ModuleTag_03 38715 AutoAcquireEnemiesWhenIdle = Yes 38716 End 38717 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 38718 ScanRate = 1000 ; once a second. 38719 ScanRange = 300 ; 38720 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 38721 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 38722 End 38723 38724 Locomotor = SET_NORMAL CINE_BasicHumanLocomotor 38725 Behavior = PhysicsBehavior ModuleTag_05 38726 Mass = 5.0 38727 End 38728 38729 Behavior = SquishCollide ModuleTag_07 38730 ;nothing 38731 End 38732 38733 ; --- begin Death modules --- 38734 Behavior = SlowDeathBehavior ModuleTag_Death01 38735 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 38736 SinkDelay = 3000 38737 SinkRate = 0.5 ; in Dist/Sec 38738 DestructionDelay = 8000 38739 FX = INITIAL FX_GIDie 38740 End 38741 Behavior = SlowDeathBehavior ModuleTag_Death02 38742 DeathTypes = NONE +CRUSHED +SPLATTED 38743 SinkDelay = 3000 38744 SinkRate = 0.5 ; in Dist/Sec 38745 DestructionDelay = 8000 38746 FX = INITIAL FX_GIDieCrushed 38747 End 38748 Behavior = SlowDeathBehavior ModuleTag_Death03 38749 DeathTypes = NONE +EXPLODED 38750 SinkDelay = 3000 38751 SinkRate = 0.5 ; in Dist/Sec 38752 DestructionDelay = 8000 38753 FX = INITIAL FX_GIDie 38754 FlingForce = 8 38755 FlingForceVariance = 3 38756 FlingPitch = 60 38757 FlingPitchVariance = 10 38758 End 38759 Behavior = SlowDeathBehavior ModuleTag_Death04 38760 DeathTypes = NONE +BURNED 38761 DestructionDelay = 0 38762 FX = INITIAL FX_GIDie 38763 OCL = INITIAL OCL_FlamingInfantry 38764 End 38765 Behavior = SlowDeathBehavior ModuleTag_Death05 38766 DeathTypes = NONE +POISONED 38767 DestructionDelay = 0 38768 FX = INITIAL FX_GIDie 38769 OCL = INITIAL OCL_ToxicInfantry 38770 End 38771 ; --- end Death modules --- 38772 38773 Behavior = PoisonedBehavior ModuleTag_10 38774 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 38775 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 38776 End 38777 38778 Geometry = CYLINDER 38779 Scale = 0.95 ;Scaling 38780 GeometryMajorRadius = 1.0 38781 GeometryMinorRadius = 1.0 38782 GeometryHeight = 8.0 38783 GeometryIsSmall = Yes 38784 Shadow = SHADOW_DECAL 38785 ShadowSizeX = 9; 38786 ShadowSizeY = 9; 38787 ShadowTexture = ShadowI; 38788 BuildCompletion = APPEARS_AT_RALLY_POINT 38789 38790 End 38791 38792 ;------------------------------------------------------------------------------ 38793 ;************************ Cinematic-only unit ********************************* 38794 Object CINE_ChinaAmbassador 38795 38796 ; *** ART Parameters *** 38797 Draw = W3DModelDraw ModuleTag_01 38798 OkToChangeModelColor = Yes 38799 38800 DefaultConditionState 38801 Model = NIAMBSDR_SKN 38802 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 38803 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 38804 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 38805 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 38806 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 38807 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 38808 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_STA 38809 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_IDA 38810 IdleAnimation = NIAMBSDR_SKL.NIAMBSDR_IDB 38811 AnimationMode = ONCE 38812 TransitionKey = TRANS_Stand 38813 End 38814 38815 ConditionState = MOVING 38816 Animation = NIAMBSDR_SKL.NIAMBSDR_RNA ;***was using WKA but it doesn't exist so I changed it to kill the assert -- Kris 38817 AnimationMode = LOOP 38818 Flags = RANDOMSTART 38819 End 38820 38821 ConditionState = MOVING PANICKING 38822 Animation = NIAMBSDR_SKL.NIAMBSDR_RNA 38823 AnimationMode = LOOP 38824 Flags = RANDOMSTART 38825 End 38826 38827 ConditionState = DYING 38828 Animation = NIAMBSDR_SKL.NIAMBSDR_DTA 38829 Animation = NIAMBSDR_SKL.NIAMBSDR_DTB 38830 AnimationMode = ONCE 38831 TransitionKey = TRANS_Dying 38832 End 38833 38834 ;TransitionState = TRANS_Dying TRANS_Flailing 38835 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD1 38836 ; AnimationMode = ONCE 38837 ;End 38838 38839 ;ConditionState = DYING EXPLODED_FLAILING 38840 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD2 38841 ; AnimationMode = LOOP 38842 ; TransitionKey = TRANS_Flailing 38843 ;End 38844 38845 ;ConditionState = DYING EXPLODED_BOUNCING 38846 ; Animation = NIAMBSDR_SKL.NIAMBSDR_ADTD3 38847 ; AnimationMode = ONCE 38848 ; TransitionKey = None 38849 ;End 38850 End 38851 38852 ; ***DESIGN parameters *** 38853 Buildable = No 38854 DisplayName = OBJECT:Ambassador 38855 Side = China 38856 EditorSorting = INFANTRY 38857 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 38858 WeaponSet 38859 ; no weapons 38860 End 38861 ArmorSet 38862 Conditions = None 38863 Armor = HumanArmor 38864 DamageFX = InfantryDamageFX 38865 End 38866 VisionRange = 150 38867 ShroudClearingRange = 150 38868 38869 ExperienceValue = 50 100 150 400 ;Experience point value at each level 38870 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 38871 IsTrainable = Yes ;Can gain experience 38872 38873 ; *** AUDIO Parameters *** 38874 SoundDie = RedGuardVoiceDie 38875 38876 ; *** ENGINEERING Parameters *** 38877 RadarPriority = UNIT 38878 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 38879 38880 Body = ActiveBody ModuleTag_02 38881 MaxHealth = 50.0 38882 InitialHealth = 50.0 38883 End 38884 38885 Behavior = AIUpdateInterface ModuleTag_03 38886 AutoAcquireEnemiesWhenIdle = Yes 38887 End 38888 Locomotor = SET_NORMAL CINE_BasicHumanLocomotor 38889 Behavior = PhysicsBehavior ModuleTag_04 38890 Mass = 5.0 38891 End 38892 Behavior = SlowDeathBehavior ModuleTag_05 38893 SinkDelay = 3000 38894 SinkRate = 0.5 ; in Dist/Sec 38895 DestructionDelay = 8000 38896 End 38897 38898 Behavior = SquishCollide ModuleTag_06 38899 ;nothing 38900 End 38901 38902 Behavior = FXListDie ModuleTag_07 38903 DeathTypes = ALL -CRUSHED -SPLATTED 38904 DeathFX = FX_GIDie 38905 End 38906 Behavior = FXListDie ModuleTag_08 38907 DeathTypes = NONE +CRUSHED +SPLATTED 38908 DeathFX = FX_GIDieCrushed 38909 End 38910 38911 Behavior = PoisonedBehavior ModuleTag_09 38912 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 38913 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 38914 End 38915 38916 Geometry = CYLINDER 38917 Scale = 0.95 ;Scaling 38918 GeometryMajorRadius = 1.0 38919 GeometryMinorRadius = 1.0 38920 GeometryHeight = 8.0 38921 GeometryIsSmall = Yes 38922 Shadow = SHADOW_DECAL 38923 ShadowSizeX = 9 38924 ShadowSizeY = 9 38925 ShadowTexture = ShadowI 38926 BuildCompletion = APPEARS_AT_RALLY_POINT 38927 38928 End 38929 38930 ;------------------------------------------------------------------------------ 38931 ;************************* Cinematic-only unit ******************************** 38932 Object CINE_GLAInfantryWorker 38933 38934 ; *** ART Parameters *** 38935 SelectPortrait = SUWorker_L 38936 ButtonImage = SUWorker 38937 38938 ;UpgradeCameo1 = NONE 38939 ;UpgradeCameo2 = NONE 38940 ;UpgradeCameo3 = NONE 38941 ;UpgradeCameo4 = NONE 38942 ;UpgradeCameo5 = NONE 38943 38944 Draw = W3DModelDraw ModuleTag_01 38945 OkToChangeModelColor = Yes 38946 38947 DefaultConditionState 38948 HideSubObject = BOX MINED_SKIN 38949 Model = UIWRKR_SKN 38950 IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 38951 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA 38952 AnimationMode = ONCE 38953 TransitionKey = TRANS_Stand 38954 End 38955 38956 ConditionState = MOVING 38957 Animation = UIWRKR_SKL.UIWRKR_RNA 16 38958 AnimationMode = LOOP 38959 Flags = RANDOMSTART 38960 TransitionKey = TRANS_Stand 38961 ParticleSysBone = None InfantryDustTrails 38962 End 38963 ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, 38964 ; since we flip the bit once we get pretty close to the target. but it looks 38965 ; funky to do the construction animation while moving. 38966 ; so just use the normal move animation in that case. 38967 AliasConditionState = ACTIVELY_CONSTRUCTING MOVING 38968 38969 ConditionState = ATTACKING 38970 ShowSubObject = MINED_SKIN 38971 Animation = UIWRKR_SKL.UIWRKR_MS 38972 AnimationMode = LOOP 38973 Flags = RANDOMSTART 38974 TransitionKey = TRANS_MetalDetector 38975 End 38976 38977 ConditionState = MOVING ATTACKING 38978 ShowSubObject = MINED_SKIN 38979 Animation = UIWRKR_SKL.UIWRKR_MSW 50 38980 AnimationMode = LOOP 38981 Flags = RANDOMSTART 38982 TransitionKey = TRANS_MetalDetector 38983 ParticleSysBone = None InfantryDustTrails 38984 End 38985 38986 TransitionState = TRANS_Stand TRANS_MetalDetector 38987 ShowSubObject = MINED_SKIN 38988 Animation = UIWRKR_SKL.UIWRKR_TRB1 38989 AnimationMode = ONCE 38990 AnimationSpeedFactorRange = 2 2 38991 End 38992 38993 TransitionState = TRANS_MetalDetector TRANS_Stand 38994 ShowSubObject = MINED_SKIN 38995 Animation = UIWRKR_SKL.UIWRKR_TRB2 38996 AnimationMode = ONCE 38997 AnimationSpeedFactorRange = 2 2 38998 End 38999 39000 ConditionState = MOVING CARRYING 39001 ShowSubObject = BOX 39002 Animation = UIWRKR_SKL.UIWRKR_CARY 12 39003 AnimationMode = LOOP 39004 Flags = RANDOMSTART 39005 TransitionKey = TRANS_Carry 39006 ParticleSysBone = None InfantryDustTrails 39007 End 39008 ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, 39009 ; since we flip the bit once we get pretty close to the target. but it looks 39010 ; funky to do the construction animation while moving. 39011 ; so just use the normal move animation in that case. 39012 AliasConditionState = ACTIVELY_CONSTRUCTING MOVING CARRYING 39013 39014 ConditionState = CARRYING 39015 ShowSubObject = BOX 39016 Animation = UIWRKR_SKL.UIWRKR_CARST 30 39017 AnimationMode = LOOP 39018 Flags = RANDOMSTART 39019 TransitionKey = TRANS_Carry 39020 End 39021 39022 ConditionState = DYING 39023 Animation = UIWRKR_SKL.UIWRKR_DTA 39024 AnimationMode = ONCE 39025 TransitionKey = TRANS_Dying 39026 End 39027 AliasConditionState = DYING CARRYING 39028 39029 TransitionState = TRANS_Dying TRANS_Flailing 39030 Animation = UIWRKR_SKL.UIWRKR_ADTE1 39031 AnimationMode = ONCE 39032 End 39033 39034 ConditionState = DYING EXPLODED_FLAILING 39035 Animation = UIWRKR_SKL.UIWRKR_ADTE2 39036 AnimationMode = LOOP 39037 TransitionKey = TRANS_Flailing 39038 End 39039 39040 ConditionState = DYING EXPLODED_BOUNCING 39041 Animation = UIWRKR_SKL.UIWRKR_ADTE3 39042 AnimationMode = ONCE 39043 TransitionKey = None 39044 End 39045 39046 ConditionState = SPECIAL_CHEERING 39047 Animation = UIWRKR_SKL.UIWRKR_CHA 39048 AnimationMode = ONCE 39049 End 39050 39051 ConditionState = ACTIVELY_CONSTRUCTING 39052 Animation = UIWRKR_SKL.UIWRKR_BDA 39053 AnimationMode = LOOP 39054 TransitionKey = TRANS_Constructing 39055 End 39056 AliasConditionState = ACTIVELY_CONSTRUCTING CARRYING 39057 39058 ; -------------------- 39059 39060 TransitionState = TRANS_Stand TRANS_Carry 39061 ShowSubObject = BOX 39062 Animation = UIWRKR_SKL.UIWRKR_PIK 39063 AnimationMode = ONCE 39064 End 39065 39066 TransitionState = TRANS_Carry TRANS_Stand 39067 ShowSubObject = BOX 39068 Animation = UIWRKR_SKL.UIWRKR_PIK 39069 AnimationMode = ONCE_BACKWARDS 39070 Flags = START_FRAME_LAST 39071 End 39072 39073 TransitionState = TRANS_Stand TRANS_Constructing 39074 Animation = UIWRKR_SKL.UIWRKR_TRA1 39075 AnimationMode = ONCE 39076 End 39077 39078 TransitionState = TRANS_Constructing TRANS_Stand 39079 Animation = UIWRKR_SKL.UIWRKR_TRA2 39080 AnimationMode = ONCE 39081 End 39082 End 39083 39084 ; ***DESIGN parameters *** 39085 DisplayName = OBJECT:Worker 39086 Side = GLA 39087 EditorSorting = INFANTRY 39088 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 39089 39090 39091 WeaponSet 39092 Conditions = None 39093 Weapon = PRIMARY None 39094 End 39095 WeaponSet 39096 Conditions = MINE_CLEARING_DETAIL 39097 Weapon = PRIMARY WorkerMineDisarmingWeapon 39098 End 39099 39100 39101 ArmorSet 39102 Conditions = None 39103 Armor = HumanArmor 39104 DamageFX = InfantryDamageFX 39105 End 39106 VisionRange = 100 39107 ShroudClearingRange = 200 39108 ;Prerequisites 39109 ; Object = GLABarracks GLASupplyStash ;commented out, or else you can't build from Con Yard as Dozer. 39110 ;End 39111 BuildCost = 200 39112 BuildTime = 5.0 ;in seconds 39113 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 39114 CommandSet = GLAWorkerCommandSet 39115 39116 ; *** AUDIO Parameters *** 39117 VoiceSelect = WorkerVoiceSelect 39118 VoiceMove = WorkerVoiceMove 39119 VoiceAttack = WorkerVoiceMove 39120 SoundDie = WorkerVoiceDie 39121 SoundDieFire = DieByFireGLA 39122 SoundDieToxin = DieByToxinChina 39123 VoiceGuard = WorkerVoiceMove 39124 VoiceFear = WorkerVoiceFear 39125 VoiceTaskComplete = WorkerVoiceBuildComplete 39126 UnitSpecificSounds 39127 VoiceEnter = WorkerVoiceMove 39128 VoiceEnterHostile = WorkerVoiceMove 39129 VoiceGarrison = WorkerVoiceGarrison 39130 VoiceCreate = WorkerVoiceCreate 39131 VoiceSupply = WorkerVoiceSupply 39132 VoiceNoBuild = WorkerVoiceBuildNot 39133 VoiceRepair = WorkerVoiceRepair 39134 VoiceDisarm = WorkerVoiceClearMine 39135 VoiceBuildResponse = WorkerVoiceBuild 39136 VoiceGetHealed = WorkerVoiceMove 39137 39138 End 39139 39140 ; *** ENGINEERING Parameters *** 39141 RadarPriority = UNIT 39142 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER DOZER HARVESTER SCORE 39143 39144 Body = ActiveBody ModuleTag_02 39145 MaxHealth = 100.0 39146 InitialHealth = 100.0 39147 End 39148 39149 Behavior = WorkerAIUpdate ModuleTag_03 39150 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second 39151 BoredTime = 5000 ; in milliseconds 39152 BoredRange = 150 ; when bored, we look this far away to do something 39153 MaxBoxes = 1 39154 SupplyCenterActionDelay = 150 ;400 ; ms for whole thing (one transaction) 39155 SupplyWarehouseActionDelay = 150 ;400 ;ms per box (many small transactions) 39156 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) 39157 SuppliesDepletedVoice = WorkerVoiceSuppliesDepleted 39158 ; the only "enemies" that workers can acquire are mines, to be disarmed... 39159 AutoAcquireEnemiesWhenIdle = Yes 39160 End 39161 Locomotor = SET_NORMAL CINE_FastHumanLocomotor 39162 Behavior = PhysicsBehavior ModuleTag_04 39163 Mass = 5.0 39164 End 39165 39166 Behavior = SquishCollide ModuleTag_06 39167 ;nothing 39168 End 39169 39170 ; --- begin Death modules --- 39171 Behavior = SlowDeathBehavior ModuleTag_Death01 39172 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 39173 SinkDelay = 3000 39174 SinkRate = 0.5 ; in Dist/Sec 39175 DestructionDelay = 8000 39176 FX = INITIAL FX_GIDie 39177 End 39178 Behavior = SlowDeathBehavior ModuleTag_Death02 39179 DeathTypes = NONE +CRUSHED +SPLATTED 39180 SinkDelay = 3000 39181 SinkRate = 0.5 ; in Dist/Sec 39182 DestructionDelay = 8000 39183 FX = INITIAL FX_GIDieCrushed 39184 End 39185 Behavior = SlowDeathBehavior ModuleTag_Death03 39186 DeathTypes = NONE +EXPLODED 39187 SinkDelay = 3000 39188 SinkRate = 0.5 ; in Dist/Sec 39189 DestructionDelay = 8000 39190 FX = INITIAL FX_GIDie 39191 FlingForce = 8 39192 FlingForceVariance = 3 39193 FlingPitch = 60 39194 FlingPitchVariance = 10 39195 End 39196 Behavior = SlowDeathBehavior ModuleTag_Death04 39197 DeathTypes = NONE +BURNED 39198 DestructionDelay = 0 39199 FX = INITIAL FX_GIDie 39200 OCL = INITIAL OCL_FlamingInfantry 39201 End 39202 Behavior = SlowDeathBehavior ModuleTag_Death05 39203 DeathTypes = NONE +POISONED 39204 DestructionDelay = 0 39205 FX = INITIAL FX_GIDie 39206 OCL = INITIAL OCL_ToxicInfantry 39207 End 39208 ; --- end Death modules --- 39209 39210 Behavior = StealthDetectorUpdate ModuleTag_12 39211 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 39212 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 39213 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 39214 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 39215 ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things 39216 End 39217 39218 Behavior = PoisonedBehavior ModuleTag_13 39219 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 39220 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 39221 End 39222 39223 Geometry = CYLINDER 39224 Scale = 0.95 ;Scaling 39225 GeometryMajorRadius = 1.0 39226 GeometryMinorRadius = 1.0 39227 GeometryHeight = 8.0 39228 GeometryIsSmall = Yes 39229 Shadow = SHADOW_DECAL 39230 ShadowSizeX = 9; 39231 ShadowSizeY = 9; 39232 ShadowTexture = ShadowI; 39233 BuildCompletion = APPEARS_AT_RALLY_POINT 39234 39235 End 39236 ;------------------------------------------------------------------------------ 39237 ;--- Being used to spawn a Cinematic Pilot for the USA02 intro. 39238 Object CINE_AmericaVehicleComanche02 39239 39240 ; *** ART Parameters *** 39241 SelectPortrait = SACCommanche_L 39242 ButtonImage = SACCommanche 39243 39244 UpgradeCameo1 = Upgrade_ComancheRocketPods 39245 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 39246 ;UpgradeCameo3 = NONE 39247 ;UpgradeCameo4 = NONE 39248 ;UpgradeCameo5 = NONE 39249 39250 Draw = W3DModelDraw ModuleTag_01 39251 39252 DefaultConditionState 39253 Model = AVComanche 39254 HideSubObject = MissileUpgrade 39255 Animation = AVComanche.AVComanche 39256 AnimationMode = LOOP 39257 WeaponMuzzleFlash = PRIMARY TurretFX 39258 WeaponFireFXBone = PRIMARY Muzzle 39259 WeaponFireFXBone = SECONDARY Muzzle 39260 WeaponLaunchBone = SECONDARY Muzzle 39261 End 39262 39263 ConditionState = REALLYDAMAGED 39264 Model = AVComanche_d 39265 Animation = AVComanche_d.AVComanche_d 39266 AnimationMode = LOOP 39267 End 39268 39269 ConditionState = WEAPONSET_PLAYER_UPGRADE 39270 ShowSubObject = MissileUpgrade 39271 Animation = AVComanche.AVComanche 39272 AnimationMode = LOOP 39273 WeaponFireFXBone = TERTIARY WeaponB 39274 WeaponLaunchBone = TERTIARY WeaponB 39275 End 39276 39277 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 39278 Model = AVComanche_d 39279 ShowSubObject = MissileUpgrade 39280 Animation = AVComanche_d.AVComanche_d 39281 AnimationMode = LOOP 39282 WeaponFireFXBone = TERTIARY WeaponB 39283 WeaponLaunchBone = TERTIARY WeaponB 39284 End 39285 39286 ConditionState = RUBBLE 39287 Model = AVComanche_d 39288 Animation = AVComanche_d.AVComanche_d 39289 AnimationMode = LOOP 39290 End 39291 39292 ConditionState = RUBBLE SPECIAL_DAMAGED 39293 Model = AVComanche_d 39294 HideSubObject = AVComanche_Prop 39295 End 39296 39297 OkToChangeModelColor = Yes 39298 End 39299 39300 ; ***DESIGN parameters *** 39301 DisplayName = OBJECT:Comanche 39302 EditorSorting = VEHICLE 39303 Side = America 39304 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 39305 VisionRange = 400.0 39306 ShroudClearingRange = 600 39307 Prerequisites 39308 Object = AmericaAirfield 39309 End 39310 39311 WeaponSet 39312 Conditions = None 39313 ; ----- 39314 Weapon = PRIMARY Comanche20mmCannonWeapon 39315 PreferredAgainst = PRIMARY INFANTRY 39316 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 39317 ; ----- 39318 Weapon = SECONDARY ComancheAntiTankMissileWeapon 39319 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 39320 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 39321 ; ----- 39322 Weapon = TERTIARY NONE 39323 End 39324 WeaponSet 39325 Conditions = PLAYER_UPGRADE 39326 ; ----- 39327 Weapon = PRIMARY Comanche20mmCannonWeapon 39328 PreferredAgainst = PRIMARY INFANTRY 39329 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 39330 ; ----- 39331 Weapon = SECONDARY ComancheAntiTankMissileWeapon 39332 PreferredAgainst = SECONDARY VEHICLE STRUCTURE 39333 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 39334 ; ----- 39335 Weapon = TERTIARY ComancheRocketPodWeapon 39336 AutoChooseSources = TERTIARY NONE 39337 End 39338 ArmorSet 39339 Conditions = None 39340 Armor = ComancheArmor 39341 DamageFX = None 39342 End 39343 BuildCost = 1500 39344 BuildTime = 10 ; in seconds 39345 ExperienceValue = 50 50 100 200 ; Experience point value at each level 39346 ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level 39347 IsTrainable = Yes ; Can gain experience 39348 CommandSet = AmericaVehicleComancheCommandSet 39349 39350 ; *** AUDIO Parameters *** 39351 VoiceSelect = ComancheVoiceSelect 39352 VoiceMove = ComancheVoiceMove 39353 VoiceGuard = ComancheVoiceMove 39354 VoiceAttack = ComancheVoiceAttack 39355 SoundAmbient = ComancheAmbientLoop 39356 SoundAmbientRubble = NoSound 39357 SoundDie = ComancheVoiceFalling 39358 UnitSpecificSounds 39359 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 39360 VoiceCreate = ComancheVoiceCreate 39361 SoundEject = PilotSoundEject 39362 VoiceEject = PilotVoiceEject 39363 Afterburner = RaptorAfterburner 39364 VoiceGarrison = ComancheVoiceMove 39365 TurretMoveStart = NoSound 39366 TurretMoveLoop = NoSound 39367 End 39368 39369 39370 ; *** ENGINEERING Parameters *** 39371 RadarPriority = UNIT 39372 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD 39373 39374 Behavior = WeaponSetUpgrade ModuleTag_02 39375 TriggeredBy = Upgrade_ComancheRocketPods 39376 End 39377 Behavior = ExperienceScalarUpgrade ModuleTag_03 39378 TriggeredBy = Upgrade_AmericaAdvancedTraining 39379 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 39380 End 39381 39382 Body = ActiveBody ModuleTag_04 39383 MaxHealth = 220.0 39384 InitialHealth = 220.0 39385 End 39386 39387 Behavior = FXListDie ModuleTag_05 39388 DeathFX = FX_HelicopterStartDeath 39389 End 39390 39391 Behavior = JetAIUpdate ModuleTag_06 39392 MinHeight = 5 39393 NeedsRunway = No 39394 KeepsParkingSpaceWhenAirborne = No 39395 AutoAcquireEnemiesWhenIdle = Yes 39396 ; note that comanches do not return to base when idle 39397 39398 ; this is a bit of a trick... normally, units cannot move-and-fire at 39399 ; the same time. we need the comanche to be able to. so we give it 39400 ; a "turret" (invisible) and put the two main weapons on it, but with 39401 ; no turn rate. voila! 39402 Turret 39403 TurretTurnRate = 0 ; this "turret" does not turn 39404 TurretPitchRate = 0 ; nor does it pitch 39405 ControlledWeaponSlots = PRIMARY SECONDARY 39406 End 39407 39408 End 39409 Locomotor = SET_NORMAL ComancheLocomotor 39410 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 39411 39412 Behavior = PhysicsBehavior ModuleTag_07 39413 Mass = 50.0 39414 End 39415 Behavior = HelicopterSlowDeathBehavior ModuleTag_08 39416 DestructionDelay = 99999999 ; the destruction delay 39417 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 39418 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 39419 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 39420 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 39421 SoundDeathLoop = ComancheDamagedLoop 39422 MinSelfSpin = 100 ; in degrees per second 39423 MaxSelfSpin = 300 ; in degrees per second 39424 SelfSpinUpdateDelay = 100 ; in milliseconds 39425 SelfSpinUpdateAmount = 10 ; in degrees 39426 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 39427 MinBladeFlyOffDelay = 1500 ; in milliseconds 39428 MaxBladeFlyOffDelay = 1500 ; in milliseconds 39429 AttachParticle = SootySmokeTrail 39430 AttachParticleBone = Propeller02 39431 BladeObjectName = ComancheBlades 39432 BladeBoneName = Propeller01 39433 ; Most things that eject pilots do so immediately upon death, 39434 ; via use of EjectPilotDie, but Helicopters are a special case... 39435 ; they need to do so after their blades are ejected. 39436 OCLEjectPilot = OCL_CINE_EjectPilotViaParachute 39437 FXBlade = FX_HelicopterBladeExplosion 39438 OCLBlade = OCL_HelicopterBladeExplosion 39439 FXHitGround = FX_HelicopterHitGround 39440 OCLHitGround = OCL_HelicopterHitGround 39441 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 39442 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 39443 DelayFromGroundToFinalDeath = 1500 39444 FinalRubbleObject = ComancheRubbleHull 39445 End 39446 39447 Behavior = TransitionDamageFX ModuleTag_09 39448 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 39449 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 39450 End 39451 39452 Behavior = FlammableUpdate ModuleTag_21 39453 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 39454 AflameDamageAmount = 3 ; taking this much damage... 39455 AflameDamageDelay = 500 ; this often. 39456 End 39457 39458 Geometry = BOX 39459 GeometryMajorRadius = 20.0 39460 GeometryMinorRadius = 3.0 39461 GeometryHeight = 25.0 39462 GeometryIsSmall = No 39463 Shadow = SHADOW_VOLUME 39464 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 39465 39466 End 39467 39468 ;------------------------------------------------------------------------------ 39469 ;------------------------------------------------------------------------------ 39470 ; This pilot is being used for USA02, he surrenders as soon as he hits the ground. 39471 Object CINE_AmericaInfantryPilot 39472 39473 ; *** ART Parameters *** 39474 SelectPortrait = SAPilot_L 39475 ButtonImage = SAPilot 39476 39477 ;UpgradeCameo1 = NONE 39478 ;UpgradeCameo2 = NONE 39479 ;UpgradeCameo3 = NONE 39480 ;UpgradeCameo4 = NONE 39481 ;UpgradeCameo5 = NONE 39482 39483 Draw = W3DModelDraw ModuleTag_01 39484 OkToChangeModelColor = Yes 39485 39486 DefaultConditionState 39487 Model = AIRPlt_SKN 39488 IdleAnimation = AIRPlt_SKL.AIRPlt_SST 0 20 39489 AnimationMode = ONCE 39490 TransitionKey = TRANS_Stand 39491 End 39492 ;AliasConditionState = REALLYDAMAGED 39493 39494 ConditionState = FREEFALL 39495 Animation = AIRPlt_SKL.AIRPLT_PFL 39496 AnimationMode = ONCE 39497 TransitionKey = TRANS_Falling 39498 End 39499 ;AliasConditionState = FREEFALL REALLYDAMAGED 39500 AliasConditionState = FREEFALL DYING 39501 39502 ConditionState = PARACHUTING 39503 Animation = AIRPlt_SKL.AIRPlt_PHG 39504 AnimationMode = LOOP 39505 TransitionKey = TRANS_Chute 39506 WaitForStateToFinishIfPossible = TRANS_Falling 39507 End 39508 AliasConditionState = PARACHUTING REALLYDAMAGED 39509 AliasConditionState = PARACHUTING DYING 39510 39511 ConditionState = MOVING 39512 Animation = AIRPlt_SKL.AIRPlt_RNA 39513 AnimationMode = LOOP 39514 TransitionKey = TRANS_Move 39515 ParticleSysBone = None InfantryDustTrails 39516 End 39517 ;AliasConditionState = MOVING REALLYDAMAGED 39518 39519 ConditionState = DYING 39520 Animation = AIRPlt_SKL.AIRPlt_DTA 39521 Animation = AIRPlt_SKL.AIRPlt_DTB 39522 AnimationMode = ONCE 39523 TransitionKey = TRANS_Dying 39524 End 39525 39526 TransitionState = TRANS_Move TRANS_Stand 39527 Animation = AIRPlt_SKL.AIRPlt_SUR 39528 AnimationMode = ONCE 39529 End 39530 39531 TransitionState = TRANS_Dying TRANS_Flailing 39532 Animation = AIRPlt_SKL.AIRPlt_ADTE1 39533 AnimationMode = ONCE 39534 End 39535 39536 ConditionState = DYING EXPLODED_FLAILING 39537 Animation = AIRPlt_SKL.AIRPlt_ADTE2 39538 AnimationMode = LOOP 39539 TransitionKey = TRANS_Flailing 39540 End 39541 39542 ConditionState = DYING EXPLODED_BOUNCING 39543 Animation = AIRPlt_SKL.AIRPlt_ADTE3 39544 AnimationMode = ONCE 39545 TransitionKey = None 39546 End 39547 39548 ConditionState = SPECIAL_CHEERING 39549 Animation = AIRPLT_SKL.AIRPLT_CHA 39550 AnimationMode = LOOP 39551 End 39552 39553 ;@TODO -- MISSING ANIMATION FILE 39554 ;TransitionState = TRANS_Falling TRANS_Chute 39555 ; Animation = AIRPLT_SKL.AIRPLT_POP 39556 ; AnimationMode = ONCE 39557 ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 39558 ;End 39559 39560 TransitionState = TRANS_Chute TRANS_Stand 39561 Animation = AIRPlt_SKL.AIRPlt_SUR 39562 AnimationMode = ONCE 39563 End 39564 39565 End 39566 39567 ; ***DESIGN parameters *** 39568 DisplayName = OBJECT:Pilot 39569 Side = America 39570 EditorSorting = INFANTRY 39571 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 39572 ExperienceValue = 10 10 10 10 ;Experience point value at each level 39573 ExperienceRequired = 0 1 2 3 ;Experience points needed to gain each level 39574 IsTrainable = Yes ;Can gain experience 39575 CommandSet = AmericaInfantryPilotCommandSet 39576 39577 ArmorSet 39578 Conditions = None 39579 Armor = HumanArmor 39580 DamageFX = InfantryDamageFX 39581 End 39582 39583 VisionRange = 150 39584 ShroudClearingRange = 300 39585 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 39586 39587 ; *** AUDIO Parameters *** 39588 VoiceSelect = PilotVoiceSelect 39589 VoiceMove = PilotVoiceMove 39590 VoiceAttack = PilotVoiceMove 39591 SoundDie = PilotVoiceDie 39592 SoundDieFire = DieByFireUSA 39593 SoundDieToxin = DieByToxinUSA 39594 VoiceGarrison = PilotVoiceGarrison 39595 VoiceFear = PilotVoiceFear 39596 UnitSpecificSounds 39597 VoiceEnter = PilotVoiceEnter 39598 VoiceEnterHostile = PilotVoiceEnter 39599 VoiceGetHealed = PilotVoiceMove 39600 End 39601 39602 ; *** ENGINEERING Parameters *** 39603 RadarPriority = UNIT 39604 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE 39605 39606 Behavior = VeterancyGainCreate ModuleTag_02 39607 ; omit the "ScienceRequired" so that this upgrade always occurs. 39608 ; Pilots should never (repeat, never) be less than VETERAN status. 39609 StartingLevel = VETERAN 39610 End 39611 39612 Behavior = VeterancyCrateCollide ModuleTag_03 39613 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with 39614 ForbiddenKindOf = DOZER ; but not to TRANSPORTs or DOZERs! 39615 EffectRange = 0 ; 0=="affect only the thing you collide with" 39616 AddsOwnerVeterancy = Yes ; we add our own veterancy to the target (rather than just +1 level) 39617 IsPilot = Yes ; set the pilot flag because it's different than the veterancy crate and has extra checking 39618 End 39619 39620 Body = ActiveBody ModuleTag_04 39621 MaxHealth = 100.0 39622 InitialHealth = 100.0 39623 End 39624 39625 Behavior = AIUpdateInterface ModuleTag_05 39626 AutoAcquireEnemiesWhenIdle = Yes 39627 End 39628 39629 Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba 39630 ScanRate = 1000 ; once a second. 39631 ScanRange = 300 ; 39632 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 39633 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 39634 End 39635 39636 Behavior = PilotFindVehicleUpdate ModuleTag_07 ; This update will have the unit go to a vehicle. jba 39637 ScanRate = 1000 ; once a second. 39638 ScanRange = 300 ; 39639 MinHealth = 0.5 ; don't enter a vehicl less than 50% healthy. 39640 End 39641 39642 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor 39643 Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25 39644 39645 Behavior = PhysicsBehavior ModuleTag_08 39646 Mass = 5.0 39647 End 39648 39649 Behavior = LocomotorSetUpgrade ModuleTag_10 39650 TriggeredBy = Upgrade_Veterancy_HEROIC 39651 End 39652 39653 Behavior = SquishCollide ModuleTag_11 39654 ;nothing 39655 End 39656 39657 39658 ; --- begin Death modules --- 39659 Behavior = SlowDeathBehavior ModuleTag_Death01 39660 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 39661 SinkDelay = 3000 39662 SinkRate = 0.5 ; in Dist/Sec 39663 DestructionDelay = 8000 39664 FX = INITIAL FX_GIDie 39665 End 39666 Behavior = SlowDeathBehavior ModuleTag_Death02 39667 DeathTypes = NONE +CRUSHED +SPLATTED 39668 SinkDelay = 3000 39669 SinkRate = 0.5 ; in Dist/Sec 39670 DestructionDelay = 8000 39671 FX = INITIAL FX_GIDieCrushed 39672 End 39673 Behavior = SlowDeathBehavior ModuleTag_Death03 39674 DeathTypes = NONE +EXPLODED 39675 SinkDelay = 3000 39676 SinkRate = 0.5 ; in Dist/Sec 39677 DestructionDelay = 8000 39678 FX = INITIAL FX_GIDie 39679 FlingForce = 8 39680 FlingForceVariance = 3 39681 FlingPitch = 60 39682 FlingPitchVariance = 10 39683 End 39684 Behavior = SlowDeathBehavior ModuleTag_Death04 39685 DeathTypes = NONE +BURNED 39686 DestructionDelay = 0 39687 FX = INITIAL FX_GIDie 39688 OCL = INITIAL OCL_FlamingInfantry 39689 End 39690 Behavior = SlowDeathBehavior ModuleTag_Death05 39691 DeathTypes = NONE +POISONED 39692 DestructionDelay = 0 39693 FX = INITIAL FX_GIDie 39694 OCL = INITIAL OCL_ToxicInfantry 39695 End 39696 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 39697 DeathTypes = NONE +POISONED_BETA 39698 DestructionDelay = 0 39699 FX = INITIAL FX_GIDie 39700 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 39701 End 39702 ; --- end Death modules --- 39703 39704 Behavior = PoisonedBehavior ModuleTag_14 39705 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 39706 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 39707 End 39708 39709 Geometry = CYLINDER 39710 Scale = 0.95 ;Scaling 39711 GeometryMajorRadius = 1.0 39712 GeometryMinorRadius = 1.0 39713 GeometryHeight = 8.0 39714 GeometryIsSmall = Yes 39715 Shadow = SHADOW_DECAL 39716 ShadowSizeX = 9; 39717 ShadowSizeY = 9; 39718 ShadowTexture = ShadowI; 39719 BuildCompletion = APPEARS_AT_RALLY_POINT 39720 39721 End 39722 39723 ;------------------------------------------------------------------------------ 39724 ;Shippack 39725 Object AmericaVehicleHover 39726 39727 39728 SelectPortrait = T2 39729 ButtonImage = T2 39730 39731 UpgradeCameo1 = Upgrade_SeaRepair 39732 UpgradeCameo2 = Upgrade_SeaArmour 39733 ;UpgradeCameo3 = NONE 39734 ;UpgradeCameo4 = NONE 39735 ;UpgradeCameo5 = NONE 39736 39737 ; *** ART Parameters *** 39738 Draw = W3DModelDraw ModuleTag_01 39739 OkToChangeModelColor = Yes 39740 ConditionState = NONE 39741 Model = AVAMPHIB 39742 39743 Animation = AVAMPHIB.AVAMPHIB ; fans off 39744 AnimationMode = MANUAL 39745 Flags = START_FRAME_FIRST 39746 End 39747 39748 ConditionState = OVER_WATER 39749 Model = AVAMPHIB 39750 ParticleSysBone = TreadFX01 AmphibWaveRest 39751 Animation = AVAMPHIB.AVAMPHIB ; fans off 39752 AnimationMode = MANUAL 39753 Flags = START_FRAME_FIRST 39754 End 39755 39756 ConditionState = MOVING 39757 Model = AVAMPHIB 39758 ; ParticleSysBone = Exhaust01 SteamVent ;Want turned off until better solution or final cut solution is reached 39759 ; ParticleSysBone = Exhaust02 SteamVent 39760 ParticleSysBone = Mist01 AmphibDirt 39761 ; ParticleSysBone = Mist01 AmphibDirtClods 39762 39763 ; ParticleSysBone = TreadFX01 RocketBuggyDust 39764 39765 Animation = AVAMPHIB.AVAMPHIB ; fans on 39766 AnimationMode = LOOP 39767 Flags = START_FRAME_FIRST 39768 End 39769 ConditionState = MOVING OVER_WATER 39770 Model = AVAMPHIB 39771 ; ParticleSysBone = Exhaust01 SteamVent 39772 ; ParticleSysBone = Exhaust02 SteamVent 39773 39774 ParticleSysBone = Mist01 AmphibMist 39775 ParticleSysBone = Mist02 AmphibMist 39776 ParticleSysBone = Mist03 AmphibMistSide 39777 ParticleSysBone = Mist04 AmphibMistSide 39778 ParticleSysBone = TreadFX01 AmphibWave 39779 ParticleSysBone = TreadFX02 AmphibWave 39780 Animation = AVAMPHIB.AVAMPHIB ; fans on 39781 AnimationMode = LOOP 39782 Flags = START_FRAME_FIRST 39783 End 39784 End 39785 39786 ; The exit door 39787 Draw = W3DModelDraw ModuleTag_02 39788 DefaultConditionState 39789 Model = AVAMPHIB_A 39790 Animation = AVAMPHIB_A.AVAMPHIB_A 39791 AnimationMode = MANUAL 39792 Flags = START_FRAME_FIRST 39793 End 39794 ConditionState = DOOR_1_OPENING 39795 Model = AVAMPHIB_A 39796 Animation = AVAMPHIB_A.AVAMPHIB_A 39797 AnimationMode = ONCE 39798 Flags = START_FRAME_FIRST 39799 End 39800 ConditionState = DOOR_1_CLOSING 39801 Model = AVAMPHIB_A1 39802 Animation = AVAMPHIB_A1.AVAMPHIB_A1 39803 AnimationMode = ONCE 39804 Flags = START_FRAME_FIRST 39805 End 39806 End 39807 39808 VoiceSelect = ChinookVoiceSelect 39809 ; ***DESIGN parameters *** 39810 DisplayName = OBJECT:AmphibiousTransport 39811 Side = America 39812 EditorSorting = VEHICLE 39813 CommandSet = HoverCommandSet 39814 39815 39816 ArmorSet 39817 Armor = TruckArmor 39818 DamageFX = DefaultDamageFX 39819 End 39820 39821 WeaponSet 39822 Conditions = None 39823 Weapon = PRIMARY None 39824 End 39825 BuildCost = 1000 39826 BuildTime = 30.0 39827 VisionRange = 150 39828 Prerequisites 39829 Object = AmericaWarFactory 39830 Object = AmericaStrategyCenter 39831 Science = SCIENCE_StealthFighter 39832 End 39833 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 39834 CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 39835 39836 ; *** AUDIO Parameters *** 39837 SoundMoveLoop = AmphibiousTransportMoveLoop 39838 39839 ; *** ENGINEERING Parameters *** 39840 RadarPriority = UNIT 39841 KindOf = SELECTABLE VEHICLE TRANSPORT 39842 39843 Body = ActiveBody ModuleTag_03 39844 MaxHealth = 500.0 39845 InitialHealth = 500.0 39846 End 39847 39848 Behavior = MaxHealthUpgrade ModuleTag_09 39849 TriggeredBy = Upgrade_SeaArmour 39850 AddMaxHealth = 250.0 39851 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 39852 End 39853 39854 Behavior = AutoHealBehavior ModuleTag_05 39855 HealingAmount = 3 39856 HealingDelay = 500 ; msec 39857 TriggeredBy = Upgrade_SeaRepair 39858 End 39859 39860 Behavior = TransportContain ModuleTag_04 39861 Slots = 9 39862 AllowInsideKindOf = INFANTRY VEHICLE 39863 DoorOpenTime = 2000 39864 ScatterNearbyOnExit = No ; I have bones for exiting 39865 End 39866 Behavior = PhysicsBehavior ModuleTag_05 39867 Mass = 30.0 39868 End 39869 Behavior = TransportAIUpdate ModuleTag_06 39870 ;<NO DATA> 39871 End 39872 Locomotor = SET_NORMAL BasicAmphibiousLocomotor 39873 Behavior = DestroyDie ModuleTag_07 39874 ;<NO DATA> 39875 End 39876 Behavior = CreateObjectDie ModuleTag_08 39877 DeathTypes = ALL 39878 CreationList = OCL_GenericCarExplode 39879 End 39880 Behavior = FXListDie ModuleTag_09 39881 DeathTypes = ALL -FLOODED 39882 DeathFX = FX_GenericCarExplode 39883 End 39884 39885 Behavior = FlammableUpdate ModuleTag_21 39886 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 39887 AflameDamageAmount = 5 ; taking this much damage... 39888 AflameDamageDelay = 500 ; this often. 39889 End 39890 39891 Behavior = SlowDeathBehavior ModuleTag_16 39892 ProbabilityModifier = 25 39893 DestructionDelay = 200 39894 DestructionDelayVariance = 100 39895 OCL = FINAL OCL_FirestormSmall 39896 FX = FINAL WeaponFX_NapalmMissileDetonation 39897 End 39898 39899 Geometry = BOX 39900 Scale = 1.0 ;Scaling 39901 GeometryIsSmall = No 39902 GeometryMajorRadius = 23.0 39903 GeometryMinorRadius = 17.0 39904 GeometryHeight = 20.0 39905 Shadow = SHADOW_VOLUME 39906 39907 End 39908 39909 ;------------------------------------------------------------------------------ 39910 Object ChinaVehicleBattleShip 39911 39912 SelectPortrait = T1 39913 ButtonImage = T1 39914 39915 UpgradeCameo1 = Upgrade_SeaRepair 39916 UpgradeCameo2 = Upgrade_SeaArmour 39917 ;UpgradeCameo3 = NONE 39918 ;UpgradeCameo4 = NONE 39919 ;UpgradeCameo5 = NONE 39920 39921 ; *** ART Parameters *** 39922 Draw = W3DModelDraw ModuleTag_01 39923 OkToChangeModelColor = Yes 39924 InitialRecoilSpeed = 120 39925 MaxRecoilDistance = 8 39926 RecoilSettleSpeed = 6 39927 39928 ConditionState = NONE 39929 Model = nvhuangfeng 39930 Animation = nvhuangfeng.nvhuangfeng 39931 AnimationMode = LOOP 39932 39933 Turret = Turret01 39934 WeaponFireFXBone = PRIMARY MUZZLE 39935 WeaponMuzzleFlash = PRIMARY MUZZLEFX 39936 WeaponLaunchBone = PRIMARY MUZZLE 39937 WeaponFireFXBone = SECONDARY WEAPONA 39938 WeaponLaunchBone = SECONDARY WEAPONA 39939 39940 ParticleSysBone = Smoke01 SteamVent 39941 End 39942 39943 39944 ConditionState = OVER_WATER 39945 Model = nvhuangfeng 39946 Animation = nvhuangfeng.nvhuangfeng 39947 AnimationMode = LOOP 39948 39949 Turret = Turret01 39950 WeaponFireFXBone = PRIMARY MUZZLE 39951 WeaponMuzzleFlash = PRIMARY MUZZLEFX 39952 WeaponLaunchBone = PRIMARY MUZZLE 39953 WeaponFireFXBone = SECONDARY WEAPONA 39954 WeaponLaunchBone = SECONDARY WEAPONA 39955 39956 ParticleSysBone = Smoke01 SteamVent 39957 End 39958 39959 ConditionState = MOVING OVER_WATER 39960 Model = nvhuangfeng 39961 Animation = nvhuangfeng.nvhuangfeng 39962 AnimationMode = LOOP 39963 39964 Turret = Turret01 39965 39966 WeaponFireFXBone = PRIMARY MUZZLE 39967 WeaponMuzzleFlash = PRIMARY MUZZLEFX 39968 WeaponLaunchBone = PRIMARY MUZZLE 39969 WeaponFireFXBone = SECONDARY WEAPONAFX 39970 WeaponLaunchBone = SECONDARY WEAPONA 39971 39972 ParticleSysBone = Mist01 AmphibMistSide 39973 39974 ParticleSysBone = TreadFX01 AmphibWave 39975 ParticleSysBone = TreadFX02 AmphibWave 39976 ParticleSysBone = TreadFX03 AmphibWave 39977 ParticleSysBone = TreadFX04 AmphibWave 39978 39979 ParticleSysBone = Smoke01 SteamVent 39980 ParticleSysBone = Smoke02 SteamVent 39981 End 39982 End 39983 39984 VoiceSelect = OverlordTankVoiceSelect 39985 39986 39987 ; ***DESIGN parameters *** 39988 DisplayName = OBJECT:Battleship 39989 Side = GLA 39990 EditorSorting = VEHICLE 39991 TransportSlotCount = 9 ;how many "slots" we take in a transport (0 == not transportable) 39992 WeaponSet 39993 Conditions = None 39994 Weapon = PRIMARY MLRSRocket 39995 PreferredAgainst = PRIMARY NONE 39996 39997 End 39998 39999 ArmorSet 40000 Conditions = None 40001 ;Armor = InvulnerableArmor 40002 Armor = TankDamage 40003 DamageFX = TankDamageFX 40004 End 40005 BuildCost = 2000 40006 BuildTime = 30.0 40007 VisionRange = 400 40008 ShroudClearingRange = 450 40009 Prerequisites 40010 Object = GLAArmsDealer 40011 Object = GLAPalace 40012 End 40013 CommandSet = BattleShipCommandSetFabius 40014 40015 ; *** AUDIO Parameters *** 40016 SoundAmbient = BattleshipAmbientLoop 40017 VoiceSelect = OverlordTankVoiceSelect 40018 UnitSpecificSounds 40019 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 40020 TurretMoveLoop = TurretMoveLoop 40021 End 40022 40023 ; *** ENGINEERING Parameters *** 40024 RadarPriority = UNIT 40025 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE SELECTABLE 40026 40027 Body = ActiveBody ModuleTag_02 40028 MaxHealth = 2000.0 40029 InitialHealth = 2000.0 40030 End 40031 40032 Behavior = MaxHealthUpgrade ModuleTag_09 40033 TriggeredBy = Upgrade_SeaArmour 40034 AddMaxHealth = 1000.0 40035 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 40036 End 40037 40038 Behavior = AutoHealBehavior ModuleTag_05 40039 HealingAmount = 7 40040 HealingDelay = 500 ; msec 40041 TriggeredBy = Upgrade_SeaRepair 40042 End 40043 40044 Behavior = AIUpdateInterface ModuleTag_03 40045 Turret 40046 TurretTurnRate = 160 40047 TurretPitchRate = 80 40048 FirePitch = 12 ; Instead of aiming pitchwise at the target, it will aim here 40049 AllowsPitch = Yes 40050 RecenterTime = 5000 ; how long to wait during idle before recentering 40051 ControlledWeaponSlots = PRIMARY 40052 NaturalTurretAngle = 180 ; this turret points backwards normally 40053 End 40054 AltTurret 40055 TurretTurnRate = 160 40056 TurretPitchRate = 80 40057 FirePitch = 15 ; Instead of aiming pitchwise at the target, it will aim here 40058 AllowsPitch = Yes 40059 RecenterTime = 5000 ; how long to wait during idle before recentering 40060 ControlledWeaponSlots = SECONDARY 40061 End 40062 End 40063 Locomotor = SET_NORMAL ChinaVehicleFrigateLocomotor 40064 40065 Behavior = PhysicsBehavior ModuleTag_04 40066 Mass = 5000.0 40067 End 40068 40069 Behavior = SlowDeathBehavior ModuleTag_16 40070 ProbabilityModifier = 25 40071 DestructionDelay = 200 40072 DestructionDelayVariance = 100 40073 OCL = FINAL OCL_FirestormSmall 40074 FX = FINAL WeaponFX_NapalmMissileDetonation 40075 End 40076 40077 Geometry = BOX 40078 GeometryMajorRadius = 200.0 40079 GeometryMinorRadius = 20.0 40080 GeometryHeight = 40 40081 GeometryIsSmall = No 40082 Shadow = SHADOW_VOLUME 40083 40084 End 40085 40086 40087 40088 ;------------------------------------------------------------------------------ 40089 Object ToxinTrooper 40090 ;*** ART Parameters *** 40091 40092 SelectPortrait = T7 40093 ButtonImage = T7 40094 40095 UpgradeCameo1 = Upgrade_GLACamouflage 40096 40097 Draw = W3DModelDraw ModuleTag_01 40098 OkToChangeModelColor = Yes 40099 40100 ;NORMAL STANDING 40101 DefaultConditionState 40102 Model = AITECH_SKN 40103 IdleAnimation = AITECH_SKL.AITECH_STA 0 21 40104 ;Regular spice animations 40105 IdleAnimation = AITECH_SKL.AITECH_IDA 40106 IdleAnimation = AITECH_SKL.AITECH_IDB 40107 AnimationMode = ONCE 40108 WeaponLaunchBone = PRIMARY BIOGUNFX 40109 TransitionKey = TRANS_Stand 40110 End 40111 40112 ; NORMAL ATTACK 40113 ConditionState = FIRING_A 40114 Animation = AITECH_SKL.AITECH_STA 40115 AnimationMode = LOOP 40116 TransitionKey = TRANS_FiringA 40117 End 40118 AliasConditionState = BETWEEN_FIRING_SHOTS_A 40119 AliasConditionState = RELOADING_A 40120 AliasConditionState = FIRING_A REALLYDAMAGED 40121 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 40122 AliasConditionState = RELOADING_A REALLYDAMAGED 40123 40124 40125 ConditionState = MOVING FIRING_A 40126 Animation = AITECH_SKL.AITECH_WKB 15 40127 AnimationMode = LOOP 40128 Flags = RANDOMSTART 40129 TransitionKey = None 40130 ParticleSysBone = None InfantryDustTrails 40131 End 40132 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 40133 AliasConditionState = MOVING RELOADING_A 40134 40135 ConditionState = MOVING 40136 Animation = AITECH_SKL.AITECH_WKA 15 40137 AnimationMode = LOOP 40138 Flags = RANDOMSTART 40139 TransitionKey = None 40140 ParticleSysBone = None InfantryDustTrails 40141 End 40142 40143 ConditionState = DYING 40144 Animation = AITECH_SKL.AITECH_DTA 40145 Animation = AITECH_SKL.AITECH_DTB 40146 AnimationMode = ONCE 40147 TransitionKey = TRANS_Dying 40148 End 40149 40150 TransitionState = TRANS_Dying TRANS_Flailing 40151 Animation = AITECH_SKL.AITECH_ADTD1 40152 AnimationMode = ONCE 40153 End 40154 40155 ConditionState = DYING EXPLODED_FLAILING 40156 Animation = AITECH_SKL.AITECH_ADTD2 40157 AnimationMode = LOOP 40158 TransitionKey = TRANS_Flailing 40159 End 40160 40161 ConditionState = DYING EXPLODED_BOUNCING 40162 Animation = AITECH_SKL.AITECH_ADTD3 40163 AnimationMode = ONCE 40164 TransitionKey = None 40165 End 40166 40167 ConditionState = SPECIAL_CHEERING 40168 Animation = AITECH_SKL.AITECH_CHA 40169 AnimationMode = LOOP 40170 End 40171 40172 ;PARACHUTING ANIMATIONS 40173 ConditionState = FREEFALL 40174 Animation = AITECH_SKL.AITECH_PFL 40175 AnimationMode = LOOP 40176 TransitionKey = TRANS_Falling 40177 End 40178 AliasConditionState = FREEFALL REALLYDAMAGED 40179 AliasConditionState = FREEFALL DYING 40180 ConditionState = PARACHUTING 40181 Animation = AITECH_SKL.AITECH_PHG 40182 AnimationMode = LOOP 40183 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 40184 TransitionKey = TRANS_Chute 40185 End 40186 AliasConditionState = PARACHUTING REALLYDAMAGED 40187 AliasConditionState = PARACHUTING DYING 40188 TransitionState = TRANS_Falling TRANS_Chute 40189 Animation = AITECH_SKL.AITECH_POP 40190 AnimationMode = ONCE 40191 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 40192 End 40193 TransitionState = TRANS_Chute TRANS_Stand 40194 Animation = AITECH_SKL.AITECH_PDN 40195 AnimationMode = ONCE 40196 End 40197 40198 End 40199 40200 ; ***DESIGN parameters *** 40201 DisplayName = OBJECT:ToxinTrooper 40202 Side = GLA 40203 EditorSorting = INFANTRY 40204 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 40205 40206 WeaponSet 40207 ;*** Fully automated and driven by the CleanupHazardUpdate *** 40208 Conditions = None 40209 Weapon = PRIMARY DragonTankFlameWeaponUpgraded 40210 Weapon = SECONDARY ToxinTruckGun 40211 End 40212 ArmorSet 40213 Conditions = None 40214 Armor = HazMatHumanArmor 40215 DamageFX = InfantryDamageFX 40216 End 40217 40218 VisionRange = 100 40219 ShroudClearingRange = 400 40220 Prerequisites 40221 Object = GLABarracks 40222 Object = GLABlackMarket 40223 Science = SCIENCE_MarauderTank 40224 End 40225 BuildCost = 700 40226 BuildTime = 10.0 ;in seconds 40227 40228 ExperienceValue = 50 100 150 400 ;Experience point value at each level 40229 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 40230 IsTrainable = Yes ;Can gain experience 40231 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 40232 CommandSet = ToxinTrooperCommandSet 40233 40234 ; *** AUDIO Parameters *** 40235 VoiceSelect = RebelVoiceSelect 40236 VoiceMove = RebelVoiceMove 40237 VoiceGuard = RebelVoiceMove 40238 VoiceAttack = RebelVoiceAttack 40239 SoundDie = RebelVoiceDie 40240 SoundDieFire = DieByFireGLA 40241 VoiceFear = RebelVoiceFear 40242 UnitSpecificSounds 40243 VoiceCreate = RebelVoiceCreate 40244 VoiceSubdue = RebelVoiceSubdue 40245 VoiceGarrison = RebelVoiceGarrison 40246 VoiceEnter = RebelVoiceMove 40247 VoiceEnterHostile = RebelVoiceMove 40248 VoiceGetHealed = RebelVoiceMove 40249 End 40250 40251 ; *** ENGINEERING Parameters *** 40252 RadarPriority = UNIT 40253 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE 40254 40255 Body = ActiveBody ModuleTag_02 40256 40257 MaxHealth = 100.0 40258 InitialHealth = 100.0 40259 End 40260 40261 Behavior = AIUpdateInterface ModuleTag_03 40262 AutoAcquireEnemiesWhenIdle = Yes 40263 End 40264 40265 40266 Locomotor = SET_NORMAL MissileDefenderLocomotor 40267 40268 Behavior = PhysicsBehavior ModuleTag_04 40269 Mass = 5.0 40270 End 40271 40272 Behavior = SquishCollide ModuleTag_06 40273 ;nothing 40274 End 40275 40276 Behavior = StealthUpdate ModuleTag_07 40277 StealthDelay = 2500 ; msec 40278 StealthForbiddenConditions = ATTACKING USING_ABILITY 40279 MoveThresholdSpeed = 3 40280 InnateStealth = No ;Requires upgrade first 40281 OrderIdleEnemiesToAttackMeUponReveal = Yes 40282 End 40283 40284 Behavior = StealthUpgrade ModuleTag_08 40285 TriggeredBy = Upgrade_GLACamouflage 40286 End 40287 40288 Behavior = OCLSpecialPower ModuleTag_12 40289 SpecialPowerTemplate = SuperweaponBlackMarketNuke 40290 OCL = SUPERWEAPON_BlackMarketNuke 40291 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE 40292 End 40293 ; --- begin Death modules --- 40294 Behavior = SlowDeathBehavior ModuleTag_Death01 40295 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED 40296 SinkDelay = 50000 40297 SinkRate = 0.5 ; in Dist/Sec 40298 DestructionDelay = 8000000 40299 FX = INITIAL FX_GIDie 40300 End 40301 Behavior = SlowDeathBehavior ModuleTag_Death02 40302 DeathTypes = NONE +CRUSHED +SPLATTED 40303 SinkDelay = 50000 40304 SinkRate = 0.5 ; in Dist/Sec 40305 DestructionDelay = 8000000 40306 FX = INITIAL FX_GIDieCrushed 40307 End 40308 Behavior = SlowDeathBehavior ModuleTag_Death03 40309 DeathTypes = NONE +EXPLODED 40310 SinkDelay = 50000 40311 SinkRate = 0.5 ; in Dist/Sec 40312 DestructionDelay = 8000000 40313 FX = INITIAL FX_GIDie 40314 FlingForce = 8 40315 FlingForceVariance = 3 40316 FlingPitch = 60 40317 FlingPitchVariance = 10 40318 End 40319 Behavior = SlowDeathBehavior ModuleTag_Death04 40320 DeathTypes = NONE +BURNED 40321 DestructionDelay = 0 40322 FX = INITIAL FX_GIDie 40323 OCL = INITIAL OCL_FlamingInfantry 40324 End 40325 Behavior = SlowDeathBehavior ModuleTag_Death05 40326 DeathTypes = NONE +POISONED 40327 DestructionDelay = 0 40328 FX = INITIAL FX_GIDie 40329 OCL = INITIAL OCL_ToxicInfantry 40330 End 40331 ; --- end Death modules --- 40332 40333 Geometry = CYLINDER 40334 Scale = 0.95 ;Scaling 40335 GeometryMajorRadius = 1.0 40336 GeometryMinorRadius = 1.0 40337 GeometryHeight = 8.0 40338 40339 GeometryIsSmall = Yes 40340 Shadow = SHADOW_DECAL 40341 ShadowSizeX = 9; 40342 ShadowSizeY = 9; 40343 ShadowTexture = ShadowI; 40344 BuildCompletion = APPEARS_AT_RALLY_POINT 40345 End 40346 40347 ;------------------------------------------------------------------------------ 40348 Object A10 40349 40350 ; *** ART Parameters *** 40351 SelectPortrait = T11 40352 ButtonImage = T11 40353 40354 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 40355 ;UpgradeCameo2 = NONE 40356 ;UpgradeCameo3 = NONE 40357 ;UpgradeCameo4 = NONE 40358 ;UpgradeCameo5 = NONE 40359 40360 Draw = W3DModelDraw ModuleTag_01 40361 40362 DefaultConditionState 40363 Model = AVWarthog 40364 WeaponMuzzleFlash = PRIMARY MuzzleFX01 40365 WeaponFireFXBone = PRIMARY Muzzle01 40366 ParticleSysBone = Engine01 JetBlackTrailThin 40367 ParticleSysBone = Engine02 JetBlackTrailThin 40368 ParticleSysBone = Wingtip01 JetContrailThin 40369 ParticleSysBone = Wingtip02 JetContrailThin 40370 End 40371 40372 ConditionState = JETEXHAUST 40373 ; exhaust 40374 ParticleSysBone = Wingtip01 JetContrail 40375 ParticleSysBone = Wingtip02 JetContrail 40376 End 40377 40378 ConditionState = JETEXHAUST JETAFTERBURNER 40379 ; exhaust 40380 ParticleSysBone = Wingtip01 JetContrail 40381 ParticleSysBone = Wingtip02 JetContrail 40382 ; afterburner 40383 ShowSubObject = BurnerFX01 BurnerFX02 40384 ParticleSysBone = Engine01 JetLenzflare 40385 ParticleSysBone = Engine02 JetLenzflare 40386 End 40387 40388 ConditionState = REALLYDAMAGED 40389 Model = AVWarthog_D 40390 WeaponMuzzleFlash = PRIMARY MuzzleFX01 40391 WeaponFireFXBone = PRIMARY Muzzle01 40392 End 40393 40394 ConditionState = REALLYDAMAGED JETEXHAUST 40395 Model = AVWarthog_D 40396 ; damage 40397 ParticleSysBone = Smoke01 JetSmoke 40398 ParticleSysBone = Engine01 JetEngineDamagedSmoke 40399 ; exhaust 40400 ParticleSysBone = Wingtip01 JetContrail 40401 ParticleSysBone = Wingtip02 JetContrail 40402 End 40403 40404 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 40405 Model = AVWarthog_D 40406 ; damage 40407 ParticleSysBone = Smoke01 JetSmoke 40408 ParticleSysBone = Engine01 JetEngineDamagedSmoke 40409 ; afterburner 40410 ShowSubObject = BurnerFX01 BurnerFX02 40411 ParticleSysBone = Engine01 JetLenzflare 40412 ParticleSysBone = Engine02 JetLenzflare 40413 ; exhaust 40414 ParticleSysBone = Wingtip01 JetContrail 40415 ParticleSysBone = Wingtip02 JetContrail 40416 End 40417 40418 ConditionState = RUBBLE 40419 Model = AVWarthog_D 40420 HideSubObject = None 40421 ShowSubObject = None 40422 End 40423 40424 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 40425 Model = AVWarthog_D 40426 ;HideSubObject is needed cause there're inherited from default condition state 40427 HideSubObject = None 40428 ShowSubObject = None 40429 ParticleSysBone = Engine01 JetExhaust 40430 ParticleSysBone = Engine02 JetExhaust 40431 ; exhaust 40432 ParticleSysBone = Wingtip01 JetContrail 40433 ParticleSysBone = Wingtip02 JetContrail 40434 End 40435 40436 OkToChangeModelColor = Yes 40437 40438 End 40439 40440 ; ***DESIGN parameters *** 40441 DisplayName = OBJECT:A10Thunderbolt 40442 EditorSorting = VEHICLE 40443 Side = America 40444 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 40445 VisionRange = 300.0 40446 ShroudClearingRange = 400 40447 Prerequisites 40448 Object = AmericaAirfield 40449 Science = SCIENCE_PaladinTank 40450 End 40451 40452 WeaponSet 40453 Conditions = None 40454 Weapon = PRIMARY A10Vulcan 40455 Weapon = SECONDARY A10Missiles 40456 End 40457 40458 ArmorSet 40459 Conditions = None 40460 Armor = AirplaneArmor 40461 DamageFX = None 40462 End 40463 40464 BuildCost = 1500 40465 BuildTime = 15 40466 ExperienceValue = 50 50 100 150 ;Experience point value at each level 40467 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 40468 IsTrainable = Yes ;Can gain experience 40469 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 40470 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 40471 CommandSet = AmericaJetRaptorCommandSet 40472 40473 ; *** AUDIO Parameters *** 40474 VoiceSelect = RaptorVoiceSelect 40475 VoiceMove = RaptorVoiceMove 40476 VoiceAttack = RaptorVoiceAttack 40477 VoiceAttackAir = RaptorVoiceAttackAir 40478 VoiceGuard = RaptorVoiceAirPatrol 40479 SoundDie = RaptorVoiceFalling 40480 SoundAmbient = A10ThunderboltAmbientLoop 40481 SoundAmbientRubble = NoSound 40482 ; For now, it is better to have some sound than no sound cause there is a bug in 40483 ; what triggers the sound move loop sound, and the multiplayer test is only days away 40484 ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield 40485 ; SoundAmbient = NoSound 40486 UnitSpecificSounds 40487 VoiceCreate = RaptorVoiceCreate 40488 SoundEject = PilotSoundEject 40489 VoiceEject = PilotVoiceEject 40490 Afterburner = RaptorAfterburner 40491 VoiceLowFuel = RaptorVoiceLowFuel 40492 VoiceGarrison = RaptorVoiceMove 40493 End 40494 40495 ; *** ENGINEERING Parameters *** 40496 RadarPriority = UNIT 40497 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 40498 Body = ActiveBody ModuleTag_02 40499 MaxHealth = 300.0 40500 InitialHealth = 300.0 40501 End 40502 40503 Behavior = ExperienceScalarUpgrade ModuleTag_04 40504 TriggeredBy = Upgrade_AmericaAdvancedTraining 40505 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 40506 End 40507 40508 Behavior = JetSlowDeathBehavior ModuleTag_03 40509 FXOnGroundDeath = FX_JetOnGroundDeath 40510 OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp 40511 DestructionDelay = 99999999; destruction will happen when we 40512 RollRate = 0.2 40513 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 40514 PitchRate = 0.0 40515 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 40516 FXInitialDeath = FX_JetDeathInitial 40517 OCLInitialDeath = None 40518 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 40519 FXSecondary = FX_JetDeathSecondary 40520 OCLSecondary = None 40521 FXHitGround = FX_JetDeathHitGround 40522 OCLHitGround = OCL_A10DeathHitGround 40523 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 40524 FXFinalBlowUp = FX_JetDeathFinalBlowUp 40525 OCLFinalBlowUp = OCL_A10DeathFinalBlowUp 40526 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 40527 End 40528 Behavior = EjectPilotDie ModuleTag_06 40529 ExemptStatus = HIJACKED 40530 GroundCreationList = OCL_EjectPilotOnGround 40531 AirCreationList = OCL_EjectPilotViaParachute 40532 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 40533 End 40534 40535 Behavior = PhysicsBehavior ModuleTag_05 40536 Mass = 500.0 40537 End 40538 40539 Behavior = TransitionDamageFX ModuleTag_08 40540 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 40541 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 40542 End 40543 40544 Behavior = JetAIUpdate ModuleTag_09 40545 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 40546 ; note that it's expressed as a percent of max health, not an absolute 40547 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 40548 TakeoffPause = 500 40549 MinHeight = 5 40550 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors 40551 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 40552 End 40553 40554 40555 Locomotor = SET_NORMAL A10Thunderbolt2Locomotor 40556 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 40557 40558 40559 40560 Behavior = FlammableUpdate ModuleTag_21 40561 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 40562 AflameDamageAmount = 3 ; taking this much damage... 40563 AflameDamageDelay = 500 ; this often. 40564 End 40565 40566 40567 Geometry = Box 40568 GeometryIsSmall = Yes 40569 GeometryMajorRadius = 14.0 40570 GeometryMinorRadius = 7.0 40571 GeometryHeight = 5.0 40572 Shadow = SHADOW_VOLUME 40573 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. 40574 40575 End 40576 40577 40578 ;------------------------------------------------------------------------------ 40579 ;-------------------------------------------- 40580 ;------------------------------------------------------------------------------ 40581 40582 40583 ;------------------------------------------------------------------------------ 40584 Object NukeTruck 40585 40586 ; *** ART Parameters *** 40587 SelectPortrait = SSConvoy_L 40588 ButtonImage = SSConvoy_L 40589 40590 ;UpgradeCameo1 = NONE 40591 ;UpgradeCameo2 = NONE 40592 ;UpgradeCameo3 = NONE 40593 ;UpgradeCameo4 = NONE 40594 ;UpgradeCameo5 = NONE 40595 40596 40597 Draw = W3DTruckDraw ModuleTag_01 40598 OkToChangeModelColor = Yes 40599 ConditionState = NONE 40600 Model = NVConvoy 40601 End 40602 ConditionState = LOADED 40603 Model = NVConvoy 40604 End 40605 CabRotationMultiplier = 1.5 40606 40607 TrailerRotationMultiplier = 0.2 40608 ;CabBone = CAB 40609 ;TrailerBone = TRAILER 40610 RotationDamping = 0.7 40611 40612 RightFrontTireBone = Tire01 40613 LeftFrontTireBone = Tire02 40614 ;MidRightFrontTireBone = Tire03 40615 ;MidLeftFrontTireBone = Tire04 40616 ;MidRightMidTireBone = Tire05 40617 ;MidLeftMidTireBone = Tire06 40618 MidRightRearTireBone = Tire07 40619 MidLeftRearTireBone = Tire08 40620 RightRearTireBone = Tire09 40621 LeftRearTireBone = Tire10 40622 40623 TireRotationMultiplier = 0.2 ; this * speed = rotation. 40624 40625 TrackMarks = EXTireTrack.tga 40626 Dust = RocketBuggyDust 40627 DirtSpray = RocketBuggyDirtSpray 40628 End 40629 40630 ; ***DESIGN parameters *** 40631 DisplayName = OBJECT:NukeTruck 40632 Side = GLA 40633 EditorSorting = VEHICLE 40634 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 40635 WeaponSet 40636 Conditions = CARBOMB 40637 Weapon = PRIMARY NukeTruck 40638 End 40639 ArmorSet 40640 Conditions = None 40641 Armor = TruckArmor 40642 DamageFX = TruckDamageFX 40643 End 40644 BuildCost = 1800 40645 BuildTime = 30.0 ;in seconds 40646 VisionRange = 150 ; Used in attack move targeting 40647 ShroudClearingRange = 350 40648 40649 Prerequisites 40650 Object = GLAArmsDealer 40651 Object = GLABlackMarket 40652 Science = SCIENCE_TechnicalTraining 40653 End 40654 40655 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 40656 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 40657 CommandSet = CivilianTransportWithNukeCommandSet 40658 40659 ; *** AUDIO Parameters *** 40660 VoiceSelect = SupplyTruckVoiceSelect 40661 VoiceMove = SupplyTruckVoiceMove 40662 VoiceAttack = SupplyTruckVoiceAttack 40663 SoundMoveStart = SupplyTruckMoveStart 40664 SoundMoveStartDamaged = SupplyTruckMoveStart 40665 UnitSpecificSounds 40666 VoiceCreate = SupplyTruckVoiceCreate 40667 TruckLandingSound = NoSound 40668 TruckPowerslideSound = NoSound 40669 End 40670 40671 ; *** ENGINEERING Parameters *** 40672 RadarPriority = UNIT 40673 KindOf = SELECTABLE CAN_ATTACK VEHICLE SHOW_PORTRAIT_WHEN_CONTROLLED 40674 40675 Body = ActiveBody ModuleTag_02 40676 MaxHealth = 250.0 40677 InitialHealth = 250.0 40678 End 40679 40680 Behavior = DestroyDie ModuleTag_03 40681 ;nothing 40682 End 40683 Behavior = CreateObjectDie ModuleTag_04 40684 DeathTypes = ALL 40685 CreationList = OCL_GenericCarExplode 40686 End 40687 Behavior = CreateObjectDie ModuleTag_05 40688 DeathTypes = NONE +SUICIDED 40689 CreationList = OCL_BurnedCarHull 40690 End 40691 40692 Behavior = AIUpdateInterface ModuleTag_06 40693 End 40694 Locomotor = SET_NORMAL CINE_SupplyTruckLocomotor 40695 Locomotor = SET_WANDER WanderCarLocomotor 40696 Locomotor = SET_PANIC PanicCarLocomotor 40697 40698 Behavior = PhysicsBehavior ModuleTag_07 40699 Mass = 30.0 40700 End 40701 40702 Behavior = OCLSpecialPower ModuleTag_08 40703 SpecialPowerTemplate = SuperweaponDetonateDirtyNuke 40704 OCL = SUPERWEAPON_DetonateDirtyNuke 40705 CreateLocation = USE_OWNER_OBJECT 40706 End 40707 40708 Behavior = FlammableUpdate ModuleTag_21 40709 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 40710 AflameDamageAmount = 5 ; taking this much damage... 40711 AflameDamageDelay = 500 ; this often. 40712 End 40713 40714 Geometry = BOX 40715 GeometryIsSmall = NO 40716 GeometryMajorRadius = 20.0 40717 GeometryMinorRadius = 8.0 40718 GeometryHeight = 16.0 40719 Shadow = SHADOW_VOLUME 40720 40721 End 40722 40723 40724 ;------------------------------------------------------------------------------ 40725 Object PTBoat 40726 40727 SelectPortrait = T31 40728 ButtonImage = T31 40729 40730 ; *** ART Parameters *** 40731 Draw = W3DModelDraw ModuleTag_01 ; Boat 40732 40733 ;UpgradeCameo1 = Upgrade_SeaRepair 40734 ;UpgradeCameo1 = Upgrade_SeaArmour 40735 ;UpgradeCameo3 = NONE 40736 ;UpgradeCameo4 = NONE 40737 ;UpgradeCameo5 = NONE 40738 40739 ConditionState = NONE 40740 Model = AVPTBoat 40741 End 40742 40743 ConditionState = MOVING 40744 Model = AVPTBoat 40745 End 40746 40747 ConditionState = OVER_WATER 40748 Model = AVPTBoat 40749 End 40750 40751 ConditionState = MOVING OVER_WATER 40752 Model = AVPTBoat 40753 ParticleSysBone = TreadFX01 AmphibWave 40754 End 40755 End 40756 40757 Draw = W3DModelDraw ModuleTag_02 ; Gunner 40758 OkToChangeModelColor = Yes 40759 AttachToBoneInAnotherModule = Dum_Turret 40760 40761 DefaultConditionState 40762 Model = UITech_SKN 40763 Turret = Dum-TurManMVR 40764 TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 40765 HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 40766 IdleAnimation = UITech_SKL.UITech_STA 0 6 40767 IdleAnimation = UITech_SKL.UITech_IDA 40768 IdleAnimation = UITech_SKL.UITech_IDB 40769 AnimationMode = ONCE 40770 ShowSubObject = 20Cal 40771 WeaponMuzzleFlash = PRIMARY MuzzleFX01 40772 WeaponFireFXBone = PRIMARY Muzzle01 40773 End 40774 40775 ConditionState = RUBBLE MOVING TURRET_ROTATE 40776 Animation = None 40777 HideSubObject = UITech-SKN 40778 ShowSubObject = 20Cal 40779 WeaponMuzzleFlash = PRIMARY MuzzleFX01 40780 WeaponFireFXBone = PRIMARY Muzzle01 40781 End 40782 40783 ConditionState = MOVING 40784 Animation = UITech_SKL.UITech_MVB 40785 AnimationMode = LOOP 40786 ShowSubObject = 20Cal 40787 WeaponMuzzleFlash = PRIMARY MuzzleFX01 40788 WeaponFireFXBone = PRIMARY Muzzle01 40789 End 40790 40791 ConditionState = TURRET_ROTATE 40792 Animation = UITech_SKL.UITech_TNA 40793 AnimationMode = LOOP 40794 ShowSubObject = 20Cal 40795 WeaponMuzzleFlash = PRIMARY MuzzleFX01 40796 WeaponFireFXBone = PRIMARY Muzzle01 40797 End 40798 AliasConditionState = TURRET_ROTATE MOVING 40799 AliasConditionState = TURRET_ROTATE FIRING_A 40800 AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A 40801 AliasConditionState = TURRET_ROTATE RELOADING_A 40802 AliasConditionState = TURRET_ROTATE MOVING FIRING_A 40803 AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A 40804 AliasConditionState = TURRET_ROTATE MOVING RELOADING_A 40805 40806 ConditionState = FIRING_A 40807 Animation = UITech_SKL.UITech_ATA 40808 AnimationMode = LOOP 40809 ShowSubObject = 20Cal 40810 WeaponMuzzleFlash = PRIMARY MuzzleFX01 40811 WeaponFireFXBone = PRIMARY Muzzle01 40812 End 40813 40814 ; AliasConditionState is a new keyword that says, 40815 ; "give me another ConditionState exactly like the previous 40816 ; one, except with different conditions". Useful when you 40817 ; have several states that are the same with only different condition bits. 40818 AliasConditionState = BETWEEN_FIRING_SHOTS_A 40819 AliasConditionState = RELOADING_A 40820 40821 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 40822 AliasConditionState = MOVING FIRING_A 40823 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 40824 AliasConditionState = MOVING RELOADING_A 40825 End 40826 40827 40828 ; ***DESIGN parameters *** 40829 DisplayName = OBJECT:PTBoat 40830 Side = GLA 40831 EditorSorting = VEHICLE 40832 CommandSet = GenericCommandSet 40833 TransportSlotCount = 4 40834 40835 ArmorSet 40836 Armor = TruckArmor 40837 DamageFX = DefaultDamageFX 40838 End 40839 40840 WeaponSet 40841 Conditions = None 40842 Weapon = PRIMARY PTGun 40843 Weapon = SECONDARY PTMissiles 40844 End 40845 40846 BuildCost = 1800 40847 BuildTime = 20.0 40848 VisionRange = 400 40849 ShroudClearingRange = 450 40850 Prerequisites 40851 Object = GLAArmsDealer 40852 Object = GLAPalace 40853 End 40854 40855 CrusherLevel = 0 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 40856 CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 40857 40858 ; *** AUDIO Parameters *** 40859 SoundMoveLoop = AmphibiousTransportMoveLoop 40860 VoiceSelect = MarauderTankVoiceSelect 40861 40862 ; *** ENGINEERING Parameters *** 40863 RadarPriority = UNIT 40864 KindOf = SELECTABLE VEHICLE BOAT 40865 40866 Body = ActiveBody ModuleTag_03 40867 MaxHealth = 600.0 40868 InitialHealth = 600.0 40869 End 40870 40871 ; Behavior = MaxHealthUpgrade ModuleTag_09 40872 ; TriggeredBy = Upgrade_SeaArmour 40873 ; AddMaxHealth = 150.0 40874 ; ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 40875 ; End 40876 40877 ; Behavior = AutoHealBehavior ModuleTag_05 40878 ; HealingAmount = 3 40879 ; HealingDelay = 500 ; msec 40880 ; TriggeredBy = Upgrade_SeaRepair 40881 ; End 40882 40883 Behavior = DestroyDie ModuleTag_04 40884 End 40885 40886 Behavior = CreateObjectDie ModuleTag_05 40887 DeathTypes = ALL 40888 CreationList = OCL_GenericCarExplode 40889 End 40890 Behavior = FXListDie ModuleTag_06 40891 DeathTypes = ALL -FLOODED 40892 DeathFX = FX_GenericCarExplode 40893 End 40894 40895 Behavior = AIUpdateInterface ModuleTag_07 40896 Turret 40897 TurretTurnRate = 180 ; turn rate, in degrees per sec 40898 NaturalTurretAngle = 0 40899 MinIdleScanAngle = 30 ; in degrees off the natural turret angle 40900 MaxIdleScanAngle = 60 ; in degrees off the natural turret angle 40901 MinIdleScanInterval = 5000 ; in milliseconds 40902 MaxIdleScanInterval = 10000 ; in milliseconds 40903 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY 40904 End 40905 AutoAcquireEnemiesWhenIdle = Yes 40906 End 40907 Locomotor = SET_NORMAL BasicBoatLocomotor 40908 40909 Behavior = PhysicsBehavior ModuleTag_08 40910 Mass = 30.0 40911 End 40912 40913 Behavior = FlammableUpdate ModuleTag_21 40914 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 40915 AflameDamageAmount = 5 ; taking this much damage... 40916 AflameDamageDelay = 500 ; this often. 40917 End 40918 40919 Behavior = FloatUpdate UpdateTag_01 40920 Enabled = No ; 'no' because we dont want to be lifted by this update, just swayed around like a buoy 40921 End 40922 40923 Geometry = BOX 40924 Scale = 1.0 ;Scaling 40925 GeometryIsSmall = No 40926 GeometryMajorRadius = 48.0 40927 GeometryMinorRadius = 12.0 40928 GeometryHeight = 14.0 40929 Shadow = SHADOW_VOLUME 40930 40931 End 40932 40933 ;------------------------------------------------------------------------------ 40934 40935 Object AmericaVehicleCV 40936 40937 ; *** ART Parameters *** 40938 SelectPortrait = SAPowTruck_L 40939 ButtonImage = SAPowTruck_L 40940 40941 ;UpgradeCameo1 = NONE 40942 ;UpgradeCameo2 = NONE 40943 ;UpgradeCameo3 = NONE 40944 ;UpgradeCameo4 = NONE 40945 ;UpgradeCameo5 = NONE 40946 40947 Draw = W3DTruckDraw ModuleTag_01 40948 OkToChangeModelColor = Yes 40949 ConditionState = NONE 40950 Model = AVPOWTRUCK 40951 End 40952 40953 ConditionState = REALLYDAMAGED 40954 Model = AVPOWTRUCK_D 40955 End 40956 40957 ConditionState = RUBBLE 40958 Model = AVPOWTruck_D 40959 End 40960 40961 TrackMarks = EXTireTrack.tga 40962 Dust = RocketBuggyDust 40963 DirtSpray = RocketBuggyDirtSpray 40964 PowerslideSpray = RocketBuggyDirtPowerSlide 40965 ; These parameters are only used if the model has a separate suspension, 40966 ; and the locomotor has HasSuspension = Yes. 40967 LeftFrontTireBone = Tire01 40968 RightFrontTireBone = Tire02 40969 MidLeftRearTireBone = Tire03 40970 MidRightRearTireBone = Tire05 40971 LeftRearTireBone = Tire04 40972 RightRearTireBone = Tire06 40973 TireRotationMultiplier = 0.2 ; this * speed = rotation. 40974 PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. 40975 End 40976 40977 ; ***DESIGN parameters *** 40978 DisplayName = OBJECT:Command Vehicle 40979 Side = America 40980 EditorSorting = VEHICLE 40981 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 40982 ArmorSet 40983 Conditions = None 40984 Armor = TruckArmor 40985 DamageFX = TankDamageFX 40986 End 40987 40988 Buildable = Yes 40989 BuildCost = 1500 40990 BuildTime = 20.0 ;in seconds 40991 VisionRange = 200 40992 ShroudClearingRange = 300 40993 Prerequisites 40994 Object = AmericaWarFactory 40995 Object = AmericaStrategyCenter 40996 Science = SCIENCE_StealthFighter 40997 End 40998 40999 ExperienceValue = 50 50 50 50 ;Experience point value at each level 41000 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 41001 IsTrainable = Yes ;Can gain experience 41002 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 41003 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 41004 41005 CommandSet = CVCommandSet 41006 41007 ; *** AUDIO Parameters *** 41008 VoiceSelect = POWTruckUSAVoiceSelect 41009 VoiceMove = POWTruckUSAVoiceMove 41010 VoiceGuard = POWTruckUSAVoiceMove 41011 SoundEnter = POWTruckEnter 41012 SoundExit = POWTruckExit 41013 UnitSpecificSounds 41014 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 41015 VoiceCreate = POWTruckUSAVoiceCreate 41016 TurretMoveLoop = TurretMoveLoop 41017 SoundMoveStart = POWTruckUSAMoveStart 41018 SoundMoveStartDamaged = POWTruckUSAMoveStart 41019 SoundEject = PilotSoundEject 41020 VoiceEject = PilotVoiceEject 41021 VoiceCrush = POWTruckUSAVoiceCrush 41022 ; Required for the W3DTruckDraw module 41023 TruckLandingSound = RocketBuggyLand 41024 TruckPowerslideSound = POWTruckUSAMoveStart 41025 VoiceEnter = POWTruckUSAVoiceMove 41026 End 41027 41028 ; *** ENGINEERING Parameters *** 41029 RadarPriority = UNIT 41030 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE TRANSPORT SCORE 41031 Body = ActiveBody ModuleTag_02 41032 MaxHealth = 1000.0 41033 InitialHealth = 1000.0 41034 End 41035 41036 Behavior = OCLSpecialPower ModuleTag_23 41037 SpecialPowerTemplate = SuperweaponCarpetBomb 41038 OCL = SUPERWEAPON_CarpetBomb 41039 End 41040 41041 ; nope, sorry, can't do interesting things like this. (srj) 41042 ;Behavior = POWTruckBehavior ModuleTag_03 41043 ; ContainMax = 10 41044 ; EnterSound = EnterPOWTruck 41045 ; ExitSound = ExitPOWTruck 41046 ;End 41047 ; nope, sorry, can't do interesting things like this. (srj) 41048 ;Behavior = POWTruckAIUpdate ModuleTag_04 41049 ; BoredTime = 10000 ; in milliseconds 41050 ; AtPrisonDistance = 160.0 ; This close to a prison is close enough to be doing nothing at 41051 ;End 41052 ; but we must have an AIUpdate in order for our Locomotor to work. 41053 Behavior = AIUpdateInterface ModuleTag_04 41054 ; no data 41055 End 41056 41057 Locomotor = SET_NORMAL POWTruckLocomotor 41058 Behavior = PhysicsBehavior ModuleTag_05 41059 Mass = 50.0 41060 End 41061 41062 Behavior = TransportContain ModuleTag_03 41063 Slots = 8 41064 PassengersAllowedToFire = Yes 41065 AllowInsideKindOf = INFANTRY 41066 EnterSound = GarrisonEnter 41067 ExitSound = GarrisonExit 41068 DamagePercentToUnits = 50% 41069 End 41070 41071 Behavior = SlowDeathBehavior ModuleTag_06 41072 DeathTypes = ALL -CRUSHED -SPLATTED 41073 ProbabilityModifier = 25 41074 DestructionDelay = 1 41075 FX = FINAL FX_BattleMasterExplosionOneFinal 41076 OCL = FINAL OCL_AmericanPOWTruckDeathEffect 41077 End 41078 41079 Behavior = FXListDie ModuleTag_07 41080 DeathTypes = NONE +CRUSHED +SPLATTED 41081 DeathFX = FX_CarCrush 41082 End 41083 41084 Behavior = TransitionDamageFX ModuleTag_09 41085 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 41086 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 41087 End 41088 41089 Behavior = ExperienceScalarUpgrade ModuleTag_10 41090 TriggeredBy = Upgrade_AmericaAdvancedTraining 41091 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 41092 End 41093 41094 Behavior = FlammableUpdate ModuleTag_21 41095 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 41096 AflameDamageAmount = 3 ; taking this much damage... 41097 AflameDamageDelay = 500 ; this often. 41098 End 41099 41100 Behavior = SpecialAbility ModuleTag_16 41101 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 41102 UpdateModuleStartsAttack = Yes 41103 StartsPaused = Yes 41104 InitiateSound = RedGuardVoiceCapture 41105 End 41106 Behavior = SpecialAbilityUpdate ModuleTag_17 41107 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 41108 StartAbilityRange = 5.0 41109 UnpackTime = 3000 ; (changing this will scale anim speed) 41110 PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) 41111 PackTime = 2000 ; (changing this will scale anim speed) 41112 DoCaptureFX = Yes 41113 AwardXPForTriggering = 4 41114 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 41115 End 41116 41117 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18 41118 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 41119 TriggeredBy = Upgrade_InfantryCaptureBuilding 41120 End 41121 41122 41123 41124 Geometry = BOX 41125 GeometryMajorRadius = 15.0 41126 GeometryMinorRadius = 7.0 41127 GeometryHeight = 13.5 41128 GeometryIsSmall = Yes 41129 Shadow = SHADOW_VOLUME 41130 End 41131 41132 41133 ;------------------------------------------------------------------------------ 41134 41135 Object GLAVehicleToxinPlane 41136 41137 ; *** ART Parameters *** 41138 SelectPortrait = T6 41139 ButtonImage = T6 41140 41141 UpgradeCameo1 = Upgrade_GLAAnthraxBeta 41142 UpgradeCameo2 = Upgrade_GLAJunkRepair 41143 ;UpgradeCameo3 = NONE 41144 ;UpgradeCameo4 = NONE 41145 ;UpgradeCameo5 = NONE 41146 41147 41148 Draw = W3DModelDraw ModuleTag_01 41149 41150 OkToChangeModelColor = Yes 41151 41152 41153 ConditionState = NONE 41154 Model = CVCDTPLN 41155 End 41156 41157 ConditionState = REALLYDAMAGED 41158 Model = CVCDTPLN_D 41159 End 41160 41161 ConditionState = RUBBLE 41162 Model = CVCDTPLN_D 41163 End 41164 41165 End 41166 41167 ; ***DESIGN parameters *** 41168 DisplayName = OBJECT:ToxinPlane 41169 EditorSorting = VEHICLE 41170 Side = GLA 41171 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 41172 VisionRange = 200.0 41173 ShroudClearingRange = 200 41174 Prerequisites 41175 Object = GLAAirfield 41176 Science = SCIENCE_TechnicalTraining 41177 End 41178 41179 WeaponSet 41180 Conditions = None 41181 Weapon = PRIMARY ToxinPlaneSprayer 41182 Weapon = SECONDARY PlaneSuicideBomb 41183 AutoChooseSources = SECONDARY NONE 41184 End 41185 WeaponSet 41186 Conditions = PLAYER_UPGRADE 41187 Weapon = PRIMARY ToxinPlaneSprayerUpgraded 41188 Weapon = SECONDARY PlaneSuicideBombUpgraded 41189 AutoChooseSources = SECONDARY NONE 41190 End 41191 ArmorSet 41192 Conditions = None 41193 Armor = HazMatHumanArmor 41194 DamageFX = None 41195 End 41196 41197 BuildCost = 500 41198 BuildTime = 10 41199 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 41200 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 41201 CommandSet = ToxinPlaneCommandSet 41202 41203 ; *** AUDIO Parameters *** 41204 41205 SoundAmbient = CivPropPlaneAmbientLoop 41206 41207 UnitSpecificSounds 41208 StartDive = A10ThunderboltDive 41209 End 41210 41211 ; *** ENGINEERING Parameters *** 41212 RadarPriority = LOCAL_UNIT_ONLY 41213 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 41214 Body = ActiveBody ModuleTag_02 41215 MaxHealth = 150.0 41216 InitialHealth = 150.0 41217 End 41218 41219 Behavior = JetSlowDeathBehavior ModuleTag_05 41220 FXOnGroundDeath = FX_JetOnGroundDeath 41221 OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp 41222 DestructionDelay = 99999999; destruction will happen when we 41223 RollRate = 0.2 41224 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 41225 PitchRate = 0.0 41226 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 41227 FXInitialDeath = FX_JetDeathInitial 41228 OCLInitialDeath = None 41229 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 41230 FXSecondary = FX_JetDeathSecondary 41231 OCLSecondary = OCL_ToxinPlaneDeath 41232 FXHitGround = FX_JetDeathHitGround 41233 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 41234 FXFinalBlowUp = FX_JetDeathFinalBlowUp 41235 End 41236 41237 Behavior = PhysicsBehavior ModuleTag_07 41238 Mass = 500.0 41239 End 41240 41241 Behavior = TransitionDamageFX ModuleTag_08 41242 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 41243 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 41244 End 41245 Behavior = JetAIUpdate ModuleTag_09 41246 OutOfAmmoDamagePerSecond = 0% ; amount of damage to take per SEC (not per frame) when out of ammo 41247 ; note that it's expressed as a percent of max health, not an absolute 41248 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 41249 TakeoffPause = 100 41250 MinHeight = 1 41251 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors 41252 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 41253 End 41254 Locomotor = SET_NORMAL TerrorPlaneLocomotor 41255 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 41256 Behavior = WeaponSetUpgrade ModuleTag_12 41257 ; the Toxin Tractor gets this upgrade if we either buy the upgrade, 41258 ; or if it gets HEROIC status 41259 TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC 41260 End 41261 Behavior = FlammableUpdate ModuleTag_21 41262 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 41263 AflameDamageAmount = 3 ; taking this much damage... 41264 AflameDamageDelay = 500 ; this often. 41265 End 41266 41267 Behavior = AutoHealBehavior ModuleTag_05 41268 HealingAmount = 2 41269 HealingDelay = 500 ; msec 41270 TriggeredBy = Upgrade_GLAJunkRepair 41271 End 41272 41273 Geometry = Cylinder 41274 GeometryIsSmall = Yes 41275 GeometryMajorRadius = 10.0 41276 GeometryMinorRadius = 10.0 41277 GeometryHeight = 10.0 41278 Shadow = SHADOW_VOLUME 41279 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. 41280 41281 End 41282 41283 ;------------------------------------------------------------------------------ 41284 Object Chinook 41285 41286 ; *** ART Parameters *** 41287 SelectPortrait = T3 41288 ButtonImage = T3 41289 41290 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 41291 ;UpgradeCameo2 = NONE 41292 ;UpgradeCameo3 = NONE 41293 ;UpgradeCameo4 = NONE 41294 ;UpgradeCameo5 = NONE 41295 41296 Draw = W3DModelDraw ModuleTag_01 ; Helicopter 41297 41298 ExtraPublicBone = RopeStart 41299 ExtraPublicBone = RopeEnd 41300 41301 DefaultConditionState 41302 Model = uh-60 41303 Animation = uh-60.uh-60 41304 AnimationMode = LOOP 41305 End 41306 41307 ConditionState = REALLYDAMAGED 41308 Model = uh-60_d 41309 Animation = uh-60_d.uh-60_d 41310 AnimationMode = LOOP 41311 End 41312 41313 ConditionState = RUBBLE 41314 Model = uh-60_d 41315 Animation = uh-60_d.uh-60_d 41316 AnimationMode = LOOP 41317 End 41318 41319 ConditionState = RUBBLE SPECIAL_DAMAGED 41320 Model = uh-60_d 41321 HideSubObject = Props01 41322 HideSubObject = Props02 41323 End 41324 41325 OkToChangeModelColor = Yes 41326 End 41327 41328 Draw = W3DModelDraw ModuleTag_02 ; Cargo net 41329 ConditionState = NONE 41330 Model = None ; Nothing here 41331 TransitionKey = TRANS_Empty 41332 WaitForStateToFinishIfPossible = TRANS_Unloading 41333 End 41334 41335 ConditionState = DYING 41336 Model = None ; Nothing here 41337 End 41338 AliasConditionState = RUBBLE 41339 AliasConditionState = CARRYING RUBBLE 41340 AliasConditionState = DOCKING RUBBLE 41341 AliasConditionState = DOCKING CARRYING RUBBLE 41342 41343 ConditionState = CARRYING 41344 Model = AVChinook_A ;Carrying a full wobbly net of stuff 41345 Animation = AVChinook_A.AVChinook_A 41346 AnimationMode = LOOP 41347 TransitionKey = TRANS_Full 41348 WaitForStateToFinishIfPossible = TRANS_PickingUp 41349 End 41350 41351 ConditionState = DOCKING 41352 Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff 41353 Animation = AVChinook_A1SK.AVChinook_A1 41354 AnimationMode = ONCE_BACKWARDS 41355 Flags = START_FRAME_LAST 41356 AnimationSpeedFactorRange = .75 .75 41357 TransitionKey = TRANS_PickingUp 41358 WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 41359 End 41360 41361 ConditionState = DOCKING CARRYING 41362 Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net 41363 Animation = AVChinook_A1SK.AVChinook_A1 41364 AnimationMode = ONCE 41365 AnimationSpeedFactorRange = 2.75 2.75 41366 TransitionKey = TRANS_Unloading 41367 WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 41368 End 41369 End 41370 41371 ; ***DESIGN parameters *** 41372 DisplayName = OBJECT:ChinookG 41373 EditorSorting = VEHICLE 41374 Side = America 41375 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 41376 VisionRange = 300.0 41377 ShroudClearingRange = 600 41378 BuildCost = 1200 41379 BuildTime = 10.0 ;in seconds 41380 Prerequisites 41381 Object = AmericaAirfield 41382 End 41383 41384 WeaponSet 41385 Conditions = None 41386 Weapon = PRIMARY Chinook 41387 PreferredAgainst = PRIMARY INFANTRY 41388 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 41389 End 41390 41391 ExperienceValue = 50 50 50 50 ;Experience point value at each level 41392 ExperienceRequired = 0 50 100 750 ;Experience points needed to gain each level 41393 IsTrainable = Yes 41394 CommandSet = ChinookCommandSet 41395 ArmorSet 41396 Conditions = None 41397 Armor = ChinookArmor 41398 DamageFX = None 41399 End 41400 41401 ; *** AUDIO Parameters *** 41402 VoiceSelect = ChinookVoiceSelect 41403 VoiceMove = ChinookVoiceMove 41404 VoiceAttack = ChinookVoiceAttack 41405 SoundAmbient = ChinookAmbientLoop 41406 SoundAmbientRubble = NoSound 41407 SoundDie = ChinookVoiceFalling 41408 SoundEnter = HumveeEnter 41409 SoundExit = HumveeExit 41410 UnitSpecificSounds 41411 VoiceCreate = ChinookVoiceCreate 41412 VoiceSupply = ChinookVoiceSupply 41413 VoiceUnload = ChinookVoiceUnload 41414 VoiceCombatDrop = ChinookVoiceCombatDrop 41415 VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! 41416 VoiceGarrison = ChinookVoiceMove 41417 End 41418 41419 ; *** ENGINEERING Parameters *** 41420 RadarPriority = UNIT 41421 KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT CAN_ATTACK SCORE PRODUCED_AT_HELIPAD 41422 41423 Body = ActiveBody ModuleTag_03 41424 MaxHealth = 300.0 41425 InitialHealth = 300.0 41426 End 41427 41428 Behavior = ExperienceScalarUpgrade ModuleTag_04 41429 TriggeredBy = Upgrade_AmericaAdvancedTraining 41430 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 41431 End 41432 41433 Behavior = FXListDie ModuleTag_05 41434 DeathFX = FX_HelicopterStartDeath 41435 End 41436 41437 Behavior = TransitionDamageFX ModuleTag_06 41438 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 41439 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 41440 End 41441 41442 Behavior = ChinookAIUpdate ModuleTag_07 41443 MaxBoxes = 8 41444 SupplyCenterActionDelay = 99999 ; ms for whole thing (one transaction) 41445 SupplyWarehouseActionDelay = 99999 ; 875 ; ms per box (many small transactions) 41446 SupplyWarehouseScanDistance = 00 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) 41447 SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted 41448 NumRopes = 4 41449 ; these define how long we can wait, once a guy is on-rope, before throwing another 41450 ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely 41451 ; and we'll wait for each guy to clear before spawning another. 41452 PerRopeDelayMin = 900 41453 PerRopeDelayMax = 1500 41454 RopeWidth = 0.5 41455 RopeColor = R:0 G:0 B:0 41456 RopeWobbleLen = 10 41457 RopeWobbleAmplitude = 0.25 41458 RopeWobbleRate = 180 41459 RopeFinalHeight = 10 ; stop this far above ground 41460 RappelSpeed = 30 41461 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it 41462 AutoAcquireEnemiesWhenIdle = Yes 41463 End 41464 Locomotor = SET_NORMAL ChinookLocomotor 41465 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 41466 41467 Behavior = TransportContain ModuleTag_08 41468 Slots = 8 41469 DamagePercentToUnits = 100% 41470 AllowInsideKindOf = INFANTRY 41471 ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE 41472 ExitDelay = 100 41473 NumberOfExitPaths = 1 41474 End 41475 41476 Behavior = PhysicsBehavior ModuleTag_09 41477 Mass = 50.0 41478 End 41479 41480 Behavior = HelicopterSlowDeathBehavior ModuleTag_10 41481 DestructionDelay = 99999999 ; the destruction delay 41482 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 41483 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 41484 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 41485 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 41486 SoundDeathLoop = ComancheDamagedLoop 41487 MinSelfSpin = 100 ; in degrees per second 41488 MaxSelfSpin = 300 ; in degrees per second 41489 SelfSpinUpdateDelay = 100 ; in milliseconds 41490 SelfSpinUpdateAmount = 10 ; in degrees 41491 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 41492 MinBladeFlyOffDelay = 1500 ; in milliseconds 41493 MaxBladeFlyOffDelay = 1500 ; in milliseconds 41494 AttachParticle = SootySmokeTrail 41495 AttachParticleBone = Propeller02 41496 BladeObjectName = ComancheBlades 41497 BladeBoneName = Propeller01 41498 FXBlade = FX_HelicopterBladeExplosion 41499 OCLBlade = OCL_HelicopterBladeExplosion 41500 FXHitGround = FX_HelicopterHitGround 41501 OCLHitGround = OCL_HelicopterHitGround 41502 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 41503 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 41504 DelayFromGroundToFinalDeath = 30 41505 FinalRubbleObject = ChinookRubbleHull 41506 End 41507 41508 Behavior = FlammableUpdate ModuleTag_21 41509 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 41510 AflameDamageAmount = 3 ; taking this much damage... 41511 AflameDamageDelay = 500 ; this often. 41512 End 41513 41514 Geometry = BOX 41515 GeometryMajorRadius = 20.0 41516 GeometryMinorRadius = 6.0 41517 GeometryHeight = 12.0 41518 GeometryIsSmall = No 41519 Shadow = SHADOW_VOLUME 41520 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 41521 41522 End 41523 41524 ;------------------------------------------------------------------------------ 41525 Object ChinaVehicleMI171 41526 41527 ; *** ART Parameters *** 41528 SelectPortrait = T8 41529 ButtonImage = T8 41530 41531 UpgradeCameo1 = none 41532 UpgradeCameo2 = none 41533 ;UpgradeCameo3 = NONE 41534 ;UpgradeCameo4 = NONE 41535 ;UpgradeCameo5 = NONE 41536 41537 41538 Draw = W3DModelDraw ModuleTag_01 ; Helicopter 41539 ExtraPublicBone = RopeStart 41540 ExtraPublicBone = RopeEnd 41541 41542 DefaultConditionState 41543 Model = nvmi171 41544 HideSubObject = MissileUpgrade 41545 Animation = nvmi171.nvmi171 41546 AnimationMode = LOOP 41547 WeaponMuzzleFlash = PRIMARY TurretFX 41548 WeaponFireFXBone = PRIMARY Muzzle 41549 WeaponFireFXBone = SECONDARY Muzzle 41550 WeaponLaunchBone = SECONDARY Muzzle 41551 End 41552 41553 ConditionState = REALLYDAMAGED 41554 Model = nvmi171 41555 Animation = nvmi171.nvmi171 41556 AnimationMode = LOOP 41557 End 41558 41559 ConditionState = WEAPONSET_PLAYER_UPGRADE 41560 ShowSubObject = MissileUpgrade 41561 Animation = nvmi171.nvmi171 41562 AnimationMode = LOOP 41563 WeaponFireFXBone = TERTIARY WeaponB 41564 WeaponLaunchBone = TERTIARY WeaponB 41565 End 41566 41567 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 41568 Model = nvmi171 41569 ShowSubObject = MissileUpgrade 41570 Animation = nvmi171.nvmi171 41571 AnimationMode = LOOP 41572 WeaponFireFXBone = TERTIARY WeaponB 41573 WeaponLaunchBone = TERTIARY WeaponB 41574 End 41575 41576 ConditionState = RUBBLE 41577 Model = nvmi171 41578 Animation = nvmi171.nvmi171 41579 AnimationMode = LOOP 41580 End 41581 41582 ConditionState = RUBBLE SPECIAL_DAMAGED 41583 Model = nvmi171 41584 HideSubObject = nvmi171 41585 End 41586 41587 OkToChangeModelColor = Yes 41588 41589 41590 End 41591 41592 ; ***DESIGN parameters *** 41593 DisplayName = OBJECT:MI171 41594 EditorSorting = VEHICLE 41595 Side = China 41596 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 41597 VisionRange = 180.0 41598 ShroudClearingRange = 600 41599 Prerequisites 41600 Object = ChinaAirfield 41601 Object = ChinaPropagandaCenter 41602 Science = SCIENCE_NukeLauncher 41603 End 41604 41605 WeaponSet 41606 Conditions = None 41607 ; ----- 41608 Weapon = PRIMARY ComancheRocketPodWeapon 41609 AutoChooseSources = PRIMARY NONE 41610 41611 End 41612 41613 ArmorSet 41614 Conditions = None 41615 Armor = ComancheArmor 41616 DamageFX = None 41617 End 41618 BuildCost = 1500 41619 BuildTime = 20 ; in seconds 41620 ExperienceValue = 50 50 100 200 ; Experience point value at each level 41621 ExperienceRequired = 0 10 20 40 ; Experience points needed to gain each level 41622 IsTrainable = Yes ; Can gain experience 41623 CommandSet = MI171CommandSet 41624 41625 ; *** AUDIO Parameters *** 41626 VoiceSelect = RedGuardVoiceSelect 41627 VoiceMove = RedGuardVoiceMove 41628 VoiceGuard = RedGuardVoiceMove 41629 VoiceAttack = RedGuardVoiceAttack 41630 SoundAmbient = ChinookAmbientLoop 41631 SoundAmbientRubble = NoSound 41632 SoundDie = ChinookVoiceFalling 41633 UnitSpecificSounds 41634 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 41635 VoiceCreate = ChinookVoiceCreate 41636 SoundEject = PilotSoundEject 41637 VoiceEject = PilotVoiceEject 41638 Afterburner = RaptorAfterburner 41639 VoiceGarrison = RedGuardVoiceMove 41640 TurretMoveStart = NoSound 41641 TurretMoveLoop = NoSound 41642 VoiceFireRocketPods = ChinookVoiceAttackRocket 41643 End 41644 41645 41646 ; *** ENGINEERING Parameters *** 41647 RadarPriority = UNIT 41648 ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at 41649 ; (well, "near" actually) an Airfield to get healed... 41650 ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. 41651 KindOf = CAN_ATTACK PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT SCORE PRODUCED_AT_HELIPAD 41652 ;HARVESTER 41653 41654 Body = ActiveBody ModuleTag_03 41655 MaxHealth = 300.0 41656 InitialHealth = 300.0 41657 End 41658 41659 Behavior = FXListDie ModuleTag_05 41660 DeathFX = FX_HelicopterStartDeath 41661 End 41662 41663 41664 41665 41666 Behavior = TransitionDamageFX ModuleTag_06 41667 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 41668 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 41669 End 41670 41671 Behavior = ChinookAIUpdate ModuleTag_07 41672 MaxBoxes = 1 41673 41674 NumRopes = 4 41675 ; these define how long we can wait, once a guy is on-rope, before throwing another 41676 ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely 41677 ; and we'll wait for each guy to clear before spawning another. 41678 PerRopeDelayMin = 900 41679 PerRopeDelayMax = 1500 41680 RopeWidth = 0.5 41681 RopeColor = R:0 G:0 B:0 41682 RopeWobbleLen = 10 41683 RopeWobbleAmplitude = 0.25 41684 RopeWobbleRate = 180 41685 RopeFinalHeight = 10 ; stop this far above ground 41686 RappelSpeed = 30 41687 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it 41688 41689 End 41690 Locomotor = SET_NORMAL ChinookLocomotor 41691 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 41692 41693 Behavior = TransportContain ModuleTag_08 41694 Slots = 8 41695 DamagePercentToUnits = 100% 41696 AllowInsideKindOf = INFANTRY 41697 ForbidInsideKindOf = VEHICLE AIRCRAFT HUGE_VEHICLE 41698 ExitDelay = 100 41699 NumberOfExitPaths = 1 41700 End 41701 Behavior = PhysicsBehavior ModuleTag_09 41702 Mass = 50.0 41703 End 41704 Behavior = HelicopterSlowDeathBehavior ModuleTag_10 41705 DestructionDelay = 99999999 ; the destruction delay 41706 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 41707 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 41708 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 41709 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 41710 SoundDeathLoop = ComancheDamagedLoop 41711 MinSelfSpin = 100 ; in degrees per second 41712 MaxSelfSpin = 300 ; in degrees per second 41713 SelfSpinUpdateDelay = 100 ; in milliseconds 41714 SelfSpinUpdateAmount = 10 ; in degrees 41715 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 41716 MinBladeFlyOffDelay = 1500 ; in milliseconds 41717 MaxBladeFlyOffDelay = 1500 ; in milliseconds 41718 AttachParticle = SootySmokeTrail 41719 AttachParticleBone = Propeller02 41720 BladeObjectName = ComancheBlades 41721 BladeBoneName = Propeller01 41722 FXBlade = FX_HelicopterBladeExplosion 41723 OCLBlade = OCL_HelicopterBladeExplosion 41724 FXHitGround = FX_HelicopterHitGround 41725 OCLHitGround = OCL_HelicopterHitGround 41726 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 41727 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 41728 DelayFromGroundToFinalDeath = 30 41729 FinalRubbleObject = ChinookRubbleHull 41730 End 41731 41732 Behavior = FlammableUpdate ModuleTag_21 41733 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 41734 AflameDamageAmount = 3 ; taking this much damage... 41735 AflameDamageDelay = 500 ; this often. 41736 End 41737 41738 Geometry = BOX 41739 GeometryMajorRadius = 20.0 41740 GeometryMinorRadius = 6.0 41741 GeometryHeight = 12.0 41742 GeometryIsSmall = No 41743 Shadow = SHADOW_VOLUME 41744 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 41745 41746 End 41747 41748 ;------------------------------------------------------------------------------ 41749 41750 Object ChinaInfantryCommando 41751 41752 ; *** ART Parameters *** 41753 SelectPortrait = SNRedGuard_L 41754 ButtonImage = SNRedGuard_L 41755 41756 UpgradeCameo1 = none 41757 ;UpgradeCameo2 = NONE 41758 ;UpgradeCameo3 = NONE 41759 ;UpgradeCameo4 = NONE 41760 ;UpgradeCameo5 = NONE 41761 41762 Draw = W3DModelDraw ModuleTag_01 41763 41764 OkToChangeModelColor = Yes 41765 41766 DefaultConditionState 41767 Model = CIUNSL_SKN 41768 IdleAnimation = AIHERO_SKL.AIHERO_STA 0 25 41769 IdleAnimation = AIHERO_SKL.AIHERO_IDA 41770 AnimationMode = ONCE 41771 WeaponFireFXBone = PRIMARY Muzzle 41772 WeaponMuzzleFlash = PRIMARY MuzzleFX 41773 TransitionKey = TRANS_Stand 41774 End 41775 41776 ConditionState = FIRING_A 41777 Animation = CIUNSL_SKL.CIUNSL_ATA1_LP 41778 AnimationMode = LOOP 41779 TransitionKey = TRANS_FiringA 41780 End 41781 AliasConditionState = BETWEEN_FIRING_SHOTS_A 41782 AliasConditionState = RELOADING_A 41783 41784 TransitionState = TRANS_Stand TRANS_FiringA 41785 Animation = CIUNSL_SKL.CIUNSL_ATA1_ST 41786 AnimationMode = ONCE 41787 AnimationSpeedFactorRange = 4 4 41788 End 41789 41790 TransitionState = TRANS_FiringA TRANS_Stand 41791 Animation = CIUNSL_SKL.CIUNSL_ATA1_ED 41792 AnimationMode = ONCE 41793 AnimationSpeedFactorRange = 4 4 41794 End 41795 41796 ; these aliases handle the attack-move case. 41797 AliasConditionState = MOVING FIRING_A 41798 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 41799 AliasConditionState = MOVING RELOADING_A 41800 41801 ConditionState = FREEFALL 41802 Animation = CIUNSL_SKL.CIUNSL_PFL 41803 AnimationMode = LOOP 41804 TransitionKey = TRANS_Falling 41805 End 41806 41807 ConditionState = PARACHUTING 41808 Animation = CIUNSL_SKL.CIUNSL_PHG 41809 AnimationMode = LOOP 41810 TransitionKey = TRANS_Chute 41811 End 41812 AliasConditionState = PARACHUTING DYING 41813 41814 ConditionState = MOVING 41815 Animation = CIUNSL_SKL.CIUNSL_RNA 41816 AnimationMode = LOOP 41817 Flags = RANDOMSTART 41818 TransitionKey = None 41819 End 41820 41821 ConditionState = DYING 41822 Animation = CIUNSL_SKL.CIUNSL_DTA 41823 Animation = CIUNSL_SKL.CIUNSL_DTB 41824 AnimationMode = ONCE 41825 TransitionKey = TRANS_Dying 41826 End 41827 41828 TransitionState = TRANS_Dying TRANS_Flailing 41829 Animation = CIUNSL_SKL.CIUNSL_ADTA1 41830 AnimationMode = ONCE 41831 End 41832 41833 ConditionState = DYING EXPLODED_FLAILING 41834 Animation = CIUNSL_SKL.CIUNSL_ADTA2 41835 AnimationMode = LOOP 41836 TransitionKey = TRANS_Flailing 41837 End 41838 41839 ConditionState = DYING EXPLODED_BOUNCING 41840 Animation = CIUNSL_SKL.CIUNSL_ADTA3 41841 AnimationMode = ONCE 41842 TransitionKey = None 41843 End 41844 AliasConditionState = DYING SPLATTED 41845 41846 TransitionState = TRANS_Falling TRANS_Chute 41847 Animation = CIUNSL_SKL.CIUNSL_POP 41848 AnimationMode = ONCE 41849 End 41850 41851 TransitionState = TRANS_Chute TRANS_Stand 41852 Animation = CIUNSL_SKL.CIUNSL_PTD 41853 AnimationMode = ONCE 41854 End 41855 ; climbing 41856 ConditionState = CLIMBING 41857 Animation = AIHERO_SKL.AIHERO_CLMID 41858 AnimationMode = LOOP 41859 TransitionKey = TRANS_Climbing 41860 End 41861 AliasConditionState = RAPPELLING 41862 AliasConditionState = CLIMBING REALLYDAMAGED 41863 AliasConditionState = RAPPELLING REALLYDAMAGED 41864 41865 ConditionState = CLIMBING MOVING 41866 Animation = AIHERO_SKL.AIHERO_CLMUP 41867 AnimationMode = LOOP 41868 TransitionKey = TRANS_Climbing 41869 End 41870 AliasConditionState = CLIMBING MOVING REALLYDAMAGED 41871 41872 ConditionState = RAPPELLING MOVING 41873 Animation = AIHERO_SKL.AIHERO_CLMUP 41874 AnimationMode = LOOP_BACKWARDS 41875 TransitionKey = TRANS_Climbing 41876 End 41877 AliasConditionState = RAPPELLING MOVING REALLYDAMAGED 41878 41879 ; these transitions don't really work well with our code. leave 'em out. 41880 ; TransitionState = TRANS_Climbing TRANS_Stand 41881 ; Animation = AIHERO_SKL.AIHERO_CLMST 41882 ; AnimationMode = ONCE 41883 ; End 41884 ; 41885 ; TransitionState = TRANS_Stand TRANS_Climbing 41886 ; Animation = AIHERO_SKL.AIHERO_CLMST 41887 ; AnimationMode = ONCE_BACKWARDS 41888 ; End 41889 ; injured moving 41890 ConditionState = MOVING REALLYDAMAGED 41891 Animation = AIHERO_SKL.AIHERO_IRNA 26 41892 AnimationMode = LOOP 41893 Flags = RANDOMSTART 41894 TransitionKey = TRANS_WalkingInjured 41895 ParticleSysBone = None InfantryDustTrails 41896 HideSubObject = MUZZLEFX01 41897 End 41898 AliasConditionState = MOVING FIRING_A REALLYDAMAGED 41899 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 41900 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 41901 AliasConditionState = MOVING FIRING_B REALLYDAMAGED 41902 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 41903 AliasConditionState = MOVING RELOADING_B REALLYDAMAGED 41904 41905 ; injured idle 41906 ConditionState = REALLYDAMAGED 41907 IdleAnimation = AIHERO_SKL.AIHERO_ISTA 0 30 41908 IdleAnimation = AIHERO_SKL.AIHERO_IIDA 41909 IdleAnimation = AIHERO_SKL.AIHERO_IIDB 41910 AnimationMode = ONCE 41911 TransitionKey = TRANS_StandInjured 41912 End 41913 41914 41915 TransitionState = TRANS_Stand TRANS_StandInjured 41916 Animation = AIHERO_SKL.AIHERO_ISTAHIT 41917 AnimationMode = ONCE 41918 End 41919 41920 41921 41922 End 41923 41924 ; ***DESIGN parameters *** 41925 DisplayName = OBJECT:Commando 41926 Side = China 41927 EditorSorting = INFANTRY 41928 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 41929 41930 WeaponSet 41931 Conditions = None 41932 Weapon = PRIMARY CommandoWeapon 41933 AutoChooseSources = PRIMARY NONE 41934 End 41935 ArmorSet 41936 Conditions = None 41937 Armor = HumanArmor 41938 DamageFX = InfantryDamageFX 41939 End 41940 41941 VisionRange = 200 41942 ShroudClearingRange = 400 41943 Prerequisites 41944 Object = ChinaBarracks 41945 Object = CommandandControl 41946 Science = SCIENCE_RedGuardTraining 41947 End 41948 BuildCost = 1000 41949 BuildTime = 20.0 ;in seconds 41950 41951 ExperienceValue = 40 40 60 80 ;Experience point value at each level 41952 ExperienceRequired = 0 50 100 200 ;Experience points needed to gain each level 41953 IsTrainable = Yes ;Can gain experience 41954 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 41955 CommandSet = ChinaCommandoCommandSET 41956 41957 ; *** AUDIO Parameters *** 41958 VoiceSelect = PathfinderVoiceSelect 41959 VoiceMove = PathfinderVoiceMove 41960 VoiceGuard = PathfinderVoiceMove 41961 VoiceAttack = PathfinderVoiceAttack 41962 SoundDie = PathfinderVoiceDie 41963 SoundDieFire = DieByFireUSA 41964 SoundDieToxin = DieByToxinUSA 41965 VoiceFear = PathfinderVoiceFear 41966 SoundStealthOn = StealthOn 41967 SoundStealthOff = StealthOff 41968 VoiceFear = PathfinderVoiceFear 41969 41970 UnitSpecificSounds 41971 VoiceCreate = PathfinderVoiceCreate 41972 VoiceGarrison = PathfinderVoiceGarrison 41973 VoiceEnter = PathfinderVoiceMove 41974 VoiceEnterHostile = PathfinderVoiceMove 41975 VoiceGetHealed = PathfinderVoiceMove 41976 End 41977 41978 ; *** ENGINEERING Parameters *** 41979 RadarPriority = UNIT 41980 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON PARACHUTABLE CAN_RAPPEL SCORE 41981 41982 Body = ActiveBody ModuleTag_02 41983 MaxHealth = 200.0 41984 InitialHealth = 200.0 41985 End 41986 41987 Behavior = AIUpdateInterface ModuleTag_03 41988 AutoAcquireEnemiesWhenIdle = No Stealthed 41989 MoodAttackCheckRate = 250 41990 End 41991 41992 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 41993 ScanRate = 1000 ; once a second. 41994 ScanRange = 300 ; 41995 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 41996 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 41997 End 41998 41999 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor 42000 42001 Behavior = ExperienceScalarUpgrade ModuleTag_05 42002 TriggeredBy = Upgrade_AmericaAdvancedTraining 42003 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 42004 End 42005 42006 Behavior = PhysicsBehavior ModuleTag_06 42007 Mass = 5.0 42008 End 42009 Behavior = StealthDetectorUpdate ModuleTag_08 42010 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 42011 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 42012 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 42013 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 42014 End 42015 Behavior = StealthUpdate ModuleTag_07 42016 StealthDelay = 2000 ; msec 42017 StealthForbiddenConditions = FIRING_PRIMARY 42018 HintDetectableConditions = IS_FIRING_WEAPON 42019 FriendlyOpacityMin = 50.0% 42020 FriendlyOpacityMax = 100.0% 42021 InnateStealth = Yes 42022 OrderIdleEnemiesToAttackMeUponReveal = Yes 42023 End 42024 42025 42026 Behavior = SquishCollide ModuleTag_10 42027 ;nothing 42028 End 42029 42030 Behavior = SpecialAbility ModuleTag_07 42031 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack 42032 UpdateModuleStartsAttack = Yes 42033 InitiateSound = TankHunterVoiceTNT 42034 End 42035 Behavior = SpecialAbilityUpdate ModuleTag_08 42036 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack 42037 StartAbilityRange = 5.0 42038 PreparationTime = 0 42039 SpecialObject = TNTStickyBomb 42040 MaxSpecialObjects = 8 42041 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). 42042 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 42043 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 42044 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 42045 End 42046 Behavior = OCLSpecialPower ModuleTag_16 42047 SpecialPowerTemplate = SuperweaponNapalmStrike 42048 OCL = SUPERWEAPON_NapalmStrike 42049 End 42050 42051 42052 ; --- begin Death modules --- 42053 Behavior = SlowDeathBehavior ModuleTag_Death01 42054 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 42055 SinkDelay = 50000 42056 SinkRate = 0.5 ; in Dist/Sec 42057 DestructionDelay = 8000000 42058 FX = INITIAL FX_GIDie 42059 End 42060 Behavior = SlowDeathBehavior ModuleTag_Death02 42061 DeathTypes = NONE +CRUSHED +SPLATTED 42062 SinkDelay = 50000 42063 SinkRate = 0.5 ; in Dist/Sec 42064 DestructionDelay = 8000000 42065 FX = INITIAL FX_GIDieCrushed 42066 End 42067 Behavior = SlowDeathBehavior ModuleTag_Death03 42068 DeathTypes = NONE +EXPLODED 42069 SinkDelay = 50000 42070 SinkRate = 0.5 ; in Dist/Sec 42071 DestructionDelay = 8000000 42072 FX = INITIAL FX_GIDie 42073 FlingForce = 8 42074 FlingForceVariance = 3 42075 FlingPitch = 60 42076 FlingPitchVariance = 10 42077 End 42078 Behavior = SlowDeathBehavior ModuleTag_Death04 42079 DeathTypes = NONE +BURNED 42080 DestructionDelay = 0 42081 FX = INITIAL FX_GIDie 42082 OCL = INITIAL OCL_FlamingInfantry 42083 End 42084 Behavior = SlowDeathBehavior ModuleTag_Death05 42085 DeathTypes = NONE +POISONED 42086 DestructionDelay = 0 42087 FX = INITIAL FX_GIDie 42088 OCL = INITIAL OCL_ToxicInfantry 42089 End 42090 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 42091 DeathTypes = NONE +POISONED_BETA 42092 DestructionDelay = 0 42093 FX = INITIAL FX_GIDie 42094 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 42095 End 42096 ; --- end Death modules --- 42097 42098 Behavior = PoisonedBehavior ModuleTag_13 42099 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 42100 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 42101 End 42102 42103 Geometry = CYLINDER 42104 GeometryMajorRadius = 10.0 42105 GeometryMinorRadius = 10.0 42106 GeometryHeight = 12.0 42107 GeometryIsSmall = Yes 42108 Shadow = SHADOW_DECAL 42109 ShadowSizeX = 14; 42110 ShadowSizeY = 14; 42111 ShadowTexture = ShadowI; 42112 BuildCompletion = APPEARS_AT_RALLY_POINT 42113 42114 End 42115 42116 ;-------------------------------------------------------------------- 42117 42118 Object ChinaSunnykit 42119 42120 ; *** ART Parameters *** 42121 SelectPortrait = T18 ;SACDaisyCutter 42122 ButtonImage = T18 42123 42124 ;UpgradeCameo1 = Upgrade_ChinaAircraftArmor 42125 ;UpgradeCameo2 = NONE 42126 ;UpgradeCameo3 = NONE 42127 ;UpgradeCameo4 = NONE 42128 ;UpgradeCameo5 = NONE 42129 42130 Draw = W3DModelDraw ModuleTag_01 42131 42132 OkToChangeModelColor = Yes 42133 42134 DefaultConditionState 42135 Model = Mig-29B ; avtomahawk_M 42136 End 42137 42138 ConditionState = JETEXHAUST 42139 ParticleSysBone = Wingtip01 JetContrail 42140 ParticleSysBone = Wingtip02 JetContrail 42141 End 42142 42143 ConditionState = JETEXHAUST JETAFTERBURNER 42144 ParticleSysBone = Exhaust01 JetExhaust 42145 ParticleSysBone = Exhaust02 JetExhaust 42146 ParticleSysBone = Wingtip01 JetContrail 42147 ParticleSysBone = Wingtip02 JetContrail 42148 End 42149 42150 ConditionState = REALLYDAMAGED 42151 Model = Mig-29B 42152 End 42153 42154 ConditionState = RUBBLE 42155 Model = Mig-29B 42156 End 42157 42158 ConditionState = REALLYDAMAGED JETEXHAUST 42159 Model = Mig-29B 42160 End 42161 42162 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 42163 Model = Mig-29B 42164 End 42165 42166 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 42167 Model = Mig-29B 42168 End 42169 42170 End 42171 42172 ; ***DESIGN parameters *** 42173 DisplayName = OBJECT:ChinaSunnykit 42174 EditorSorting = VEHICLE 42175 Side = GLA 42176 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 42177 VisionRange = 450.0 42178 ShroudClearingRange = 500.0 42179 42180 Prerequisites 42181 Object = GLAAirfield 42182 Science = SCIENCE_ScudLauncher 42183 End 42184 42185 WeaponSet 42186 Conditions = None 42187 Weapon = PRIMARY su30Weapon 42188 Weapon = SECONDARY MIG29weapon 42189 End 42190 42191 ArmorSet 42192 Conditions = None 42193 Armor = AirplaneArmor 42194 DamageFX = None 42195 End 42196 42197 BuildCost = 900 42198 BuildTime = 10 42199 ExperienceValue = 50 50 100 150 ;Experience point value at each level 42200 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 42201 IsTrainable = Yes ;Can gain experience 42202 CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 42203 CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 42204 CommandSet = ChinaJetMIGCommandSet 42205 42206 ; *** AUDIO Parameters *** 42207 VoiceSelect = MigVoiceSelect 42208 VoiceMove = MigVoiceMove 42209 VoiceAttack = MigVoiceAttack 42210 VoiceAttackAir = MigVoiceAttackAir 42211 VoiceGuard = MigVoiceAirPatrol 42212 SoundAmbient = MigAmbientLoop 42213 SoundDie = MigVoiceFalling 42214 UnitSpecificSounds 42215 VoiceCreate = MigVoiceCreate 42216 Afterburner = RaptorAfterburner 42217 VoiceGarrison = MigVoiceMove 42218 End 42219 42220 ; *** ENGINEERING Parameters *** 42221 RadarPriority = UNIT 42222 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 42223 Body = ActiveBody ModuleTag_02 42224 MaxHealth = 200.0 42225 InitialHealth = 200.0 42226 End 42227 42228 Behavior = JetSlowDeathBehavior ModuleTag_03 42229 FXOnGroundDeath = FX_JetOnGroundDeath 42230 OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp 42231 DestructionDelay = 99999999 ; destruction will happen when we 42232 RollRate = 0.2 42233 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 42234 PitchRate = 0.0 42235 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 42236 FXInitialDeath = FX_JetDeathInitial 42237 OCLInitialDeath = OCL_MIGDeathInitial 42238 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 42239 FXSecondary = FX_JetDeathSecondary 42240 OCLSecondary = OCL_MIGDeathSecondary 42241 FXHitGround = FX_JetDeathHitGround 42242 OCLHitGround = OCL_MIGDeathHitGround 42243 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 42244 FXFinalBlowUp = FX_JetDeathFinalBlowUp 42245 OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp 42246 End 42247 42248 Behavior = WeaponSetUpgrade ModuleTag_04 42249 TriggeredBy = Upgrade_ChinaBlackNapalm 42250 End 42251 42252 Behavior = PhysicsBehavior ModuleTag_05 42253 Mass = 500.0 42254 End 42255 42256 Behavior = JetAIUpdate ModuleTag_06 42257 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 42258 ; note that it's expressed as a percent of max health, not an absolute 42259 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 42260 TakeoffPause = 500 42261 MinHeight = 5 42262 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 42263 End 42264 42265 Locomotor = SET_NORMAL MIGLocomotor 42266 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 42267 42268 42269 Behavior = FlammableUpdate ModuleTag_08 42270 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 42271 AflameDamageAmount = 3 ; taking this much damage... 42272 AflameDamageDelay = 500 ; this often. 42273 End 42274 42275 Behavior = TransitionDamageFX ModuleTag_09 42276 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 42277 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 42278 End 42279 42280 Behavior = MaxHealthUpgrade ModuleTag_10 42281 TriggeredBy = Upgrade_ChinaAircraftArmor 42282 AddMaxHealth = 40.0 42283 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 42284 End 42285 42286 42287 42288 Geometry = Box 42289 GeometryIsSmall = Yes 42290 GeometryMajorRadius = 14.0 42291 GeometryMinorRadius = 7.0 42292 GeometryHeight = 5.0 42293 Shadow = SHADOW_VOLUME 42294 42295 Shadow = SHADOW_VOLUME 42296 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 42297 42298 End 42299 ;------------------------------------------------------------------------------ 42300 42301 42302 42303 42304 Object AmericaJetB52X 42305 42306 ; *** ART Parameters *** 42307 SelectPortrait = T10 42308 ButtonImage = T10 42309 42310 UpgradeCameo1 = none 42311 42312 Draw = W3DModelDraw ModuleTag_01 42313 DefaultConditionState 42314 Model = AVBomber 42315 ParticleSysBone = Engine01 JetBlackTrailThin 42316 ParticleSysBone = Engine02 JetBlackTrailThin 42317 ParticleSysBone = Engine03 JetBlackTrailThin 42318 ParticleSysBone = Engine04 JetBlackTrailThin 42319 ParticleSysBone = WingTip01 JetContrailThin 42320 ParticleSysBone = WingTip02 JetContrailThin 42321 End 42322 ConditionState = DAMAGED 42323 Model = AVBomber_D 42324 ParticleSysBone = Smoke01 JetFireLarge 42325 ParticleSysBone = Smoke02 JetFireLarge 42326 ParticleSysBone = Engine01 JetBlackTrailThin 42327 ParticleSysBone = Engine02 JetBlackTrailThin 42328 ParticleSysBone = Engine03 JetBlackTrailThin 42329 ParticleSysBone = Engine04 JetBlackTrailThin 42330 ParticleSysBone = Smoke01 JetSmokeLarge 42331 ParticleSysBone = Smoke02 JetSmokeLarge 42332 End 42333 ConditionState = REALLYDAMAGED 42334 Model = AVBomber_D 42335 ParticleSysBone = Smoke01 JetFireLarge 42336 ParticleSysBone = Smoke02 JetFireLarge 42337 ParticleSysBone = Engine01 JetBlackTrailThin 42338 ParticleSysBone = Engine02 JetBlackTrailThin 42339 ParticleSysBone = Engine03 JetBlackTrailThin 42340 ParticleSysBone = Engine04 JetBlackTrailThin 42341 ParticleSysBone = Smoke01 JetSmokeLarge 42342 ParticleSysBone = Smoke02 JetSmokeLarge 42343 End 42344 ConditionState = RUBBLE 42345 Model = AVBomber_D1 42346 ParticleSysBone = Smoke01 JetFireLarge 42347 ParticleSysBone = Smoke02 JetFireLarge 42348 ParticleSysBone = Smoke01 JetSmokeLarge 42349 ParticleSysBone = Smoke02 JetSmokeLarge 42350 End 42351 42352 OkToChangeModelColor = Yes 42353 End 42354 42355 ; ***DESIGN parameters *** 42356 DisplayName = OBJECT:B52 42357 EditorSorting = VEHICLE 42358 Side = America 42359 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 42360 VisionRange = 500.0 42361 ShroudClearingRange = 500 42362 Prerequisites 42363 Object = AmericaAirfield 42364 Object = USAAdvLab 42365 Science = SCIENCE_PaladinTank 42366 End 42367 BuildCost = 5000 42368 BuildTime = 50.0 ;in seconds 42369 WeaponSet 42370 Conditions = None 42371 Weapon = PRIMARY B52CarpetBomb 42372 End 42373 ArmorSet 42374 Conditions = None 42375 Armor = AirplaneArmor 42376 DamageFX = None 42377 End 42378 42379 ExperienceValue = 200 200 400 400 ;Experience point value at each level 42380 ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level 42381 IsTrainable = Yes ;Can gain experience 42382 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 42383 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 42384 MaxSimultaneousOfType = 1 42385 CommandSet = AmericaJetAuroraCommandSet 42386 42387 ; *** AUDIO Parameters *** 42388 VoiceSelect = AuroraBomberVoiceSelect 42389 VoiceMove = AuroraBomberVoiceMove 42390 VoiceGuard = AuroraBomberVoiceMove 42391 VoiceAttack = AuroraBomberVoiceAttack 42392 SoundAmbient = B52AmbientLoop 42393 SoundAmbientRubble = NoSound 42394 SoundDie = AuroraBomberVoiceFalling 42395 UnitSpecificSounds 42396 VoiceCreate = AuroraBomberVoiceCreate 42397 SoundEject = PilotSoundEject 42398 VoiceEject = PilotVoiceEject 42399 Afterburner = RaptorAfterburner 42400 VoiceLowFuel = AuroraBomberVoiceLowFuel 42401 VoiceGarrison = AuroraBomberVoiceMove 42402 End 42403 42404 ; *** ENGINEERING Parameters *** 42405 RadarPriority = UNIT 42406 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 42407 Body = ActiveBody ModuleTag_02 42408 MaxHealth = 650.0 42409 InitialHealth = 650.0 42410 End 42411 42412 Behavior = JetSlowDeathBehavior ModuleTag_03 42413 FXOnGroundDeath = FX_JetOnGroundDeath 42414 OCLOnGroundDeath = OCL_AuroraDeathFinalBlowUp 42415 DestructionDelay = 99999999; destruction will happen when we 42416 RollRate = 0.2 42417 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 42418 PitchRate = 0.0 42419 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 42420 FXInitialDeath = FX_JetBigDeathInitial 42421 OCLInitialDeath = OCL_AmericaJetCargoDeathStart 42422 DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time 42423 OCLSecondary = OCL_AmericaJetCargoHulkDeath 42424 FXSecondary = FX_BigPlaneDeath 42425 FXFinalBlowUp = FX_JetDeathFinalBlowUp 42426 OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp 42427 End 42428 Behavior = EjectPilotDie ModuleTag_04 42429 GroundCreationList = OCL_EjectPilotOnGround 42430 AirCreationList = OCL_EjectPilotViaParachute 42431 ExemptStatus = HIJACKED 42432 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 42433 End 42434 42435 Behavior = PhysicsBehavior ModuleTag_05 42436 Mass = 500.0 42437 End 42438 42439 Behavior = ExperienceScalarUpgrade ModuleTag_06 42440 TriggeredBy = Upgrade_AmericaAdvancedTraining 42441 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 42442 End 42443 42444 Behavior = JetAIUpdate ModuleTag_07 42445 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 42446 ; note that it's expressed as a percent of max health, not an absolute 42447 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 42448 TakeoffPause = 500 42449 MinHeight = 5 42450 ReturnToBaseIdleTime = 1000000 ; if idle for this long, return to base, even if not out of ammo 42451 End 42452 Locomotor = SET_NORMAL B52Locomotor2 42453 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 42454 42455 Behavior = FlammableUpdate ModuleTag_21 42456 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 42457 AflameDamageAmount = 3 ; taking this much damage... 42458 AflameDamageDelay = 500 ; this often. 42459 End 42460 42461 Behavior = TransitionDamageFX ModuleTag_22 42462 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 42463 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition 42464 End 42465 42466 42467 Geometry = Box 42468 GeometryIsSmall = No 42469 GeometryMajorRadius = 60.0 42470 GeometryMinorRadius = 10.0 42471 GeometryHeight = 10.0 42472 Shadow = SHADOW_VOLUME 42473 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 42474 End 42475 42476 42477 42478 42479 ;------------------------------------------------------------------------------ 42480 42481 42482 42483 42484 42485 Object SmallBomb 42486 42487 ; *** ART Parameters *** 42488 Draw = W3DModelDraw ModuleTag_01 42489 DefaultConditionState 42490 Model = SMALLBOMB 42491 End 42492 End 42493 42494 ; ***DESIGN parameters *** 42495 Side = America 42496 EditorSorting = SYSTEM 42497 ArmorSet 42498 Conditions = None 42499 Armor = ProjectileArmor 42500 DamageFX = None 42501 End 42502 VisionRange = 0.0 42503 42504 ; *** AUDIO Parameters *** 42505 42506 ; *** ENGINEERING Parameters *** 42507 KindOf = PROJECTILE 42508 Body = ActiveBody ModuleTag_02 42509 MaxHealth = 100.0 42510 InitialHealth = 100.0 42511 End 42512 42513 Behavior = PhysicsBehavior ModuleTag_03 42514 Mass = 75.0 42515 AerodynamicFriction = 2 ; this is now friction-per-sec 42516 ForwardFriction = 2 ; this is now friction-per-sec 42517 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 42518 End 42519 42520 ; it may seem odd to have a "bomb" with a Locomotor, especially a Thrust locomotor, 42521 ; but there's a good reason: the Aurora moves so freakin' fast that it's really 42522 ; hard to (1) find a reliable drop location, and (2) actually get it close enough to 42523 ; that location. So we cheat: just get fairly close, then let the "bomb" do a little (subtle) 42524 ; navigation on the way down. This works pretty well and actually looks much better 42525 ; than you might think. (srj) 42526 Behavior = MissileAIUpdate ModuleTag_04 42527 TryToFollowTarget = No 42528 FuelLifetime = 0 42529 IgnitionDelay = 0 42530 InitialVelocity = 0 ; in dist/sec 42531 DistanceToTravelBeforeTurning = 0 42532 DistanceToTargetBeforeDiving = 0 42533 End 42534 Locomotor = SET_NORMAL AuroraBombLocomotor ; yes, that's right. 42535 42536 Geometry = Sphere 42537 GeometryIsSmall = Yes 42538 GeometryMajorRadius = 2.0 42539 42540 End 42541 Object SmallBombinvis 42542 42543 ; *** ART Parameters *** 42544 Draw = W3DModelDraw ModuleTag_01 42545 DefaultConditionState 42546 Model = None 42547 End 42548 End 42549 42550 ; ***DESIGN parameters *** 42551 Side = America 42552 EditorSorting = SYSTEM 42553 ArmorSet 42554 Conditions = None 42555 Armor = ProjectileArmor 42556 DamageFX = None 42557 End 42558 VisionRange = 0.0 42559 42560 ; *** AUDIO Parameters *** 42561 42562 ; *** ENGINEERING Parameters *** 42563 KindOf = PROJECTILE 42564 Body = ActiveBody ModuleTag_02 42565 MaxHealth = 100.0 42566 InitialHealth = 100.0 42567 End 42568 42569 Behavior = PhysicsBehavior ModuleTag_03 42570 Mass = 75.0 42571 AerodynamicFriction = 2 ; this is now friction-per-sec 42572 ForwardFriction = 2 ; this is now friction-per-sec 42573 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 42574 End 42575 42576 ; it may seem odd to have a "bomb" with a Locomotor, especially a Thrust locomotor, 42577 ; but there's a good reason: the Aurora moves so freakin' fast that it's really 42578 ; hard to (1) find a reliable drop location, and (2) actually get it close enough to 42579 ; that location. So we cheat: just get fairly close, then let the "bomb" do a little (subtle) 42580 ; navigation on the way down. This works pretty well and actually looks much better 42581 ; than you might think. (srj) 42582 Behavior = MissileAIUpdate ModuleTag_04 42583 TryToFollowTarget = No 42584 FuelLifetime = 0 42585 IgnitionDelay = 0 42586 InitialVelocity = 0 ; in dist/sec 42587 DistanceToTravelBeforeTurning = 0 42588 DistanceToTargetBeforeDiving = 0 42589 End 42590 Locomotor = SET_NORMAL AuroraBombLocomotor ; yes, that's right. 42591 42592 Geometry = Sphere 42593 GeometryIsSmall = Yes 42594 GeometryMajorRadius = 2.0 42595 42596 End 42597 42598 Object GuidedSmallBomb 42599 42600 ; *** ART Parameters *** 42601 Draw = W3DModelDraw ModuleTag_01 42602 DefaultConditionState 42603 Model = SMALLBOMB 42604 End 42605 End 42606 42607 ; ***DESIGN parameters *** 42608 Side = America 42609 EditorSorting = SYSTEM 42610 ArmorSet 42611 Conditions = None 42612 Armor = ProjectileArmor 42613 DamageFX = None 42614 End 42615 VisionRange = 0.0 42616 42617 ; *** AUDIO Parameters *** 42618 42619 ; *** ENGINEERING Parameters *** 42620 KindOf = PROJECTILE 42621 Body = ActiveBody ModuleTag_02 42622 MaxHealth = 100.0 42623 InitialHealth = 100.0 42624 End 42625 42626 Behavior = PhysicsBehavior ModuleTag_03 42627 Mass = 75.0 42628 AerodynamicFriction = 2 ; this is now friction-per-sec 42629 ForwardFriction = 2 ; this is now friction-per-sec 42630 CenterOfMassOffset = 4 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 42631 End 42632 42633 ; it may seem odd to have a "bomb" with a Locomotor, especially a Thrust locomotor, 42634 ; but there's a good reason: the Aurora moves so freakin' fast that it's really 42635 ; hard to (1) find a reliable drop location, and (2) actually get it close enough to 42636 ; that location. So we cheat: just get fairly close, then let the "bomb" do a little (subtle) 42637 ; navigation on the way down. This works pretty well and actually looks much better 42638 ; than you might think. (srj) 42639 Behavior = MissileAIUpdate ModuleTag_04 42640 TryToFollowTarget = Yes 42641 FuelLifetime = 0 42642 IgnitionDelay = 0 42643 InitialVelocity = 0 ; in dist/sec 42644 DistanceToTravelBeforeTurning = 0 42645 DistanceToTargetBeforeDiving = 0 42646 End 42647 Locomotor = SET_NORMAL AuroraBombLocomotor ; yes, that's right. 42648 42649 Geometry = Sphere 42650 GeometryIsSmall = Yes 42651 GeometryMajorRadius = 2.0 42652 42653 End 42654 42655 ;------------------------------------------------------------------------------ 42656 42657 Object ChinaJetBadger 42658 42659 ; *** ART Parameters *** 42660 SelectPortrait = SSBayonet 42661 ButtonImage = SSBayonet 42662 42663 UpgradeCameo1 = Upgrade_ChinaAircraftArmor 42664 ;UpgradeCameo3 = NONE 42665 ;UpgradeCameo4 = NONE 42666 ;UpgradeCameo5 = NONE 42667 42668 Draw = W3DModelDraw ModuleTag_01 42669 42670 OkToChangeModelColor = Yes 42671 ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset 42672 DefaultConditionState 42673 Model = NVBADGER 42674 HideSubObject = BurnerFX01 BurnerFX02 42675 WeaponLaunchBone = PRIMARY WeaponA01 42676 WeaponLaunchBone = SECONDARY WeaponA02 42677 Turret = TURRET01 42678 WeaponLaunchBone = TERTIARY WeaponA02 42679 WeaponHideShowBone = PRIMARY MISSILE01 42680 WeaponHideShowBone = SECONDARY MISSILE02 42681 42682 42683 End 42684 42685 ConditionState = JETEXHAUST 42686 ParticleSysBone = Wingtip01 JetContrail 42687 ParticleSysBone = Wingtip02 JetContrail 42688 End 42689 42690 ConditionState = JETEXHAUST JETAFTERBURNER 42691 ShowSubObject = BurnerFX01 BurnerFX02 42692 ParticleSysBone = ENGINE01 JetExhaust 42693 ParticleSysBone = ENGINE02 JetExhaust 42694 ParticleSysBone = Wingtip01 JetContrail 42695 ParticleSysBone = Wingtip02 JetContrail 42696 End 42697 42698 ConditionState = REALLYDAMAGED 42699 Model = NVBADGER 42700 ParticleSysBone = Wingtip01 JetContrail 42701 ParticleSysBone = Wingtip02 JetContrail 42702 End 42703 42704 ConditionState = RUBBLE 42705 Model = NVBADGER 42706 End 42707 42708 ConditionState = REALLYDAMAGED JETEXHAUST 42709 Model = NVBADGER 42710 ParticleSysBone = Wingtip01 JetContrail 42711 ParticleSysBone = Wingtip02 JetContrail 42712 End 42713 42714 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 42715 Model = NVBADGER 42716 ShowSubObject = BurnerFX01 BurnerFX02 42717 ParticleSysBone = Engine01 JetExhaust 42718 ParticleSysBone = Engine02 JetExhaust 42719 ParticleSysBone = Wingtip01 JetContrail 42720 ParticleSysBone = Wingtip02 JetContrail 42721 End 42722 42723 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 42724 ; @todo srj -- model missing 42725 ;Model = NVMIG_D1B 42726 Model = NVBADGER 42727 ;HideSubObject is needed cause there're inherited from default condition state 42728 HideSubObject = None 42729 ShowSubObject = None 42730 ParticleSysBone = Engine01 JetExhaust 42731 ParticleSysBone = Engine02 JetExhaust 42732 ParticleSysBone = Wingtip01 JetContrail 42733 ParticleSysBone = Wingtip02 JetContrail 42734 End 42735 42736 End 42737 42738 ; ***DESIGN parameters *** 42739 DisplayName = OBJECT:BADGERBOMBER 42740 EditorSorting = VEHICLE 42741 Side = China 42742 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 42743 VisionRange = 500.0 42744 ShroudClearingRange = 300.0 42745 42746 Prerequisites 42747 Object = ChinaAirfield 42748 Object = CommandandControl 42749 Science = SCIENCE_NukeLauncher 42750 End 42751 42752 WeaponSet 42753 Conditions = None 42754 Weapon = PRIMARY BeagleJetBombWeapon 42755 End 42756 42757 ArmorSet 42758 Conditions = None 42759 Armor = AirplaneArmor 42760 DamageFX = None 42761 End 42762 42763 BuildCost = 4000 42764 BuildTime = 40 42765 ExperienceValue = 50 50 100 150 ;Experience point value at each level 42766 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 42767 IsTrainable = Yes ;Can gain experience 42768 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 42769 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 42770 MaxSimultaneousOfType = 1 42771 CommandSet = ChinaJetMIGCommandSet 42772 42773 ; *** AUDIO Parameters *** 42774 VoiceSelect = MigVoiceSelect 42775 VoiceMove = MigVoiceMove 42776 VoiceAttack = MigVoiceAttack 42777 VoiceAttackAir = MigVoiceAttackAir 42778 VoiceGuard = MigVoiceAirPatrol 42779 SoundAmbient = MigAmbientLoop 42780 SoundDie = MigVoiceFalling 42781 UnitSpecificSounds 42782 VoiceCreate = MigVoiceCreate 42783 Afterburner = RaptorAfterburner 42784 VoiceGarrison = MigVoiceMove 42785 End 42786 42787 ; *** ENGINEERING Parameters *** 42788 RadarPriority = UNIT 42789 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 42790 Body = ActiveBody ModuleTag_02 42791 MaxHealth = 260.0 42792 InitialHealth = 260.0 42793 End 42794 42795 Behavior = JetSlowDeathBehavior ModuleTag_03 42796 FXOnGroundDeath = FX_JetOnGroundDeath 42797 OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp 42798 DestructionDelay = 99999999 ; destruction will happen when we 42799 RollRate = 0.2 42800 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 42801 PitchRate = 0.0 42802 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 42803 FXInitialDeath = FX_JetDeathInitial 42804 OCLInitialDeath = OCL_MIGDeathInitial 42805 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 42806 FXSecondary = FX_JetDeathSecondary 42807 OCLSecondary = OCL_MIGDeathSecondary 42808 FXHitGround = FX_JetDeathHitGround 42809 OCLHitGround = OCL_MIGDeathHitGround 42810 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 42811 FXFinalBlowUp = FX_JetDeathFinalBlowUp 42812 OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp 42813 End 42814 42815 42816 Behavior = PhysicsBehavior ModuleTag_05 42817 Mass = 500.0 42818 End 42819 42820 Behavior = JetAIUpdate ModuleTag_06 42821 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 42822 ; note that it's expressed as a percent of max health, not an absolute 42823 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 42824 TakeoffPause = 500 42825 MinHeight = 5 42826 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 42827 Turret 42828 TurretTurnRate = 180 ; this "turret" does not turn 42829 TurretPitchRate = 90 ; nor does it pitch 42830 ControlledWeaponSlots = TERTIARY 42831 End 42832 End 42833 42834 Locomotor = SET_NORMAL B52Locomotor2 42835 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 42836 42837 42838 Behavior = FlammableUpdate ModuleTag_08 42839 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 42840 AflameDamageAmount = 3 ; taking this much damage... 42841 AflameDamageDelay = 500 ; this often. 42842 End 42843 42844 Behavior = TransitionDamageFX ModuleTag_09 42845 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 42846 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 42847 End 42848 42849 Behavior = MaxHealthUpgrade ModuleTag_10 42850 TriggeredBy = Upgrade_ChinaAircraftArmor 42851 AddMaxHealth = 100.0 42852 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 42853 End 42854 42855 42856 42857 Geometry = Box 42858 GeometryIsSmall = Yes 42859 GeometryMajorRadius = 14.0 42860 GeometryMinorRadius = 7.0 42861 GeometryHeight = 5.0 42862 Shadow = SHADOW_VOLUME 42863 42864 Shadow = SHADOW_VOLUME 42865 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 42866 42867 End 42868 42869 ;------------------------------------------------------------------------------ 42870 Object GLAVehicleChopper 42871 42872 ; *** ART Parameters *** 42873 SelectPortrait = SNPOWTruck_L 42874 ButtonImage = SNPOWTruck_L 42875 42876 ;UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 42877 ;UpgradeCameo2 = NONE 42878 ;UpgradeCameo3 = NONE 42879 ;UpgradeCameo4 = NONE 42880 ;UpgradeCameo5 = NONE 42881 42882 Draw = W3DModelDraw ModuleTag_01 ; Helicopter 42883 42884 ExtraPublicBone = RopeStart 42885 ExtraPublicBone = RopeEnd 42886 42887 DefaultConditionState 42888 Model = LittleBird 42889 Animation = LittleBird.LittleBird 42890 AnimationMode = LOOP 42891 WeaponLaunchBone = SECONDARY WEAPONA02 42892 WeaponLaunchBone = PRIMARY WEAPONA01 42893 End 42894 42895 ConditionState = REALLYDAMAGED 42896 Model = LittleBird 42897 Animation = LittleBird.LittleBird 42898 AnimationMode = LOOP 42899 End 42900 42901 42902 ConditionState = RUBBLE 42903 Model = LittleBird 42904 Animation = LittleBird.LittleBird 42905 AnimationMode = LOOP 42906 End 42907 42908 ConditionState = RUBBLE SPECIAL_DAMAGED 42909 Model = LittleBird 42910 HideSubObject = Props01 42911 End 42912 42913 OkToChangeModelColor = Yes 42914 End 42915 42916 Draw = W3DModelDraw ModuleTag_02 ; Cargo net 42917 ConditionState = NONE 42918 Model = None ; Nothing here 42919 TransitionKey = TRANS_Empty 42920 WaitForStateToFinishIfPossible = TRANS_Unloading 42921 End 42922 42923 ConditionState = DYING 42924 Model = None ; Nothing here 42925 End 42926 AliasConditionState = RUBBLE 42927 AliasConditionState = CARRYING RUBBLE 42928 AliasConditionState = DOCKING RUBBLE 42929 AliasConditionState = DOCKING CARRYING RUBBLE 42930 42931 ConditionState = CARRYING 42932 Model = LittleBird ;Carrying a full wobbly net of stuff 42933 Animation = LittleBird.LittleBird 42934 AnimationMode = LOOP 42935 TransitionKey = TRANS_Full 42936 WaitForStateToFinishIfPossible = TRANS_PickingUp 42937 End 42938 42939 ConditionState = DOCKING 42940 Model = LittleBird ;Lowering an empty net, pulling up with stuff 42941 Animation = LittleBird.LittleBird 42942 AnimationMode = ONCE_BACKWARDS 42943 Flags = START_FRAME_LAST 42944 AnimationSpeedFactorRange = .75 .75 42945 TransitionKey = TRANS_PickingUp 42946 WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 42947 End 42948 42949 ConditionState = DOCKING CARRYING 42950 Model = LittleBird ; Lowering a full net, letting stuff fall out, and pulling up an empty net 42951 Animation = LittleBird.LittleBird 42952 AnimationMode = ONCE 42953 AnimationSpeedFactorRange = 2.75 2.75 42954 TransitionKey = TRANS_Unloading 42955 WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 42956 End 42957 End 42958 42959 ; ***DESIGN parameters *** 42960 DisplayName = OBJECT:Chopper 42961 EditorSorting = VEHICLE 42962 Side = GLA 42963 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 42964 VisionRange = 300.0 42965 ShroudClearingRange = 300 42966 BuildCost = 700 42967 BuildTime = 15.0 ;in seconds 42968 Prerequisites 42969 End 42970 ExperienceValue = 50 50 50 50 ;Experience point value at each level 42971 IsTrainable = No 42972 CommandSet = GLAVehicleChopperCommandSet 42973 42974 42975 Prerequisites 42976 Object = GLAAirfield 42977 Object = GLABlackMarket 42978 End 42979 WeaponSet 42980 Conditions = None 42981 Weapon = PRIMARY HumveeGun 42982 End 42983 ArmorSet 42984 Conditions = None 42985 Armor = ComancheArmor 42986 DamageFX = None 42987 End 42988 42989 ; *** AUDIO Parameters *** 42990 VoiceSelect = TechnicalVoiceSelect 42991 VoiceMove = TechnicalVoiceMove 42992 VoiceGuard = TechnicalVoiceMove 42993 VoiceAttack = TechnicalVoiceAttack 42994 SoundDie = TechnicalVoiceDie 42995 SoundEnter = HumveeEnter 42996 SoundExit = HumveeExit 42997 SoundAmbient = ComancheAmbientLoop 42998 UnitSpecificSounds 42999 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 43000 VoiceCreate = TechnicalVoiceCreate 43001 End 43002 43003 43004 ; *** ENGINEERING Parameters *** 43005 RadarPriority = LOCAL_UNIT_ONLY 43006 ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at 43007 ; (well, "near" actually) an Airfield to get healed... 43008 ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. 43009 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE TRANSPORT AIRCRAFT SCORE PRODUCED_AT_HELIPAD 43010 43011 Body = ActiveBody ModuleTag_03 43012 MaxHealth = 120.0 43013 InitialHealth = 120.0 43014 End 43015 43016 Behavior = FXListDie ModuleTag_05 43017 DeathFX = FX_HelicopterStartDeath 43018 End 43019 43020 Behavior = TransitionDamageFX ModuleTag_06 43021 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 43022 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 43023 End 43024 43025 Behavior = ChinookAIUpdate ModuleTag_07 43026 MaxBoxes = 8 43027 SupplyCenterActionDelay = 2000 ; ms for whole thing (one transaction) 43028 SupplyWarehouseActionDelay = 870 ; 875 ; ms per box (many small transactions) 43029 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) 43030 SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted 43031 NumRopes = 4 43032 ; these define how long we can wait, once a guy is on-rope, before throwing another 43033 ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely 43034 ; and we'll wait for each guy to clear before spawning another. 43035 PerRopeDelayMin = 900 43036 PerRopeDelayMax = 1500 43037 RopeWidth = 0.5 43038 RopeColor = R:0 G:0 B:0 43039 RopeWobbleLen = 10 43040 RopeWobbleAmplitude = 0.25 43041 RopeWobbleRate = 180 43042 RopeFinalHeight = 10 ; stop this far above ground 43043 RappelSpeed = 30 43044 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it 43045 43046 End 43047 Locomotor = SET_NORMAL ChinookLocomotor 43048 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 43049 43050 Behavior = TransportContain ModuleTag_08 43051 PassengersAllowedToFire = Yes 43052 Slots = 2 43053 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 43054 DamagePercentToUnits = 100% 43055 AllowInsideKindOf = INFANTRY 43056 ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE VEHICLE 43057 ExitDelay = 100 43058 NumberOfExitPaths = 1 43059 End 43060 Behavior = PhysicsBehavior ModuleTag_09 43061 Mass = 50.0 43062 End 43063 Behavior = HelicopterSlowDeathBehavior ModuleTag_10 43064 DestructionDelay = 99999999 ; the destruction delay 43065 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 43066 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 43067 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 43068 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 43069 SoundDeathLoop = ComancheDamagedLoop 43070 MinSelfSpin = 100 ; in degrees per second 43071 MaxSelfSpin = 300 ; in degrees per second 43072 SelfSpinUpdateDelay = 100 ; in milliseconds 43073 SelfSpinUpdateAmount = 10 ; in degrees 43074 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 43075 MinBladeFlyOffDelay = 1500 ; in milliseconds 43076 MaxBladeFlyOffDelay = 1500 ; in milliseconds 43077 AttachParticle = SootySmokeTrail 43078 AttachParticleBone = Propeller02 43079 BladeObjectName = ComancheBlades 43080 BladeBoneName = Propeller01 43081 FXBlade = FX_HelicopterBladeExplosion 43082 OCLBlade = OCL_HelicopterBladeExplosion 43083 FXHitGround = FX_HelicopterHitGround 43084 OCLHitGround = OCL_HelicopterHitGround 43085 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 43086 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 43087 DelayFromGroundToFinalDeath = 30 43088 FinalRubbleObject = ChinookRubbleHull 43089 End 43090 43091 Behavior = FlammableUpdate ModuleTag_21 43092 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 43093 AflameDamageAmount = 3 ; taking this much damage... 43094 AflameDamageDelay = 500 ; this often. 43095 End 43096 43097 Geometry = BOX 43098 GeometryMajorRadius = 20.0 43099 GeometryMinorRadius = 6.0 43100 GeometryHeight = 12.0 43101 GeometryIsSmall = No 43102 Shadow = SHADOW_VOLUME 43103 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 43104 43105 End 43106 43107 43108 ;--------------------------------------------------------------------------------- 43109 43110 Object ChinaVehicleRL 43111 ; *** ART Parameters *** 43112 SelectPortrait = T19 43113 ButtonImage = T19 43114 43115 Draw = W3DTankDraw ModuleTag_01 43116 43117 OkToChangeModelColor = Yes 43118 43119 DefaultConditionState 43120 Model = s300_rdy 43121 Turret = Turret 43122 TurretPitch = TURRETEL 43123 WeaponFireFXBone = PRIMARY WEAPONA01 43124 WeaponLaunchBone = PRIMARY WEAPONA01 43125 WeaponFireFXBone = SECONDARY WEAPONA02 43126 WeaponLaunchBone = SECONDARY WEAPONA02 43127 End 43128 43129 ConditionState = REALLYDAMAGED 43130 Model = s300_rdy 43131 Turret = Turret 43132 TurretPitch = TURRETEL 43133 End 43134 ConditionState = RUBBLE 43135 Model = s300_rdy 43136 Turret = Turret 43137 TurretPitch = TURRETEL 43138 End 43139 43140 ;*** PACKED STATE -- ready to move *** 43141 ConditionState = MOVING 43142 Animation = s300_rdy.s300_rdy 43143 AnimationMode = ONCE_BACKWARDS 43144 Flags = START_FRAME_FIRST 43145 End 43146 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving 43147 AliasConditionState = BETWEEN_FIRING_SHOTS_A 43148 ;*** 43149 ConditionState = REALLYDAMAGED MOVING 43150 Model = s300_rdy 43151 Animation = s300_rdy.s300_rdy 43152 AnimationMode = ONCE_BACKWARDS 43153 Flags = START_FRAME_FIRST 43154 End 43155 AliasConditionState = REALLYDAMAGED MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving 43156 43157 43158 ;*** UNPACKING STATE -- preparing to fire *** 43159 ConditionState = UNPACKING 43160 Animation = s300_rdy.s300_rdy 43161 AnimationMode = ONCE 43162 End 43163 AliasConditionState = UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 43164 ;*** 43165 ConditionState = REALLYDAMAGED UNPACKING 43166 Model = s300_rdy 43167 Animation = s300_rdy.s300_rdy 43168 AnimationMode = ONCE 43169 End 43170 AliasConditionState = REALLYDAMAGED UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 43171 43172 ;*** PACKING STATE -- preparing to move *** 43173 ConditionState = PACKING 43174 Animation = s300_rdy.s300_rdy 43175 AnimationMode = ONCE_BACKWARDS 43176 Flags = START_FRAME_LAST 43177 End 43178 43179 AliasConditionState = PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 43180 ;*** 43181 ConditionState = REALLYDAMAGED PACKING 43182 Model = s300_rdy.s300_rdy 43183 Animation = s300_f.s300_f 43184 AnimationMode = ONCE_BACKWARDS 43185 Flags = START_FRAME_LAST 43186 End 43187 AliasConditionState = REALLYDAMAGED PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay 43188 43189 ;*** DEPLOYED STATE -- ready to fire *** 43190 ConditionState = DEPLOYED 43191 Animation = s300_rdy.s300_rdy 43192 AnimationMode = ONCE 43193 Flags = START_FRAME_LAST 43194 TransitionKey = TRANS_FIRING_A 43195 End 43196 AliasConditionState = DEPLOYED FIRING_A 43197 AliasConditionState = DEPLOYED BETWEEN_FIRING_SHOTS_A 43198 AliasConditionState = DEPLOYED RELOADING_A 43199 AliasConditionState = DEPLOYED MOVING 43200 43201 ConditionState = DEPLOYED REALLYDAMAGED 43202 Model = s300_rdy 43203 Animation = s300_rdy.s300_rdy 43204 AnimationMode = ONCE 43205 Flags = START_FRAME_LAST 43206 TransitionKey = TRANS_FIRING_A 43207 End 43208 AliasConditionState = DEPLOYED REALLYDAMAGED FIRING_A 43209 AliasConditionState = DEPLOYED REALLYDAMAGED BETWEEN_FIRING_SHOTS_A 43210 AliasConditionState = DEPLOYED REALLYDAMAGED RELOADING_A 43211 AliasConditionState = DEPLOYED REALLYDAMAGED MOVING 43212 43213 TrackMarks = EXTnkTrack.tga 43214 TreadAnimationRate = 4.0 ; amount of tread texture to move per second 43215 43216 End 43217 43218 ; ***DESIGN parameters *** 43219 DisplayName = OBJECT:ChinaVehicleS300 43220 Side = China 43221 EditorSorting = VEHICLE 43222 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 43223 WeaponSet 43224 Conditions = None 43225 Weapon = PRIMARY ChinaMLRSRocket 43226 Weapon = SECONDARY ChinaMLRSRocket 43227 End 43228 ArmorSet 43229 Conditions = None 43230 Armor = TruckArmor 43231 DamageFX = TankDamageFX 43232 End 43233 BuildCost = 1500 43234 BuildTime = 10.0 ;in seconds 43235 VisionRange = 300 43236 ShroudClearingRange = 400 43237 Prerequisites 43238 Object = ChinaWarFactory 43239 End 43240 43241 43242 ; *** ENGINEERING Parameters *** 43243 RadarPriority = UNIT 43244 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 43245 43246 Body = ActiveBody ModuleTag_02 43247 MaxHealth = 200.0 43248 InitialHealth = 200.0 43249 End 43250 43251 ExperienceValue = 100 100 200 400 ;Experience point value at each level 43252 ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 43253 IsTrainable = Yes ;Can gain experience 43254 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 43255 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 43256 CommandSet = ChinaVehicleBattleMasterCommandSet 43257 43258 Behavior = HordeUpdate ModuleTag_04 43259 RubOffRadius = 150 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 43260 UpdateRate = 1000 ; how often to recheck horde status (msec) 43261 Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 43262 KindOf = VEHICLE ; what KindOf's must match to count towards horde-ness 43263 AlliesOnly = Yes ; do we only count allies towards horde status? 43264 ExactMatch = Yes ; do we only count units of our exact same type towards horde status? (overrides kindof) 43265 Count = 5 ; how many units must be within Radius to grant us horde-ness 43266 Action = HORDE ; when horde-ing, grant us the HORDE bonus 43267 End 43268 43269 Behavior = DeployStyleAIUpdate ModuleTag_24 43270 Turret 43271 TurretTurnRate = 0 43272 TurretPitchRate = 0 43273 FirePitch = 90 ; Instead of aiming pitchwise at the target, it will aim here 43274 AllowsPitch = Yes 43275 RecenterTime = 5000 ; how long to wait during idle before recentering 43276 ControlledWeaponSlots = PRIMARY 43277 NaturalTurretAngle = 0 43278 InitiallyDisabled = Yes 43279 End 43280 AutoAcquireEnemiesWhenIdle = No 43281 PackTime = 3333 43282 UnpackTime = 3333 43283 TurretsFunctionOnlyWhenDeployed = Yes 43284 TurretsMustCenterBeforePacking = Yes 43285 AutoAcquireEnemiesWhenIdle = No 43286 PackTime = 3333 43287 UnpackTime = 3333 43288 TurretsFunctionOnlyWhenDeployed = Yes 43289 TurretsMustCenterBeforePacking = Yes 43290 End 43291 43292 Locomotor = SET_NORMAL ChinaNukeCannonLocomotor 43293 Behavior = PhysicsBehavior ModuleTag_03 43294 Mass = 50.0 43295 End 43296 43297 Behavior = SlowDeathBehavior ModuleTag_05 43298 DeathTypes = ALL -CRUSHED -SPLATTED 43299 DestructionDelay = 200 43300 DestructionDelayVariance = 100 43301 FX = FINAL FX_SupplyTruckExplosionOneFinal 43302 OCL = FINAL OCL_ChinaSupplyTruckDeathEffect 43303 End 43304 43305 Behavior = FXListDie ModuleTag_06 43306 DeathTypes = NONE +CRUSHED +SPLATTED 43307 DeathFX = FX_CarCrush 43308 End 43309 43310 Behavior = CreateObjectDie ModuleTag_07 43311 DeathTypes = NONE +CRUSHED +SPLATTED 43312 CreationList = OCL_ChinaSupplyTruck_CrushEffect 43313 End 43314 43315 43316 Behavior = TransitionDamageFX ModuleTag_13 43317 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 43318 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 43319 End 43320 43321 Behavior = FlammableUpdate ModuleTag_21 43322 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 43323 AflameDamageAmount = 3 ; taking this much damage... 43324 AflameDamageDelay = 500 ; this often. 43325 End 43326 43327 Geometry = BOX 43328 GeometryMajorRadius = 13.0 43329 GeometryMinorRadius = 9.0 43330 GeometryHeight = 10 43331 GeometryIsSmall = Yes 43332 Shadow = SHADOW_VOLUME 43333 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 43334 43335 End 43336 43337 ;------------------------------------------------------------------------------ 43338 Object ScorpionMissile2 43339 43340 ; *** ART Parameters *** 43341 Draw = W3DModelDraw ModuleTag_01 43342 OkToChangeModelColor = Yes 43343 ConditionState = NONE 43344 Model = UVScorpion_m 43345 End 43346 End 43347 43348 ; ***DESIGN parameters *** 43349 DisplayName = OBJECT:Missile 43350 EditorSorting = SYSTEM 43351 VisionRange = 0.0 43352 ArmorSet 43353 Conditions = None 43354 Armor = ProjectileArmor 43355 DamageFX = None 43356 End 43357 43358 ; *** ENGINEERING Parameters *** 43359 KindOf = PROJECTILE SMALL_MISSILE 43360 Body = ActiveBody ModuleTag_02 43361 MaxHealth = 100.0 43362 InitialHealth = 100.0 43363 End 43364 43365 ; ---- begin Projectile death behaviors 43366 Behavior = InstantDeathBehavior DeathModuleTag_01 43367 DeathTypes = NONE +DETONATED 43368 ; we detonated normally. 43369 ; no FX, just quiet destroy ourselves 43370 End 43371 Behavior = InstantDeathBehavior DeathModuleTag_02 43372 DeathTypes = NONE +LASERED 43373 ; shot down by laser. 43374 FX = FX_GenericMissileDisintegrate 43375 OCL = OCL_GenericMissileDisintegrate 43376 End 43377 Behavior = InstantDeathBehavior DeathModuleTag_03 43378 DeathTypes = ALL -LASERED -DETONATED 43379 ; shot down by nonlaser. 43380 FX = FX_GenericMissileDeath 43381 End 43382 ; ---- end Projectile death behaviors 43383 43384 Behavior = PhysicsBehavior ModuleTag_07 43385 Mass = 1 43386 End 43387 Behavior = MissileAIUpdate ModuleTag_08 43388 TryToFollowTarget = Yes 43389 FuelLifetime = 10000 43390 InitialVelocity = 75 ; in dist/sec 43391 IgnitionDelay = 30 43392 IgnitionFX = FX_JetMissileIgnition 43393 End 43394 Locomotor = SET_NORMAL ScorpionMissileLocomotor2 43395 43396 43397 Behavior = WeaponBonusUpgrade ModuleTag_08 43398 TriggeredBy = Upgrade_GLAAPRockets 43399 End 43400 43401 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18 43402 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 43403 TriggeredBy = Upgrade_InfantryCaptureBuilding 43404 End 43405 43406 Geometry = Sphere 43407 GeometryIsSmall = Yes 43408 GeometryMajorRadius = 1.0 43409 43410 43411 43412 End 43413 43414 ;------------------------------------------------------------------------------ 43415 Object ChinaInfantryOfficer 43416 43417 ; *** ART Parameters *** 43418 SelectPortrait = SNConscript_L 43419 ButtonImage = SNConscript 43420 43421 UpgradeCameo1 = NONE 43422 ;UpgradeCameo2 = NONE 43423 ;UpgradeCameo3 = NONE 43424 ;UpgradeCameo4 = NONE 43425 ;UpgradeCameo5 = NONE 43426 43427 Draw = W3DModelDraw ModuleTag_01 43428 43429 OkToChangeModelColor = Yes 43430 43431 DefaultConditionState 43432 Model = NIAMBSDR_SKN 43433 IdleAnimation = AIOFCR_SKL.AIOFCR_STA 0 21 43434 ;Regular spice animations 43435 IdleAnimation = AIOFCR_SKL.AIOFCR_IDA 43436 IdleAnimation = AIOFCR_SKL.AIOFCR_IDB 43437 AnimationMode = ONCE 43438 WeaponFireFXBone = PRIMARY Muzzle 43439 WeaponMuzzleFlash = PRIMARY MuzzleFX 43440 TransitionKey = TRANS_STAND 43441 End 43442 43443 ConditionState = MOVING 43444 Animation = AIOFCR_SKL.AIOFCR_RNA 43445 AnimationMode = LOOP 43446 ParticleSysBone = None InfantryDustTrails 43447 End 43448 43449 ; NORMAL ATTACK 43450 ;-------------------------------------------------------- 43451 ; Drawing gun 43452 ConditionState = PREATTACK_A 43453 Animation = AIOFCR_SKL.AIOFCR_ATAST 43454 AnimationMode = ONCE 43455 End 43456 AliasConditionState = PREATTACK_A MOVING 43457 AliasConditionState = PREATTACK_A FIRING_A 43458 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 43459 43460 ; Firing gun 43461 ConditionState = FIRING_A 43462 Animation = AIOFCR_SKL.AIOFCR_ATALP 43463 AnimationMode = LOOP 43464 TransitionKey = TRANS_FIRING_A 43465 End 43466 ConditionState = BETWEEN_FIRING_SHOTS_A 43467 Animation = AIOFCR_SKL.AIOFCR_ATALP 43468 AnimationMode = LOOP 43469 TransitionKey = TRANS_FIRING_A 43470 End 43471 AliasConditionState = RELOADING_A 43472 AliasConditionState = MOVING FIRING_A 43473 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 43474 AliasConditionState = MOVING RELOADING_A 43475 43476 ; This transition allows him to put his gun away when he's finished attacking. 43477 TransitionState = TRANS_FIRING_A TRANS_STAND 43478 Animation = AIOFCR_SKL.AIOFCR_ATAED 43479 AnimationMode = ONCE 43480 End 43481 ;-------------------------------------------------------- 43482 43483 ConditionState = DYING 43484 Animation = AIOFCR_SKL.AIOFCR_DTA 43485 Animation = AIOFCR_SKL.AIOFCR_DTB 43486 AnimationMode = ONCE 43487 TransitionKey = TRANS_Dying 43488 End 43489 43490 TransitionState = TRANS_Dying TRANS_Flailing 43491 Animation = AIOFCR_SKL.AIOFCR_ADTE1 43492 AnimationMode = ONCE 43493 End 43494 43495 ConditionState = DYING EXPLODED_FLAILING 43496 Animation = AIOFCR_SKL.AIOFCR_ADTE2 43497 AnimationMode = LOOP 43498 TransitionKey = TRANS_Flailing 43499 End 43500 43501 ConditionState = DYING EXPLODED_BOUNCING 43502 Animation = AIOFCR_SKL.AIOFCR_ADTE3 43503 AnimationMode = ONCE 43504 TransitionKey = None 43505 End 43506 43507 ConditionState = SPECIAL_CHEERING 43508 Animation = AIOFCR_SKL.AIOFCR_CHA 43509 AnimationMode = LOOP 43510 End 43511 43512 ;PARACHUTING ANIMATIONS 43513 43514 ;@TODO - MISSING ANIMATION FILE 43515 ;ConditionState = FREEFALL 43516 ; Animation = AIOFCR_SKL.AIOFCR_PFL 43517 ; AnimationMode = LOOP 43518 ; TransitionKey = TRANS_Falling 43519 ;End 43520 ;AliasConditionState = FREEFALL REALLYDAMAGED 43521 ;AliasConditionState = FREEFALL DYING 43522 ConditionState = PARACHUTING 43523 Animation = AIOFCR_SKL.AIOFCR_PHG 43524 AnimationMode = LOOP 43525 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 43526 TransitionKey = TRANS_Chute 43527 43528 End 43529 AliasConditionState = PARACHUTING REALLYDAMAGED 43530 AliasConditionState = PARACHUTING DYING 43531 TransitionState = TRANS_Falling TRANS_Chute 43532 Animation = AIOFCR_SKL.AIOFCR_POP 43533 AnimationMode = ONCE 43534 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 43535 End 43536 TransitionState = TRANS_Chute TRANS_Stand 43537 Animation = AIOFCR_SKL.AIOFCR_PTD 43538 AnimationMode = ONCE 43539 End 43540 43541 ;SURRENDER ANIMATIONS 43542 ; surrender is cut. sorry. (srj) 43543 ; ConditionState = SURRENDER 43544 ; Animation = AIOFCR_SKL.AIOFCR_SLP 43545 ; AnimationMode = LOOP 43546 ; TransitionKey = TRANS_SurrenderStand 43547 ; End 43548 ; ConditionState = SURRENDER MOVING 43549 ; Animation = AIOFCR_SKL.AIOFCR_SWKLP 43550 ; AnimationMode = LOOP 43551 ; TransitionKey = TRANS_SurrenderMoving 43552 ; End 43553 ; TransitionState = TRANS_SurrenderStand TRANS_SurrenderMoving 43554 ; Animation = AIOFCR_SKL.AIOFCR_SWKST 43555 ; AnimationMode = ONCE 43556 ; End 43557 ; TransitionState = TRANS_Stand TRANS_SurrenderStand 43558 ; Animation = AIOFCR_SKL.AIOFCR_SST 43559 ; AnimationMode = ONCE 43560 ; End 43561 43562 End 43563 43564 43565 ; ***DESIGN parameters *** 43566 DisplayName = OBJECT:Officer 43567 Side = America 43568 EditorSorting = INFANTRY 43569 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 43570 43571 WeaponSet 43572 Conditions = None 43573 Weapon = PRIMARY AmericaOfficerMachineGun 43574 End 43575 ArmorSet 43576 Conditions = None 43577 Armor = HumanArmor 43578 DamageFX = InfantryDamageFX 43579 End 43580 43581 VisionRange = 200 43582 ShroudClearingRange = 400 43583 Prerequisites 43584 Object = AmericaBarracks 43585 43586 43587 End 43588 BuildCost = 1000 43589 BuildTime = 30.0 ;in seconds 43590 43591 ExperienceValue = 40 40 60 80 ;Experience point value at each level 43592 ExperienceRequired = 0 0 0 0 ;Experience points needed to gain each level 43593 IsTrainable = Yes ;Can gain experience 43594 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 43595 CommandSet = SpyCommandSet 43596 43597 ; *** AUDIO Parameters *** 43598 VoiceSelect = PathfinderVoiceSelect 43599 VoiceMove = PathfinderVoiceMove 43600 VoiceGuard = PathfinderVoiceMove 43601 VoiceAttack = PathfinderVoiceAttack 43602 SoundDie = PathfinderVoiceDie 43603 SoundDieFire = DieByFireUSA 43604 SoundDieToxin = DieByToxinUSA 43605 VoiceFear = PathfinderVoiceFear 43606 ; surrender is cut. sorry. (srj) 43607 ; VoiceSurrender =VoiceSurrender 43608 SoundStealthOn = StealthOn 43609 SoundStealthOff = StealthOff 43610 VoiceFear = PathfinderVoiceFear 43611 43612 UnitSpecificSounds 43613 VoiceCreate = PathfinderVoiceCreate 43614 VoiceGarrison = PathfinderVoiceGarrison 43615 VoiceEnter = PathfinderVoiceMove 43616 VoiceEnterHostile = PathfinderVoiceMove 43617 VoiceGetHealed = PathfinderVoiceMove 43618 End 43619 43620 ; *** ENGINEERING Parameters *** 43621 RadarPriority = UNIT 43622 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE 43623 43624 Body = ActiveBody ModuleTag_02 43625 MaxHealth = 120.0 43626 InitialHealth = 120.0 43627 End 43628 43629 Behavior = AIUpdateInterface ModuleTag_03 43630 AutoAcquireEnemiesWhenIdle = Yes Stealthed 43631 MoodAttackCheckRate = 250 43632 End 43633 43634 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 43635 ScanRate = 1000 ; once a second. 43636 ScanRange = 300 ; 43637 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 43638 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 43639 End 43640 43641 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor 43642 43643 Behavior = ExperienceScalarUpgrade ModuleTag_05 43644 TriggeredBy = Upgrade_AmericaAdvancedTraining 43645 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 43646 End 43647 43648 Behavior = PhysicsBehavior ModuleTag_06 43649 Mass = 5.0 43650 End 43651 43652 Behavior = SquishCollide ModuleTag_10 43653 ;nothing 43654 End 43655 43656 43657 ; --- begin Death modules --- 43658 Behavior = SlowDeathBehavior ModuleTag_Death01 43659 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA 43660 SinkDelay = 3000 43661 SinkRate = 0.5 ; in Dist/Sec 43662 DestructionDelay = 8000 43663 FX = INITIAL FX_GIDie 43664 End 43665 Behavior = SlowDeathBehavior ModuleTag_Death02 43666 DeathTypes = NONE +CRUSHED +SPLATTED 43667 SinkDelay = 3000 43668 SinkRate = 0.5 ; in Dist/Sec 43669 DestructionDelay = 8000 43670 FX = INITIAL FX_GIDieCrushed 43671 End 43672 Behavior = SlowDeathBehavior ModuleTag_Death03 43673 DeathTypes = NONE +EXPLODED 43674 SinkDelay = 3000 43675 SinkRate = 0.5 ; in Dist/Sec 43676 DestructionDelay = 8000 43677 FX = INITIAL FX_GIDie 43678 FlingForce = 8 43679 FlingForceVariance = 3 43680 FlingPitch = 60 43681 FlingPitchVariance = 10 43682 End 43683 Behavior = SlowDeathBehavior ModuleTag_Death04 43684 DeathTypes = NONE +BURNED 43685 DestructionDelay = 0 43686 FX = INITIAL FX_GIDie 43687 OCL = INITIAL OCL_FlamingInfantry 43688 End 43689 Behavior = SlowDeathBehavior ModuleTag_Death05 43690 DeathTypes = NONE +POISONED 43691 DestructionDelay = 0 43692 FX = INITIAL FX_GIDie 43693 OCL = INITIAL OCL_ToxicInfantry 43694 End 43695 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 43696 DeathTypes = NONE +POISONED_BETA 43697 DestructionDelay = 0 43698 FX = INITIAL FX_GIDie 43699 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 43700 End 43701 ; --- end Death modules --- 43702 43703 Behavior = PoisonedBehavior ModuleTag_13 43704 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 43705 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 43706 End 43707 43708 Geometry = CYLINDER 43709 GeometryMajorRadius = 10.0 43710 GeometryMinorRadius = 10.0 43711 GeometryHeight = 12.0 43712 GeometryIsSmall = Yes 43713 Shadow = SHADOW_DECAL 43714 ShadowSizeX = 14; 43715 ShadowSizeY = 14; 43716 ShadowTexture = ShadowI; 43717 BuildCompletion = APPEARS_AT_RALLY_POINT 43718 43719 End 43720 43721 43722 43723 ;------------------------------------------------------------------------------ 43724 43725 Object ChinaTankMine 43726 43727 ; *** ART Parameters *** 43728 SelectPortrait = T14 43729 ButtonImage = T14 43730 43731 Draw = W3DTankDraw ModuleTag_01 43732 43733 OkToChangeModelColor = Yes 43734 DefaultConditionState 43735 Model = NVMINE 43736 Turret = Turret01 43737 AltTurret = Turret02 43738 WeaponFireFXBone = PRIMARY Tur1Muzzle 43739 WeaponRecoilBone = PRIMARY Tur1Barrel 43740 WeaponFireFXBone = SECONDARY Tur2Muzzle 43741 WeaponRecoilBone = SECONDARY Tur2Barrel 43742 End 43743 43744 End 43745 43746 ; ***DESIGN parameters *** 43747 DisplayName = OBJECT:ChinaTankMine 43748 Side = China 43749 EditorSorting = VEHICLE 43750 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 43751 43752 WeaponSet 43753 Conditions = None 43754 Weapon = PRIMARY HumveeGun 43755 AutoChooseSources = PRIMARY NONE 43756 Weapon = SECONDARY RocketMines 43757 AutoChooseSources = SECONDARY NONE 43758 Conditions = MINE_CLEARING_DETAIL 43759 Weapon = TERTIARY DozerMineDisarmingWeapon 43760 End 43761 43762 ArmorSet 43763 Conditions = None 43764 Armor = AntiAirVehicle 43765 DamageFX = TankDamageFX 43766 End 43767 43768 BuildCost = 2000 ;00 43769 BuildTime = 20 ;0.0 ;in seconds 43770 VisionRange = 350 43771 ShroudClearingRange = 400 43772 43773 Prerequisites 43774 Object = ChinaWarFactory 43775 Object = CommandandControl 43776 Science = SCIENCE_ArtilleryTraining 43777 End 43778 43779 ExperienceValue = 20 20 50 80 ;Experience point value at each level 43780 ExperienceRequired = 0 50 80 120 ;Experience points needed to gain each level 43781 IsTrainable = Yes ;Can gain experience 43782 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 43783 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 43784 MaxSimultaneousOfType = 3 43785 CommandSet = ChinaVehicleTankMineCommandSet 43786 43787 Behavior = AIUpdateInterface ModuleTag_20 43788 AutoAcquireEnemiesWhenIdle = Yes 43789 MoodAttackCheckRate = 250 43790 End 43791 43792 ; *** AUDIO Parameters *** 43793 VoiceSelect = GattlingTankVoiceSelect 43794 VoiceMove = GattlingTankVoiceMove 43795 VoiceGuard = GattlingTankVoiceMove 43796 VoiceAttack = GattlingTankVoiceAttack 43797 SoundMoveStart = GattlingTankMoveStart 43798 SoundMoveStartDamaged = GattlingTankMoveStart 43799 43800 UnitSpecificSounds 43801 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 43802 VoiceCreate = GattlingTankVoiceCreate 43803 TurretMoveStart = NoSound 43804 TurretMoveLoop = TurretMoveLoopLoud 43805 VoiceCrush = GattlingTankVoiceCrush 43806 VoiceEnter = GattlingTankVoiceMove 43807 VoiceRapidFire = GattlingTankVoiceRapid 43808 End 43809 43810 ; *** ENGINEERING Parameters *** 43811 RadarPriority = UNIT 43812 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE 43813 43814 Body = ActiveBody ModuleTag_02 43815 MaxHealth = 100.0 43816 InitialHealth = 100.0 43817 End 43818 43819 43820 43821 Behavior = AIUpdateInterface ModuleTag_04 43822 Turret 43823 TurretTurnRate = 100 43824 TurretPitchRate = 100 43825 AllowsPitch = Yes 43826 FirePitch = 45 43827 ControlledWeaponSlots = SECONDARY 43828 End 43829 AutoAcquireEnemiesWhenIdle = No NotWhileAttacking 43830 End 43831 43832 Locomotor = SET_NORMAL GattlingTankLocomotor 43833 43834 Behavior = PhysicsBehavior ModuleTag_04 43835 Mass = 80.0 43836 End 43837 43838 ; Just explode death 43839 Behavior = SlowDeathBehavior ModuleTag_05 43840 ProbabilityModifier = 19 43841 DestructionDelay = 200 43842 DestructionDelayVariance = 100 43843 43844 SinkRate = 0.5 ; in Dist/Sec 43845 43846 OCL = FINAL OCL_ChinaTankGattlingDebris 43847 FX = FINAL FX_GattlingExplosionOneFinal 43848 End 43849 43850 Behavior = CreateCrateDie ModuleTag_06 43851 CrateData = SalvageCrateData 43852 ;CrateData = EliteTankCrateData 43853 ;CrateData = HeroicTankCrateData 43854 End 43855 43856 Behavior = TransitionDamageFX ModuleTag_07 43857 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 43858 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 43859 End 43860 43861 Behavior = FlammableUpdate ModuleTag_21 43862 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 43863 AflameDamageAmount = 3 ; taking this much damage... 43864 AflameDamageDelay = 500 ; this often. 43865 End 43866 43867 Geometry = BOX 43868 GeometryMajorRadius = 15.0 43869 GeometryMinorRadius = 10.0 43870 GeometryHeight = 15.0 43871 GeometryIsSmall = Yes 43872 Shadow = SHADOW_VOLUME 43873 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 43874 43875 End 43876 Object ChinaSMine 43877 ; *** ART Parameters *** 43878 Draw = W3DModelDraw ModuleTag_01 43879 ConditionState = NONE 43880 Model = AVRaptor_M 43881 End 43882 End 43883 ; ***DESIGN parameters *** 43884 DisplayName = OBJECT:Missile 43885 EditorSorting = SYSTEM 43886 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 43887 VisionRange = 0 43888 ArmorSet 43889 Conditions = None 43890 Armor = ProjectileArmor 43891 DamageFX = None 43892 End 43893 ; *** ENGINEERING Parameters *** 43894 KindOf = CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE 43895 Body = ActiveBody ModuleTag_02 43896 MaxHealth = 100.0 43897 InitialHealth = 100.0 43898 End 43899 Behavior = DestroyDie ModuleTag_03 43900 ;nothing 43901 End 43902 Behavior = DumbProjectileBehavior ModuleTag_04 43903 DetonateCallsKill = Yes 43904 FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 43905 SecondHeight = 150 43906 FirstPercentIndent = 20% ; Percentage of shot distance control points are placed 43907 SecondPercentIndent = 90% 43908 FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 43909 End 43910 Behavior = PhysicsBehavior ModuleTag_05 43911 Mass = 1.0 43912 End 43913 Behavior = HeightDieUpdate ModuleTag_06 43914 TargetHeight = 1.0 43915 TargetHeightIncludesStructures = No 43916 OnlyWhenMovingDown = Yes 43917 InitialDelay = 1000 43918 End 43919 43920 Behavior = GenerateMinefieldBehavior ModuleTag_07 43921 MineName = ChinaClusterMine 43922 DistanceAroundObject = 0 43923 GenerateOnlyOnDeath = Yes 43924 SmartBorder = No 43925 SmartBorderSkipInterior = No 43926 AlwaysCircular = Yes 43927 GenerationFX = WeaponFX_ClusterMineImpact 43928 End 43929 43930 Behavior = InstantDeathBehavior DeathModuleTag_09 43931 DeathTypes = NONE +DETONATED 43932 End 43933 Geometry = Sphere 43934 GeometryIsSmall = Yes 43935 GeometryMajorRadius = 1.0 43936 End 43937 ;------------------------------------------------------------------------------ 43938 Object ChinaTankT98 43939 43940 ; *** ART Parameters *** 43941 SelectPortrait = T13 43942 ButtonImage = T13 43943 43944 UpgradeCameo1 = Upgrade_Nationalism 43945 UpgradeCameo2 = Upgrade_ChinaUraniumShells 43946 UpgradeCameo3 = Upgrade_ChinaNuclearTanks 43947 UpgradeCameo4 = Upgrade_ChinaT98ReactiveArmor 43948 ;UpgradeCameo5 = NONE 43949 43950 Draw = W3DTankDraw ModuleTag_01 43951 OkToChangeModelColor = Yes 43952 DefaultConditionState 43953 Model = NVT98 43954 Turret = Turret01 43955 WeaponFireFXBone = PRIMARY Muzzle 43956 WeaponRecoilBone = PRIMARY Barrel 43957 WeaponMuzzleFlash = PRIMARY MuzzleFX 43958 WeaponLaunchBone = PRIMARY Muzzle 43959 AltTurret = GUN 43960 WeaponFireFXBone = SECONDARY GUN 43961 WeaponLaunchBone = SECONDARY GUN 43962 End 43963 43964 ConditionState = REALLYDAMAGED 43965 Model = NVT98 43966 Turret = Turret01 43967 WeaponFireFXBone = PRIMARY Muzzle 43968 WeaponRecoilBone = PRIMARY Barrel 43969 WeaponMuzzleFlash = PRIMARY MuzzleFX 43970 WeaponLaunchBone = PRIMARY Muzzle 43971 AltTurret = GUN 43972 WeaponFireFXBone = SECONDARY GUN 43973 WeaponLaunchBone = SECONDARY GUN 43974 End 43975 43976 ConditionState = WEAPONSET_PLAYER_UPGRADE 43977 Model = NVT98 43978 Turret = Turret01 43979 WeaponFireFXBone = PRIMARY Muzzle 43980 WeaponRecoilBone = PRIMARY Barrel 43981 WeaponMuzzleFlash = PRIMARY MuzzleFX 43982 WeaponLaunchBone = PRIMARY Muzzle 43983 AltTurret = GUN 43984 WeaponFireFXBone = SECONDARY GUN 43985 WeaponLaunchBone = SECONDARY GUN 43986 WeaponFireFXBone = TERTIARY GUN 43987 WeaponLaunchBone = TERTIARY GUN 43988 43989 End 43990 43991 ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE 43992 Model = NVT98 43993 Turret = Turret01 43994 WeaponFireFXBone = PRIMARY Muzzle 43995 WeaponRecoilBone = PRIMARY Barrel 43996 WeaponMuzzleFlash = PRIMARY MuzzleFX 43997 WeaponLaunchBone = PRIMARY Muzzle 43998 AltTurret = GUN 43999 WeaponFireFXBone = SECONDARY GUN 44000 WeaponLaunchBone = SECONDARY GUN 44001 WeaponFireFXBone = TERTIARY GUN 44002 WeaponLaunchBone = TERTIARY GUN 44003 End 44004 44005 ConditionState = RUBBLE 44006 Model = NVT98 44007 Turret = Turret01 44008 End 44009 44010 TrackMarks = EXTnkTrack.tga 44011 End 44012 44013 ; ***DESIGN parameters *** 44014 DisplayName = OBJECT:T98 44015 Side = China 44016 EditorSorting = VEHICLE 44017 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 44018 44019 WeaponSet 44020 Conditions = None 44021 Weapon = PRIMARY T98TankGun 44022 44023 Weapon = SECONDARY HumveeGun 44024 44025 End 44026 44027 WeaponSet 44028 Conditions = PLAYER_UPGRADE 44029 Weapon = PRIMARY T98TankGun 44030 Weapon = SECONDARY HumveeGun 44031 44032 End 44033 44034 ArmorSet 44035 Conditions = None 44036 Armor = TankArmor 44037 DamageFX = TankDamageFX 44038 End 44039 44040 BuildCost = 1500 44041 BuildTime = 15.0 ;in seconds 44042 VisionRange = 150 44043 ShroudClearingRange = 300 44044 44045 Prerequisites 44046 ; Object = ChinaWarFactory 44047 ; Object = ChinaPropagandaCenter 44048 Science = SCIENCE_T98Tank 44049 End 44050 44051 ExperienceValue = 100 100 200 400 ;Experience point value at each level 44052 ExperienceRequired = 0 20 30 60 ;Experience points needed to gain each level 44053 IsTrainable = Yes ;Can gain experience 44054 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 44055 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 44056 CommandSet = ChinaVehicleBattleMasterCommandSet 44057 44058 ; *** AUDIO Parameters *** 44059 VoiceSelect = BattleMasterTankVoiceSelect 44060 VoiceMove = BattleMasterTankVoiceMove 44061 VoiceGuard = BattleMasterTankVoiceMove 44062 VoiceAttack = BattleMasterTankVoiceAttack 44063 SoundMoveStart = BattleMasterTankMoveStart 44064 SoundMoveStartDamaged = BattleMasterTankMoveStart 44065 44066 UnitSpecificSounds 44067 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 44068 VoiceCreate = BattleMasterTankVoiceCreate 44069 TurretMoveStart = NoSound 44070 TurretMoveLoop = TurretMoveLoop 44071 VoiceCrush = BattleMasterTankVoiceCrush 44072 VoiceEnter = BattleMasterTankVoiceMove 44073 End 44074 44075 ; *** ENGINEERING Parameters *** 44076 RadarPriority = UNIT 44077 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE 44078 44079 Body = ActiveBody ModuleTag_02 44080 MaxHealth = 700.0 44081 InitialHealth = 700.0 44082 End 44083 44084 Behavior = AIUpdateInterface ModuleTag_03 44085 Turret 44086 TurretTurnRate = 120 ; turn rate, in degrees per sec 44087 ControlledWeaponSlots = PRIMARY 44088 End 44089 44090 AltTurret 44091 TurretTurnRate = 360 ; turn rate, in degrees per sec 44092 ControlledWeaponSlots = SECONDARY TERTIARY 44093 End 44094 AutoAcquireEnemiesWhenIdle = Yes 44095 End 44096 44097 Locomotor = SET_NORMAL T98Locomotor 44098 Locomotor = SET_NORMAL_UPGRADED NuclearBattleMasterLocomotor 44099 44100 Behavior = HordeUpdate ModuleTag_04 44101 RubOffRadius = 150 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 44102 UpdateRate = 1000 ; how often to recheck horde status (msec) 44103 Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 44104 KindOf = VEHICLE ; what KindOf's must match to count towards horde-ness 44105 AlliesOnly = Yes ; do we only count allies towards horde status? 44106 ExactMatch = Yes ; do we only count units of our exact same type towards horde status? (overrides kindof) 44107 Count = 5 ; how many units must be within Radius to grant us horde-ness 44108 Action = HORDE ; when horde-ing, grant us the HORDE bonus 44109 End 44110 44111 Behavior = PhysicsBehavior ModuleTag_05 44112 Mass = 40.0 44113 End 44114 44115 Behavior = FireWeaponWhenDeadBehavior ModuleTag_06 44116 DeathWeapon = NuclearTankDeathWeapon 44117 StartsActive = No ; turned on by upgrade 44118 TriggeredBy = Upgrade_ChinaNuclearTanks 44119 End 44120 Behavior = LocomotorSetUpgrade ModuleTag_07 44121 TriggeredBy = Upgrade_ChinaNuclearTanks 44122 End 44123 44124 ; A crushing defeat 44125 Behavior = DestroyDie ModuleTag_08 44126 DeathTypes = NONE +CRUSHED +SPLATTED 44127 End 44128 Behavior = FXListDie ModuleTag_09 44129 DeathTypes = NONE +CRUSHED +SPLATTED 44130 DeathFX = FX_CarCrush 44131 End 44132 Behavior = CreateObjectDie ModuleTag_10 44133 DeathTypes = NONE +CRUSHED +SPLATTED 44134 CreationList = OCL_CrusaderTank_CrushEffect 44135 End 44136 Behavior = CreateCrateDie ModuleTag_11 44137 CrateData = SalvageCrateData 44138 ;CrateData = EliteTankCrateData 44139 ;CrateData = HeroicTankCrateData 44140 End 44141 44142 44143 Behavior = SlowDeathBehavior ModuleTag_12 44144 DeathTypes = ALL -CRUSHED -SPLATTED 44145 ProbabilityModifier = 25 44146 DestructionDelay = 200 44147 DestructionDelayVariance = 100 44148 OCL = FINAL OCL_ChinaTankBattleMasterDebris 44149 FX = FINAL FX_BattleMasterExplosionOneFinal 44150 End 44151 44152 Behavior = TransitionDamageFX ModuleTag_13 44153 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 44154 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 44155 End 44156 44157 Behavior = MaxHealthUpgrade ModuleTag_10 44158 TriggeredBy = Upgrade_ChinaT98ReactiveArmor 44159 AddMaxHealth = 200.0 44160 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 44161 44162 44163 End 44164 44165 Behavior = FlammableUpdate ModuleTag_21 44166 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 44167 AflameDamageAmount = 3 ; taking this much damage... 44168 AflameDamageDelay = 500 ; this often. 44169 End 44170 44171 Geometry = BOX 44172 GeometryMajorRadius = 13.0 44173 GeometryMinorRadius = 9.0 44174 GeometryHeight = 10 44175 GeometryIsSmall = Yes 44176 Shadow = SHADOW_VOLUME 44177 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 44178 44179 End 44180 ;---------------------------------------------------------------------------- 44181 Object ChinaJetSU30 44182 44183 ; *** ART Parameters *** 44184 SelectPortrait = T1 44185 ButtonImage = T1 44186 44187 UpgradeCameo1 = Upgrade_ChinaAircraftArmor 44188 ;UpgradeCameo2 = NONE 44189 ;UpgradeCameo3 = NONE 44190 ;UpgradeCameo4 = NONE 44191 ;UpgradeCameo5 = NONE 44192 44193 Draw = W3DModelDraw ModuleTag_01 44194 44195 OkToChangeModelColor = Yes 44196 ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY 44197 44198 DefaultConditionState 44199 Model = Su-30mk 44200 HideSubObject = BurnerFX01 BurnerFX02 44201 WeaponLaunchBone = PRIMARY WeaponA 44202 WeaponLaunchBone = SECONDARY WeaponA 44203 44204 End 44205 44206 ConditionState = JETEXHAUST 44207 ParticleSysBone = Wingtip01 JetContrail 44208 ParticleSysBone = Wingtip02 JetContrail 44209 End 44210 44211 ConditionState = JETEXHAUST JETAFTERBURNER 44212 ShowSubObject = BurnerFX01 BurnerFX02 44213 ParticleSysBone = Exhaust01 JetExhaust 44214 ParticleSysBone = Exhaust02 JetExhaust 44215 ParticleSysBone = Wingtip01 JetContrail 44216 ParticleSysBone = Wingtip02 JetContrail 44217 End 44218 44219 ConditionState = REALLYDAMAGED 44220 Model = Su-30mk 44221 ParticleSysBone = Wingtip01 JetContrail 44222 ParticleSysBone = Wingtip02 JetContrail 44223 End 44224 44225 ConditionState = RUBBLE 44226 Model = Su-30mk 44227 End 44228 44229 ConditionState = REALLYDAMAGED JETEXHAUST 44230 Model = Su-30mk 44231 ParticleSysBone = Wingtip01 JetContrail 44232 ParticleSysBone = Wingtip02 JetContrail 44233 End 44234 44235 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 44236 Model = Su-30mk 44237 ShowSubObject = BurnerFX01 BurnerFX02 44238 ParticleSysBone = Engine01 JetExhaust 44239 ParticleSysBone = Engine02 JetExhaust 44240 ParticleSysBone = Wingtip01 JetContrail 44241 ParticleSysBone = Wingtip02 JetContrail 44242 End 44243 44244 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 44245 ; @todo srj -- model missing 44246 ;Model = NVMIG_D1B 44247 Model = Su-30mk 44248 ;HideSubObject is needed cause there're inherited from default condition state 44249 HideSubObject = None 44250 ShowSubObject = None 44251 ParticleSysBone = Engine01 JetExhaust 44252 ParticleSysBone = Engine02 JetExhaust 44253 ParticleSysBone = Wingtip01 JetContrail 44254 ParticleSysBone = Wingtip02 JetContrail 44255 End 44256 44257 End 44258 44259 ; ***DESIGN parameters *** 44260 DisplayName = OBJECT:SU30 44261 EditorSorting = VEHICLE 44262 Side = China 44263 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 44264 VisionRange = 300.0 44265 ShroudClearingRange = 400.0 44266 44267 Prerequisites 44268 Object = ChinaAirfield 44269 Object = CommandandControl 44270 Science = SCIENCE_NukeLauncher 44271 44272 End 44273 WeaponSet 44274 Conditions = None 44275 Weapon = PRIMARY su30Weapon 44276 PreferredAgainst = PRIMARY VEHICLE 44277 Weapon = SECONDARY AuroraBombWeapon 44278 PreferredAgainst = SECONDARY STRUCTURE 44279 44280 End 44281 44282 44283 44284 ArmorSet 44285 Conditions = None 44286 Armor = AirplaneArmor 44287 DamageFX = None 44288 End 44289 44290 BuildCost = 2000 44291 BuildTime = 20 44292 ExperienceValue = 50 50 100 150 ;Experience point value at each level 44293 ExperienceRequired = 0 50 60 80 ;Experience points needed to gain each level 44294 IsTrainable = Yes ;Can gain experience 44295 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 44296 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 44297 CommandSet = ChinaJetsu30CommandSet 44298 44299 ; *** AUDIO Parameters *** 44300 VoiceSelect = MigVoiceSelect 44301 VoiceMove = MigVoiceMove 44302 VoiceAttack = MigVoiceAttack 44303 VoiceAttackAir = MigVoiceAttackAir 44304 VoiceGuard = MigVoiceAirPatrol 44305 SoundAmbient = MigAmbientLoop 44306 SoundDie = MigVoiceFalling 44307 UnitSpecificSounds 44308 VoiceCreate = MigVoiceCreate 44309 Afterburner = RaptorAfterburner 44310 VoiceGarrison = MigVoiceMove 44311 End 44312 44313 ; *** ENGINEERING Parameters *** 44314 RadarPriority = UNIT 44315 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 44316 Body = ActiveBody ModuleTag_02 44317 MaxHealth = 250.0 44318 InitialHealth = 250.0 44319 End 44320 44321 Behavior = JetSlowDeathBehavior ModuleTag_03 44322 FXOnGroundDeath = FX_JetOnGroundDeath 44323 OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp 44324 DestructionDelay = 99999999 ; destruction will happen when we 44325 RollRate = 0.2 44326 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 44327 PitchRate = 0.0 44328 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 44329 FXInitialDeath = FX_JetDeathInitial 44330 OCLInitialDeath = OCL_MIGDeathInitial 44331 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 44332 FXSecondary = FX_JetDeathSecondary 44333 OCLSecondary = OCL_MIGDeathSecondary 44334 FXHitGround = FX_JetDeathHitGround 44335 OCLHitGround = OCL_MIGDeathHitGround 44336 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 44337 FXFinalBlowUp = FX_JetDeathFinalBlowUp 44338 OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp 44339 End 44340 44341 Behavior = WeaponSetUpgrade ModuleTag_04 44342 TriggeredBy = Upgrade_ChinaBlackNapalm 44343 End 44344 44345 Behavior = PhysicsBehavior ModuleTag_05 44346 Mass = 500.0 44347 End 44348 44349 44350 Behavior = JetAIUpdate ModuleTag_06 44351 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 44352 ; note that it's expressed as a percent of max health, not an absolute 44353 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 44354 TakeoffPause = 500 44355 MinHeight = 5 44356 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 44357 End 44358 44359 Locomotor = SET_NORMAL MIGLocomotor 44360 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 44361 44362 44363 Behavior = FlammableUpdate ModuleTag_08 44364 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 44365 AflameDamageAmount = 3 ; taking this much damage... 44366 AflameDamageDelay = 500 ; this often. 44367 End 44368 44369 Behavior = TransitionDamageFX ModuleTag_09 44370 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 44371 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 44372 End 44373 44374 Behavior = MaxHealthUpgrade ModuleTag_10 44375 TriggeredBy = Upgrade_ChinaAircraftArmor 44376 AddMaxHealth = 40.0 44377 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 44378 End 44379 44380 44381 44382 Geometry = Box 44383 GeometryIsSmall = Yes 44384 GeometryMajorRadius = 14.0 44385 GeometryMinorRadius = 7.0 44386 GeometryHeight = 5.0 44387 Shadow = SHADOW_VOLUME 44388 44389 Shadow = SHADOW_VOLUME 44390 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 44391 44392 End 44393 44394 44395 44396 ;copy This to Factionunit.ini------------------------------------------------------------------------------ 44397 Object Blackhawk 44398 44399 ; *** ART Parameters *** 44400 SelectPortrait = T15 44401 ButtonImage = T15 44402 ;UpgradeCameo1 = NONE 44403 ;UpgradeCameo2 = NONE 44404 ;UpgradeCameo3 = NONE 44405 ;UpgradeCameo4 = NONE 44406 ;UpgradeCameo5 = NONE 44407 44408 Draw = W3DModelDraw ModuleTag_01 ; Helicopter 44409 44410 ExtraPublicBone = RopeStart 44411 ExtraPublicBone = RopeEnd 44412 44413 DefaultConditionState 44414 Model = uh-60 44415 HideSubObject = MissileUpgrade 44416 Animation = uh-60.uh-60 44417 AnimationMode = LOOP 44418 WeaponMuzzleFlash = PRIMARY MuzzleFX 44419 WeaponFireFXBone = PRIMARY Muzzle 44420 WeaponFireFXBone = SECONDARY WEAPONA 44421 WeaponLaunchBone = SECONDARY WEAPONA 44422 End 44423 44424 ConditionState = REALLYDAMAGED 44425 Model = uh-60 44426 Animation = uh-60.uh-60 44427 AnimationMode = LOOP 44428 End 44429 44430 ConditionState = RUBBLE 44431 Model = uh-60 44432 Animation = uh-60.uh-60 44433 AnimationMode = LOOP 44434 End 44435 44436 ConditionState = RUBBLE SPECIAL_DAMAGED 44437 Model = uh-60 44438 HideSubObject = AVComanche_Prop 44439 End 44440 44441 OkToChangeModelColor = Yes 44442 End 44443 44444 Draw = W3DModelDraw ModuleTag_02 ; Cargo net 44445 ConditionState = NONE 44446 Model = None ; Nothing here 44447 TransitionKey = TRANS_Empty 44448 WaitForStateToFinishIfPossible = TRANS_Unloading 44449 End 44450 44451 ConditionState = DYING 44452 Model = None ; Nothing here 44453 End 44454 AliasConditionState = RUBBLE 44455 AliasConditionState = CARRYING RUBBLE 44456 AliasConditionState = DOCKING RUBBLE 44457 AliasConditionState = DOCKING CARRYING RUBBLE 44458 44459 ConditionState = CARRYING 44460 Model = uh-60 44461 Animation = uh-60.uh-60 44462 AnimationMode = LOOP 44463 TransitionKey = TRANS_Full 44464 WaitForStateToFinishIfPossible = TRANS_PickingUp 44465 End 44466 44467 ConditionState = DOCKING 44468 Model = uh-60 44469 Animation = uh-60.uh-60 44470 AnimationMode = LOOP 44471 TransitionKey = TRANS_PickingUp 44472 WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 44473 End 44474 44475 ConditionState = DOCKING CARRYING 44476 Model = uh-60 44477 Animation = uh-60.uh-60 44478 AnimationMode = LOOP 44479 TransitionKey = TRANS_Unloading 44480 WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. 44481 End 44482 End 44483 44484 ; ***DESIGN parameters *** 44485 DisplayName = OBJECT:Blackhawk 44486 EditorSorting = VEHICLE 44487 Side = America 44488 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 44489 VisionRange = 300.0 44490 ShroudClearingRange = 600 44491 BuildCost = 1500 44492 BuildTime = 25.0 ;in seconds 44493 Prerequisites 44494 Object = AmericaAirfield 44495 Science = SCIENCE_StealthFighter 44496 End 44497 ExperienceValue = 50 50 50 50 ;Experience point value at each level 44498 IsTrainable = No 44499 CommandSet = blackhawkcommandset 44500 WeaponSet 44501 Conditions = None 44502 ; ----- 44503 Weapon = PRIMARY Chinook 44504 PreferredAgainst = PRIMARY INFANTRY PROJECTILE AIRCRAFT 44505 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 44506 ; ----- 44507 Weapon = SECONDARY RocketDisMines 44508 AutoChooseSources = SECONDARY NONE 44509 End 44510 44511 ArmorSet 44512 Conditions = None 44513 Armor = ComancheArmor 44514 DamageFX = None 44515 End 44516 44517 ; *** AUDIO Parameters *** 44518 VoiceSelect = ChinookVoiceSelect 44519 VoiceMove = ChinookVoiceMove 44520 VoiceAttack = ChinookVoiceAttack 44521 SoundAmbient = ChinookAmbientLoop 44522 SoundAmbientRubble = NoSound 44523 SoundDie = ChinookVoiceFalling 44524 SoundEnter = HumveeEnter 44525 SoundExit = HumveeExit 44526 UnitSpecificSounds 44527 VoiceCreate = ChinookVoiceCreate 44528 VoiceSupply = ChinookVoiceSupply 44529 VoiceUnload = ChinookVoiceUnload 44530 VoiceCombatDrop = ChinookVoiceCombatDrop 44531 VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! 44532 VoiceGarrison = ChinookVoiceMove 44533 End 44534 44535 ; *** ENGINEERING Parameters *** 44536 RadarPriority = UNIT 44537 ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at 44538 ; (well, "near" actually) an Airfield to get healed... 44539 ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. 44540 KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT SCORE PRODUCED_AT_HELIPAD 44541 44542 Behavior = WeaponSetUpgrade ModuleTag_02 44543 TriggeredBy = Upgrade_ComancheRocketPods 44544 End 44545 44546 Body = ActiveBody ModuleTag_03 44547 MaxHealth = 400.0 44548 InitialHealth = 400.0 44549 End 44550 44551 Behavior = FXListDie ModuleTag_05 44552 DeathFX = FX_HelicopterStartDeath 44553 End 44554 44555 Behavior = TransitionDamageFX ModuleTag_06 44556 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 44557 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 44558 End 44559 44560 Behavior = ChinookAIUpdate ModuleTag_07 44561 ;MaxBoxes = 8 44562 ;SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction) 44563 ;SupplyWarehouseActionDelay = 1250 ; 875 ; ms per box (many small transactions) 44564 ;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) 44565 ;SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted 44566 NumRopes = 4 44567 ; these define how long we can wait, once a guy is on-rope, before throwing another 44568 ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely 44569 ; and we'll wait for each guy to clear before spawning another. 44570 PerRopeDelayMin = 900 44571 PerRopeDelayMax = 1500 44572 RopeWidth = 0.5 44573 RopeColor = R:0 G:0 B:0 44574 RopeWobbleLen = 10 44575 RopeWobbleAmplitude = 0.25 44576 RopeWobbleRate = 180 44577 RopeFinalHeight = 10 ; stop this far above ground 44578 RappelSpeed = 30 44579 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it 44580 44581 End 44582 Locomotor = SET_NORMAL ChinookLocomotor 44583 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 44584 44585 Behavior = TransportContain ModuleTag_08 44586 PassengersAllowedToFire = Yes 44587 Slots = 4 44588 DamagePercentToUnits = 100% 44589 AllowInsideKindOf = INFANTRY 44590 ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE 44591 ExitDelay = 100 44592 NumberOfExitPaths = 1 44593 GoAggressiveOnExit = Yes 44594 End 44595 Behavior = PhysicsBehavior ModuleTag_09 44596 Mass = 50.0 44597 End 44598 Behavior = HelicopterSlowDeathBehavior ModuleTag_10 44599 DestructionDelay = 99999999 ; the destruction delay 44600 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 44601 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 44602 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 44603 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 44604 SoundDeathLoop = ComancheDamagedLoop 44605 MinSelfSpin = 100 ; in degrees per second 44606 MaxSelfSpin = 300 ; in degrees per second 44607 SelfSpinUpdateDelay = 100 ; in milliseconds 44608 SelfSpinUpdateAmount = 10 ; in degrees 44609 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 44610 MinBladeFlyOffDelay = 1500 ; in milliseconds 44611 MaxBladeFlyOffDelay = 1500 ; in milliseconds 44612 AttachParticle = SootySmokeTrail 44613 AttachParticleBone = Propeller02 44614 BladeObjectName = ComancheBlades 44615 BladeBoneName = Propeller01 44616 FXBlade = FX_HelicopterBladeExplosion 44617 OCLBlade = OCL_HelicopterBladeExplosion 44618 FXHitGround = FX_HelicopterHitGround 44619 OCLHitGround = OCL_HelicopterHitGround 44620 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 44621 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 44622 DelayFromGroundToFinalDeath = 30 44623 FinalRubbleObject = ChinookRubbleHull 44624 End 44625 44626 Behavior = FlammableUpdate ModuleTag_21 44627 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 44628 AflameDamageAmount = 3 ; taking this much damage... 44629 AflameDamageDelay = 500 ; this often. 44630 End 44631 44632 Behavior = StealthDetectorUpdate ModuleTag_08 44633 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 44634 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 44635 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 44636 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 44637 End 44638 44639 Geometry = BOX 44640 GeometryMajorRadius = 20.0 44641 GeometryMinorRadius = 6.0 44642 GeometryHeight = 12.0 44643 GeometryIsSmall = No 44644 Shadow = SHADOW_VOLUME 44645 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 44646 44647 End 44648 44649 ;------------------------------------------------------------------------------ 44650 Object GLATankt72 44651 44652 ; *** ART Parameters *** 44653 SelectPortrait = T16 44654 ButtonImage = T16 44655 UpgradeCameo1 = NONE 44656 UpgradeCameo2 = Upgrade_GLAAPRockets 44657 UpgradeCameo3 = Upgrade_GLAToxinShells 44658 UpgradeCameo4 = Upgrade_GLAJunkRepair 44659 ;UpgradeCameo5 = NONE 44660 44661 Draw = W3DTankDraw ModuleTag_01 44662 OkToChangeModelColor = Yes 44663 44664 ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset 44665 44666 DefaultConditionState 44667 Model = T-72 44668 Turret = Turret01 44669 ; note, order-dependent: we must hide/show Missile AFTER we hide/show MissileRack! 44670 HideSubObject = MissleRack01 Missile ; MissileRack misspelled in the Art 44671 WeaponFireFXBone = PRIMARY Muzzle 44672 WeaponRecoilBone = PRIMARY Barrel 44673 WeaponMuzzleFlash = PRIMARY MuzzleFX 44674 WeaponLaunchBone = PRIMARY Muzzle 44675 End 44676 44677 ConditionState = REALLYDAMAGED 44678 Model = T-72 44679 End 44680 44681 ConditionState = RUBBLE 44682 Model = UVLiteTank_d 44683 End 44684 44685 ConditionState = WEAPONSET_PLAYER_UPGRADE 44686 ShowSubObject = MissleRack01 44687 WeaponFireFXBone = SECONDARY WeaponA 44688 WeaponLaunchBone = SECONDARY WeaponA 44689 WeaponHideShowBone = SECONDARY Missile 44690 End 44691 44692 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 44693 Model = T-72 44694 ShowSubObject = MissleRack01 44695 WeaponFireFXBone = SECONDARY WeaponA 44696 WeaponLaunchBone = SECONDARY WeaponA 44697 WeaponHideShowBone = SECONDARY Missile 44698 End 44699 44700 TrackMarks = EXTnkTrack.tga 44701 TreadAnimationRate = 2.0 ; amount of tread texture to move per second 44702 End 44703 44704 ; ***DESIGN parameters *** 44705 DisplayName = OBJECT:t72 44706 Side = GLA 44707 EditorSorting = VEHICLE 44708 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 44709 WeaponSet 44710 Conditions = None 44711 Weapon = PRIMARY t72TankGun 44712 Weapon = SECONDARY DozerMineDisarmingWeapon 44713 Conditions = MINE_CLEARING_DETAIL 44714 44715 44716 End 44717 44718 ArmorSet 44719 Conditions = None 44720 Armor = T72TankArmor 44721 DamageFX = TankDamageFX 44722 End 44723 BuildCost = 850 44724 BuildTime = 10.0 ;in seconds 44725 VisionRange = 125 44726 ShroudClearingRange = 300 44727 Prerequisites 44728 Object = GLAArmsDealer 44729 Object = GLAPalace 44730 Science = SCIENCE_ScudLauncher 44731 44732 End 44733 44734 ExperienceValue = 60 60 120 200 ;Experience point value at each level 44735 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 44736 IsTrainable = Yes ;Can gain experience 44737 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 44738 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 44739 CommandSet = GLATankt72CommandSet 44740 44741 ; *** AUDIO Parameters *** 44742 VoiceSelect = ScorpionTankVoiceSelect 44743 VoiceMove = ScorpionTankVoiceMove 44744 VoiceAttack = ScorpionTankVoiceAttack 44745 SoundMoveStart = ScorpionTankMoveStart 44746 SoundMoveStartDamaged = ScorpionTankMoveStart 44747 VoiceGuard = ScorpionTankVoiceMove 44748 44749 UnitSpecificSounds 44750 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 44751 VoiceCreate = ScorpionTankVoiceCreate 44752 ;TurretMoveStart = NoSound 44753 TurretMoveLoop = TurretMoveLoop 44754 VoiceEnter = ScorpionTankVoiceMove 44755 End 44756 44757 ; *** ENGINEERING Parameters *** 44758 RadarPriority = UNIT 44759 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE 44760 44761 Body = ActiveBody ModuleTag_02 44762 MaxHealth = 370.0 44763 InitialHealth = 370.0 44764 End 44765 44766 Behavior = AIUpdateInterface ModuleTag_03 44767 Turret 44768 TurretTurnRate = 100 44769 RecenterTime = 5000 ; how long to wait during idle before recentering 44770 ControlledWeaponSlots = PRIMARY SECONDARY 44771 End 44772 AutoAcquireEnemiesWhenIdle = Yes 44773 End 44774 Locomotor = SET_NORMAL NuclearBattleMasterLocomotor 44775 Behavior = PhysicsBehavior ModuleTag_04 44776 Mass = 50.0 44777 End 44778 Behavior = AutoHealBehavior ModuleTag_05 44779 HealingAmount = 2 44780 HealingDelay = 1000 ; msec 44781 TriggeredBy = Upgrade_GLAJunkRepair 44782 End 44783 44784 ; Catch fire, and explode death 44785 Behavior = SlowDeathBehavior ModuleTag_06 44786 DeathTypes = ALL -CRUSHED -SPLATTED 44787 ProbabilityModifier = 50 44788 DestructionDelay = 2000 44789 DestructionDelayVariance = 300 44790 FX = INITIAL FX_CrusaderCatchFire 44791 OCL = FINAL OCL_GenericTankDeathEffect 44792 FX = FINAL FX_BattleMasterExplosionOneFinal 44793 End 44794 44795 Behavior = WeaponSetUpgrade ModuleTag_07 44796 TriggeredBy = Upgrade_GLAScorpionRocket 44797 End 44798 44799 Behavior = DestroyDie ModuleTag_09 44800 DeathTypes = NONE +CRUSHED +SPLATTED 44801 End 44802 44803 ; A crushing defeat 44804 Behavior = FXListDie ModuleTag_10 44805 DeathTypes = NONE +CRUSHED +SPLATTED 44806 DeathFX = FX_CarCrush 44807 End 44808 Behavior = CreateObjectDie ModuleTag_11 44809 DeathTypes = NONE +CRUSHED +SPLATTED 44810 CreationList = OCL_CrusaderTank_CrushEffect 44811 End 44812 Behavior = CreateCrateDie ModuleTag_12 44813 CrateData = SalvageCrateData 44814 ;CrateData = EliteTankCrateData 44815 ;CrateData = HeroicTankCrateData 44816 End 44817 44818 Behavior = TransitionDamageFX ModuleTag_13 44819 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 44820 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 44821 End 44822 44823 Behavior = FlammableUpdate ModuleTag_21 44824 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 44825 AflameDamageAmount = 3 ; taking this much damage... 44826 AflameDamageDelay = 500 ; this often. 44827 End 44828 Behavior = StealthDetectorUpdate ModuleTag_08 44829 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 44830 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 44831 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 44832 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 44833 End 44834 44835 Geometry = BOX 44836 GeometryMajorRadius = 14.0 44837 GeometryMinorRadius = 9.0 44838 GeometryHeight = 10.5 44839 GeometryIsSmall = Yes 44840 Shadow = SHADOW_VOLUME 44841 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 44842 44843 End 44844 44845 44846 Object SiegeTankShell 44847 Draw = W3DModelDraw ModuleTag_01 44848 ConditionState = NONE 44849 Model = AVTankShel 44850 End 44851 End 44852 DisplayName = OBJECT:TankShell 44853 EditorSorting = SYSTEM 44854 ArmorSet 44855 Armor = ProjectileArmor 44856 End 44857 VisionRange = 0.0 44858 KindOf = PROJECTILE 44859 Body = ActiveBody ModuleTag_02 44860 MaxHealth = 100.0 44861 InitialHealth = 100.0 44862 End 44863 Behavior = DestroyDie ModuleTag_03 44864 End 44865 Behavior = DumbProjectileBehavior ModuleTag_04 44866 FirstHeight = 50 44867 SecondHeight = 150 44868 FirstPercentIndent = 30% 44869 SecondPercentIndent = 70% 44870 FlightPathAdjustDistPerSecond = 0 44871 End 44872 Behavior = PhysicsBehavior ModuleTag_05 44873 Mass = 0.01 44874 End 44875 Geometry = Sphere 44876 GeometryIsSmall = Yes 44877 GeometryMajorRadius = 1.0 44878 End 44879 44880 44881 44882 Object GLADozer2 44883 44884 ; *** ART Parameters *** 44885 SelectPortrait = T21 44886 ButtonImage = T21 44887 44888 Draw = W3DTruckDraw ModuleTag_01 44889 44890 OkToChangeModelColor = Yes 44891 44892 DefaultConditionState 44893 Model = CVFKLT 44894 ParticleSysBone = EXHAUSTFX01 DozerSmokeLight 44895 WaitForStateToFinishIfPossible = TRANS_DIGGING 44896 End 44897 44898 ConditionState = PREATTACK_A 44899 Animation = AVCONSTDOZ_A.AVCONSTDOZ_A 44900 AnimationMode = ONCE 44901 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 44902 ParticleSysBone = DIRTFX01 DozerDirtFall ;gush of dirt 44903 TransitionKey = TRANS_DIGGING 44904 End 44905 44906 ConditionState = MOVING 44907 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 44908 WaitForStateToFinishIfPossible = TRANS_DIGGING 44909 End 44910 44911 ConditionState = REALLYDAMAGED RUBBLE 44912 Model = CVFKLT 44913 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 44914 WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED 44915 End 44916 44917 ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE 44918 Model = CVFKLT 44919 Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD 44920 AnimationMode = ONCE 44921 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 44922 TransitionKey = TRANS_DIGGING_DAMAGED 44923 End 44924 44925 ConditionState = MOVING REALLYDAMAGED RUBBLE 44926 Model = CVFKLT 44927 ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy 44928 WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED 44929 End 44930 44931 44932 TrackMarks = EXTireTrack2.tga 44933 Dust = RocketBuggyDust 44934 DirtSpray = RocketBuggyDirtSpray 44935 44936 ; These parameters are only used if the model has a separate suspension, 44937 ; and the locomotor has HasSuspension = Yes. 44938 44939 LeftFrontTireBone = TIRE01 44940 RightFrontTireBone = TIRE02 44941 LeftRearTireBone = TIRE03 44942 RightRearTireBone = TIRE04 44943 44944 TireRotationMultiplier = 0.2 ; this * speed = rotation. 44945 PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. 44946 44947 End 44948 44949 44950 44951 ; ***DESIGN parameters *** 44952 DisplayName = OBJECT:Dozer2 44953 Side = GLA 44954 EditorSorting = VEHICLE 44955 TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) 44956 BuildCost = 500 44957 BuildTime = 5 ; in seconds 44958 VisionRange = 200 44959 ShroudClearingRange = 200 44960 44961 WeaponSet 44962 Conditions = None 44963 Weapon = PRIMARY None 44964 End 44965 44966 44967 ArmorSet 44968 Conditions = None 44969 Armor = DozerArmor ;Special Explosion-Proof Armor 44970 DamageFX = TankDamageFX 44971 End 44972 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 44973 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 44974 CommandSet = GLADozer2CommandSet 44975 44976 ; *** AUDIO Parameters *** 44977 VoiceSelect = WorkerVoiceSelect 44978 VoiceMove = WorkerVoiceMove 44979 VoiceAttack = WorkerVoiceMove 44980 SoundDie = WorkerVoiceDie 44981 SoundDieFire = DieByFireGLA 44982 SoundDieToxin = DieByToxinChina 44983 VoiceGuard = WorkerVoiceMove 44984 VoiceFear = WorkerVoiceFear 44985 VoiceTaskComplete = WorkerVoiceBuildComplete 44986 UnitSpecificSounds 44987 VoiceEnter = WorkerVoiceMove 44988 VoiceEnterHostile = WorkerVoiceMove 44989 VoiceGarrison = WorkerVoiceGarrison 44990 VoiceCreate = WorkerVoiceCreate 44991 VoiceSupply = WorkerVoiceSupply 44992 VoiceNoBuild = WorkerVoiceBuildNot 44993 VoiceRepair = WorkerVoiceRepair 44994 VoiceDisarm = WorkerVoiceClearMine 44995 VoiceBuildResponse = WorkerVoiceBuild 44996 VoiceGetHealed = WorkerVoiceMove 44997 44998 End 44999 ; *** ENGINEERING Parameters *** 45000 RadarPriority = UNIT 45001 KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER 45002 45003 Body = ActiveBody ModuleTag_02 45004 MaxHealth = 150.0 45005 InitialHealth = 150.0 45006 End 45007 Behavior = DozerAIUpdate ModuleTag_03 45008 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second 45009 BoredTime = 5000 ; in milliseconds 45010 BoredRange = 150 ; when bored, we look this far away to do something 45011 ; the only "enemies" that workers can acquire are mines, to be disarmed... 45012 AutoAcquireEnemiesWhenIdle = Yes 45013 End 45014 45015 Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor 45016 45017 Behavior = PhysicsBehavior ModuleTag_04 45018 Mass = 50.0 45019 End 45020 45021 Behavior = StealthDetectorUpdate ModuleTag_05 45022 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 45023 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 45024 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 45025 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 45026 ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things 45027 End 45028 45029 Behavior = TransitionDamageFX ModuleTag_06 45030 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 45031 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 45032 End 45033 45034 ; Catch fire, and explode death 45035 Behavior = SlowDeathBehavior ModuleTag_07 45036 DeathTypes = ALL -CRUSHED -SPLATTED 45037 ProbabilityModifier = 100 45038 DestructionDelay = 1500 45039 DestructionDelayVariance = 600 45040 FX = INITIAL FX_CrusaderCatchFire 45041 OCL = FINAL OCL_AmericaDozerExplode 45042 FX = FINAL FX_BattleMasterExplosionOneFinal 45043 End 45044 45045 Behavior = CreateCrateDie ModuleTag_CratesChange 45046 CrateData = SalvageCrateData 45047 End 45048 45049 Behavior = FlammableUpdate ModuleTag_21 45050 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 45051 AflameDamageAmount = 3 ; taking this much damage... 45052 AflameDamageDelay = 500 ; this often. 45053 End 45054 45055 ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 45056 End 45057 45058 Behavior = FXListDie ModuleTag_23 45059 DeathTypes = NONE +CRUSHED +SPLATTED 45060 DeathFX = FX_CarCrush 45061 End 45062 45063 Behavior = DestroyDie ModuleTag_24 45064 DeathTypes = NONE +CRUSHED +SPLATTED 45065 End 45066 45067 Geometry = BOX 45068 GeometryMajorRadius = 15.0 45069 GeometryMinorRadius = 10.0 45070 GeometryHeight = 15.0 45071 GeometryIsSmall = Yes 45072 Shadow = SHADOW_VOLUME 45073 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 45074 45075 End 45076 45077 ;------------------------------------------------------------------------------ 45078 Object RaptorJetMissile2 45079 45080 ; *** ART Parameters *** 45081 Draw = W3DModelDraw ModuleTag_01 45082 OkToChangeModelColor = Yes 45083 DefaultConditionState 45084 Model = AVRaptor_M 45085 End 45086 End 45087 45088 ; ***DESIGN parameters *** 45089 DisplayName = OBJECT:Missile 45090 EditorSorting = SYSTEM 45091 VisionRange = 0.0 45092 45093 ; *** ENGINEERING Parameters *** 45094 KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE 45095 Body = ActiveBody ModuleTag_02 45096 MaxHealth = 100.0 45097 InitialHealth = 100.0 45098 End 45099 45100 ; ---- begin Projectile death behaviors 45101 Behavior = InstantDeathBehavior DeathModuleTag_01 45102 DeathTypes = NONE +DETONATED 45103 ; we detonated normally. 45104 ; no FX, just quiet destroy ourselves 45105 End 45106 Behavior = InstantDeathBehavior DeathModuleTag_02 45107 DeathTypes = NONE +LASERED 45108 ; shot down by laser. 45109 FX = FX_GenericMissileDisintegrate 45110 OCL = OCL_GenericMissileDisintegrate 45111 End 45112 Behavior = InstantDeathBehavior DeathModuleTag_03 45113 DeathTypes = ALL -LASERED -DETONATED 45114 ; shot down by nonlaser. 45115 FX = FX_GenericMissileDeath 45116 End 45117 ; ---- end Projectile death behaviors 45118 45119 Behavior = PhysicsBehavior ModuleTag_07 45120 Mass = 1 45121 End 45122 Behavior = MissileAIUpdate ModuleTag_08 45123 TryToFollowTarget = Yes 45124 FuelLifetime = 10000 45125 InitialVelocity = 75 ; in dist/sec 45126 IgnitionDelay = 30 45127 IgnitionFX = FX_JetMissileIgnition 45128 End 45129 Locomotor = SET_NORMAL ScorpionMissileLocomotor2 45130 45131 Geometry = Sphere 45132 GeometryIsSmall = Yes 45133 GeometryMajorRadius = 1.0 45134 45135 End 45136 45137 45138 ;------------------------------------------------------------------------------ 45139 Object InfernoTankShellUpgraded2 45140 45141 ; *** ART Parameters *** 45142 Draw = W3DModelDraw ModuleTag_01 45143 OkToChangeModelColor = Yes 45144 ConditionState = NONE 45145 Model = UVScorpion_m 45146 End 45147 End 45148 45149 ; ***DESIGN parameters *** 45150 DisplayName = OBJECT:Missile 45151 EditorSorting = SYSTEM 45152 VisionRange = 0.0 45153 ArmorSet 45154 Conditions = None 45155 Armor = ProjectileArmor 45156 DamageFX = None 45157 End 45158 45159 ; *** ENGINEERING Parameters *** 45160 KindOf = PROJECTILE SMALL_MISSILE 45161 Body = ActiveBody ModuleTag_02 45162 MaxHealth = 100.0 45163 InitialHealth = 100.0 45164 End 45165 45166 ; ---- begin Projectile death behaviors 45167 Behavior = InstantDeathBehavior DeathModuleTag_01 45168 DeathTypes = NONE +DETONATED 45169 ; we detonated normally. 45170 ; no FX, just quiet destroy ourselves 45171 End 45172 Behavior = InstantDeathBehavior DeathModuleTag_02 45173 DeathTypes = NONE +LASERED 45174 ; shot down by laser. 45175 FX = FX_GenericMissileDisintegrate 45176 OCL = OCL_GenericMissileDisintegrate 45177 End 45178 Behavior = InstantDeathBehavior DeathModuleTag_03 45179 DeathTypes = ALL -LASERED -DETONATED 45180 ; shot down by nonlaser. 45181 FX = FX_GenericMissileDeath 45182 End 45183 ; ---- end Projectile death behaviors 45184 45185 Behavior = PhysicsBehavior ModuleTag_06 45186 Mass = 1 45187 End 45188 Behavior = MissileAIUpdate ModuleTag_07 45189 TryToFollowTarget = Yes 45190 FuelLifetime = 4000 45191 InitialVelocity = 150 ; in dist/sec 45192 IgnitionDelay = 0 45193 DistanceToTravelBeforeTurning = 30 45194 IgnitionFX = FX_JetMissileIgnition 45195 End 45196 Locomotor = SET_NORMAL ScorpionMissileLocomotor 45197 45198 45199 Behavior = WeaponBonusUpgrade ModuleTag_08 45200 TriggeredBy = Upgrade_GLAAPRockets 45201 End 45202 45203 Behavior = DumbProjectileBehavior ModuleTag_09 45204 DetonateCallsKill = Yes 45205 ; To tweak a Bezier path, please see GS 45206 FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 45207 SecondHeight = 150 45208 FirstPercentIndent = 20% ; Percentage of shot distance control points are placed 45209 SecondPercentIndent = 90% 45210 FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 45211 End 45212 45213 Behavior = PhysicsBehavior ModuleTag_05 45214 Mass = 10 45215 End 45216 45217 Behavior = HeightDieUpdate ModuleTag_06 45218 TargetHeight = 1.0 45219 TargetHeightIncludesStructures = Yes 45220 OnlyWhenMovingDown = Yes 45221 InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad 45222 End 45223 45224 Behavior = FireWeaponWhenDeadBehavior ModuleTag_08 45225 DeathWeapon = SmallFireFieldUpgradedCreationWeapon 45226 StartsActive = Yes 45227 End 45228 45229 Geometry = Sphere 45230 GeometryIsSmall = Yes 45231 GeometryMajorRadius = 1.0 45232 45233 45234 End 45235 45236 ;------------------------------------------------------------------------------ 45237 45238 Object MLRSMissile 45239 45240 ; *** ART Parameters *** 45241 Draw = W3DModelDraw ModuleTag_01 45242 OkToChangeModelColor = Yes 45243 ConditionState = NONE 45244 Model = AVRaptor_M 45245 End 45246 End 45247 45248 ; ***DESIGN parameters *** 45249 DisplayName = OBJECT:MLRSMissile 45250 EditorSorting = VEHICLE 45251 VisionRange = 300.0 45252 ShroudClearingRange = 0 45253 45254 ; *** ENGINEERING Parameters *** 45255 KindOf = CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE 45256 Body = ActiveBody ModuleTag_02 45257 MaxHealth = 100.0 45258 InitialHealth = 100.0 45259 End 45260 45261 ; ---- begin Projectile death behaviors 45262 Behavior = InstantDeathBehavior DeathModuleTag_01 45263 DeathTypes = NONE +DETONATED 45264 ; we detonated normally. 45265 ; no FX, just quiet destroy ourselves 45266 End 45267 Behavior = InstantDeathBehavior DeathModuleTag_02 45268 DeathTypes = NONE +LASERED 45269 ; shot down by laser. 45270 FX = FX_GenericMissileDisintegrate 45271 OCL = OCL_GenericMissileDisintegrate 45272 End 45273 Behavior = InstantDeathBehavior DeathModuleTag_03 45274 DeathTypes = ALL -LASERED -DETONATED 45275 ; shot down by nonlaser. 45276 FX = FX_GenericMissileDeath 45277 End 45278 ; ---- end Projectile death behaviors 45279 45280 Behavior = PhysicsBehavior ModuleTag_04 45281 Mass = 1 45282 End 45283 Behavior = MissileAIUpdate ModuleTag_05 45284 TryToFollowTarget = No 45285 FuelLifetime = 10000 45286 InitialVelocity = 50 ; in dist/sec 45287 IgnitionDelay = 0 45288 DistanceToTravelBeforeTurning = 5 45289 End 45290 Locomotor = SET_NORMAL PatriotMissileLocomotor 45291 Geometry = Sphere 45292 GeometryIsSmall = Yes 45293 GeometryMajorRadius = 2.0 45294 45295 End 45296 45297 ;-------------------------------------------- 45298 Object ChinaVehicleBattleShip5 45299 45300 SelectPortrait = T20 45301 ButtonImage = T20 45302 45303 45304 45305 UpgradeCameo1 = Upgrade_SeaRepair 45306 UpgradeCameo2 = Upgrade_SeaArmour 45307 ;UpgradeCameo3 =Upgrade_SubmarineStealth 45308 ;UpgradeCameo4 = NONE 45309 ;UpgradeCameo5 = NONE 45310 45311 ; *** ART Parameters *** 45312 Draw = W3DModelDraw ModuleTag_01 ;W3DTankDraw ModuleTag_01 45313 OkToChangeModelColor = Yes 45314 InitialRecoilSpeed = 120 45315 MaxRecoilDistance = 8 45316 RecoilSettleSpeed = 6 45317 45318 45319 ConditionState = NONE 45320 Model = JLJ-09X 45321 WeaponLaunchBone = PRIMARY Muzzle 45322 WeaponFireFXBone = PRIMARY MuzzleFX 45323 45324 WeaponLaunchBone = SECONDARY WEAPONA 45325 WeaponFireFXBone = SECONDARY WEAPONAFX 45326 45327 End 45328 ConditionState = OVER_WATER 45329 Model = JLJ-09X 45330 WeaponLaunchBone = PRIMARY Muzzle 45331 WeaponFireFXBone = PRIMARY MuzzleFX 45332 45333 WeaponLaunchBone = SECONDARY WEAPONA 45334 WeaponFireFXBone = SECONDARY WEAPONAFX 45335 End 45336 45337 ConditionState = MOVING OVER_WATER 45338 Model = JLJ-09X 45339 WeaponLaunchBone = PRIMARY Muzzle 45340 WeaponFireFXBone = PRIMARY MuzzleFX 45341 45342 WeaponLaunchBone = SECONDARY WEAPONA 45343 WeaponFireFXBone = SECONDARY WEAPONAFX 45344 45345 ; ParticleSysBone = Mist01 AmphibMist ;Side β²¿ 45346 ; ParticleSysBone = Mist02 AmphibMist ;Side Öв¿ 45347 ; ParticleSysBone = Mist03 AmphibMist ; Öв¿ 45348 ; ParticleSysBone = Mist04 AmphibMist ;Side Öв¿ 45349 ; ParticleSysBone = Mist05 AmphibMist ;Side Öв¿ 45350 ; ParticleSysBone = Mist06 AmphibMist ;Side Í·²¿ 45351 ParticleSysBone = Mist07 AmphibMist ;Side ½¢ÇÅ 45352 45353 ; ParticleSysBone = TreadFX01 AmphibWave ; β²¿ 45354 ; ParticleSysBone = TreadFX02 AmphibWave ; Öв¿ 45355 ; ParticleSysBone = TreadFX03 AmphibWave ; Öв¿ 45356 ; ParticleSysBone = TreadFX04 AmphibWave ; Öв¿ 45357 ; ParticleSysBone = TreadFX05 AmphibWave ; Öв¿ 45358 ; ParticleSysBone = TreadFX06 AmphibWave ; Í·²¿ 45359 ParticleSysBone = TreadFX07 AmphibWave ;½¢ÇÅ 45360 End 45361 End 45362 45363 45364 VoiceSelect = OverlordTankVoiceSelect 45365 45366 ; ***DESIGN parameters *** 45367 DisplayName = OBJECT:Sub 45368 Side = China 45369 EditorSorting = VEHICLE 45370 TransportSlotCount = 8 ;how many "slots" we take in a transport (0 == not transportable) 45371 45372 WeaponSet 45373 Conditions = None 45374 Weapon = PRIMARY submarineWeapon2 45375 PreferredAgainst = PRIMARY VEHICLE STRUCTURE 45376 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 45377 Weapon = SECONDARY submarineWeapon 45378 AutoChooseSources = SECONDARY NONE 45379 45380 End 45381 45382 ArmorSet 45383 Conditions = None 45384 Armor = TankArmor 45385 DamageFX = TankDamageFX 45386 End 45387 45388 BuildCost = 5000 45389 BuildTime = 40.0 45390 VisionRange = 400 45391 ShroudClearingRange = 450 45392 Prerequisites 45393 Object = ChinaNavalyard 45394 Object = ChinaPropagandaCenter 45395 End 45396 CommandSet = ChinaSubmarineCommandSet 45397 MaxSimultaneousOfType = 2 45398 45399 ; *** AUDIO Parameters *** 45400 SoundAmbient = BattleshipAmbientLoop 45401 VoiceSelect = OverlordTankVoiceSelect 45402 UnitSpecificSounds 45403 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 45404 TurretMoveLoop = TurretMoveLoop 45405 End 45406 45407 ; *** ENGINEERING Parameters *** 45408 RadarPriority = UNIT 45409 KindOf = PRELOAD CAN_CAST_REFLECTIONS SCORE SELECTABLE VEHICLE 45410 45411 Body = ActiveBody ModuleTag_02 45412 MaxHealth = 3000.0 45413 InitialHealth = 3000.0 45414 End 45415 45416 Behavior = MaxHealthUpgrade ModuleTag_09 45417 TriggeredBy = Upgrade_SubmarineArmor 45418 AddMaxHealth = 1000.0 45419 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 45420 End 45421 45422 Behavior = AutoHealBehavior ModuleTag_05 45423 HealingAmount = 7 45424 HealingDelay = 500 ; msec 45425 TriggeredBy = Upgrade_SubmarineRepair 45426 End 45427 45428 Behavior = AIUpdateInterface ModuleTag_03 45429 AutoAcquireEnemiesWhenIdle = No 45430 End 45431 45432 Locomotor = SET_NORMAL SubmarineLocomotor 45433 45434 Behavior = PhysicsBehavior ModuleTag_04 45435 Mass = 5000.0 45436 End 45437 45438 Behavior = SlowDeathBehavior ModuleTag_16 45439 ProbabilityModifier = 25 45440 DestructionDelay = 200 45441 DestructionDelayVariance = 100 45442 OCL = FINAL OCL_FirestormSmall 45443 FX = FINAL WeaponFX_NapalmMissileDetonation 45444 End 45445 45446 Behavior = StealthUpdate ModuleTag_17 45447 StealthDelay = 1000 ; msec 45448 StealthForbiddenConditions = ATTACKING USING_ABILITY 45449 MoveThresholdSpeed = 20 45450 InnateStealth = No ;Requires upgrade first 45451 OrderIdleEnemiesToAttackMeUponReveal = Yes 45452 End 45453 45454 Behavior = StealthUpgrade ModuleTag_18 45455 TriggeredBy = Upgrade_SubmarineStealth 45456 45457 End 45458 Behavior = MaxHealthUpgrade ModuleTag_09 45459 TriggeredBy = Upgrade_SeaArmour 45460 AddMaxHealth = 1000.0 45461 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 45462 End 45463 45464 Behavior = AutoHealBehavior ModuleTag_05 45465 HealingAmount = 7 45466 HealingDelay = 500 ; msec 45467 TriggeredBy = Upgrade_SeaRepair 45468 End 45469 Behavior = StealthUpdate ModuleTag_07 45470 StealthDelay = 2000 ; msec 45471 StealthForbiddenConditions = FIRING_PRIMARY 45472 HintDetectableConditions = IS_FIRING_WEAPON 45473 FriendlyOpacityMin = 50.0% 45474 FriendlyOpacityMax = 100.0% 45475 InnateStealth = Yes 45476 OrderIdleEnemiesToAttackMeUponReveal = Yes 45477 End 45478 45479 Geometry = BOX 45480 GeometryMajorRadius = 200.0 45481 GeometryMinorRadius = 20.0 45482 GeometryHeight = 40 45483 GeometryIsSmall = No 45484 Shadow = SHADOW_VOLUME 45485 45486 End 45487 45488 ;------------------------------------------------------------------ 45489 Object GLAVehicleBalloonHulk 45490 45491 ; *** ART Parameters *** 45492 Draw = W3DModelDraw ModuleTag_01 ; Helicopter 45493 DefaultConditionState 45494 Model = nvballoon_d 45495 End 45496 End 45497 45498 ; ***DESIGN parameters *** 45499 DisplayName = OBJECT:Chinook 45500 Side = GLA 45501 45502 ; *** ENGINEERING Parameters *** 45503 KindOf = IMMOBILE NO_COLLIDE HULK 45504 45505 Behavior = PhysicsBehavior ModuleTag_02 45506 Mass = 15.0 45507 AllowBouncing = Yes 45508 End 45509 45510 Behavior = LifetimeUpdate ModuleTag_03 45511 MinLifetime = 3000 ; min lifetime in msec 45512 MaxLifetime = 3000 ; max lifetime in msec 45513 End 45514 45515 End 45516 ;------------------------------------------------------------------------------ 45517 Object GLAVehicleBalloon 45518 45519 ; *** ART Parameters *** 45520 SelectPortrait = T32 45521 ButtonImage = T32 45522 45523 UpgradeCameo1 = Upgrade_GLACamouflage 45524 UpgradeCameo2 = Upgrade_GLAJunkRepair 45525 45526 ; UpgradeCameo5 = None 45527 45528 Draw = W3DModelDraw ModuleTag_01 ; Helicopter 45529 45530 DefaultConditionState 45531 Model = nvballoon 45532 End 45533 45534 ConditionState = RUBBLE 45535 Model = nvballoon_d 45536 End 45537 45538 OkToChangeModelColor = Yes 45539 End 45540 45541 45542 45543 ; ***DESIGN parameters *** 45544 DisplayName = OBJECT:Chinook 45545 EditorSorting = VEHICLE 45546 Side = GLA 45547 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 45548 VisionRange = 300.0 45549 ShroudClearingRange = 600 45550 45551 BuildCost = 800 45552 BuildTime = 20 ;in seconds 45553 45554 ExperienceValue = 50 50 50 50 ;Experience point value at each level 45555 IsTrainable = No 45556 CommandSet = BalloonCommandSet 45557 45558 ArmorSet 45559 Conditions = None 45560 Armor = AirplaneArmor 45561 DamageFX = None 45562 End 45563 45564 ; *** AUDIO Parameters *** 45565 VoiceSelect = ChinookVoiceSelect 45566 VoiceMove = ChinookVoiceMove 45567 VoiceAttack = ChinookVoiceAttack 45568 SoundAmbient = ChinookAmbientLoop 45569 SoundAmbientRubble = NoSound 45570 SoundDie = ChinookVoiceFalling 45571 SoundEnter = HumveeEnter 45572 SoundExit = HumveeExit 45573 UnitSpecificSounds 45574 VoiceCreate = ChinookVoiceCreate 45575 VoiceSupply = ChinookVoiceSupply 45576 VoiceUnload = ChinookVoiceUnload 45577 VoiceCombatDrop = ChinookVoiceCombatDrop 45578 VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! 45579 VoiceGarrison = ChinookVoiceMove 45580 End 45581 45582 ; *** ENGINEERING Parameters *** 45583 RadarPriority = UNIT 45584 ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at 45585 ; (well, "near" actually) an Airfield to get healed... 45586 ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. 45587 KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE AIRCRAFT SCORE PRODUCED_AT_HELIPAD 45588 45589 WeaponSet 45590 Conditions = None 45591 Weapon = PRIMARY AntiSubMissileWeapon 45592 End 45593 45594 45595 45596 Body = ActiveBody ModuleTag_03 45597 MaxHealth = 200.0 45598 InitialHealth = 200.0 45599 End 45600 45601 Behavior = PhysicsBehavior ModuleTag_09 45602 Mass = 50.0 45603 End 45604 45605 Behavior = JetAIUpdate ModuleTag_11 45606 MinHeight = 5 45607 End 45608 45609 Locomotor = SET_NORMAL BalloonLocomotor 45610 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 45611 45612 Behavior = TransportContain ModuleTag_08 45613 End 45614 45615 Behavior = AutoHealBehavior ModuleTag_26 45616 HealingAmount = 2 45617 HealingDelay = 500 ; msec 45618 TriggeredBy = Upgrade_GLAJunkRepair 45619 End 45620 45621 Behavior = HelicopterSlowDeathBehavior ModuleTag_10 45622 DestructionDelay = 99999999 ; the destruction delay 45623 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 45624 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 45625 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 45626 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 45627 SoundDeathLoop = ComancheDamagedLoop 45628 MinSelfSpin = 100 ; in degrees per second 45629 MaxSelfSpin = 300 ; in degrees per second 45630 SelfSpinUpdateDelay = 100 ; in milliseconds 45631 SelfSpinUpdateAmount = 10 ; in degrees 45632 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 45633 MinBladeFlyOffDelay = 1500 ; in milliseconds 45634 MaxBladeFlyOffDelay = 1500 ; in milliseconds 45635 AttachParticle = SootySmokeTrail 45636 AttachParticleBone = Propeller02 45637 BladeObjectName = ComancheBlades 45638 BladeBoneName = Propeller01 45639 FXBlade = FX_HelicopterBladeExplosion 45640 OCLBlade = OCL_HelicopterBladeExplosion 45641 FXHitGround = FX_HelicopterHitGround 45642 OCLHitGround = OCL_HelicopterHitGround 45643 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 45644 OCLFinalBlowUp = OCL_FireFieldSmall 45645 DelayFromGroundToFinalDeath = 30 45646 FinalRubbleObject = GLAVehicleBalloonHulk 45647 End 45648 45649 Behavior = StealthUpdate ModuleTag_22 45650 StealthDelay = 2500 ; msec 45651 StealthForbiddenConditions = NONE 45652 MoveThresholdSpeed = 3 45653 InnateStealth = No ;Requires upgrade first 45654 OrderIdleEnemiesToAttackMeUponReveal = Yes 45655 End 45656 45657 Behavior = StealthUpgrade ModuleTag_23 45658 TriggeredBy = Upgrade_GLACamouflage 45659 End 45660 45661 Behavior = FireWeaponWhenDeadBehavior ModuleTag_29 45662 DeathWeapon = PlaneSuicideBomb 45663 StartsActive = Yes ; turned on by upgrade 45664 End 45665 45666 Behavior = WeaponSetUpgrade ModuleTag_30 45667 TriggeredBy = Upgrade_ChinaBlackNapalm 45668 End 45669 45670 Behavior = MaxHealthUpgrade ModuleTag_31 45671 TriggeredBy = Upgrade_ChinaAircraftArmor 45672 AddMaxHealth = 40.0 45673 ChangeType = ADD_CURRENT_HEALTH_TOO 45674 End 45675 45676 Behavior = StealthDetectorUpdate ModuleTag_08 45677 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 45678 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 45679 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 45680 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 45681 End 45682 45683 Behavior = FlammableUpdate ModuleTag_21 45684 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 45685 AflameDamageAmount = 3 ; taking this much damage... 45686 AflameDamageDelay = 500 ; this often. 45687 End 45688 Geometry = CYLINDER 45689 Scale = 1.95 ;Scaling 45690 GeometryMajorRadius = 1.0 45691 GeometryMinorRadius = 1.0 45692 GeometryHeight = 8.0 45693 45694 Geometry = BOX 45695 GeometryMajorRadius = 6.0 45696 GeometryMinorRadius = 6.0 45697 GeometryHeight = 6.0 45698 GeometryIsSmall = No 45699 Shadow = SHADOW_VOLUME 45700 45701 End 45702 ;------------------------------------------------------------------------------ 45703 Object SubMissile 45704 45705 ; *** ART Parameters *** 45706 Draw = W3DModelDraw ModuleTag_01 ;W3DTankDraw ModuleTag_01 45707 OkToChangeModelColor = Yes 45708 ConditionState = NONE 45709 Model = AVTomahawk_M 45710 ParticleSysBone = ENGINE01 AmphibWave 45711 ParticleSysBone = ENGINE01 AmphibMist 45712 End 45713 End 45714 45715 ; ***DESIGN parameters *** 45716 DisplayName = OBJECT:TomahawkMissile 45717 EditorSorting = SYSTEM 45718 VisionRange = 0.0 45719 ArmorSet 45720 Conditions = None 45721 ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting 45722 ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have 45723 ;*AntiBallisticMissile = Yes set in the Weapon.ini. 45724 Armor = BallisticMissileArmor 45725 DamageFX = None 45726 End 45727 45728 ; *** ENGINEERING Parameters *** 45729 KindOf = PROJECTILE BALLISTIC_MISSILE 45730 Body = ActiveBody ModuleTag_02 45731 MaxHealth = 200.0 45732 InitialHealth = 100.0 45733 End 45734 45735 ; ---- begin Projectile death behaviors 45736 Behavior = InstantDeathBehavior DeathModuleTag_01 45737 DeathTypes = NONE +DETONATED 45738 ; we detonated normally. 45739 FX = WeaponFX_TomahawkMissileDetonation 45740 End 45741 Behavior = InstantDeathBehavior DeathModuleTag_02 45742 DeathTypes = NONE +LASERED 45743 ; shot down by laser. 45744 FX = FX_GenericMissileDisintegrate 45745 OCL = OCL_GenericMissileDisintegrate 45746 End 45747 Behavior = InstantDeathBehavior DeathModuleTag_03 45748 DeathTypes = ALL -LASERED -DETONATED 45749 ; shot down by nonlaser. 45750 FX = FX_GenericMissileDeath 45751 End 45752 ; ---- end Projectile death behaviors 45753 45754 Behavior = PhysicsBehavior ModuleTag_06 45755 Mass = 1 45756 End 45757 Behavior = MissileAIUpdate ModuleTag_07 45758 TryToFollowTarget = Yes 45759 FuelLifetime = 9000 45760 IgnitionDelay = 0 45761 IgnitionFX = FX_TomahawkIgnition 45762 InitialVelocity = 50 ; in dist/sec 45763 DistanceToTravelBeforeTurning = 80 45764 DistanceToTargetBeforeDiving = 100 ; When I hit this close to target, I ignore PreferredHeight. 45765 ; Note, if this is too small, the missile will turn too late to hit. And, since we have a 2D 45766 ; heart, being over the target counts as "there", so we'll give up and just go straight. 45767 45768 DistanceToTargetForLock = 10 ; Short lock on, as it looks better flying. jba. 45769 End 45770 Locomotor = SET_NORMAL SubMissileLocomotor 45771 45772 Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake 45773 GeometryMajorRadius = 8.0 45774 GeometryHeight = 4.0 45775 GeometryIsSmall = Yes 45776 45777 Shadow = SHADOW_DECAL 45778 End 45779 45780 45781 Object SubNukeMissile 45782 45783 ; *** ART Parameters *** 45784 Draw = W3DModelDraw ModuleTag_01 45785 OkToChangeModelColor = Yes 45786 ConditionState = NONE 45787 Model = SubNuMiss 45788 End 45789 End 45790 45791 ; ***DESIGN parameters *** 45792 DisplayName = OBJECT:Missile 45793 EditorSorting = SYSTEM 45794 VisionRange = 0.0 45795 ArmorSet 45796 Conditions = None 45797 Armor = ProjectileArmor 45798 DamageFX = None 45799 End 45800 45801 ; *** ENGINEERING Parameters *** 45802 KindOf = PROJECTILE SMALL_MISSILE 45803 Body = ActiveBody ModuleTag_02 45804 MaxHealth = 100.0 45805 InitialHealth = 100.0 45806 End 45807 45808 ; ---- begin Projectile death behaviors 45809 Behavior = InstantDeathBehavior DeathModuleTag_01 45810 DeathTypes = NONE +DETONATED 45811 ; we detonated normally. 45812 ; no FX, just quiet destroy ourselves 45813 End 45814 Behavior = InstantDeathBehavior DeathModuleTag_02 45815 DeathTypes = NONE +LASERED 45816 ; shot down by laser. 45817 FX = FX_GenericMissileDisintegrate 45818 OCL = OCL_GenericMissileDisintegrate 45819 End 45820 Behavior = InstantDeathBehavior DeathModuleTag_03 45821 DeathTypes = ALL -LASERED -DETONATED 45822 ; shot down by nonlaser. 45823 FX = FX_GenericMissileDeath 45824 End 45825 ; ---- end Projectile death behaviors 45826 45827 Behavior = PhysicsBehavior ModuleTag_07 45828 Mass = 1 45829 End 45830 Behavior = MissileAIUpdate ModuleTag_08 45831 TryToFollowTarget = Yes 45832 FuelLifetime = 10000 45833 InitialVelocity = 75 ; in dist/sec 45834 IgnitionDelay = 30 45835 IgnitionFX = FX_JetMissileIgnition 45836 End 45837 Locomotor = SET_NORMAL SubNukeMissileLocomotor 45838 45839 45840 Behavior = WeaponBonusUpgrade ModuleTag_08 45841 TriggeredBy = Upgrade_GLAAPRockets 45842 End 45843 45844 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18 45845 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 45846 TriggeredBy = Upgrade_InfantryCaptureBuilding 45847 End 45848 45849 Geometry = Sphere 45850 GeometryIsSmall = Yes 45851 GeometryMajorRadius = 1.0 45852 45853 End 45854 45855 ;------------------------------------------------------------------------------ 45856 Object AmericaJetB-2 45857 45858 ; *** ART Parameters *** 45859 SelectPortrait = T12 45860 ButtonImage = T12 45861 45862 ;UpgradeCameo1 = NONE 45863 ;UpgradeCameo2 = NONE 45864 ;UpgradeCameo3 = NONE 45865 ;UpgradeCameo4 = NONE 45866 ;UpgradeCameo5 = NONE 45867 45868 Draw = W3DModelDraw ModuleTag_01 45869 45870 DefaultConditionState 45871 Model = B-2 45872 HideSubObject = BurnerFX03 BurnerFX04 45873 WeaponLaunchBone = PRIMARY WeaponA 45874 End 45875 45876 ConditionState = JETEXHAUST 45877 ParticleSysBone = Wingtip01 JetContrail 45878 ParticleSysBone = Wingtip02 JetContrail 45879 End 45880 45881 ConditionState = JETEXHAUST JETAFTERBURNER 45882 ; exhaust 45883 ParticleSysBone = Wingtip01 JetContrail 45884 ParticleSysBone = Wingtip02 JetContrail 45885 ; afterburners 45886 ShowSubObject = BurnerFX03 BurnerFX04 45887 ParticleSysBone = Engine01 JetLenzflare 45888 ParticleSysBone = Engine02 JetLenzflare 45889 End 45890 45891 ConditionState = REALLYDAMAGED 45892 Model = B-2 45893 ; damage 45894 ParticleSysBone = Smoke01 JetSmoke 45895 ParticleSysBone = Engine01 JetEngineDamagedSmoke 45896 End 45897 45898 ConditionState = REALLYDAMAGED JETEXHAUST 45899 Model = B-2 45900 ; damage 45901 ParticleSysBone = Smoke01 JetSmoke 45902 ParticleSysBone = Engine01 JetEngineDamagedSmoke 45903 ; exhaust 45904 ParticleSysBone = Wingtip01 JetContrail 45905 ParticleSysBone = Wingtip02 JetContrail 45906 End 45907 45908 ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER 45909 Model = B-2 45910 ; damage 45911 ParticleSysBone = Smoke01 JetSmoke 45912 ParticleSysBone = Engine01 JetEngineDamagedSmoke 45913 ; exhaust 45914 ParticleSysBone = Wingtip01 JetContrail 45915 ParticleSysBone = Wingtip02 JetContrail 45916 ; afterburners 45917 ShowSubObject = BurnerFX03 BurnerFX04 45918 ParticleSysBone = Engine01 JetLenzflare 45919 ParticleSysBone = Engine02 JetLenzflare 45920 End 45921 45922 ConditionState = RUBBLE 45923 Model = B-2 45924 HideSubObject = None 45925 ShowSubObject = None 45926 End 45927 45928 ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER 45929 Model = B-2 45930 ;HideSubObject is needed cause there're inherited from default condition state 45931 HideSubObject = None 45932 ShowSubObject = None 45933 ParticleSysBone = Engine01 JetExhaust 45934 ParticleSysBone = Engine02 JetExhaust 45935 ParticleSysBone = Wingtip01 JetContrail 45936 ParticleSysBone = Wingtip02 JetContrail 45937 End 45938 45939 OkToChangeModelColor = Yes 45940 45941 End 45942 45943 ; ***DESIGN parameters *** 45944 DisplayName = OBJECT:B-2 45945 EditorSorting = VEHICLE 45946 Side = America 45947 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 45948 VisionRange = 180.0 45949 ShroudClearingRange = 300.0 45950 Prerequisites 45951 Object = AmericaAirfield2 45952 Object = USAAdvLab 45953 Science = SCIENCE_SpyDrone 45954 45955 End 45956 WeaponSet 45957 Conditions = None 45958 Weapon = PRIMARY StealthJetBombWeapon 45959 PreferredAgainst = PRIMARY VEHICLE STRUCTURE 45960 End 45961 ArmorSet 45962 Conditions = None 45963 Armor = AirplaneArmor 45964 DamageFX = None 45965 End 45966 45967 BuildCost = 3000 45968 BuildTime = 35.0 ;in seconds 45969 ExperienceValue = 100 100 200 300 ;Experience point value at each level 45970 ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level 45971 IsTrainable = Yes ;Can gain experience 45972 CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 45973 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 45974 CommandSet = AmericaJetStealthFighterCommandSet 45975 45976 MaxSimultaneousOfType = 2 45977 45978 ; *** AUDIO Parameters *** 45979 VoiceSelect = StealthFighterVoiceSelect 45980 VoiceMove = StealthFighterVoiceMove 45981 VoiceAttack = StealthFighterVoiceAttack 45982 VoiceAttackAir = StealthFighterVoiceAttackAir 45983 VoiceGuard = StealthFighterVoiceAirPatrol 45984 SoundAmbient = StealthFighterAmbientLoop 45985 SoundAmbientRubble = NoSound 45986 SoundDie = StealthFighterVoiceFalling 45987 SoundStealthOn = StealthOn 45988 SoundStealthOff = StealthOff 45989 UnitSpecificSounds 45990 VoiceCreate = StealthFighterVoiceCreate 45991 SoundEject = PilotSoundEject 45992 VoiceEject = PilotVoiceEject 45993 Afterburner = RaptorAfterburner 45994 VoiceLowFuel = AuroraBomberVoiceLowFuel 45995 VoiceGarrison = StealthFighterVoiceMove 45996 End 45997 45998 ; *** ENGINEERING Parameters *** 45999 RadarPriority = LOCAL_UNIT_ONLY 46000 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT 46001 Body = ActiveBody ModuleTag_02 46002 MaxHealth = 180.0 46003 InitialHealth = 180.0 46004 End 46005 46006 Behavior = JetSlowDeathBehavior ModuleTag_03 46007 FXOnGroundDeath = FX_JetOnGroundDeath 46008 OCLOnGroundDeath = OCL_StealthDeathFinalBlowUp 46009 DestructionDelay = 99999999; destruction will happen when we 46010 RollRate = 0.2 46011 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta 46012 PitchRate = 0.0 46013 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) 46014 FXInitialDeath = FX_JetDeathInitial 46015 ;OCLInitialDeath = None 46016 DelaySecondaryFromInitialDeath = 500 ; in milliseconds 46017 FXSecondary = FX_JetDeathSecondary 46018 ;OCLSecondary = None 46019 FXHitGround = FX_JetDeathHitGround 46020 ;OCLHitGround = None 46021 DelayFinalBlowUpFromHitGround = 200 ; in milliseconds 46022 FXFinalBlowUp = FX_JetDeathFinalBlowUp 46023 OCLFinalBlowUp = OCL_StealthDeathFinalBlowUp 46024 ; DeathLoopSound = MICAL NEEDS TO MAKE ME 46025 End 46026 Behavior = EjectPilotDie ModuleTag_04 46027 GroundCreationList = OCL_EjectPilotOnGround 46028 AirCreationList = OCL_EjectPilotViaParachute 46029 ExemptStatus = HIJACKED 46030 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 46031 End 46032 46033 Behavior = PhysicsBehavior ModuleTag_05 46034 Mass = 500.0 46035 End 46036 46037 Behavior = JetAIUpdate ModuleTag_06 46038 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo 46039 ; note that it's expressed as a percent of max health, not an absolute 46040 TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off 46041 TakeoffPause = 500 46042 MinHeight = 5 46043 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo 46044 End 46045 46046 Behavior = StealthUpdate ModuleTag_09 46047 StealthDelay = 1500 ; msec 46048 StealthForbiddenConditions = FIRING_PRIMARY 46049 ; not currently used... but maybe someday? (srj) 46050 ;RevealDistanceFromTarget = 0.0f 46051 FriendlyOpacityMin = 50.0% 46052 FriendlyOpacityMax = 100.0% 46053 InnateStealth = Yes 46054 OrderIdleEnemiesToAttackMeUponReveal = Yes 46055 End 46056 46057 Locomotor = SET_NORMAL StealthJetLocomotor 46058 Locomotor = SET_TAXIING BasicJetTaxiLocomotor 46059 46060 Behavior = FlammableUpdate ModuleTag_21 46061 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 46062 AflameDamageAmount = 3 ; taking this much damage... 46063 AflameDamageDelay = 500 ; this often. 46064 End 46065 46066 Behavior = TransitionDamageFX ModuleTag_22 46067 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 46068 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition 46069 End 46070 46071 46072 Geometry = Cylinder 46073 GeometryIsSmall = Yes 46074 GeometryMajorRadius = 7.0 46075 GeometryMinorRadius = 7.0 46076 GeometryHeight = 7.0 46077 Shadow = SHADOW_VOLUME 46078 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 46079 46080 End 46081 46082 ;----------------------------------------------------------------- 46083 46084 ;----------------------------------------------------------------- 46085 46086 Object ChinaVehicleFrigate 46087 46088 SelectPortrait = T28 46089 ButtonImage = T28 46090 46091 UpgradeCameo1 = Upgrade_SeaRepair 46092 UpgradeCameo2 = Upgrade_SeaArmour 46093 ;UpgradeCameo3 = NONE 46094 ;UpgradeCameo4 = NONE 46095 ;UpgradeCameo5 = NONE 46096 46097 ; *** ART Parameters *** 46098 Draw = W3DModelDraw ModuleTag_01 46099 OkToChangeModelColor = Yes 46100 InitialRecoilSpeed = 120 46101 MaxRecoilDistance = 8 46102 RecoilSettleSpeed = 6 46103 46104 ConditionState = NONE 46105 Model = hwj071 46106 Animation = hwj071.hwj071 46107 AnimationMode = LOOP 46108 46109 Turret = Turret01 46110 WeaponFireFXBone = PRIMARY MUZZLE 46111 WeaponMuzzleFlash = PRIMARY MUZZLEFX 46112 WeaponLaunchBone = PRIMARY MUZZLE 46113 WeaponFireFXBone = SECONDARY WEAPONA 46114 WeaponLaunchBone = SECONDARY WEAPONA 46115 46116 ParticleSysBone = Smoke01 SteamVent 46117 End 46118 46119 46120 ConditionState = OVER_WATER 46121 Model = hwj071 46122 Animation = hwj071.hwj071 46123 AnimationMode = LOOP 46124 46125 Turret = Turret01 46126 WeaponFireFXBone = PRIMARY MUZZLE 46127 WeaponMuzzleFlash = PRIMARY MUZZLEFX 46128 WeaponLaunchBone = PRIMARY MUZZLE 46129 WeaponFireFXBone = SECONDARY WEAPONA 46130 WeaponLaunchBone = SECONDARY WEAPONA 46131 46132 ParticleSysBone = Smoke01 SteamVent 46133 End 46134 46135 ConditionState = MOVING OVER_WATER 46136 Model = hwj071 46137 Animation = hwj071.hwj071 46138 AnimationMode = LOOP 46139 46140 Turret = Turret01 46141 46142 WeaponFireFXBone = PRIMARY MUZZLE 46143 WeaponMuzzleFlash = PRIMARY MUZZLEFX 46144 WeaponLaunchBone = PRIMARY MUZZLE 46145 WeaponFireFXBone = SECONDARY WEAPONAFX 46146 WeaponLaunchBone = SECONDARY WEAPONA 46147 46148 ParticleSysBone = Mist01 AmphibMistSide 46149 46150 ParticleSysBone = TreadFX01 AmphibWave 46151 ParticleSysBone = TreadFX02 AmphibWave 46152 ParticleSysBone = TreadFX03 AmphibWave 46153 ParticleSysBone = TreadFX04 AmphibWave 46154 46155 ParticleSysBone = Smoke01 SteamVent 46156 ParticleSysBone = Smoke02 SteamVent 46157 End 46158 End 46159 46160 VoiceSelect = OverlordTankVoiceSelect 46161 46162 ; ***DESIGN parameters *** 46163 DisplayName = OBJECT:Battleship 46164 Side = China 46165 EditorSorting = VEHICLE 46166 TransportSlotCount = 9 ;how many "slots" we take in a transport (0 == not transportable) 46167 WeaponSet 46168 Conditions = None 46169 Weapon = PRIMARY FrigateConnonWeapon 46170 PreferredAgainst = PRIMARY STRUCTURE 46171 Weapon = SECONDARY FrigateAntiAirMissileWeapon 46172 PreferredAgainst = SECONDARY SMALL_MISSILE BALLISTIC_MISSILE 46173 End 46174 46175 ArmorSet 46176 Conditions = None 46177 ;Armor = InvulnerableArmor 46178 Armor = TankDamage 46179 DamageFX = TankDamageFX 46180 End 46181 BuildCost = 4000 46182 BuildTime = 30 46183 VisionRange = 400 46184 ShroudClearingRange = 450 46185 Prerequisites 46186 ; Object = ChinaWarFactory 46187 ; Object = ChinaPropagandaCenter 46188 End 46189 CommandSet = BattleShipCommandSetFabius 46190 46191 ; *** AUDIO Parameters *** 46192 SoundAmbient = BattleshipAmbientLoop 46193 VoiceSelect = OverlordTankVoiceSelect 46194 UnitSpecificSounds 46195 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 46196 TurretMoveLoop = TurretMoveLoop 46197 End 46198 46199 ; *** ENGINEERING Parameters *** 46200 RadarPriority = UNIT 46201 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE SELECTABLE 46202 46203 Body = ActiveBody ModuleTag_02 46204 MaxHealth = 3000.0 46205 InitialHealth = 3000.0 46206 End 46207 46208 Behavior = MaxHealthUpgrade ModuleTag_09 46209 TriggeredBy = Upgrade_SubmarineArmor 46210 AddMaxHealth = 1000.0 46211 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 46212 End 46213 46214 Behavior = AutoHealBehavior ModuleTag_05 46215 HealingAmount = 7 46216 HealingDelay = 500 ; msec 46217 TriggeredBy = Upgrade_SubmarineRepair 46218 End 46219 46220 Behavior = AIUpdateInterface ModuleTag_03 46221 Turret 46222 TurretTurnRate = 100 ; turn rate, in degrees per sec 46223 ControlledWeaponSlots = PRIMARY 46224 End 46225 AutoAcquireEnemiesWhenIdle = Yes 46226 46227 End 46228 46229 Behavior = SpawnBehavior ModuleTag_04 46230 SpawnNumber = 1 46231 SpawnReplaceDelay = 3000 ; 3 seconds 46232 46233 SpawnTemplateName = ChinaVehicleAntiSub 46234 46235 ExitByBudding = No ;Yes;! 46236 46237 InitialBurst = 1 ; the first set of 5 will not delay 46238 OneShot = No 46239 AggregateHealth = No 46240 End 46241 46242 Behavior = QueueProductionExitUpdate ModuleTag_05 46243 UnitCreatePoint = X: -70.0 Y: 0.0 Z:30.0 46244 NaturalRallyPoint = X: 0.0 Y: 0.0 Z:60.0 46245 ExitDelay = 5000 ; 5 sec 46246 InitialBurst = 1 ; the first set of 5 will not delay 46247 End 46248 46249 Locomotor = SET_NORMAL ChinaVehicleFrigateLocomotor 46250 46251 Behavior = PhysicsBehavior ModuleTag_06 46252 Mass = 1.0 46253 End 46254 46255 Behavior = SlowDeathBehavior ModuleTag_07 46256 ProbabilityModifier = 25 46257 DestructionDelay = 200 46258 DestructionDelayVariance = 100 46259 OCL = FINAL OCL_FirestormSmall 46260 FX = FINAL WeaponFX_NapalmMissileDetonation 46261 End 46262 Behavior = MaxHealthUpgrade ModuleTag_09 46263 TriggeredBy = Upgrade_SeaArmour 46264 AddMaxHealth = 1000.0 46265 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 46266 End 46267 46268 Behavior = AutoHealBehavior ModuleTag_05 46269 HealingAmount = 7 46270 HealingDelay = 500 ; msec 46271 TriggeredBy = Upgrade_SeaRepair 46272 End 46273 Geometry = BOX 46274 Scale = 0.85 46275 GeometryMajorRadius = 164.0 46276 GeometryMinorRadius = 18.0 46277 GeometryHeight = 54.8 46278 GeometryIsSmall = No 46279 Shadow = SHADOW_VOLUME 46280 46281 End 46282 46283 ;----------------------------------------------------------------------------------- 46284 Object ChinaVehicleAntiSub 46285 46286 ; *** ART Parameters *** 46287 SelectPortrait = T29 46288 ButtonImage = T29 46289 46290 ;UpgradeCameo1 = Upgrade_GLACamouflage 46291 ;UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 46292 ;UpgradeCameo3 = NONE 46293 ;UpgradeCameo4 = NONE 46294 ;UpgradeCameo5 = NONE 46295 46296 Draw = W3DModelDraw ModuleTag_01 46297 46298 DefaultConditionState 46299 Model = nvka28 46300 HideSubObject = MissileUpgrade 46301 Animation = nvka28.nvka28 46302 AnimationMode = LOOP 46303 WeaponMuzzleFlash = PRIMARY TurretFX 46304 WeaponFireFXBone = PRIMARY Muzzle 46305 WeaponFireFXBone = SECONDARY Muzzle 46306 WeaponLaunchBone = SECONDARY Muzzle 46307 End 46308 46309 ConditionState = REALLYDAMAGED 46310 Model = nvka28 46311 Animation = nvka28.nvka28 46312 AnimationMode = LOOP 46313 End 46314 46315 ConditionState = WEAPONSET_PLAYER_UPGRADE 46316 ShowSubObject = MissileUpgrade 46317 Animation = nvka28.nvka28 46318 AnimationMode = LOOP 46319 WeaponFireFXBone = TERTIARY WeaponB 46320 WeaponLaunchBone = TERTIARY WeaponB 46321 End 46322 46323 ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED 46324 Model = nvka28 46325 ShowSubObject = MissileUpgrade 46326 Animation = nvka28.nvka28 46327 AnimationMode = LOOP 46328 WeaponFireFXBone = TERTIARY WeaponB 46329 WeaponLaunchBone = TERTIARY WeaponB 46330 End 46331 46332 ConditionState = RUBBLE 46333 Model = nvka28 46334 Animation = nvka28.nvka28 46335 AnimationMode = LOOP 46336 End 46337 46338 ConditionState = RUBBLE SPECIAL_DAMAGED 46339 Model = nvka28 46340 HideSubObject = nvka28 46341 End 46342 46343 OkToChangeModelColor = Yes 46344 End 46345 46346 ; ***DESIGN parameters *** 46347 DisplayName = OBJECT:Comanche 46348 EditorSorting = VEHICLE 46349 Side = America 46350 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 46351 VisionRange = 180.0 46352 ShroudClearingRange = 600 46353 Prerequisites 46354 Object = AmericaAirfield 46355 End 46356 46357 WeaponSet 46358 Conditions = None 46359 Weapon = PRIMARY AntiSubMissileWeapon 46360 PreferredAgainst = PRIMARY VEHICLE 46361 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 46362 End 46363 46364 ArmorSet 46365 Conditions = None 46366 Armor = ComancheArmor 46367 DamageFX = None 46368 End 46369 BuildCost = 1500 46370 BuildTime = 20 ; in seconds 46371 ExperienceValue = 50 50 100 200 ; Experience point value at each level 46372 ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level 46373 IsTrainable = Yes ; Can gain experience 46374 CommandSet = ChinaJetMIGCommandSet 46375 46376 ; *** AUDIO Parameters *** 46377 VoiceSelect = ComancheVoiceSelect 46378 VoiceMove = ComancheVoiceMove 46379 VoiceGuard = ComancheVoiceMove 46380 VoiceAttack = ComancheVoiceAttack 46381 SoundAmbient = ComancheAmbientLoop 46382 SoundAmbientRubble = NoSound 46383 SoundDie = ComancheVoiceFalling 46384 UnitSpecificSounds 46385 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 46386 VoiceCreate = ComancheVoiceCreate 46387 SoundEject = PilotSoundEject 46388 VoiceEject = PilotVoiceEject 46389 Afterburner = RaptorAfterburner 46390 VoiceGarrison = ComancheVoiceMove 46391 TurretMoveStart = NoSound 46392 TurretMoveLoop = NoSound 46393 VoiceFireRocketPods = ComancheVoiceAttackRocket 46394 End 46395 46396 46397 ; *** ENGINEERING Parameters *** 46398 RadarPriority = UNIT 46399 KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD 46400 46401 Behavior = WeaponSetUpgrade ModuleTag_02 46402 TriggeredBy = Upgrade_ComancheRocketPods 46403 End 46404 Behavior = ExperienceScalarUpgrade ModuleTag_03 46405 TriggeredBy = Upgrade_AmericaAdvancedTraining 46406 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 46407 End 46408 46409 Body = ActiveBody ModuleTag_04 46410 MaxHealth = 220.0 46411 InitialHealth = 220.0 46412 End 46413 46414 Behavior = FXListDie ModuleTag_05 46415 DeathFX = FX_HelicopterStartDeath 46416 End 46417 46418 Behavior = JetAIUpdate ModuleTag_06 46419 MinHeight = 5 46420 NeedsRunway = No 46421 KeepsParkingSpaceWhenAirborne = No 46422 AutoAcquireEnemiesWhenIdle = Yes 46423 ; note that comanches do not return to base when idle 46424 46425 ; this is a bit of a trick... normally, units cannot move-and-fire at 46426 ; the same time. we need the comanche to be able to. so we give it 46427 ; a "turret" (invisible) and put the two main weapons on it, but with 46428 ; no turn rate. voila! 46429 Turret 46430 TurretTurnRate = 0 ; this "turret" does not turn 46431 TurretPitchRate = 0 ; nor does it pitch 46432 ControlledWeaponSlots = PRIMARY SECONDARY 46433 End 46434 46435 End 46436 Locomotor = SET_NORMAL ComancheLocomotor 46437 Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor 46438 46439 Behavior = PhysicsBehavior ModuleTag_07 46440 Mass = 50.0 46441 End 46442 Behavior = HelicopterSlowDeathBehavior ModuleTag_08 46443 DestructionDelay = 99999999 ; the destruction delay 46444 SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral 46445 SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral 46446 SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster 46447 MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) 46448 SoundDeathLoop = ComancheDamagedLoop 46449 MinSelfSpin = 100 ; in degrees per second 46450 MaxSelfSpin = 300 ; in degrees per second 46451 SelfSpinUpdateDelay = 100 ; in milliseconds 46452 SelfSpinUpdateAmount = 10 ; in degrees 46453 FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall 46454 MinBladeFlyOffDelay = 1500 ; in milliseconds 46455 MaxBladeFlyOffDelay = 1500 ; in milliseconds 46456 AttachParticle = SootySmokeTrail 46457 AttachParticleBone = Propeller02 46458 BladeObjectName = ComancheBlades 46459 BladeBoneName = Propeller01 46460 ; Most things that eject pilots do so immediately upon death, 46461 ; via use of EjectPilotDie, but Helicopters are a special case... 46462 ; they need to do so after their blades are ejected. 46463 OCLEjectPilot = OCL_EjectPilotViaParachute 46464 FXBlade = FX_HelicopterBladeExplosion 46465 OCLBlade = OCL_HelicopterBladeExplosion 46466 FXHitGround = FX_HelicopterHitGround 46467 OCLHitGround = OCL_HelicopterHitGround 46468 FXFinalBlowUp = FX_GroundedHelicopterBlowUp 46469 OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp 46470 DelayFromGroundToFinalDeath = 1500 46471 FinalRubbleObject = ComancheRubbleHull 46472 End 46473 46474 Behavior = TransitionDamageFX ModuleTag_09 46475 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown 46476 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 46477 End 46478 46479 Behavior = FlammableUpdate ModuleTag_21 46480 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 46481 AflameDamageAmount = 3 ; taking this much damage... 46482 AflameDamageDelay = 500 ; this often. 46483 End 46484 46485 Behavior = StealthUpdate ModuleTag_07 46486 StealthDelay = 2500 ; msec 46487 StealthForbiddenConditions = ATTACKING USING_ABILITY 46488 MoveThresholdSpeed = 3 46489 InnateStealth = No ;Requires upgrade first 46490 OrderIdleEnemiesToAttackMeUponReveal = Yes 46491 End 46492 46493 Behavior = StealthUpgrade ModuleTag_08 46494 TriggeredBy = Upgrade_GLACamouflage 46495 End 46496 46497 Behavior = MobMemberSlavedUpdate ModuleTag_22 46498 MustCatchUpRadius = 500 ;???????? 46499 NoNeedToCatchUpRadius = 180 ;?????? 46500 Squirrelliness = 0.05 46501 CatchUpCrisisBailTime = 3000; this is in calls to this update, not in frames 46502 End 46503 46504 Geometry = BOX 46505 GeometryMajorRadius = 20.0 46506 GeometryMinorRadius = 3.0 46507 GeometryHeight = 25.0 46508 GeometryIsSmall = No 46509 Shadow = SHADOW_VOLUME 46510 ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length 46511 46512 End 46513 ;------------------------------------------------------------------------------ 46514 Object ChinaVehicleFieldPorpaganda 46515 ; *** ART Parameters *** 46516 SelectPortrait = T30 46517 ButtonImage = T30 46518 46519 UpgradeCameo1 = Upgrade_ChinaRadarJammer 46520 ; UpgradeCameo2 = Upgrade_AmericaScoutDrone 46521 ;UpgradeCameo3 = NONE 46522 ;UpgradeCameo4 = NONE 46523 ;UpgradeCameo5 = NONE 46524 46525 46526 Draw = W3DTruckDraw ModuleTag_01 46527 OkToChangeModelColor = Yes 46528 DefaultConditionState 46529 Model = NVPPTYK 46530 Animation = NVPPTYK.NVPPTYK 46531 AnimationMode = LOOP 46532 End 46533 46534 ConditionState = REALLYDAMAGED 46535 Model = NVPPTYK 46536 Animation = NVPPTYK.NVPPTYK 46537 AnimationMode = LOOP 46538 End 46539 46540 ConditionState = RUBBLE 46541 Model = NVPPTYK 46542 Animation = NVPPTYK.NVPPTYK 46543 AnimationMode = LOOP 46544 End 46545 46546 End 46547 46548 ; ***DESIGN parameters *** 46549 DisplayName = OBJECT:Medic 46550 Side = China 46551 EditorSorting = VEHICLE 46552 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 46553 46554 WeaponSet 46555 Conditions = None 46556 End 46557 46558 ArmorSet 46559 Conditions = None 46560 Armor = TankArmor 46561 DamageFX = TankDamageFX 46562 End 46563 46564 BuildCost = 800 46565 BuildTime = 15 ;10.0 ;in seconds 46566 VisionRange = 100 46567 ShroudClearingRange = 400 46568 Prerequisites 46569 Object = ChinaWarFactory 46570 End 46571 ExperienceValue = 50 50 50 50 ;Experience point value at each level 46572 IsTrainable = No 46573 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 46574 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 46575 CommandSet = GenericCommandSet 46576 46577 ; *** AUDIO Parameters *** 46578 VoiceSelect = RedGuardVoiceSelect 46579 VoiceMove = RedGuardVoiceMove 46580 VoiceGuard = RedGuardVoiceMove 46581 VoiceAttack = RedGuardVoiceAttack 46582 VoiceGroupSelect = BattleCrySound 46583 SoundDie = RedGuardVoiceDie 46584 SoundDieFire = DieByFireChina 46585 SoundDieToxin = DieByToxinChina 46586 VoiceFear = RedGuardVoiceFear 46587 VoiceTaskComplete = RedGuardVoiceCaptureComplete 46588 UnitSpecificSounds 46589 VoiceMelee = RedGuardVoiceAttackBayonet 46590 VoiceGarrison = RedGuardVoiceGarrison 46591 VoiceCreate = RedGuardVoiceCreate 46592 VoiceSubdue = RedGuardVoiceSubdue 46593 VoiceEnter = RedGuardVoiceMove 46594 VoiceEnterHostile = RedGuardVoiceMove 46595 VoiceGetHealed = RedGuardVoiceMove 46596 End 46597 46598 46599 ; *** ENGINEERING Parameters *** 46600 RadarPriority = UNIT 46601 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE 46602 46603 Body = ActiveBody ModuleTag_02 46604 MaxHealth = 240.0 46605 InitialHealth = 240.0 46606 End 46607 46608 Behavior = TransportAIUpdate ModuleTag_05 46609 ; 46610 End 46611 Locomotor = SET_NORMAL NuclearBattleMasterLocomotor 46612 46613 Behavior = PhysicsBehavior ModuleTag_07 46614 Mass = 50.0 46615 End 46616 Behavior = SlowDeathBehavior ModuleTag_08 46617 DeathTypes = ALL -CRUSHED -SPLATTED 46618 DestructionDelay = 0 46619 FX = FINAL FX_GenericTankDeathExplosion 46620 OCL = FINAL OCL_FinalAmbulanceDebris 46621 End 46622 46623 Behavior = DestroyDie ModuleTag_12 46624 DeathTypes = NONE +CRUSHED +SPLATTED 46625 End 46626 46627 Behavior = FXListDie ModuleTag_13 46628 DeathTypes = NONE +CRUSHED +SPLATTED 46629 DeathFX = FX_CarCrush 46630 End 46631 46632 Behavior = CreateObjectDie ModuleTag_14 46633 DeathTypes = NONE +CRUSHED +SPLATTED 46634 CreationList = OCL_CrusaderTank_CrushEffect 46635 End 46636 46637 Behavior = FXListDie ModuleTag_15 46638 DeathTypes = ALL -CRUSHED -SPLATTED 46639 DeathFX = FX_GenericTankDeathEffect 46640 End 46641 46642 Behavior = CreateCrateDie ModuleTag_16 46643 CrateData = SalvageCrateData 46644 ;CrateData = EliteTankCrateData 46645 ;CrateData = HeroicTankCrateData 46646 End 46647 46648 Behavior = TransitionDamageFX ModuleTag_18 46649 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 46650 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 46651 End 46652 46653 Behavior = FlammableUpdate ModuleTag_21 46654 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 46655 AflameDamageAmount = 3 ; taking this much damage... 46656 AflameDamageDelay = 500 ; this often. 46657 46658 End 46659 46660 Behavior = AutoHealBehavior ModuleTag_22 46661 HealingAmount = 4 46662 HealingDelay = 1000 ; msec 46663 Radius = 175.0f 46664 StartsActive = Yes 46665 KindOf = INFANTRY VEHICLE 46666 End 46667 46668 Behavior = ActiveShroudUpgrade ModuleTag_23 46669 TriggeredBy = Upgrade_ChinaRadarJammer 46670 NewShroudRange = 175.0 46671 FXListUpgrade = FX_ChinaRadarJammerUpgrade 46672 End 46673 46674 Behavior = StealthDetectorUpdate ModuleTag_24 46675 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) 46676 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 46677 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 46678 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 46679 PingSound = IRPing 46680 LoudPingSound = IRPingLoud 46681 IRParticleSysName = IRDetectSonar 46682 IRBrightParticleSysName = IRDetectSonarBright 46683 IRGridParticleSysName = IRDetectGrid 46684 IRBeaconParticleSysName = IRLenzflare 46685 IRParticleSysBone = SMOKE08 46686 End 46687 46688 Geometry = BOX 46689 GeometryMajorRadius = 14.0 46690 GeometryMinorRadius = 7.0 46691 GeometryHeight = 12.0 ; height set to allow clear clipping of projectile streams 46692 GeometryIsSmall = Yes 46693 Shadow = SHADOW_VOLUME 46694 46695 End 46696 ;--------------------------------------------------------------------------- 46697 Object AntiSubMissile 46698 ; *** ART Parameters *** 46699 Draw = W3DModelDraw ModuleTag_01 46700 DefaultConditionState 46701 Model = EXCarptBmb 46702 End 46703 End 46704 46705 ; ***DESIGN parameters *** 46706 Side = China 46707 EditorSorting = SYSTEM 46708 ArmorSet 46709 Conditions = None 46710 Armor = ProjectileArmor 46711 DamageFX = None 46712 End 46713 VisionRange = 0.0 46714 46715 ; *** AUDIO Parameters *** 46716 46717 ; *** ENGINEERING Parameters *** 46718 KindOf = PROJECTILE 46719 Body = ActiveBody ModuleTag_02 46720 MaxHealth = 100.0 46721 InitialHealth = 100.0 46722 End 46723 46724 Behavior = PhysicsBehavior ModuleTag_03 46725 Mass = 75.0 46726 AerodynamicFriction = 2 ; this is now friction-per-sec 46727 ForwardFriction = 2 ; this is now friction-per-sec 46728 CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back 46729 End 46730 46731 Behavior = MissileAIUpdate ModuleTag_04 46732 TryToFollowTarget = No 46733 FuelLifetime = 0 46734 IgnitionDelay = 0 46735 InitialVelocity = 0 ; in dist/sec 46736 DistanceToTravelBeforeTurning = 0 46737 DistanceToTargetBeforeDiving = 0 46738 End 46739 Locomotor = SET_NORMAL AuroraBombLocomotor ; yes, that's right. 46740 46741 Geometry = Sphere 46742 GeometryIsSmall = Yes 46743 GeometryMajorRadius = 2.0 46744 End 46745 ;----------------------------------------------------------------------------- 46746 ;------------------------------------------------------------------------------ 46747 Object ChinaVehicleTroopCrawlerf 46748 46749 ; *** ART Parameters *** 46750 SelectPortrait = SNTransport_L 46751 ButtonImage = SNTransport 46752 46753 ;UpgradeCameo1 = NONE 46754 ;UpgradeCameo2 = NONE 46755 ;UpgradeCameo3 = NONE 46756 ;UpgradeCameo4 = NONE 46757 ;UpgradeCameo5 = NONE 46758 46759 Draw = W3DTruckDraw ModuleTag_01 46760 OkToChangeModelColor = Yes 46761 ConditionState = NONE 46762 Model = NVTCrawler 46763 ;note, the IRSonar particle system is added in StealthDetectorUpdate.cpp, not here 46764 End 46765 ConditionState = REALLYDAMAGED RUBBLE ; THIS IS VERY IMPORTANT... DO NOT REMOVE 'RUBBLE' UNDER PENALTY OF DEATH MLorenzen 46766 ; @todo find out why a non-animating model like this has such trouble matching 46767 ; reallydamaged against moving against rubble, etc. 46768 Model = NVTCrawler_D 46769 End 46770 46771 TrackMarks = EXTireTrack.tga 46772 46773 Dust = RocketBuggyDust 46774 DirtSpray = RocketBuggyDirtSpray 46775 ; PowerslideSpray = RocketBuggyDirtPowerSlide doesn't powerslide 46776 46777 ; These parameters are only used if the model has a separate suspension, 46778 ; and the locomotor has HasSuspension = Yes. 46779 LeftFrontTireBone = Wheel01 46780 RightFrontTireBone = Wheel08 46781 LeftRearTireBone = Wheel03 46782 RightRearTireBone = Wheel05 46783 MidLeftFrontTireBone = Wheel02 46784 MidRightFrontTireBone = Wheel07 46785 MidLeftRearTireBone = Wheel04 46786 MidRightRearTireBone = Wheel06 46787 46788 TireRotationMultiplier = 0.2 ; this * speed = rotation. 46789 PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. 46790 46791 End 46792 46793 46794 ; ***DESIGN parameters *** 46795 DisplayName = OBJECT:TroopCrawler 46796 Side = China 46797 EditorSorting = VEHICLE 46798 TransportSlotCount = 8 ;Just enough to fit into a Chinook. 46799 WeaponSet 46800 Conditions = None 46801 Weapon = PRIMARY TroopCrawlerAssault 46802 End 46803 ArmorSet 46804 Conditions = None 46805 Armor = TankArmor 46806 DamageFX = TankDamageFX 46807 End 46808 BuildCost = 1400 46809 BuildTime = 15.0 ;in seconds 46810 VisionRange = 175 ;Needs to see farther and match it's weapon range -- else troop crawlers will get slaughtered against tanks! 46811 ShroudClearingRange = 400 46812 Prerequisites 46813 Object = ChinaWarFactory 46814 End 46815 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 46816 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 46817 CommandSet = ChinaTroopCrawlerCommandSet 46818 46819 ; *** AUDIO Parameters *** 46820 VoiceSelect = TroopCrawlerVoiceSelect 46821 VoiceMove = TroopCrawlerVoiceMove 46822 VoiceGuard = TroopCrawlerVoiceMove 46823 VoiceAttack = TroopCrawlerVoiceAttack 46824 SoundMoveStart = TroopCrawlerMoveStart 46825 SoundMoveStartDamaged = TroopCrawlerMoveStart 46826 SoundEnter = HumveeEnter 46827 SoundExit = HumveeExit 46828 UnitSpecificSounds 46829 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 46830 VoiceCreate = TroopCrawlerVoiceCreate 46831 TurretMoveStart = NoSound 46832 TurretMoveLoop = TurretMoveLoop 46833 TruckLandingSound = NoSound ;RocketBuggyLand 46834 TruckPowerslideSound = NoSound ;RocketBuggyPowerslide 46835 VoiceCrush = TroopCrawlerVoiceCrush 46836 VoiceUnload = TroopCrawlerVoiceUnload 46837 VoiceEnter = TroopCrawlerVoiceMove 46838 End 46839 46840 46841 ; *** ENGINEERING Parameters *** 46842 RadarPriority = UNIT 46843 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS TRANSPORT VEHICLE SCORE 46844 46845 Body = ActiveBody ModuleTag_02 46846 MaxHealth = 240.0 46847 InitialHealth = 240.0 46848 End 46849 Behavior = StealthDetectorUpdate ModuleTag_03 46850 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) 46851 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 46852 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 46853 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 46854 PingSound = IRPing 46855 LoudPingSound = IRPingLoud 46856 IRParticleSysName = IRDetectSonar 46857 IRBrightParticleSysName = IRDetectSonarBright 46858 IRGridParticleSysName = IRDetectGrid 46859 IRBeaconParticleSysName = IRLenzflare 46860 IRParticleSysBone = IRFX 46861 End 46862 46863 ;OBSOLETE 46864 ; Behavior = AIUpdateInterface ModuleTag_04 46865 ; Turret 46866 ; ControlledWeaponSlots = PRIMARY 46867 ; End 46868 ; End 46869 Behavior = AssaultTransportAIUpdate ModuleTag_NewAI 46870 MembersGetHealedAtLifeRatio = 0.5 46871 End 46872 46873 Locomotor = SET_NORMAL TroopCrawlerLocomotor 46874 Behavior = PhysicsBehavior ModuleTag_05 46875 Mass = 50.0 46876 End 46877 Behavior = TransportContain ModuleTag_06 46878 Slots = 8 46879 PassengersAllowedToFire = Yes 46880 InitialPayload = ChinaInfantryCommando 8 46881 ScatterNearbyOnExit = No 46882 HealthRegen%PerSec = 10 46883 DamagePercentToUnits = 10% 46884 AllowInsideKindOf = INFANTRY 46885 ExitDelay = 250 46886 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn 46887 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 46888 End 46889 46890 Behavior = SlowDeathBehavior ModuleTag_07 46891 DeathTypes = ALL -CRUSHED -SPLATTED 46892 DestructionDelay = 1 46893 FX = FINAL FX_SupplyTruckExplosionOneFinal 46894 OCL = FINAL OCL_FinalTroopCrawlerDebris 46895 End 46896 46897 Behavior = TransitionDamageFX ModuleTag_08 46898 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 46899 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition 46900 End 46901 46902 Behavior = DestroyDie ModuleTag_09 46903 DeathTypes = NONE +CRUSHED +SPLATTED 46904 End 46905 46906 Behavior = FXListDie ModuleTag_10 46907 DeathTypes = NONE +CRUSHED +SPLATTED 46908 DeathFX = FX_CarCrush 46909 End 46910 46911 ; A crushing defeat 46912 Behavior = FXListDie ModuleTag_11 46913 DeathTypes = NONE +CRUSHED +SPLATTED 46914 DeathFX = FX_CarCrush 46915 End 46916 46917 Behavior = CreateCrateDie ModuleTag_12 46918 CrateData = SalvageCrateData 46919 ;CrateData = EliteTankCrateData 46920 ;CrateData = HeroicTankCrateData 46921 End 46922 46923 Behavior = FlammableUpdate ModuleTag_21 46924 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 46925 AflameDamageAmount = 3 ; taking this much damage... 46926 AflameDamageDelay = 500 ; this often. 46927 End 46928 46929 Geometry = BOX 46930 GeometryMajorRadius = 22.0 46931 GeometryMinorRadius = 9.0 46932 GeometryHeight = 13.0 46933 GeometryIsSmall = No 46934 Shadow = SHADOW_VOLUME 46935 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 46936 46937 End 46938 46939 46940 ;------------------------------------------------------------------------------ 46941 Object AmericaVehicleAvenger 46942 46943 ; *** ART Parameters *** 46944 SelectPortrait = T1 46945 ButtonImage = T1 46946 46947 UpgradeCameo1 = Upgrade_AmericaBattleDrone 46948 UpgradeCameo2 = Upgrade_AmericaScoutDrone 46949 UpgradeCameo3 = Upgrade_AmericaTOWMissile 46950 UpgradeCameo4 = Upgrade_AmericaAdvancedTraining 46951 ;UpgradeCameo5 = XXX 46952 46953 Draw = W3DTruckDraw ModuleTag_01 46954 OkToChangeModelColor = Yes 46955 46956 ConditionState = NONE 46957 Model = AvAvenger 46958 Turret = Turret 46959 WeaponFireFXBone = PRIMARY Plane 46960 WeaponLaunchBone = PRIMARY Plane 46961 WeaponFireFXBone = SECONDARY Plane 46962 WeaponLaunchBone = SECONDARY Plane 46963 End 46964 46965 ConditionState = REALLYDAMAGED 46966 Model = AvAvenger 46967 Turret = Turret 46968 WeaponFireFXBone = PRIMARY Plane 46969 WeaponLaunchBone = PRIMARY Plane 46970 WeaponFireFXBone = SECONDARY Plane 46971 WeaponLaunchBone = SECONDARY Plane 46972 End 46973 46974 TrackMarks = EXTireTrack.tga 46975 46976 Dust = RocketBuggyDust 46977 DirtSpray = RocketBuggyDirtSpray 46978 PowerslideSpray = RocketBuggyDirtPowerSlide 46979 46980 ; These parameters are only used if the model has a separate suspension, 46981 ; and the locomotor has HasSuspension = Yes. 46982 LeftFrontTireBone = Tire01 46983 RightFrontTireBone = Tire02 46984 LeftRearTireBone = Tire03 46985 RightRearTireBone = Tire04 46986 TireRotationMultiplier = 0.2 ; this * speed = rotation. 46987 PowerslideRotationAddition = 1.25 ; This speed is added to the rotation speed when powersliding. 46988 46989 End 46990 46991 ; ***DESIGN parameters *** 46992 DisplayName = OBJECT:Avenger 46993 Side = America 46994 EditorSorting = VEHICLE 46995 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 46996 46997 WeaponSet 46998 Conditions = None 46999 Weapon = PRIMARY HumveeMissileWeapon 47000 PreferredAgainst = PRIMARY INFANTRY VEHICLE STRUCTURE 47001 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 47002 ;------------ 47003 Weapon = SECONDARY HumveeMissileWeaponAir 47004 PreferredAgainst = SECONDARY AIRCRAFT PROJECTILE 47005 AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI 47006 End 47007 47008 ArmorSet 47009 Conditions = None 47010 Armor = AntiAirVehicle 47011 DamageFX = TankDamageFX 47012 End 47013 BuildCost = 500 47014 BuildTime = 10.0 ;in seconds 47015 VisionRange = 150 47016 ShroudClearingRange = 320 47017 Prerequisites 47018 Object = AmericaWarFactory 47019 End 47020 ExperienceValue = 50 50 100 150 ;Experience point value at each level 47021 ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level 47022 IsTrainable = Yes ;Can gain experience 47023 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 47024 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 47025 CommandSet = AmericaVehicleHumveeCommandSet 47026 47027 ; *** AUDIO Parameters *** 47028 VoiceSelect = HumveeVoiceSelect 47029 VoiceMove = HumveeVoiceMove 47030 VoiceGuard = HumveeVoiceMove 47031 VoiceAttack = HumveeVoiceAttack 47032 VoiceAttackAir = HumveeVoiceAttackTOW 47033 SoundMoveStart = HumveeMoveStart 47034 SoundMoveStartDamaged = HumveeMoveStart 47035 SoundEnter = HumveeEnter 47036 SoundExit = HumveeExit 47037 47038 UnitSpecificSounds 47039 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 47040 ;TurretMoveStart = NoSound 47041 VoiceCreate = HumveeVoiceCreate 47042 TurretMoveLoop = TurretMoveLoop 47043 SoundEject = PilotSoundEject 47044 VoiceEject = PilotVoiceEject 47045 VoiceCrush = HumveeVoiceCrush 47046 ; Required for the W3DTruckDraw module 47047 TruckLandingSound = RocketBuggyLand 47048 TruckPowerslideSound = RocketBuggyPowerslide 47049 VoiceUnload = HumveeVoiceUnload 47050 VoiceEnter = HumveeVoiceMove 47051 End 47052 47053 Behavior = AIUpdateInterface ModuleTag_20 47054 AutoAcquireEnemiesWhenIdle = Yes 47055 MoodAttackCheckRate = 250 47056 End 47057 47058 ; *** ENGINEERING Parameters *** 47059 RadarPriority = UNIT 47060 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT SALVAGER 47061 47062 Body = ActiveBody ModuleTag_02 47063 MaxHealth = 200.0 47064 InitialHealth = 200.0 47065 End 47066 Behavior = TransportAIUpdate ModuleTag_03 47067 Turret 47068 TurretTurnRate = 180 47069 RecenterTime = 5000 ; how long to wait during idle before recentering 47070 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY 47071 End 47072 AutoAcquireEnemiesWhenIdle = Yes 47073 End 47074 Locomotor = SET_NORMAL HumveeLocomotor 47075 47076 Behavior = PhysicsBehavior ModuleTag_04 47077 Mass = 50.0 47078 End 47079 47080 Behavior = TransportContain ModuleTag_05 47081 PassengersAllowedToFire = Yes 47082 Slots = 2 47083 ; EnterSound = GarrisonEnter 47084 ; ExitSound = GarrisonExit 47085 DamagePercentToUnits = 100% ;10% 47086 AllowInsideKindOf = INFANTRY 47087 ExitDelay = 250 47088 NumberOfExitPaths = 2 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn 47089 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting 47090 End 47091 47092 Behavior = ObjectCreationUpgrade ModuleTag_06 47093 UpgradeObject = OCL_AmericanBattleDrone 47094 TriggeredBy = Upgrade_AmericaBattleDrone 47095 ConflictsWith = Upgrade_AmericaScoutDrone 47096 End 47097 Behavior = ObjectCreationUpgrade ModuleTag_07 47098 UpgradeObject = OCL_AmericanScoutDrone 47099 TriggeredBy = Upgrade_AmericaScoutDrone 47100 ConflictsWith = Upgrade_AmericaBattleDrone 47101 End 47102 Behavior = ProductionUpdate ModuleTag_08 47103 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 47104 End 47105 47106 Behavior = WeaponSetUpgrade ModuleTag_09 47107 TriggeredBy = Upgrade_AmericaTOWMissile 47108 End 47109 Behavior = ExperienceScalarUpgrade ModuleTag_10 47110 TriggeredBy = Upgrade_AmericaAdvancedTraining 47111 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 47112 End 47113 47114 Behavior = SlowDeathBehavior ModuleTag_11 47115 DeathTypes = ALL -CRUSHED -SPLATTED 47116 ProbabilityModifier = 25 47117 DestructionDelay = 1 47118 OCL = INITIAL OCL_InitialHumveeDebris 47119 FX = FINAL FX_BattleMasterExplosionOneFinal 47120 OCL = FINAL OCL_FinalHumveeDebris 47121 End 47122 47123 Behavior = DestroyDie ModuleTag_12 47124 DeathTypes = NONE +CRUSHED +SPLATTED 47125 End 47126 47127 Behavior = FXListDie ModuleTag_13 47128 DeathTypes = NONE +CRUSHED +SPLATTED 47129 DeathFX = FX_CarCrush 47130 End 47131 47132 Behavior = CreateCrateDie ModuleTag_CratesChange 47133 CrateData = SalvageCrateData 47134 ;CrateData = EliteTankCrateData 47135 ;CrateData = HeroicTankCrateData 47136 End 47137 47138 ; This is commented out per hotlist request 10/9 ML 47139 ; Behavior = CreateObjectDie ModuleTag_15 47140 ; DeathTypes = ALL -CRUSHED -SPLATTED 47141 ; CreationList = OCL_AmericanRangerDebris01 47142 ; ExemptStatus = HIJACKED 47143 ; End 47144 47145 Behavior = EjectPilotDie ModuleTag_16 47146 DeathTypes = ALL -CRUSHED -SPLATTED 47147 ExemptStatus = HIJACKED 47148 ; The following added out per hotlist request 10/9 as above ML 47149 VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot 47150 GroundCreationList = OCL_EjectPilotOnGround 47151 AirCreationList = OCL_EjectPilotViaParachute 47152 End 47153 47154 Behavior = TransitionDamageFX ModuleTag_17 47155 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 47156 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 47157 End 47158 47159 Behavior = FlammableUpdate ModuleTag_21 47160 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 47161 AflameDamageAmount = 3 ; taking this much damage... 47162 AflameDamageDelay = 500 ; this often. 47163 End 47164 47165 Geometry = BOX 47166 Scale = 1.11 47167 GeometryMajorRadius = 14.0 47168 GeometryMinorRadius = 7.0 47169 GeometryHeight = 11.5 47170 GeometryIsSmall = Yes 47171 Shadow = SHADOW_VOLUME 47172 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 47173 47174 End 47175 47176 ;----------------------------------------------------- 47177 ;------------------------------------------------------------------------------ 47178 Object GLAVehiclezodiac 47179 47180 ; *** ART Parameters *** 47181 SelectPortrait = SUBombTruck_L 47182 ButtonImage = SUBombTruck 47183 47184 UpgradeCameo1 = Upgrade_GLABombTruckHighExplosiveBomb 47185 UpgradeCameo2 = Upgrade_GLABombTruckBioBomb 47186 UpgradeCameo3 = Upgrade_GLAJunkRepair 47187 ;UpgradeCameo4 = NONE 47188 ;UpgradeCameo5 = NONE 47189 47190 47191 Draw = W3DTruckDraw ModuleTag_01 47192 OkToChangeModelColor = Yes 47193 TrackMarks = EXTireTrack.tga 47194 47195 ConditionState = NONE 47196 Model = zodiac 47197 End 47198 47199 ConditionState = MOVING 47200 Model = zodiac 47201 End 47202 47203 ConditionState = OVER_WATER 47204 Model = zodiac 47205 End 47206 47207 ConditionState = MOVING OVER_WATER 47208 Model = zodiac 47209 ParticleSysBone = TreadFX01 AmphibWave 47210 47211 47212 ;Display the default bombload -- and the upgrades will handle the rest! 47213 HideSubObject = Bombload02 Bombload03 Bombload04 47214 End 47215 47216 ConditionState = REALLYDAMAGED 47217 Model = zodiac 47218 Animation = zodiac.zodiac 47219 AnimationMode = LOOP 47220 End 47221 47222 ConditionState = RUBBLE 47223 Model = zodiac 47224 End 47225 47226 LeftFrontTireBone = Tire01 47227 RightFrontTireBone = Tire02 47228 MidLeftFrontTireBone = Tire03 47229 MidRightFrontTireBone = Tire04 47230 LeftRearTireBone = Tire05 47231 RightRearTireBone = Tire06 47232 TireRotationMultiplier = 0.2 ; this * speed = rotation. 47233 47234 Dust = RocketBuggyDust 47235 DirtSpray = RocketBuggyDirtSpray 47236 PowerslideSpray = RocketBuggyDirtPowerSlide 47237 47238 End 47239 47240 ; ***DESIGN parameters *** 47241 DisplayName = OBJECT:zodiac 47242 Side = GLA 47243 EditorSorting = VEHICLE 47244 TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) 47245 WeaponSet 47246 Conditions = None 47247 Weapon = PRIMARY SuicideWeapon 47248 End 47249 ArmorSet 47250 Conditions = None 47251 Armor = TruckArmor 47252 DamageFX = TruckDamageFX 47253 End 47254 BuildCost = 1200 47255 BuildTime = 15.0 ;in seconds 47256 VisionRange = 150 ; Used in attack move targeting 47257 ShroudClearingRange = 200 47258 Prerequisites 47259 Object = GLAArmsDealer 47260 Object = GLAPalace 47261 End 47262 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 47263 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 47264 CommandSet = GLAVehicleBombTruckCommandSet 47265 47266 ; *** AUDIO Parameters *** 47267 VoiceSelect = BombTruckVoiceSelect 47268 VoiceMove = BombTruckVoiceMove 47269 VoiceGuard = BombTruckVoiceMove 47270 VoiceAttack = BombTruckVoiceAttack 47271 SoundMoveStart = BombTruckMoveStart 47272 SoundMoveStartDamaged = BombTruckMoveStart 47273 UnitSpecificSounds 47274 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 47275 VoiceCreate = BombTruckVoiceCreate 47276 TurretMoveStart = NoSound 47277 TurretMoveLoop = NoSound 47278 TruckLandingSound = RocketBuggyLand 47279 TruckPowerslideSound = RocketBuggyPowerslide 47280 DisguiseStarted = BombTruckDisguiseStarted 47281 DisguiseRevealedSuccess = BombTruckDisguiseRevealedSuccess 47282 DisguiseRevealedFailure = BombTruckDisguiseRevealedFailure 47283 VoiceEnter = BombTruckVoiceMove 47284 End 47285 47286 ; *** ENGINEERING Parameters *** 47287 RadarPriority = UNIT 47288 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE DISGUISER 47289 47290 Body = ActiveBody ModuleTag_02 47291 MaxHealth = 220.0 47292 InitialHealth = 220.0 47293 End 47294 47295 ExperienceValue = 50 50 50 50 ; Experience point value at each level 47296 47297 Behavior = VeterancyGainCreate ModuleTag_03 47298 StartingLevel = VETERAN 47299 End 47300 47301 Behavior = AIUpdateInterface ModuleTag_04 47302 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS 47303 End 47304 Locomotor = SET_NORMAL BasicBoatLocomotor 47305 47306 Behavior = PhysicsBehavior ModuleTag_05 47307 Mass = 10.0 47308 End 47309 47310 Behavior = AutoHealBehavior ModuleTag_06 47311 HealingAmount = 2 47312 HealingDelay = 1000 ; msec 47313 TriggeredBy = Upgrade_GLAJunkRepair 47314 End 47315 47316 Behavior = ProductionUpdate ModuleTag_07 47317 ; nothing 47318 End 47319 47320 Behavior = SlowDeathBehavior ModuleTag_08 47321 DeathTypes = ALL -CRUSHED -SPLATTED 47322 ProbabilityModifier = 5 47323 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely 47324 DestructionDelay = 0 47325 DestructionDelayVariance = 200 47326 FX = FINAL FX_BuggyNewDeathExplosion 47327 OCL = FINAL OCL_BombTruckDeathEffect 47328 End 47329 47330 ;Behavior = DestroyDie 47331 ;nothing 47332 ;End 47333 47334 47335 ;************************************************************************************************ 47336 ;* WHICH BOMB DO WE USE??? 47337 ;* We have 2 damage possibilities -- (normal OR high explosive) 47338 ;* So part 1 is inflicting the damage itself without creating effects 47339 ;* The complicated part is the part where we have 6 possible effect explosions based on 47340 ;* all the possible upgrade combinations. Note that bio weapons don't inflict damage through 47341 ;* the explosion. 47342 ;* 47343 ;* DAMAGE COMBINATIONS (NO EFFECTS): 47344 ;* 1) Normal (doesn't have high explosive upgrade) 47345 ;* 2) High explosive (has high-explosive upgrade) 47346 ;* 47347 ;* EFFECT COMBINATIONS (NO DAMAGE): 47348 ;* 1) Normal (no upgrades) 47349 ;* 2) Bio (bio-bomb upgrade) 47350 ;* 3) Anthrax (bio-bomb and anthrax upgrade) 47351 ;* 4) High explosive (high explosive upgrade) 47352 ;* 5) High explosive bio (high explosive and bio-bomb upgrade) 47353 ;* 6) High explosive anthrax (high explosive, bio-bomb, and anthrax upgrades) 47354 ;************************************************************************************************ 47355 47356 ;************************************************************************************************ 47357 ;* EXCLUSIVE DAMAGE POSSIBILITY 1 -- Normal explosion (can't have high-explosive upgrade) 47358 ;************************************************************************************************ 47359 Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 47360 DeathWeapon = BombTruckDefaultBombDamage 47361 StartsActive = Yes ; turned on by upgrade 47362 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb 47363 End 47364 47365 ;************************************************************************************************ 47366 ;* EXCLUSIVE DAMAGE POSSIBILITY 2 -- High explosion (always plays if it has high-explosive upgrade) 47367 ;************************************************************************************************ 47368 Behavior = FireWeaponWhenDeadBehavior ModuleTag_10 47369 DeathWeapon = BombTruckHighExplosionBombDamage 47370 StartsActive = No ; turned on by upgrade 47371 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 47372 End 47373 47374 ;************************************************************************************************ 47375 ;* EXCLUSIVE EFFECT COMBINATION 1 - Regular explosion (no upgrades) 47376 ;************************************************************************************************ 47377 Behavior = FireWeaponWhenDeadBehavior ModuleTag_11 47378 DeathWeapon = BombTruckDefaultBombEffect 47379 StartsActive = Yes ; turned on by upgrade 47380 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb 47381 End 47382 47383 ;************************************************************************************************ 47384 ;* EXCLUSIVE EFFECT COMBINATION 2 - Bio explosion 47385 ;* Requires: Bio upgrade 47386 ;* Can't have: Anthrax upgrade, high explosive upgrade 47387 ;************************************************************************************************ 47388 Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 47389 DeathWeapon = BombTruckBioBombEffect 47390 StartsActive = No ; turned on by upgrade 47391 TriggeredBy = Upgrade_GLABombTruckBioBomb 47392 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta 47393 RequiresAllTriggers = Yes 47394 End 47395 47396 ;************************************************************************************************ 47397 ;* EXCLUSIVE EFFECT COMBINATION 3 - Anthrax explosion 47398 ;* Requires: Bio upgrade and anthrax upgrade 47399 ;* Can't have: High explosive upgrade 47400 ;************************************************************************************************ 47401 Behavior = FireWeaponWhenDeadBehavior ModuleTag_13 47402 DeathWeapon = BombTruckAnthraxBombEffect 47403 StartsActive = No ; turned on by upgrade 47404 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLAAnthraxBeta 47405 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb 47406 RequiresAllTriggers = Yes 47407 End 47408 47409 ;************************************************************************************************ 47410 ;* EXCLUSIVE EFFECT COMBINATION 4 - High explosion 47411 ;* Requires: High explosive upgrade 47412 ;* Can't have: Bio upgrade and anthrax upgrade 47413 ;************************************************************************************************ 47414 Behavior = FireWeaponWhenDeadBehavior ModuleTag_14 47415 DeathWeapon = BombTruckHighExplosiveBombEffect 47416 StartsActive = No ; turned on by upgrade 47417 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 47418 ConflictsWith = Upgrade_GLABombTruckBioBomb 47419 RequiresAllTriggers = Yes 47420 End 47421 47422 ;************************************************************************************************ 47423 ;* EXCLUSIVE EFFECT COMBINATION 5 - High explosive bio explosion 47424 ;* Requires: High explosive upgrade and bio upgrade 47425 ;* Can't have: Anthrax upgrade 47426 ;************************************************************************************************ 47427 Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 47428 DeathWeapon = BombTruckHighExplosiveBioBombEffect 47429 StartsActive = No ; turned on by upgrade 47430 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb 47431 ConflictsWith = Upgrade_GLAAnthraxBeta 47432 RequiresAllTriggers = Yes 47433 End 47434 47435 ;************************************************************************************************ 47436 ;* EXCLUSIVE EFFECT COMBINATION 6 - High explosive Anthrax explosion 47437 ;* Requires: High explosive, Bio, and anthrax upgrade 47438 ;************************************************************************************************ 47439 Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 47440 DeathWeapon = BombTruckHighExplosiveAnthraxBombEffect 47441 StartsActive = No ; turned on by upgrade 47442 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta 47443 RequiresAllTriggers = Yes 47444 End 47445 47446 ;------------------------------------------------------------------- 47447 ; Wheeeee! Now we get to display the payload based on upgrades!!! 47448 ;------------------------------------------------------------------- 47449 Behavior = SubObjectsUpgrade ModuleTag_17 47450 ;*** Bio bomb load *** 47451 TriggeredBy = Upgrade_GLABombTruckBioBomb 47452 ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb 47453 ShowSubObjects = Bombload02 47454 HideSubObjects = Bombload01 Bombload03 Bombload04 47455 End 47456 Behavior = SubObjectsUpgrade ModuleTag_18 47457 ;*** High-explosive bomb load *** 47458 TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb 47459 ConflictsWith = Upgrade_GLABombTruckBioBomb 47460 ShowSubObjects = Bombload03 47461 HideSubObjects = Bombload01 Bombload02 Bombload04 47462 End 47463 Behavior = SubObjectsUpgrade ModuleTag_19 47464 ;*** High-explosive bio bomb load *** 47465 TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb 47466 ShowSubObjects = Bombload04 47467 HideSubObjects = Bombload01 Bombload02 Bombload03 47468 RequiresAllTriggers = Yes 47469 End 47470 ;------------------------------------------------------------------- 47471 47472 47473 Behavior = SpecialAbility ModuleTag_20 47474 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle 47475 UpdateModuleStartsAttack = Yes 47476 InitiateSound = BombTruckVoiceDisguise 47477 End 47478 Behavior = SpecialAbilityUpdate ModuleTag_21 47479 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle 47480 StartAbilityRange = 1000000.0 47481 ApproachRequiresLOS = No 47482 End 47483 47484 Behavior = StealthUpdate ModuleTag_22 47485 StealthDelay = 1 47486 DisguisesAsTeam = Yes 47487 RevealDistanceFromTarget = 100.0f 47488 OrderIdleEnemiesToAttackMeUponReveal = Yes 47489 DisguiseFX = FX_BombTruckDisguise 47490 DisguiseRevealFX = FX_BombTruckDisguiseReveal 47491 InnateStealth = Yes 47492 DisguiseTransitionTime = 2000 47493 DisguiseRevealTransitionTime = 1000 47494 End 47495 47496 ; A crushing defeat 47497 Behavior = FXListDie ModuleTag_23 47498 DeathTypes = NONE +CRUSHED +SPLATTED 47499 DeathFX = FX_CarCrush 47500 End 47501 Behavior = CreateObjectDie ModuleTag_24 47502 DeathTypes = NONE +CRUSHED +SPLATTED 47503 CreationList = OCL_CrusaderTank_CrushEffect 47504 End 47505 Behavior = CreateCrateDie ModuleTag_25 47506 CrateData = SalvageCrateData 47507 ;CrateData = EliteTankCrateData 47508 ;CrateData = HeroicTankCrateData 47509 End 47510 47511 Behavior = TransitionDamageFX ModuleTag_26 47512 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 47513 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 47514 End 47515 47516 Behavior = FlammableUpdate ModuleTag_28 47517 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 47518 AflameDamageAmount = 3 ; taking this much damage... 47519 AflameDamageDelay = 500 ; this often. 47520 End 47521 47522 Behavior = DestroyDie ModuleTag_29 47523 DeathTypes = NONE +CRUSHED +SPLATTED 47524 End 47525 47526 Geometry = BOX 47527 GeometryMajorRadius = 19.0 47528 GeometryMinorRadius = 8.0 47529 GeometryHeight = 11.5 47530 GeometryIsSmall = No 47531 Shadow = SHADOW_VOLUME 47532 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 47533 47534 End 47535 ;------------------------------------------------------------------------------ 47536 Object AmericaVehicleBattleShip2 47537 47538 SelectPortrait = T23 47539 ButtonImage = T23 47540 47541 UpgradeCameo1 = Upgrade_SeaRepair 47542 UpgradeCameo2 = Upgrade_SeaArmour 47543 ;UpgradeCameo3 = NONE 47544 ;UpgradeCameo4 = NONE 47545 ;UpgradeCameo5 = NONE 47546 47547 ; *** ART Parameters *** 47548 47549 47550 Draw = W3DOverlordTankDraw ModuleTag_02 47551 OkToChangeModelColor = Yes 47552 InitialRecoilSpeed = 120 47553 MaxRecoilDistance = 8 47554 RecoilSettleSpeed = 6 47555 ConditionState = NONE 47556 Model = avbattlecruiser 47557 Animation = avbattlecruiser.avbattlecruiser 47558 AnimationMode = LOOP 47559 Turret = Turret03 47560 TurretPitch = TurretEL03 47561 ; TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward; 47562 AltTurret = Turret02 47563 AltTurretPitch = TurretEL02 47564 AltTurretArtAngle = 180 47565 WeaponFireFXBone = PRIMARY Tur3Muzzle 47566 WeaponRecoilBone = PRIMARY Tur3Barrel 47567 WeaponFireFXBone = SECONDARY Tur1Muzzle 47568 WeaponRecoilBone = SECONDARY Tur1Barrel 47569 WeaponFireFXBone = TERTIARY Tur2Muzzle 47570 WeaponRecoilBone = TERTIARY Tur2Barrel 47571 47572 ParticleSysBone = TreadFX02 BattleShipWaterRipples 47573 ParticleSysBone = TreadFX03 BattleShipWaterRipples 47574 ParticleSysBone = TreadFX04 BattleShipWaterRipples 47575 HideSubObject = Tur2Barrel01 47576 HideSubObject = Tur2Barrel02 47577 HideSubObject = Tur2Barrel03 47578 HideSubObject = Tur1Barrel01 47579 HideSubObject = Tur1Barrel02 47580 HideSubObject = Tur1Barrel03 47581 HideSubObject = Turret02 47582 HideSubObject = Turret01 47583 HideSubObject = Housecolor01 47584 End 47585 End 47586 Draw = W3DOverlordTankDraw ModuleTag_01 47587 OkToChangeModelColor = Yes 47588 InitialRecoilSpeed = 120 47589 MaxRecoilDistance = 8 47590 RecoilSettleSpeed = 6 47591 ConditionState = NONE 47592 Model = avbattlecruiser 47593 Animation = avbattlecruiser.avbattlecruiser 47594 AnimationMode = LOOP 47595 Turret = Turret02 47596 TurretPitch = TurretEL02 47597 ; TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 47598 AltTurret = Turret01 47599 AltTurretPitch = TurretEL01 47600 AltTurretArtAngle = 180 47601 WeaponFireFXBone = PRIMARY Tur2Muzzle 47602 WeaponRecoilBone = PRIMARY Tur2Barrel 47603 WeaponFireFXBone = SECONDARY Tur3Muzzle 47604 WeaponRecoilBone = SECONDARY Tur3Barrel 47605 WeaponFireFXBone = TERTIARY Tur2Muzzle 47606 WeaponRecoilBone = TERTIARY Tur2Barrel 47607 ParticleSysBone = TreadFX02 BattleShipWaterRipples 47608 ParticleSysBone = TreadFX03 BattleShipWaterRipples 47609 ParticleSysBone = TreadFX04 BattleShipWaterRipples 47610 HideSubObject = Tur3Barrel01 47611 HideSubObject = Tur3Barrel02 47612 HideSubObject = Tur3Barrel03 47613 HideSubObject = Tur1Barrel01 47614 HideSubObject = Tur1Barrel02 47615 HideSubObject = Tur1Barrel03 47616 HideSubObject = Turret03 47617 HideSubObject = Turret01 47618 End 47619 End 47620 47621 Draw = W3DOverlordTankDraw ModuleTag_99 47622 OkToChangeModelColor = Yes 47623 InitialRecoilSpeed = 120 47624 MaxRecoilDistance = 8 47625 RecoilSettleSpeed = 6 47626 ConditionState = NONE 47627 Model = avbattlecruiser 47628 Animation = avbattlecruiser.avbattlecruiser 47629 AnimationMode = LOOP 47630 Turret = Turret01 47631 TurretPitch = TurretEL01 47632 WeaponFireFXBone = SECONDARY Tur3Muzzle 47633 WeaponRecoilBone = SECONDARY Tur3Barrel 47634 WeaponFireFXBone = SECONDARY Tur1Muzzle 47635 WeaponRecoilBone = SECONDARY Tur1Barrel 47636 WeaponFireFXBone = TERTIARY Tur2Muzzle 47637 WeaponRecoilBone = TERTIARY Tur2Barrel 47638 ParticleSysBone = TreadFX02 BattleShipWaterRipples 47639 ParticleSysBone = TreadFX03 BattleShipWaterRipples 47640 ParticleSysBone = TreadFX04 BattleShipWaterRipples 47641 HideSubObject = Tur2Barrel01 47642 HideSubObject = Tur2Barrel02 47643 HideSubObject = Tur2Barrel03 47644 HideSubObject = Tur3Barrel01 47645 HideSubObject = Tur3Barrel02 47646 HideSubObject = Tur3Barrel03 47647 HideSubObject = Turret02 47648 HideSubObject = Turret03 47649 End 47650 End 47651 47652 47653 47654 VoiceSelect = PaladinTankVoiceSelect 47655 47656 ; ***DESIGN parameters *** 47657 DisplayName = OBJECT:Battleship2 47658 Side = America 47659 EditorSorting = VEHICLE 47660 TransportSlotCount = 9 ;how many "slots" we take in a transport (0 == not transportable) 47661 WeaponSet 47662 Conditions = None 47663 Weapon = PRIMARY BattleShipGrenades 47664 Weapon = SECONDARY BattleShipGrenades 47665 Weapon = TERTIARY BattleShipGrenades 47666 AutoChooseSources = PRIMARY None 47667 AutoChooseSources = SECONDARY None 47668 AutoChooseSources = TERTIARY None 47669 ShareWeaponReloadTime = Yes 47670 End 47671 ArmorSet 47672 Conditions = None 47673 ;Armor = InvulnerableArmor 47674 Armor = TankDamage 47675 DamageFX = TankDamageFX 47676 End 47677 47678 BuildCost = 100 47679 BuildTime = 1.0 47680 VisionRange = 400 47681 ShroudClearingRange = 450 47682 Prerequisites 47683 ;Object = AmericaNavalyard2 47684 47685 End 47686 47687 CommandSet = BattleShipCommandSetFabius2 47688 47689 ; *** AUDIO Parameters *** 47690 SoundAmbient = BattleshipAmbientLoop 47691 VoiceSelect = PaladinTankVoiceSelect 47692 UnitSpecificSounds 47693 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 47694 TurretMoveLoop = TurretMoveLoop 47695 End 47696 47697 ; *** ENGINEERING Parameters *** 47698 RadarPriority = UNIT 47699 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT 47700 47701 Body = ActiveBody ModuleTag_02 47702 MaxHealth = 3000.0 47703 InitialHealth = 3000.0 47704 End 47705 47706 Behavior = MaxHealthUpgrade ModuleTag_09 47707 TriggeredBy = Upgrade_SeaArmour 47708 AddMaxHealth = 1000.0 47709 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 47710 End 47711 47712 Behavior = AutoHealBehavior ModuleTag_05 47713 HealingAmount = 7 47714 HealingDelay = 500 ; msec 47715 TriggeredBy = Upgrade_SeaRepair 47716 End 47717 47718 Behavior = AIUpdateInterface ModuleTag_04 47719 Turret 47720 TurretTurnRate = 80 47721 TurretPitchRate = 80 47722 FirePitch = 12 ; Instead of aiming pitchwise at the target, it will aim here 47723 AllowsPitch = Yes 47724 RecenterTime = 5000 ; how long to wait during idle before recentering 47725 ControlledWeaponSlots = PRIMARY SECONDARY 47726 ; NaturalTurretAngle = 180 ; this turret points backwards normally 47727 End 47728 AltTurret 47729 TurretTurnRate = 80 47730 TurretPitchRate = 80 47731 FirePitch = 15 ; Instead of aiming pitchwise at the target, it will aim here 47732 AllowsPitch = Yes 47733 RecenterTime = 5000 ; how long to wait during idle before recentering 47734 ControlledWeaponSlots = TERTIARY 47735 NaturalTurretAngle = 180 47736 End 47737 47738 End 47739 ;--------------------------permet le deplassement du batiment------- 47740 47741 47742 Locomotor = SET_NORMAL BasicBoatLocomotor 47743 47744 Behavior = PhysicsBehavior ModuleTag_04 47745 Mass = 5000.0 47746 End 47747 Behavior = SlowDeathBehavior ModuleTag_16 47748 ProbabilityModifier = 25 47749 DestructionDelay = 200 47750 DestructionDelayVariance = 100 47751 OCL = FINAL OCL_FirestormSmall 47752 FX = FINAL WeaponFX_NapalmMissileDetonation 47753 End 47754 ;--------------------------permet le deplassement du batiment------- 47755 47756 47757 47758 47759 Geometry = BOX 47760 GeometryMajorRadius = 200.0 47761 GeometryMinorRadius = 20.0 47762 GeometryHeight = 40 47763 GeometryIsSmall = No 47764 Shadow = SHADOW_VOLUME 47765 47766 End 47767 47768 ;------------------------------------------------------------------------------ 47769 Object AmericaVehicleBattlefurtifShip2 47770 47771 ; *** ART Parameters *** 47772 SelectPortrait = T34 47773 ButtonImage = T34 47774 47775 UpgradeCameo1 = Upgrade_SeaRepair 47776 UpgradeCameo2 = Upgrade_SeaArmour 47777 ;UpgradeCameo3 =Upgrade_SubmarineStealth 47778 ;UpgradeCameo4 = NONE 47779 ;UpgradeCameo5 = NONE 47780 47781 ; *** ART Parameters *** 47782 Draw = W3DModelDraw ModuleTag_01 ;W3DTankDraw ModuleTag_01 47783 OkToChangeModelColor = Yes 47784 InitialRecoilSpeed = 120 47785 MaxRecoilDistance = 8 47786 RecoilSettleSpeed = 6 47787 47788 47789 ConditionState = NONE 47790 Model = bat_furtif 47791 WeaponLaunchBone = PRIMARY Muzzle 47792 WeaponFireFXBone = PRIMARY MuzzleFX 47793 47794 WeaponLaunchBone = SECONDARY WEAPONA 47795 WeaponFireFXBone = SECONDARY WEAPONAFX 47796 47797 End 47798 ConditionState = OVER_WATER 47799 Model = bat_furtif 47800 WeaponLaunchBone = PRIMARY Muzzle 47801 WeaponFireFXBone = PRIMARY MuzzleFX 47802 47803 WeaponLaunchBone = SECONDARY WEAPONA 47804 WeaponFireFXBone = SECONDARY WEAPONAFX 47805 End 47806 47807 ConditionState = MOVING OVER_WATER 47808 Model = bat_furtif 47809 WeaponLaunchBone = PRIMARY Muzzle 47810 WeaponFireFXBone = PRIMARY MuzzleFX 47811 47812 WeaponLaunchBone = SECONDARY WEAPONA 47813 WeaponFireFXBone = SECONDARY WEAPONAFX 47814 47815 ; ParticleSysBone = Mist01 AmphibMist ; 47816 ; ParticleSysBone = Mist02 AmphibMist ; 47817 ; ParticleSysBone = Mist03 AmphibMist ; 47818 ; ParticleSysBone = Mist04 AmphibMist ; 47819 ; ParticleSysBone = Mist05 AmphibMist ; 47820 ; ParticleSysBone = Mist06 AmphibMist ; 47821 ParticleSysBone = Mist07 AmphibMist ; 47822 47823 ; ParticleSysBone = TreadFX01 AmphibWave ; 47824 ; ParticleSysBone = TreadFX02 AmphibWave ; 47825 ; ParticleSysBone = TreadFX03 AmphibWave ; 47826 ; ParticleSysBone = TreadFX04 AmphibWave ; 47827 ; ParticleSysBone = TreadFX05 AmphibWave ; 47828 ; ParticleSysBone = TreadFX06 AmphibWave ; 47829 ParticleSysBone = TreadFX07 AmphibWave ; 47830 End 47831 End 47832 47833 47834 VoiceSelect = OverlordTankVoiceSelect 47835 47836 ; ***DESIGN parameters *** 47837 DisplayName = OBJECT:Bateau_furtif2 47838 Side = America 47839 EditorSorting = VEHICLE 47840 TransportSlotCount = 8 ;how many "slots" we take in a transport (0 == not transportable) 47841 47842 WeaponSet 47843 Conditions = None 47844 Weapon = PRIMARY submarineWeapon2 47845 Weapon = SECONDARY PatriotMissileAssistWeapon 47846 AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT 47847 AutoChooseSources = SECONDARY NONE 47848 PreferredAgainst = PRIMARY BALLISTIC_MISSILE AIRCRAFT 47849 PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT 47850 ShareWeaponReloadTime = Yes 47851 End 47852 47853 47854 47855 ArmorSet 47856 Conditions = None 47857 Armor = TankArmor 47858 DamageFX = TankDamageFX 47859 End 47860 47861 BuildCost = 2000 47862 BuildTime = 30.0 47863 VisionRange = 400 47864 ShroudClearingRange = 450 47865 Prerequisites 47866 Object = AmericaNavalyard2 47867 End 47868 CommandSet = AmericaVehicleBattlefurtifShip2 47869 47870 47871 ; *** AUDIO Parameters *** 47872 SoundAmbient = BattleshipAmbientLoop 47873 VoiceSelect = OverlordTankVoiceSelect 47874 UnitSpecificSounds 47875 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 47876 TurretMoveLoop = TurretMoveLoop 47877 End 47878 47879 ; *** ENGINEERING Parameters *** 47880 RadarPriority = UNIT 47881 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT 47882 47883 Body = ActiveBody ModuleTag_02 47884 MaxHealth = 500.0 47885 InitialHealth = 500.0 47886 End 47887 47888 Behavior = MaxHealthUpgrade ModuleTag_09 47889 TriggeredBy = Upgrade_SubmarineArmor 47890 AddMaxHealth = 1000.0 47891 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 47892 End 47893 47894 Behavior = AutoHealBehavior ModuleTag_05 47895 HealingAmount = 7 47896 HealingDelay = 500 ; msec 47897 TriggeredBy = Upgrade_SubmarineRepair 47898 End 47899 47900 Behavior = AIUpdateInterface ModuleTag_03 47901 AutoAcquireEnemiesWhenIdle = No 47902 End 47903 47904 Locomotor = SET_NORMAL SubmarineLocomotor 47905 47906 Behavior = PhysicsBehavior ModuleTag_04 47907 Mass = 5000.0 47908 End 47909 47910 Behavior = SlowDeathBehavior ModuleTag_16 47911 ProbabilityModifier = 25 47912 DestructionDelay = 200 47913 DestructionDelayVariance = 100 47914 OCL = FINAL OCL_FirestormSmall 47915 FX = FINAL WeaponFX_NapalmMissileDetonation 47916 End 47917 47918 Behavior = StealthUpdate ModuleTag_17 47919 StealthDelay = 1000 ; msec 47920 StealthForbiddenConditions = ATTACKING USING_ABILITY 47921 MoveThresholdSpeed = 20 47922 InnateStealth = No ;Requires upgrade first 47923 OrderIdleEnemiesToAttackMeUponReveal = Yes 47924 End 47925 47926 Behavior = StealthUpgrade ModuleTag_18 47927 TriggeredBy = Upgrade_SubmarineStealth 47928 47929 End 47930 Behavior = MaxHealthUpgrade ModuleTag_09 47931 TriggeredBy = Upgrade_SeaArmour 47932 AddMaxHealth = 1000.0 47933 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 47934 End 47935 47936 Behavior = AutoHealBehavior ModuleTag_05 47937 HealingAmount = 7 47938 HealingDelay = 500 ; msec 47939 TriggeredBy = Upgrade_SeaRepair 47940 End 47941 Behavior = StealthUpdate ModuleTag_07 47942 StealthDelay = 2000 ; msec 47943 StealthForbiddenConditions = FIRING_PRIMARY 47944 HintDetectableConditions = IS_FIRING_WEAPON 47945 FriendlyOpacityMin = 50.0% 47946 FriendlyOpacityMax = 100.0% 47947 InnateStealth = Yes 47948 OrderIdleEnemiesToAttackMeUponReveal = Yes 47949 End 47950 47951 Geometry = BOX 47952 GeometryMajorRadius = 200.0 47953 GeometryMinorRadius = 20.0 47954 GeometryHeight = 40 47955 GeometryIsSmall = No 47956 Shadow = SHADOW_VOLUME 47957 47958 End 47959 47960 ;---------------------------------------------------------------------------------- 47961 Object AmericaAircraftCarrier2 47962 47963 47964 47965 47966 SelectPortrait = SACarrier_L 47967 ButtonImage = SACarrier_L 47968 47969 UpgradeCameo1 = Upgrade_SeaRepair 47970 UpgradeCameo2 = Upgrade_SeaArmour 47971 ;UpgradeCameo3 = NONE 47972 ;UpgradeCameo4 = NONE 47973 ;UpgradeCameo5 = NONE 47974 47975 47976 47977 ; *** ART Parameters *** 47978 Draw = W3DTankDraw ModuleTag_01 47979 OkToChangeModelColor = Yes 47980 InitialRecoilSpeed = 120 47981 MaxRecoilDistance = 8 47982 RecoilSettleSpeed = 6 47983 47984 ConditionState = NONE 47985 Model = PSAirCarrier 47986 Animation = PSAirCarrier.PSAirCarrier 47987 AnimationMode = LOOP 47988 Turret = TURRET01 47989 TurretPitch = TURRETEL 47990 WeaponLaunchBone = PRIMARY WeaponA 47991 WeaponLaunchBone = SECONDARY WeaponA 47992 WeaponFireFXBone = PRIMARY WeaponA 47993 WeaponFireFXBone = SECONDARY WeaponA 47994 End 47995 47996 ConditionState = MOVING 47997 Model = PSAirCarrier 47998 Animation = PSAirCarrier.PSAirCarrier 47999 AnimationMode = LOOP 48000 48001 End 48002 48003 ConditionState = OVER_WATER 48004 Model = PSAirCarrier 48005 Animation = PSAirCarrier.PSAirCarrier 48006 AnimationMode = LOOP 48007 48008 End 48009 48010 ConditionState = MOVING OVER_WATER 48011 Model = PSAirCarrier 48012 Animation = PSAirCarrier.PSAirCarrier 48013 AnimationMode = LOOP 48014 48015 ParticleSysBone = Mist01 AmphibMistSide 48016 ParticleSysBone = Mist02 AmphibMistSide 48017 ParticleSysBone = Mist03 AmphibMist 48018 ParticleSysBone = Mist04 AmphibMistSide 48019 ParticleSysBone = Mist05 AmphibMistSide 48020 ParticleSysBone = Mist06 AmphibMist 48021 ParticleSysBone = Mist07 AmphibMistSide 48022 ParticleSysBone = Mist08 AmphibMistSide 48023 ParticleSysBone = Mist09 AmphibMistSide 48024 ParticleSysBone = Mist10 AmphibMist 48025 ParticleSysBone = Mist11 AmphibMistSide 48026 ParticleSysBone = Mist12 AmphibMistSide 48027 ParticleSysBone = TreadFX01 AmphibWave 48028 ParticleSysBone = TreadFX02 AmphibWave 48029 ParticleSysBone = TreadFX03 AmphibWave 48030 ParticleSysBone = TreadFX04 AmphibWave 48031 ParticleSysBone = TreadFX05 AmphibWave 48032 End 48033 End 48034 48035 VoiceSelect = OverlordTankVoiceSelect 48036 48037 ; ***DESIGN parameters *** 48038 DisplayName = OBJECT:Carrier2 48039 Side = America 48040 EditorSorting = VEHICLE 48041 TransportSlotCount = 9 ;how many "slots" we take in a transport (0 == not transportable) 48042 WeaponSet 48043 Conditions = None 48044 Weapon = PRIMARY PatriotMissileWeapon 48045 Weapon = SECONDARY PatriotMissileAssistWeapon 48046 AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT 48047 AutoChooseSources = SECONDARY NONE 48048 PreferredAgainst = PRIMARY BALLISTIC_MISSILE AIRCRAFT 48049 PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT 48050 ShareWeaponReloadTime = Yes 48051 End 48052 48053 48054 ArmorSet 48055 Conditions = None 48056 ;Armor = InvulnerableArmor 48057 Armor = TankDamage 48058 DamageFX = TankDamageFX 48059 End 48060 BuildCost = 1500 48061 BuildTime = 25 48062 VisionRange = 400 48063 ShroudClearingRange = 450 48064 Prerequisites 48065 Object = AmericaNavalyard2 48066 End 48067 CommandSet = AmericaAircraftCarrierCommandSet2 48068 48069 ; *** AUDIO Parameters *** 48070 SoundAmbient = BattleshipAmbientLoop 48071 VoiceSelect = OverlordTankVoiceSelect 48072 UnitSpecificSounds 48073 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 48074 TurretMoveLoop = TurretMoveLoop 48075 End 48076 48077 ; *** ENGINEERING Parameters *** 48078 RadarPriority = UNIT 48079 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT 48080 48081 Body = ActiveBody ModuleTag_02 48082 MaxHealth = 3000.0 48083 InitialHealth = 3000.0 48084 End 48085 48086 Behavior = MaxHealthUpgrade ModuleTag_09 48087 TriggeredBy = Upgrade_SubmarineArmor 48088 AddMaxHealth = 1000.0 48089 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 48090 End 48091 48092 Behavior = AutoHealBehavior ModuleTag_05 48093 HealingAmount = 7 48094 HealingDelay = 500 ; msec 48095 TriggeredBy = Upgrade_SubmarineRepair 48096 End 48097 48098 Behavior = AIUpdateInterface ModuleTag_03 48099 Turret 48100 TurretTurnRate = 100 ; turn rate, in degrees per sec 48101 ControlledWeaponSlots = PRIMARY 48102 End 48103 AutoAcquireEnemiesWhenIdle = Yes 48104 48105 End 48106 48107 Behavior = SpawnBehavior ModuleTag_04 48108 SpawnNumber =5 48109 SpawnReplaceDelay = 3000 ; 3 seconds 48110 48111 SpawnTemplateName = AmericaAircraftCarrierJet 48112 48113 ExitByBudding = Yes ; 48114 48115 InitialBurst = 1 ; the first set of 5 will not delay 48116 OneShot = No 48117 AggregateHealth = No 48118 End 48119 48120 Behavior = QueueProductionExitUpdate ModuleTag_05 48121 UnitCreatePoint = X: -70.0 Y: 0.0 Z:30.0 48122 NaturalRallyPoint = X: 0.0 Y: 0.0 Z:60.0 48123 ExitDelay = 5000 ; 5 sec 48124 InitialBurst = 1 ; the first set of 5 will not delay 48125 End 48126 48127 Locomotor = SET_NORMAL BasicBoatLocomotor 48128 48129 Behavior = PhysicsBehavior ModuleTag_06 48130 Mass = 5000.0 48131 End 48132 48133 Behavior = SlowDeathBehavior ModuleTag_07 48134 ProbabilityModifier = 25 48135 DestructionDelay = 200 48136 DestructionDelayVariance = 100 48137 OCL = FINAL OCL_FirestormSmall 48138 FX = FINAL WeaponFX_NapalmMissileDetonation 48139 End 48140 Behavior = MaxHealthUpgrade ModuleTag_09 48141 TriggeredBy = Upgrade_SeaArmour 48142 AddMaxHealth = 1000.0 48143 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 48144 End 48145 48146 Behavior = AutoHealBehavior ModuleTag_05 48147 HealingAmount = 7 48148 HealingDelay = 500 ; msec 48149 TriggeredBy = Upgrade_SeaRepair 48150 End 48151 Geometry = BOX 48152 Scale = 0.85 48153 GeometryMajorRadius = 164.0 48154 GeometryMinorRadius = 18.0 48155 GeometryHeight = 54.8 48156 GeometryIsSmall = No 48157 Shadow = SHADOW_VOLUME 48158 48159 End 48160 ;--------------------------------------------------------------------------------------- 48161 Object Americachipower 48162 48163 ; *** ART Parameters *** 48164 SelectPortrait = T37 48165 ButtonImage = T37 48166 48167 UpgradeCameo1 = Upgrade_SeaRepair 48168 UpgradeCameo2 = Upgrade_SeaArmour 48169 ;UpgradeCameo3 = NONE 48170 ;UpgradeCameo4 = NONE 48171 ;UpgradeCameo5 = NONE 48172 48173 Draw = W3DTruckDraw ModuleTag_01 48174 48175 OkToChangeModelColor = Yes 48176 48177 ConditionState = NONE 48178 Model = centralelec 48179 Animation = centralelec.centralelec 48180 AnimationMode = LOOP 48181 ParticleSysBone = Smoke01 SteamVent 48182 ParticleSysBone = Smoke02 SteamVent 48183 ParticleSysBone = Smoke03 SteamVent 48184 End 48185 48186 ConditionState = OVER_WATER 48187 Model = centralelec 48188 Animation = centralelec.centralelec 48189 AnimationMode = LOOP 48190 ParticleSysBone = Smoke01 SteamVent 48191 ParticleSysBone = Smoke02 SteamVent 48192 ParticleSysBone = Smoke03 SteamVent 48193 End 48194 48195 ConditionState = MOVING OVER_WATER 48196 Model = centralelec 48197 Animation = centralelec.centralelec 48198 AnimationMode = LOOP 48199 48200 ParticleSysBone = Smoke01 SteamVent 48201 ParticleSysBone = Smoke02 SteamVent 48202 ParticleSysBone = Smoke03 SteamVent 48203 End 48204 End 48205 48206 48207 ; ***DESIGN parameters *** 48208 DisplayName = OBJECT:Americachipower 48209 Side = America 48210 EditorSorting = VEHICLE 48211 Prerequisites 48212 ; Object = AmericaCommandCenter 48213 End 48214 BuildCost = 800 48215 BuildTime = 1 ; in seconds 48216 EnergyProduction = 5 48217 EnergyBonus = 5 48218 VisionRange = 200.0 ; Shroud clearing distance 48219 ShroudClearingRange = 200 48220 ArmorSet 48221 Conditions = None 48222 Armor = StructureArmor 48223 DamageFX = StructureDamageFXNoShake 48224 End 48225 MaxSimultaneousOfType = 1 48226 CommandSet = AmericaPowerPlantCommandSet 48227 ExperienceValue = 100 100 100 100 ; Experience point value at each level 48228 48229 ; *** AUDIO Parameters *** 48230 VoiceSelect = ColdFusionReactorSelect 48231 SoundDie = BuildingDie 48232 SoundOnDamaged = BuildingDamagedStateLight 48233 SoundOnReallyDamaged = BuildingDestroy 48234 48235 UnitSpecificSounds 48236 UnderConstruction = UnderConstructionLoop 48237 End 48238 48239 ; *** ENGINEERING Parameters *** 48240 RadarPriority = UNIT 48241 KindOf = PRELOAD STRUCTURE SELECTABLE FS_FACTORY VEHICLE IMMUNE_TO_CAPTURE COMMANDCENTER SCORE MP_COUNT_FOR_VICTORY 48242 Body = StructureBody ModuleTag_06 48243 MaxHealth = 800.0 48244 InitialHealth = 800.0 48245 End 48246 48247 Behavior = MaxHealthUpgrade ModuleTag_09 48248 TriggeredBy = Upgrade_SeaArmour 48249 AddMaxHealth = 1000.0 48250 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 48251 End 48252 ;--------------------------permet le deplassement du batiment------- 48253 Behavior = AIUpdateInterface ModuleTag_05 48254 AutoAcquireEnemiesWhenIdle = Yes 48255 End 48256 48257 Locomotor = SET_NORMAL BasicNONELocomotor 48258 48259 Behavior = PhysicsBehavior ModuleTag_04 48260 Mass = 5000.0 48261 End 48262 Behavior = SlowDeathBehavior ModuleTag_16 48263 ProbabilityModifier = 25 48264 DestructionDelay = 200 48265 DestructionDelayVariance = 100 48266 OCL = FINAL OCL_FirestormSmall 48267 FX = FINAL WeaponFX_NapalmMissileDetonation 48268 End 48269 ;--------------------------permet le deplassement du batiment------- 48270 48271 48272 Behavior = AutoHealBehavior ModuleTag_05 48273 HealingAmount = 7 48274 HealingDelay = 500 ; msec 48275 TriggeredBy = Upgrade_SeaRepair 48276 End 48277 Behavior = PowerPlantUpgrade ModuleTag_07 48278 TriggeredBy = Upgrade_AmericaAdvancedControlRods 48279 End 48280 48281 48282 Behavior = PowerPlantUpdate ModuleTag_09 48283 RodsExtendTime = 600 48284 End 48285 48286 48287 Behavior = DestroyDie ModuleTag_10 48288 ;nothing 48289 End 48290 Behavior = CreateObjectDie ModuleTag_11 48291 CreationList = OCL_ABPowerPlantExplode 48292 End 48293 48294 Behavior = FXListDie ModuleTag_13 48295 DeathFX = FX_StructureSmallDeath 48296 End 48297 48298 Behavior = ProductionUpdate ModuleTag_14 48299 ; nothing 48300 End 48301 48302 Behavior = FlammableUpdate ModuleTag_16 48303 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 48304 AflameDamageAmount = 5 ; taking this much damage... 48305 AflameDamageDelay = 500 ; this often. 48306 End 48307 48308 Behavior = TransitionDamageFX ModuleTag_17 48309 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- 48310 DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke 48311 ;--------------------------------------------------------------------------------------- 48312 ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke 48313 ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion 48314 ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave 48315 End 48316 48317 48318 48319 Geometry = BOX 48320 GeometryMajorRadius = 200.0 48321 GeometryMinorRadius = 20.0 48322 GeometryHeight = 40 48323 GeometryIsSmall = No 48324 Shadow = SHADOW_VOLUME 48325 48326 48327 End 48328 ;--------------------------------------------------------------------------------------- 48329 Object Americachipower2 48330 48331 ; *** ART Parameters *** 48332 SelectPortrait = T39 48333 ButtonImage = T39 48334 48335 UpgradeCameo1 = Upgrade_SeaRepair 48336 UpgradeCameo2 = Upgrade_SeaArmour 48337 ;UpgradeCameo3 = NONE 48338 ;UpgradeCameo4 = NONE 48339 ;UpgradeCameo5 = NONE 48340 48341 Draw = W3DTruckDraw ModuleTag_01 48342 48343 OkToChangeModelColor = Yes 48344 48345 ConditionState = NONE 48346 Model = centralelec2 48347 Animation = centralelec2.centralelec2 48348 AnimationMode = LOOP 48349 ParticleSysBone = Smoke01 SteamVent 48350 ParticleSysBone = Smoke02 SteamVent 48351 ParticleSysBone = Smoke03 SteamVent 48352 ParticleSysBone = Smoke04 SteamVent 48353 End 48354 48355 ConditionState = OVER_WATER 48356 Model = centralelec2 48357 Animation = centralelec2.centralelec2 48358 AnimationMode = LOOP 48359 ParticleSysBone = Smoke01 SteamVent 48360 ParticleSysBone = Smoke02 SteamVent 48361 ParticleSysBone = Smoke03 SteamVent 48362 ParticleSysBone = Smoke04 SteamVent 48363 48364 End 48365 48366 ConditionState = MOVING OVER_WATER 48367 Model = centralelec2 48368 Animation = centralelec2.centralelec2 48369 AnimationMode = LOOP 48370 ParticleSysBone = Smoke01 SteamVent 48371 ParticleSysBone = Smoke02 SteamVent 48372 ParticleSysBone = Smoke03 SteamVent 48373 ParticleSysBone = Smoke04 SteamVent 48374 48375 End 48376 End 48377 48378 48379 ; ***DESIGN parameters *** 48380 DisplayName = OBJECT:Americachipower2 48381 Side = America 48382 EditorSorting = STRUCTURE 48383 Prerequisites 48384 Object = Americachipower 48385 End 48386 BuildCost = 800 48387 BuildTime = 10.0 ; in seconds 48388 EnergyProduction = 15 48389 EnergyBonus = 15 48390 VisionRange = 200.0 ; Shroud clearing distance 48391 ShroudClearingRange = 200 48392 ArmorSet 48393 Conditions = None 48394 Armor = StructureArmor 48395 DamageFX = StructureDamageFXNoShake 48396 End 48397 MaxSimultaneousOfType = 1 48398 CommandSet = AmericaPowerPlantCommandSet 48399 ExperienceValue = 100 100 100 100 ; Experience point value at each level 48400 48401 ; *** AUDIO Parameters *** 48402 VoiceSelect = ColdFusionReactorSelect 48403 SoundDie = BuildingDie 48404 SoundOnDamaged = BuildingDamagedStateLight 48405 SoundOnReallyDamaged = BuildingDestroy 48406 48407 UnitSpecificSounds 48408 UnderConstruction = UnderConstructionLoop 48409 End 48410 48411 ; *** ENGINEERING Parameters *** 48412 RadarPriority = UNIT 48413 KindOf = PRELOAD STRUCTURE SELECTABLE FS_FACTORY AUTO_RALLYPOINT VEHICLE IMMUNE_TO_CAPTURE COMMANDCENTER SCORE MP_COUNT_FOR_VICTORY 48414 Body = StructureBody ModuleTag_06 48415 MaxHealth = 800.0 48416 InitialHealth = 800.0 48417 End 48418 48419 Behavior = PowerPlantUpgrade ModuleTag_07 48420 TriggeredBy = Upgrade_AmericaAdvancedControlRods 48421 End 48422 48423 Behavior = BaseRegenerateUpdate ModuleTag_08 48424 ;No data 48425 End 48426 Behavior = PowerPlantUpdate ModuleTag_09 48427 RodsExtendTime = 600 48428 End 48429 48430 48431 Behavior = DestroyDie ModuleTag_10 48432 ;nothing 48433 End 48434 Behavior = CreateObjectDie ModuleTag_11 48435 CreationList = OCL_ABPowerPlantExplode 48436 End 48437 Behavior = CreateObjectDie ModuleTag_12 48438 CreationList = OCL_AmericanRangerDebris02 48439 ExemptStatus = UNDER_CONSTRUCTION 48440 End 48441 Behavior = FXListDie ModuleTag_13 48442 DeathFX = FX_StructureSmallDeath 48443 End 48444 48445 Behavior = ProductionUpdate ModuleTag_14 48446 ; nothing 48447 End 48448 48449 Behavior = FlammableUpdate ModuleTag_16 48450 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 48451 AflameDamageAmount = 5 ; taking this much damage... 48452 AflameDamageDelay = 500 ; this often. 48453 End 48454 48455 Behavior = TransitionDamageFX ModuleTag_17 48456 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- 48457 DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke 48458 ;--------------------------------------------------------------------------------------- 48459 ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke 48460 ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion 48461 ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave 48462 End 48463 ;--------------------------permet le deplassement du batiment------- 48464 Behavior = AIUpdateInterface ModuleTag_05 48465 AutoAcquireEnemiesWhenIdle = Yes 48466 End 48467 48468 Locomotor = SET_NORMAL BasicNONELocomotor 48469 48470 Behavior = PhysicsBehavior ModuleTag_04 48471 Mass = 5000.0 48472 End 48473 Behavior = SlowDeathBehavior ModuleTag_16 48474 ProbabilityModifier = 25 48475 DestructionDelay = 200 48476 DestructionDelayVariance = 100 48477 OCL = FINAL OCL_FirestormSmall 48478 FX = FINAL WeaponFX_NapalmMissileDetonation 48479 End 48480 ;--------------------------permet le deplassement du batiment------- 48481 Geometry = BOX 48482 GeometryMajorRadius = 22.0 48483 GeometryMinorRadius = 30.0 48484 GeometryHeight = 46.0 48485 GeometryIsSmall = No 48486 Shadow = SHADOW_VOLUME 48487 BuildCompletion = PLACED_BY_PLAYER 48488 48489 End 48490 ;---------------------------------------------------------------- 48491 ;------------------------------------------------------------------------------------------------ 48492 Object Americachipheliport 48493 48494 ; *** ART Parameters *** 48495 SelectPortrait = T38 48496 ButtonImage = T38 48497 48498 UpgradeCameo1 = Upgrade_SeaRepair 48499 UpgradeCameo2 = Upgrade_SeaArmour 48500 ;UpgradeCameo3 = NONE 48501 ;UpgradeCameo4 = NONE 48502 ;UpgradeCameo5 = NONE 48503 48504 Draw = W3DTruckDraw ModuleTag_01 48505 ExtraPublicBone = HeliPark01 48506 OkToChangeModelColor = Yes 48507 48508 ConditionState = NONE 48509 Model = heliport 48510 Animation = heliport.heliport 48511 AnimationMode = LOOP 48512 48513 48514 End 48515 48516 ConditionState = OVER_WATER 48517 Model = heliport 48518 Animation = heliport.heliport 48519 AnimationMode = LOOP 48520 48521 End 48522 48523 ConditionState = MOVING OVER_WATER 48524 Model = heliport 48525 Animation = heliport.heliport 48526 AnimationMode = LOOP 48527 48528 48529 End 48530 End 48531 48532 48533 ; ***DESIGN parameters *** 48534 DisplayName = OBJECT:Americachipheliport 48535 Side = America 48536 EditorSorting = VEHICLE 48537 Prerequisites 48538 Object = Americachipower 48539 End 48540 BuildCost = 1000 48541 BuildTime = 30.0 ; in seconds 48542 EnergyProduction = -1 48543 MaxSimultaneousOfType = 1 48544 CommandSet = AmericachipheliportCommandSet 48545 VisionRange = 200.0 ; Shroud clearing distance 48546 ShroudClearingRange = 200 48547 ArmorSet 48548 Conditions = None 48549 Armor = StructureArmor 48550 DamageFX = StructureDamageFXNoShake 48551 End 48552 ExperienceValue = 150 150 150 150 ; Experience point value at each level 48553 48554 ; *** AUDIO Parameters *** 48555 VoiceSelect = AirfieldUSASelect 48556 SoundDie = BuildingDie 48557 SoundOnDamaged = BuildingDamagedStateLight 48558 SoundOnReallyDamaged = BuildingDestroy 48559 48560 UnitSpecificSounds 48561 UnderConstruction = UnderConstructionLoop 48562 End 48563 48564 ; *** ENGINEERING Parameters *** 48565 RadarPriority = UNIT 48566 KindOf = PRELOAD STRUCTURE SELECTABLE FS_FACTORY AUTO_RALLYPOINT VEHICLE IMMUNE_TO_CAPTURE COMMANDCENTER SCORE MP_COUNT_FOR_VICTORY 48567 48568 Body = StructureBody ModuleTag_10 48569 MaxHealth = 1500.0 48570 InitialHealth = 1500.0 48571 End 48572 48573 Behavior = ParkingPlaceBehavior ModuleTag_11 48574 HealAmountPerSecond = 10 48575 NumRows = 2 48576 48577 NumCols = 2 48578 HasRunways = Yes 48579 ApproachHeight = 50 48580 End 48581 ;--------------------------permet le deplassement du batiment------- 48582 Behavior = AIUpdateInterface ModuleTag_05 48583 AutoAcquireEnemiesWhenIdle = Yes 48584 End 48585 48586 Locomotor = SET_NORMAL BasicNONELocomotor 48587 48588 Behavior = PhysicsBehavior ModuleTag_04 48589 Mass = 5000.0 48590 End 48591 Behavior = SlowDeathBehavior ModuleTag_16 48592 ProbabilityModifier = 25 48593 DestructionDelay = 200 48594 DestructionDelayVariance = 100 48595 OCL = FINAL OCL_FirestormSmall 48596 FX = FINAL WeaponFX_NapalmMissileDetonation 48597 End 48598 ;--------------------------permet le deplassement du batiment------- 48599 Behavior = ProductionUpdate ModuleTag_12 48600 NumDoorAnimations = 4 48601 DoorOpeningTime = 2000 ;in mSeconds 48602 DoorWaitOpenTime = 3000 ;in mSeconds 48603 DoorCloseTime = 2000 ;in mSeconds 48604 ConstructionCompleteDuration = 1000 ;in mSeconds 48605 End 48606 Behavior = BaseRegenerateUpdate ModuleTag_13 48607 ;No data 48608 End 48609 48610 Behavior = DestroyDie ModuleTag_14 48611 ;nothing 48612 End 48613 Behavior = CreateObjectDie ModuleTag_15 48614 CreationList = OCL_ABPowerPlantExplode 48615 End 48616 Behavior = CreateObjectDie ModuleTag_16 48617 CreationList = OCL_AmericanRangerDebris02 48618 ExemptStatus = UNDER_CONSTRUCTION 48619 End 48620 Behavior = FXListDie ModuleTag_17 48621 DeathFX = FX_StructureMediumDeath 48622 End 48623 48624 Behavior = FlammableUpdate ModuleTag_19 48625 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 48626 AflameDamageAmount = 5 ; taking this much damage... 48627 AflameDamageDelay = 500 ; this often. 48628 End 48629 48630 Behavior = TransitionDamageFX ModuleTag_31 48631 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- 48632 DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke 48633 ;--------------------------------------------------------------------------------------- 48634 ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke 48635 ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion 48636 ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave 48637 End 48638 48639 Geometry = BOX 48640 GeometryMajorRadius = 200.0 48641 GeometryMinorRadius = 20.0 48642 GeometryHeight = 40 48643 GeometryIsSmall = No 48644 Shadow = SHADOW_VOLUME 48645 End 48646 ;------------------------------------------------------------------------------ 48647 Object Americachipwarfactory 48648 48649 48650 48651 48652 SelectPortrait = T41 48653 ButtonImage = T41 48654 48655 UpgradeCameo1 = Upgrade_SeaRepair 48656 UpgradeCameo2 = Upgrade_SeaArmour 48657 ;UpgradeCameo3 = NONE 48658 ;UpgradeCameo4 = NONE 48659 ;UpgradeCameo5 = NONE 48660 48661 48662 48663 ; *** ART Parameters *** 48664 Draw = W3DTankDraw ModuleTag_01 48665 48666 ExtraPublicBone = EXIT01 48667 OkToChangeModelColor = Yes 48668 48669 48670 ConditionState = NONE 48671 Model = chipwarfactory 48672 Animation = chipwarfactory.chipwarfactory 48673 AnimationMode = LOOP 48674 48675 End 48676 48677 ConditionState = MOVING 48678 Model = chipwarfactory 48679 Animation = chipwarfactory.chipwarfactory 48680 AnimationMode = LOOP 48681 48682 End 48683 48684 ConditionState = OVER_WATER 48685 Model = chipwarfactory 48686 Animation = chipwarfactory.chipwarfactory 48687 AnimationMode = LOOP 48688 48689 End 48690 48691 ConditionState = MOVING OVER_WATER 48692 Model = chipwarfactory 48693 Animation = chipwarfactory.chipwarfactory 48694 AnimationMode = LOOP 48695 48696 48697 End 48698 End 48699 48700 VoiceSelect = OverlordTankVoiceSelect 48701 48702 ; ***DESIGN parameters *** 48703 DisplayName = OBJECT:chipwarfactory 48704 Side = America 48705 EditorSorting = VEHICLE 48706 Prerequisites 48707 Object = Americachipower 48708 End 48709 BuildCost = 2000 48710 BuildTime = 15.0 ; in seconds 48711 48712 EnergyProduction = -4 48713 MaxSimultaneousOfType = 1 48714 CommandSet = AmericachipwarfactoryCommandSet 48715 VisionRange = 200.0 ; Shroud clearing distance 48716 ShroudClearingRange = 200 48717 ArmorSet 48718 Conditions = None 48719 Armor = StructureArmor 48720 DamageFX = StructureDamageFXNoShake 48721 End 48722 ExperienceValue = 200 200 200 200 ; Experience point value at each level 48723 48724 ; *** AUDIO Parameters *** 48725 VoiceSelect = WarFactoryUSASelect 48726 SoundDie = BuildingDie 48727 SoundOnDamaged = BuildingDamagedStateLight 48728 SoundOnReallyDamaged = BuildingDestroy 48729 48730 UnitSpecificSounds 48731 UnderConstruction = UnderConstructionLoop 48732 End 48733 48734 ; *** ENGINEERING Parameters *** 48735 RadarPriority = UNIT 48736 KindOf = PRELOAD STRUCTURE SELECTABLE FS_FACTORY AUTO_RALLYPOINT VEHICLE IMMUNE_TO_CAPTURE COMMANDCENTER SCORE MP_COUNT_FOR_VICTORY 48737 48738 ;--------------------------permet le deplassement du batiment------- 48739 Behavior = AIUpdateInterface ModuleTag_05 48740 AutoAcquireEnemiesWhenIdle = Yes 48741 End 48742 48743 Locomotor = SET_NORMAL BasicNONELocomotor 48744 48745 Behavior = PhysicsBehavior ModuleTag_04 48746 Mass = 5000.0 48747 End 48748 Behavior = SlowDeathBehavior ModuleTag_16 48749 ProbabilityModifier = 25 48750 DestructionDelay = 200 48751 DestructionDelayVariance = 100 48752 OCL = FINAL OCL_FirestormSmall 48753 FX = FINAL WeaponFX_NapalmMissileDetonation 48754 End 48755 ;--------------------------permet le deplassement du batiment------- 48756 Body = StructureBody ModuleTag_09 48757 MaxHealth = 2000.0 48758 InitialHealth = 2000.0 48759 End 48760 Behavior = ProductionUpdate ModuleTag_10 48761 NumDoorAnimations = 1 48762 DoorOpeningTime = 3250 ;in mSeconds 48763 DoorWaitOpenTime = 3000 ;in mSeconds 48764 DoorCloseTime = 4000 ;in mSeconds 48765 ConstructionCompleteDuration = 1500 ;in mSeconds 48766 End 48767 Behavior = DefaultProductionExitUpdate ModuleTag_13 48768 UnitCreatePoint = X:100.0 Y: 35.0 Z:0.0 48769 NaturalRallyPoint = X:350.0 Y: 35.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML 48770 End 48771 Behavior = RepairDockUpdate ModuleTag_12 48772 TimeForFullHeal = 5000 ;(in milliseconds) 48773 NumberApproachPositions = 5 48774 End 48775 Behavior = BaseRegenerateUpdate ModuleTag_13 48776 ;No data 48777 End 48778 48779 ;---- Lazy cheezy modules make the buildings cry. 48780 ; Behavior = SlowDeathBehavior ModuleTag_14 48781 ; DestructionDelay = 500 48782 ; FX = FINAL FX_StructureMediumDeath 48783 ; OCL = FINAL OCL_AmericaWarFactoryDebris 48784 ; End 48785 48786 Behavior = TransitionDamageFX ModuleTag_15 48787 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- 48788 DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke 48789 ;--------------------------------------------------------------------------------------- 48790 ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke 48791 ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion 48792 ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave 48793 End 48794 48795 Behavior = CreateObjectDie ModuleTag_16 48796 CreationList = OCL_AmericanRangerDebris05 48797 ExemptStatus = UNDER_CONSTRUCTION 48798 End 48799 48800 Behavior = FlammableUpdate ModuleTag_18 48801 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 48802 AflameDamageAmount = 5 ; taking this much damage... 48803 AflameDamageDelay = 500 ; this often. 48804 End 48805 48806 Behavior = CreateObjectDie ModuleTag_20 48807 CreationList = OCL_LargeStructureDebris 48808 End 48809 48810 Behavior = FXListDie ModuleTag_21 48811 DeathFX = FX_StructureMediumDeath 48812 End 48813 48814 Behavior = DestroyDie ModuleTag_22 48815 ;nothing 48816 End 48817 48818 Geometry = BOX 48819 Scale = 0.95 ;Scaling 48820 GeometryMajorRadius = 3.0 48821 GeometryHeight = 12.0 48822 GeometryIsSmall = Yes 48823 Shadow = SHADOW_VOLUME 48824 48825 End 48826 ;------------------------------------------------------------------------------ 48827 Object Americachipdozer 48828 48829 48830 48831 48832 SelectPortrait = T42 48833 ButtonImage = T42 48834 48835 UpgradeCameo1 = Upgrade_SeaRepair 48836 UpgradeCameo2 = Upgrade_SeaArmour 48837 ;UpgradeCameo3 = NONE 48838 ;UpgradeCameo4 = NONE 48839 ;UpgradeCameo5 = NONE 48840 48841 48842 48843 ; *** ART Parameters *** 48844 Draw = W3DTankDraw ModuleTag_01 48845 48846 ExtraPublicBone = EXIT01 48847 OkToChangeModelColor = Yes 48848 48849 48850 ConditionState = NONE 48851 Model = chipdozer 48852 Animation = chipdozer.chipdozer 48853 AnimationMode = LOOP 48854 48855 End 48856 48857 ConditionState = MOVING 48858 Model = chipdozer 48859 Animation = chipdozer.chipdozer 48860 AnimationMode = LOOP 48861 48862 End 48863 48864 ConditionState = OVER_WATER 48865 Model = chipdozer 48866 Animation = chipdozer.chipdozer 48867 AnimationMode = LOOP 48868 48869 End 48870 48871 ConditionState = MOVING OVER_WATER 48872 Model = chipdozer 48873 Animation = chipdozer.chipdozer 48874 AnimationMode = LOOP 48875 48876 ParticleSysBone = Mist01 AmphibMistSide 48877 ParticleSysBone = Mist02 AmphibMistSide 48878 ParticleSysBone = Mist03 AmphibMist 48879 ParticleSysBone = Mist04 AmphibMistSide 48880 ParticleSysBone = Mist05 AmphibMistSide 48881 ParticleSysBone = Mist06 AmphibMist 48882 ParticleSysBone = Mist07 AmphibMistSide 48883 ParticleSysBone = Mist08 AmphibMistSide 48884 ParticleSysBone = Mist09 AmphibMistSide 48885 ParticleSysBone = Mist10 AmphibMist 48886 ParticleSysBone = Mist11 AmphibMistSide 48887 ParticleSysBone = Mist12 AmphibMistSide 48888 ParticleSysBone = TreadFX01 AmphibWave 48889 ParticleSysBone = TreadFX02 AmphibWave 48890 ParticleSysBone = TreadFX03 AmphibWave 48891 ParticleSysBone = TreadFX04 AmphibWave 48892 ParticleSysBone = TreadFX05 AmphibWave 48893 End 48894 End 48895 48896 ; ***DESIGN parameters *** 48897 DisplayName = OBJECT:chipdozer 48898 Side = America 48899 EditorSorting = VEHICLE 48900 Prerequisites 48901 ;Object = Americachipower 48902 End 48903 BuildCost = 2000 48904 BuildTime = 15.0 ; in seconds 48905 48906 EnergyProduction = -4 48907 MaxSimultaneousOfType = 1 48908 CommandSet = AmericachipdozerCommandSet 48909 VisionRange = 200.0 ; Shroud clearing distance 48910 ShroudClearingRange = 200 48911 ArmorSet 48912 Conditions = None 48913 Armor = StructureArmor 48914 DamageFX = StructureDamageFXNoShake 48915 End 48916 ExperienceValue = 200 200 200 200 ; Experience point value at each level 48917 48918 ; *** AUDIO Parameters *** 48919 VoiceSelect = WarFactoryUSASelect 48920 SoundDie = BuildingDie 48921 SoundOnDamaged = BuildingDamagedStateLight 48922 SoundOnReallyDamaged = BuildingDestroy 48923 48924 UnitSpecificSounds 48925 UnderConstruction = UnderConstructionLoop 48926 End 48927 48928 ; *** ENGINEERING Parameters *** 48929 RadarPriority = UNIT 48930 KindOf = PRELOAD SELECTABLE FS_FACTORY VEHICLE IMMUNE_TO_CAPTURE COMMANDCENTER SCORE MP_COUNT_FOR_VICTORY 48931 48932 ;--------------------------permet le deplassement du batiment------- 48933 Behavior = AIUpdateInterface ModuleTag_05 48934 AutoAcquireEnemiesWhenIdle = Yes 48935 End 48936 48937 Locomotor = SET_NORMAL BasicBoatLocomotor 48938 48939 Behavior = PhysicsBehavior ModuleTag_04 48940 Mass = 5000.0 48941 End 48942 Behavior = SlowDeathBehavior ModuleTag_16 48943 ProbabilityModifier = 25 48944 DestructionDelay = 200 48945 DestructionDelayVariance = 100 48946 OCL = FINAL OCL_FirestormSmall 48947 FX = FINAL WeaponFX_NapalmMissileDetonation 48948 End 48949 ;--------------------------permet le deplassement du batiment------- 48950 Body = StructureBody ModuleTag_09 48951 MaxHealth = 2000.0 48952 InitialHealth = 2000.0 48953 End 48954 Behavior = ProductionUpdate ModuleTag_10 48955 NumDoorAnimations = 1 48956 DoorOpeningTime = 3250 ;in mSeconds 48957 DoorWaitOpenTime = 3000 ;in mSeconds 48958 DoorCloseTime = 4000 ;in mSeconds 48959 ConstructionCompleteDuration = 1500 ;in mSeconds 48960 End 48961 Behavior = DefaultProductionExitUpdate ModuleTag_13 48962 UnitCreatePoint = X:100.0 Y: 35.0 Z:0.0 48963 NaturalRallyPoint = X:350.0 Y: 35.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML 48964 End 48965 Behavior = RepairDockUpdate ModuleTag_12 48966 TimeForFullHeal = 5000 ;(in milliseconds) 48967 NumberApproachPositions = 5 48968 End 48969 Behavior = BaseRegenerateUpdate ModuleTag_13 48970 ;No data 48971 End 48972 48973 ;---- Lazy cheezy modules make the buildings cry. 48974 ; Behavior = SlowDeathBehavior ModuleTag_14 48975 ; DestructionDelay = 500 48976 ; FX = FINAL FX_StructureMediumDeath 48977 ; OCL = FINAL OCL_AmericaWarFactoryDebris 48978 ; End 48979 48980 Behavior = TransitionDamageFX ModuleTag_15 48981 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- 48982 DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke 48983 ;--------------------------------------------------------------------------------------- 48984 ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke 48985 ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion 48986 ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave 48987 End 48988 48989 Behavior = CreateObjectDie ModuleTag_16 48990 CreationList = OCL_AmericanRangerDebris05 48991 ExemptStatus = UNDER_CONSTRUCTION 48992 End 48993 48994 Behavior = FlammableUpdate ModuleTag_18 48995 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 48996 AflameDamageAmount = 5 ; taking this much damage... 48997 AflameDamageDelay = 500 ; this often. 48998 End 48999 49000 Behavior = CreateObjectDie ModuleTag_20 49001 CreationList = OCL_LargeStructureDebris 49002 End 49003 49004 Behavior = FXListDie ModuleTag_21 49005 DeathFX = FX_StructureMediumDeath 49006 End 49007 49008 Behavior = DestroyDie ModuleTag_22 49009 ;nothing 49010 End 49011 49012 Geometry = BOX 49013 Scale = 0.95 ;Scaling 49014 GeometryMajorRadius = 3.0 49015 GeometryHeight = 12.0 49016 GeometryIsSmall = Yes 49017 Shadow = SHADOW_VOLUME 49018 49019 End 49020 ;------------------------------------------------------------------ 49021 49022 Object AmericaNavalyard2 49023 49024 ; *** ART Parameters *** 49025 SelectPortrait = T40 49026 ButtonImage = T40 49027 49028 ; ------------ the main factory itself ----------------- 49029 Draw = W3DModelDraw ModuleTag_01 49030 OkToChangeModelColor = Yes 49031 ; day ************************************************** 49032 DefaultConditionState 49033 Model = Navalyard2 49034 Animation = Navalyard2.Navalyard2 49035 AnimationMode = LOOP 49036 ParticleSysBone = Smoke01 SteamVent 49037 ParticleSysBone = Smoke02 SteamVent 49038 End 49039 49040 ConditionState = OVER_WATER 49041 Model = Navalyard2 49042 Animation = Navalyard2.Navalyard2 49043 AnimationMode = LOOP 49044 ParticleSysBone = Smoke01 SteamVent 49045 ParticleSysBone = Smoke02 SteamVent 49046 End 49047 49048 49049 ConditionState = DAMAGED 49050 Model = Navalyard2 49051 Animation = Navalyard2.Navalyard2 49052 AnimationMode = LOOP 49053 End 49054 ConditionState = REALLYDAMAGED RUBBLE 49055 Model = Navalyard2 49056 Animation = Navalyard2.Navalyard2 49057 AnimationMode = LOOP 49058 End 49059 49060 49061 49062 End 49063 49064 49065 49066 PlacementViewAngle = -135 49067 49068 ; ***DESIGN parameters *** 49069 DisplayName = OBJECT:Navalyard2 49070 Side = America 49071 Side = America 49072 EditorSorting = VEHICLE 49073 BuildCost = 2000 49074 BuildTime = 45.0 ; in seconds 49075 EnergyProduction = 0 ;Command Center should be free 49076 CommandSet = AmericaNavalyard2CommandSet 49077 VisionRange = 300.0 ; Shroud clearing distance 49078 ShroudClearingRange = 300 49079 ArmorSet 49080 Conditions = None 49081 Armor = StructureArmorTough 49082 DamageFX = StructureDamageFXNoShake 49083 End 49084 ExperienceValue = 200 200 200 200 ; Experience point value at each level 49085 49086 ; *** AUDIO Parameters *** 49087 VoiceSelect = CommandCenterUSASelect 49088 SoundDie = BuildingDie 49089 SoundOnDamaged = BuildingDamagedStateLight 49090 SoundOnReallyDamaged = BuildingDestroy 49091 49092 UnitSpecificSounds 49093 UnderConstruction = UnderConstructionLoop 49094 End 49095 49096 ; *** ENGINEERING Parameters *** 49097 RadarPriority = UNIT 49098 KindOf = PRELOAD STRUCTURE SELECTABLE FS_FACTORY AUTO_RALLYPOINT VEHICLE IMMUNE_TO_CAPTURE COMMANDCENTER SCORE MP_COUNT_FOR_VICTORY 49099 Body = StructureBody ModuleTag_06 49100 MaxHealth = 5000.0 49101 InitialHealth = 5000.0 49102 End 49103 Behavior = AutoDepositUpdate ModuleTag_04 49104 DepositTiming = 12000 ; in milliseconds 49105 DepositAmount = 100 ; cash amount to deposit every Deposit Timings 49106 End 49107 ;--------------------------permet le deplassement du batiment------- 49108 Behavior = AIUpdateInterface ModuleTag_05 49109 AutoAcquireEnemiesWhenIdle = Yes 49110 End 49111 49112 Locomotor = SET_NORMAL BasicNONELocomotor 49113 49114 Behavior = PhysicsBehavior ModuleTag_04 49115 Mass = 5000.0 49116 End 49117 Behavior = SlowDeathBehavior ModuleTag_16 49118 ProbabilityModifier = 25 49119 DestructionDelay = 200 49120 DestructionDelayVariance = 100 49121 OCL = FINAL OCL_FirestormSmall 49122 FX = FINAL WeaponFX_NapalmMissileDetonation 49123 End 49124 ;--------------------------permet le deplassement du batiment------- 49125 Behavior = PreorderCreate ModuleTag_PreorderCreate 49126 End 49127 49128 Behavior = GrantUpgradeCreate ModuleTag_09 49129 UpgradeToGrant = Upgrade_AmericaRadar 49130 ExemptStatus = UNDER_CONSTRUCTION 49131 End 49132 Behavior = ProductionUpdate ModuleTag_11 49133 NumDoorAnimations = 1 49134 DoorOpeningTime = 1500 ;in mSeconds 49135 DoorWaitOpenTime = 3000 ;in mSeconds 49136 DoorCloseTime = 1500 ;in mSeconds 49137 ConstructionCompleteDuration = 1500 ;in mSeconds 49138 End 49139 Behavior = RadarUpdate ModuleTag_12 49140 RadarExtendTime = 4000 ;in mSeconds 49141 End 49142 Behavior = DefaultProductionExitUpdate ModuleTag_13 49143 UnitCreatePoint = X:-18.0 Y: 35.0 Z:0.0 49144 NaturalRallyPoint = X: 60.0 Y: 35.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML 49145 End 49146 Behavior = BaseRegenerateUpdate ModuleTag_14 49147 ;No data 49148 End 49149 Behavior = DestroyDie ModuleTag_15 49150 ;nothing 49151 End 49152 Behavior = CreateObjectDie ModuleTag_16 49153 CreationList = OCL_LargeStructureDebris 49154 End 49155 Behavior = CreateObjectDie ModuleTag_17 49156 CreationList = OCL_AmericanRangerDebris10 49157 ExemptStatus = UNDER_CONSTRUCTION 49158 End 49159 Behavior = FXListDie ModuleTag_18 49160 DeathFX = FX_StructureMediumDeath 49161 End 49162 Behavior = RadarUpgrade ModuleTag_19 49163 TriggeredBy = Upgrade_AmericaRadar 49164 End 49165 Behavior = OCLSpecialPower ModuleTag_20 49166 SpecialPowerTemplate = SuperweaponDaisyCutter 49167 OCL = SUPERWEAPON_DaisyCutter 49168 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE 49169 End 49170 Behavior = OCLSpecialPower ModuleTag_21 49171 SpecialPowerTemplate = SpecialPowerSpyDrone 49172 OCL = SUPERWEAPON_SpyDrone 49173 CreateLocation = CREATE_ABOVE_LOCATION 49174 End 49175 Behavior = OCLSpecialPower ModuleTag_22 49176 SpecialPowerTemplate = SuperweaponParadropAmerica 49177 UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 49178 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 49179 OCL = SUPERWEAPON_Paradrop1 49180 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE 49181 End 49182 ; Behavior = OCLSpecialPower ModuleTag_23;this has been removed from everywhere but the AmericaAirfield in CHI05 49183 ; SpecialPowerTemplate = SuperweaponCarpetBomb 49184 ; OCL = SUPERWEAPON_CarpetBomb 49185 ; CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE 49186 ; End 49187 Behavior = OCLSpecialPower ModuleTag_24 49188 SpecialPowerTemplate = SpecialPowerSpySatellite 49189 OCL = SUPERWEAPON_SpySatellite 49190 CreateLocation = CREATE_AT_LOCATION 49191 End 49192 Behavior = OCLSpecialPower ModuleTag_25 49193 SpecialPowerTemplate = SuperweaponCrateDrop 49194 OCL = SUPERWEAPON_CrateDrop 49195 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE 49196 End 49197 Behavior = OCLSpecialPower ModuleTag_26 49198 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike 49199 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 49200 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 49201 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 49202 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE 49203 End 49204 Behavior = OCLSpecialPower ModuleTag_27 49205 SpecialPowerTemplate = SuperweaponEmergencyRepair 49206 UpgradeOCL = SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 49207 UpgradeOCL = SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 49208 OCL = SUPERWEAPON_RepairVehicles1 49209 CreateLocation = CREATE_AT_LOCATION 49210 End 49211 49212 ; note that this power isn't normally available to human players, only to AI ones 49213 Behavior = DefectorSpecialPower ModuleTag_28 49214 SpecialPowerTemplate = SpecialPowerDefector ; @todo lorenzen add fatcursor params 49215 End 49216 49217 Behavior = FlammableUpdate ModuleTag_30 49218 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 49219 AflameDamageAmount = 5 ; taking this much damage... 49220 AflameDamageDelay = 500 ; this often. 49221 End 49222 49223 Behavior = TransitionDamageFX ModuleTag_31 49224 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- 49225 DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke 49226 ;--------------------------------------------------------------------------------------- 49227 ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke 49228 ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion 49229 ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave 49230 End 49231 49232 Geometry = BOX 49233 GeometryMajorRadius = 40.0 49234 GeometryMinorRadius = 40.0 49235 GeometryHeight = 70.0 49236 GeometryIsSmall = No 49237 FactoryExitWidth = 25 ; How much space to leave for units exiting. 49238 Shadow = SHADOW_VOLUME 49239 BuildCompletion = PLACED_BY_PLAYER 49240 49241 End 49242 ;-------------------------------------------------------------------------------------- 49243 49244 Object Americaboue 49245 49246 49247 49248 49249 SelectPortrait = T43 49250 ButtonImage = T43 49251 49252 UpgradeCameo1 = Upgrade_SeaRepair 49253 UpgradeCameo2 = Upgrade_SeaArmour 49254 ;UpgradeCameo3 = NONE 49255 ;UpgradeCameo4 = NONE 49256 ;UpgradeCameo5 = NONE 49257 49258 49259 49260 ; *** ART Parameters *** 49261 Draw = W3DTankDraw ModuleTag_01 49262 49263 ExtraPublicBone = EXIT01 49264 OkToChangeModelColor = Yes 49265 49266 49267 ConditionState = NONE 49268 Model = boue 49269 Animation = boue.boue 49270 AnimationMode = LOOP 49271 49272 End 49273 49274 ConditionState = MOVING 49275 Model = boue 49276 Animation = boue.boue 49277 AnimationMode = LOOP 49278 49279 End 49280 49281 ConditionState = OVER_WATER 49282 Model = boue 49283 Animation = boue.boue 49284 AnimationMode = LOOP 49285 49286 End 49287 49288 ConditionState = MOVING OVER_WATER 49289 Model = boue 49290 Animation = boue.boue 49291 AnimationMode = LOOP 49292 49293 ParticleSysBone = Mist01 AmphibMistSide 49294 49295 ParticleSysBone = TreadFX01 AmphibWave 49296 49297 End 49298 End 49299 49300 ; ***DESIGN parameters *** 49301 DisplayName = OBJECT:boue 49302 Side = America 49303 EditorSorting = VEHICLE 49304 Prerequisites 49305 Object = Americachipower 49306 End 49307 BuildCost = 100 49308 BuildTime = 1.0 ; in seconds 49309 49310 EnergyProduction = -1 49311 49312 CommandSet = AmericaboueCommandSet 49313 VisionRange = 200.0 ; Shroud clearing distance 49314 ShroudClearingRange = 200 49315 ArmorSet 49316 Conditions = None 49317 Armor = StructureArmor 49318 DamageFX = StructureDamageFXNoShake 49319 End 49320 ExperienceValue = 200 200 200 200 ; Experience point value at each level 49321 49322 ; *** AUDIO Parameters *** 49323 VoiceSelect = WarFactoryUSASelect 49324 SoundDie = BuildingDie 49325 SoundOnDamaged = BuildingDamagedStateLight 49326 SoundOnReallyDamaged = BuildingDestroy 49327 49328 UnitSpecificSounds 49329 UnderConstruction = UnderConstructionLoop 49330 End 49331 49332 ; *** ENGINEERING Parameters *** 49333 RadarPriority = UNIT 49334 KindOf = PRELOAD SELECTABLE FS_FACTORY VEHICLE IMMUNE_TO_CAPTURE COMMANDCENTER SCORE MP_COUNT_FOR_VICTORY 49335 49336 ;--------------------------permet le deplassement du batiment------- 49337 Behavior = AIUpdateInterface ModuleTag_05 49338 AutoAcquireEnemiesWhenIdle = Yes 49339 End 49340 49341 Locomotor = SET_NORMAL BasicNONELocomotor 49342 49343 Behavior = PhysicsBehavior ModuleTag_04 49344 Mass = 5000.0 49345 End 49346 Behavior = SlowDeathBehavior ModuleTag_16 49347 ProbabilityModifier = 25 49348 DestructionDelay = 200 49349 DestructionDelayVariance = 100 49350 OCL = FINAL OCL_FirestormSmall 49351 FX = FINAL WeaponFX_NapalmMissileDetonation 49352 End 49353 ;--------------------------permet le deplassement du batiment------- 49354 Body = StructureBody ModuleTag_09 49355 MaxHealth = 2000.0 49356 InitialHealth = 2000.0 49357 End 49358 Behavior = ProductionUpdate ModuleTag_10 49359 NumDoorAnimations = 1 49360 DoorOpeningTime = 3250 ;in mSeconds 49361 DoorWaitOpenTime = 3000 ;in mSeconds 49362 DoorCloseTime = 4000 ;in mSeconds 49363 ConstructionCompleteDuration = 1500 ;in mSeconds 49364 End 49365 Behavior = DefaultProductionExitUpdate ModuleTag_13 49366 UnitCreatePoint = X:100.0 Y: 35.0 Z:0.0 49367 NaturalRallyPoint = X:350.0 Y: 35.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML 49368 End 49369 Behavior = RepairDockUpdate ModuleTag_12 49370 TimeForFullHeal = 5000 ;(in milliseconds) 49371 NumberApproachPositions = 5 49372 End 49373 Behavior = BaseRegenerateUpdate ModuleTag_13 49374 ;No data 49375 End 49376 49377 ;---- Lazy cheezy modules make the buildings cry. 49378 ; Behavior = SlowDeathBehavior ModuleTag_14 49379 ; DestructionDelay = 500 49380 ; FX = FINAL FX_StructureMediumDeath 49381 ; OCL = FINAL OCL_AmericaWarFactoryDebris 49382 ; End 49383 49384 Behavior = TransitionDamageFX ModuleTag_15 49385 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- 49386 DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke 49387 ;--------------------------------------------------------------------------------------- 49388 ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke 49389 ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion 49390 ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave 49391 End 49392 49393 Behavior = CreateObjectDie ModuleTag_16 49394 CreationList = OCL_AmericanRangerDebris05 49395 ExemptStatus = UNDER_CONSTRUCTION 49396 End 49397 49398 Behavior = FlammableUpdate ModuleTag_18 49399 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 49400 AflameDamageAmount = 5 ; taking this much damage... 49401 AflameDamageDelay = 500 ; this often. 49402 End 49403 49404 Behavior = CreateObjectDie ModuleTag_20 49405 CreationList = OCL_LargeStructureDebris 49406 End 49407 49408 Behavior = FXListDie ModuleTag_21 49409 DeathFX = FX_StructureMediumDeath 49410 End 49411 49412 Behavior = DestroyDie ModuleTag_22 49413 ;nothing 49414 End 49415 49416 Geometry = BOX 49417 Scale = 0.95 ;Scaling 49418 GeometryMajorRadius = 3.0 49419 GeometryHeight = 12.0 49420 GeometryIsSmall = Yes 49421 Shadow = SHADOW_VOLUME 49422 49423 End 49424 49425 ;------------------------------------------------------------------------------------------------ 49426 49427 49428 Object GLAmine 49429 49430 49431 49432 49433 SelectPortrait = T44 49434 ButtonImage = T44 49435 49436 ;UpgradeCameo1 = Upgrade_SeaRepair 49437 ;UpgradeCameo2 = Upgrade_SeaArmour 49438 ;UpgradeCameo3 = NONE 49439 ;UpgradeCameo4 = NONE 49440 ;UpgradeCameo5 = NONE 49441 49442 49443 49444 ; *** ART Parameters *** 49445 Draw = W3DTankDraw ModuleTag_01 49446 49447 49448 OkToChangeModelColor = Yes 49449 49450 49451 ConditionState = NONE 49452 Model = mine 49453 Animation = mine.mine 49454 AnimationMode = LOOP 49455 49456 End 49457 49458 ConditionState = MOVING 49459 Model = mine 49460 Animation = mine.mine 49461 AnimationMode = LOOP 49462 49463 End 49464 49465 ConditionState = OVER_WATER 49466 Model = mine 49467 Animation = mine.mine 49468 AnimationMode = LOOP 49469 49470 End 49471 49472 ConditionState = MOVING OVER_WATER 49473 Model = mine 49474 Animation = mine.mine 49475 AnimationMode = LOOP 49476 49477 ParticleSysBone = Mist01 AmphibMistSide 49478 49479 ParticleSysBone = TreadFX01 AmphibWave 49480 49481 End 49482 49483 End 49484 49485 49486 ; ***DESIGN parameters *** 49487 DisplayName = OBJECT:GLAmine 49488 Side = GLA 49489 EditorSorting = VEHICLE 49490 Prerequisites 49491 49492 End 49493 BuildCost = 200 49494 BuildTime = 2.0 ; in seconds 49495 EnergyProduction = 0 49496 MaxSimultaneousOfType = 10 49497 CommandSet = = GLAmineCommandSet 49498 VisionRange = 150.0 ; Shroud clearing distance 49499 ShroudClearingRange = 150.0 ; Shroud clearing distance 49500 ExperienceValue = 50 50 50 50 ; Experience point value at each level 49501 49502 WeaponSet 49503 ;The weapon set is used to determine detonation mode 49504 Conditions = None 49505 Weapon = PRIMARY DummyWeapon ;Used for mode matching only (when to detonate) 49506 Weapon = SECONDARY DummyWeapon ;Used for mode matching only (when to detonate) 49507 Weapon = TERTIARY DummyWeapon ;Used for mode matching only (when to detonate) 49508 AutoChooseSources = PRIMARY NONE 49509 AutoChooseSources = SECONDARY NONE 49510 AutoChooseSources = TERTIARY NONE 49511 End 49512 ArmorSet 49513 Conditions = None 49514 Armor = StructureArmor 49515 DamageFX = DefaultDamageFX ; Too small for normal building FX, but if we do make dedicated one it should be silent 49516 End 49517 ExperienceValue = 200 200 200 200 ; Experience point value at each level 49518 49519 49520 49521 ; *** AUDIO Parameters *** 49522 VoiceSelect = UndergroundGeneratorSelect 49523 ; SoundDie = BuildingDie ; Turned off because death is start of detonation 49524 SoundOnDamaged = BuildingDamagedStateLight 49525 SoundOnReallyDamaged = BuildingDestroy 49526 49527 UnitSpecificSounds 49528 UnderConstruction = UnderConstructionLoop 49529 End 49530 49531 ; *** ENGINEERING Parameters *** 49532 RadarPriority = UNIT 49533 KindOf = PRELOAD SELECTABLE FS_FACTORY VEHICLE IMMUNE_TO_CAPTURE COMMANDCENTER SCORE MP_COUNT_FOR_VICTORY 49534 49535 ;--------------------------permet le deplassement du batiment------- 49536 Behavior = AIUpdateInterface ModuleTag_05 49537 AutoAcquireEnemiesWhenIdle = Yes 49538 End 49539 49540 Locomotor = SET_NORMAL BasicNONELocomotor 49541 49542 Behavior = PhysicsBehavior ModuleTag_04 49543 Mass = 5000.0 49544 End 49545 Behavior = SlowDeathBehavior ModuleTag_16 49546 ProbabilityModifier = 25 49547 DestructionDelay = 200 49548 DestructionDelayVariance = 100 49549 OCL = FINAL OCL_FirestormSmall 49550 FX = FINAL WeaponFX_NapalmMissileDetonation 49551 End 49552 ;--------------------------permet le deplassement du batiment------- 49553 49554 49555 Body = StructureBody ModuleTag_02 49556 MaxHealth = 100.0 49557 InitialHealth = 100.0 49558 End 49559 49560 Behavior = StealthUpdate ModuleTag_03 49561 StealthDelay = 0 ; msec 49562 StealthForbiddenConditions = NONE 49563 FriendlyOpacityMin = 100.0% 49564 OrderIdleEnemiesToAttackMeUponReveal = Yes 49565 End 49566 49567 Behavior = DemoTrapUpdate ModuleTag_04 49568 DefaultProximityMode = Yes ;If yes, defaults to proximity mode, otherwise defaults to manual. 49569 DetonationWeaponSlot = PRIMARY ;The slot the weapon is in when it detonates. 49570 ProximityModeWeaponSlot = SECONDARY ;The slot proximity mode is determined by (bogus weapon) 49571 ManualModeWeaponSlot = TERTIARY ;The slot manual mode is determined by (bogus weapon) 49572 TriggerDetonationRange = 40.0 ;Detonation range when in proximity mode (and must be on ground) 49573 IgnoreTargetTypes = PROJECTILE UNATTACKABLE 49574 AutoDetonationWithFriendsInvolved = Yes ;GLA are low tech 49575 ; DetonationWeapon = DemoTrapDetonationWeapon 49576 DetonateWhenKilled = Yes 49577 End 49578 49579 49580 Behavior = FlammableUpdate ModuleTag_07 49581 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 49582 AflameDamageAmount = 5 ; taking this much damage... 49583 AflameDamageDelay = 500 ; this often. 49584 End 49585 49586 49587 49588 Shadow = SHADOW_VOLUME 49589 Geometry = CYLINDER 49590 GeometryMajorRadius = 4.0 49591 GeometryHeight = 9 49592 GeometryIsSmall = Yes 49593 49594 End 49595 49596 ;--------------------------------------------------------- 49597 Object techoil 49598 49599 SelectPortrait = T45 49600 ButtonImage = T45 49601 49602 ; *** ART Parameters *** 49603 ; day 49604 Draw = W3DModelDraw ModuleTag_01 ; Handles the building but not the pile of stuff 49605 ConditionState = NONE 49606 Model = techoil 49607 End 49608 49609 ; damaged 49610 ConditionState = DAMAGED 49611 Model = techoil 49612 End 49613 49614 ; reallydamaged 49615 ConditionState = REALLYDAMAGED 49616 Model = techoil 49617 End 49618 49619 ; night 49620 ConditionState = NIGHT 49621 Model = techoil 49622 End 49623 49624 ; damaged 49625 ConditionState = DAMAGED NIGHT 49626 Model = techoil 49627 End 49628 49629 ; reallydamaged 49630 ConditionState = REALLYDAMAGED NIGHT 49631 Model = techoil 49632 End 49633 End 49634 49635 Draw = W3DSupplyDraw ModuleTag_02 ; Dedicated draw module that talks with SupplyWarehouseDockUpdate to show/hide % of bones 49636 ExtraPublicBone = SUP 49637 ConditionState = NONE 49638 Model =techoil 49639 End 49640 49641 SupplyBonePrefix = SUP ; Show n of these based on SupplyWarehouseDockUpdate 49642 End 49643 49644 ; ------------ New Animations fence ----------------- 49645 Draw = W3DModelDraw ModuleTag_NewAnimations 49646 AnimationsRequirePower = No 49647 49648 DefaultConditionState 49649 Model = techoil 49650 Animation = techoil.techoil 49651 AnimationMode = LOOP 49652 End 49653 End 49654 49655 ; ***DESIGN parameters *** 49656 DisplayName = OBJECT:techoil 49657 EditorSorting = VEHICLE 49658 49659 Prerequisites 49660 49661 End 49662 BuildCost = 200 49663 BuildTime = 5.0 ; in seconds 49664 EnergyProduction = 0 49665 MaxSimultaneousOfType = 10 49666 CommandSet = = GLAmineCommandSet 49667 VisionRange = 150.0 ; Shroud clearing distance 49668 ShroudClearingRange = 150.0 ; Shroud clearing distance 49669 ExperienceValue = 50 50 50 50 ; Experience point value at each level 49670 WeaponSet 49671 ;The weapon set is used to determine detonation mode 49672 Conditions = None 49673 Weapon = PRIMARY DummyWeapon ;Used for mode matching only (when to detonate) 49674 Weapon = SECONDARY DummyWeapon ;Used for mode matching only (when to detonate) 49675 Weapon = TERTIARY DummyWeapon ;Used for mode matching only (when to detonate) 49676 AutoChooseSources = PRIMARY NONE 49677 AutoChooseSources = SECONDARY NONE 49678 AutoChooseSources = TERTIARY NONE 49679 End 49680 ArmorSet 49681 Conditions = None 49682 Armor = StructureArmor 49683 DamageFX = StructureDamageFXNoShake 49684 End 49685 49686 49687 ; *** ENGINEERING Parameters *** 49688 RadarPriority = UNIT 49689 KindOf = PRELOAD SELECTABLE FS_FACTORY VEHICLE IMMUNE_TO_CAPTURE COMMANDCENTER SCORE MP_COUNT_FOR_VICTORY 49690 49691 Body = StructureBody ModuleTag_02 49692 MaxHealth = 500.0 49693 InitialHealth = 500.0 49694 End 49695 49696 Behavior = SupplyWarehouseCreate ModuleTag_05 49697 ;nothing 49698 End 49699 ;--------------------------permet le deplassement du batiment------- 49700 Behavior = AIUpdateInterface ModuleTag_05 49701 AutoAcquireEnemiesWhenIdle = Yes 49702 End 49703 49704 Locomotor = SET_NORMAL BasicNONELocomotor 49705 49706 Behavior = PhysicsBehavior ModuleTag_04 49707 Mass = 5000.0 49708 End 49709 Behavior = SlowDeathBehavior ModuleTag_16 49710 ProbabilityModifier = 25 49711 DestructionDelay = 200 49712 DestructionDelayVariance = 100 49713 OCL = FINAL OCL_FirestormSmall 49714 FX = FINAL WeaponFX_NapalmMissileDetonation 49715 End 49716 ;--------------------------permet le deplassement du batiment------- 49717 49718 49719 Behavior = SupplyWarehouseDockUpdate ModuleTag_06 49720 AllowsPassthrough = No ;You can't drive through this guy while docking. Use this when the dock points are all outside 49721 NumberApproachPositions = -1 ; This is a Boneless dock, so this means infinite can approach 49722 StartingBoxes = 400 ; Even if you use a script to set the cash value, this will determine graphically what "full" is. 49723 End 49724 49725 Behavior = FlammableUpdate ModuleTag_07 49726 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 49727 AflameDamageAmount = 5 ; taking this much damage... 49728 AflameDamageDelay = 500 ; this often. 49729 End 49730 49731 Geometry = BOX 49732 GeometryMajorRadius = 50.0 49733 GeometryMinorRadius = 61.0 49734 GeometryHeight = 13.0 49735 GeometryIsSmall = No 49736 Shadow = SHADOW_VOLUME 49737 49738 End 49739 ;------------------------------------------------------------------------------------------------ 49740 49741 49742 Object supplytechoil 49743 49744 49745 49746 49747 SelectPortrait = T46 49748 ButtonImage = T46 49749 49750 ;UpgradeCameo1 = Upgrade_SeaRepair 49751 ;UpgradeCameo2 = Upgrade_SeaArmour 49752 ;UpgradeCameo3 = NONE 49753 ;UpgradeCameo4 = NONE 49754 ;UpgradeCameo5 = NONE 49755 49756 49757 49758 ; *** ART Parameters *** 49759 Draw = W3DTankDraw ModuleTag_01 49760 49761 49762 OkToChangeModelColor = Yes 49763 49764 49765 ConditionState = NONE 49766 Model = supplydock 49767 Animation = supplydock.supplydock 49768 AnimationMode = LOOP 49769 ParticleSysBone = Fire01 SmolderingFire 49770 ParticleSysBone = Fire01 SmolderingFlameCore 49771 49772 ParticleSysBone = Smoke01 SteamVent 49773 ParticleSysBone = Smoke02 SteamVent 49774 End 49775 49776 ConditionState = MOVING 49777 Model = supplydock 49778 Animation = supplydock.supplydock 49779 AnimationMode = LOOP 49780 ParticleSysBone = Fire01 SmolderingFire 49781 ParticleSysBone = Fire01 SmolderingFlameCore 49782 49783 ParticleSysBone = Smoke01 SteamVent 49784 ParticleSysBone = Smoke02 SteamVent 49785 End 49786 ConditionState = OVER_WATER 49787 Model = supplydock 49788 Animation = supplydock.supplydock 49789 AnimationMode = LOOP 49790 ParticleSysBone = Fire01 SmolderingFire 49791 ParticleSysBone = Fire01 SmolderingFlameCore 49792 49793 ParticleSysBone = Smoke01 SteamVent 49794 ParticleSysBone = Smoke02 SteamVent 49795 End 49796 49797 ConditionState = MOVING OVER_WATER 49798 Model = supplydock 49799 Animation = supplydock.supplydock 49800 AnimationMode = LOOP 49801 ParticleSysBone = Fire01 SmolderingFire 49802 ParticleSysBone = Fire01 SmolderingFlameCore 49803 49804 ParticleSysBone = Smoke01 SteamVent 49805 ParticleSysBone = Smoke02 SteamVent 49806 End 49807 49808 End 49809 PlacementViewAngle = -45 49810 49811 ; ***DESIGN parameters *** 49812 DisplayName = OBJECT:supplytechoil 49813 Side = America 49814 Side = America 49815 Prerequisites 49816 Object = Americachipower 49817 End 49818 49819 49820 BuildCost = 2000 49821 RefundValue = 400 ; With nothing (or zero) listed, we sell for half price. 49822 BuildTime = 10.0 ; in seconds 49823 EnergyProduction = -1 49824 CommandSet = supplytechoilCommandSet 49825 VisionRange = 200.0 ; Shroud clearing distance 49826 ShroudClearingRange = 200 49827 MaxSimultaneousOfType = 1 49828 ArmorSet 49829 Conditions = None 49830 Armor = StructureArmor 49831 DamageFX = StructureDamageFXNoShake 49832 End 49833 ExperienceValue = 200 200 200 200 ; Experience point value at each level 49834 49835 ; *** AUDIO Parameters *** 49836 VoiceSelect = SupplyCenterUSASelect 49837 SoundDie = BuildingDie 49838 SoundOnDamaged = BuildingDamagedStateLight 49839 SoundOnReallyDamaged = BuildingDestroy 49840 49841 UnitSpecificSounds 49842 UnderConstruction = UnderConstructionLoop 49843 End 49844 49845 49846 ; *** ENGINEERING Parameters *** 49847 RadarPriority = UNIT 49848 KindOf = PRELOAD SELECTABLE FS_FACTORY VEHICLE IMMUNE_TO_CAPTURE COMMANDCENTER SCORE MP_COUNT_FOR_VICTORY 49849 49850 Body = StructureBody ModuleTag_02 49851 MaxHealth = 2000.0 49852 InitialHealth = 2000.0 49853 End 49854 ;--------------------------permet le deplassement du batiment------- 49855 Behavior = AIUpdateInterface ModuleTag_05 49856 AutoAcquireEnemiesWhenIdle = Yes 49857 End 49858 49859 Locomotor = SET_NORMAL BasicNONELocomotor 49860 49861 Behavior = PhysicsBehavior ModuleTag_04 49862 Mass = 5000.0 49863 End 49864 Behavior = SlowDeathBehavior ModuleTag_16 49865 ProbabilityModifier = 25 49866 DestructionDelay = 200 49867 DestructionDelayVariance = 100 49868 OCL = FINAL OCL_FirestormSmall 49869 FX = FINAL WeaponFX_NapalmMissileDetonation 49870 End 49871 ;--------------------------permet le deplassement du batiment------- 49872 49873 Behavior = SupplyCenterCreate ModuleTag_06 49874 ;nothing 49875 End 49876 Behavior = DestroyDie ModuleTag_07 49877 ;nothing 49878 End 49879 Behavior = CreateObjectDie ModuleTag_08 49880 CreationList = OCL_AmericanRangerDebris03 49881 ExemptStatus = UNDER_CONSTRUCTION 49882 End 49883 Behavior = ProductionUpdate ModuleTag_09 49884 ; nothing 49885 End 49886 Behavior = SupplyCenterProductionExitUpdate ModuleTag_10 49887 UnitCreatePoint = X: -50.0 Y: 0.0 Z:0.0 49888 NaturalRallyPoint = X: 44.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML 49889 End 49890 Behavior = BaseRegenerateUpdate ModuleTag_11 49891 ;No data 49892 End 49893 Behavior = SpawnBehavior ModuleTag_12 49894 SpawnNumber = 1 49895 SpawnReplaceDelay = 9999 49896 SpawnTemplateName = AmericaVehicletanker 49897 OneShot = Yes 49898 CanReclaimOrphans = No 49899 End 49900 49901 Behavior = SupplyCenterDockUpdate ModuleTag_13 49902 NumberApproachPositions = 9 ; There are 9 approach bones in the art 49903 End 49904 49905 Behavior = FlammableUpdate ModuleTag_15 49906 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 49907 AflameDamageAmount = 5 ; taking this much damage... 49908 AflameDamageDelay = 500 ; this often. 49909 End 49910 49911 Behavior = CreateObjectDie ModuleTag_16 49912 CreationList = OCL_LargeStructureDebris 49913 End 49914 Behavior = FXListDie ModuleTag_17 49915 DeathFX = FX_StructureSmallDeath 49916 End 49917 49918 Behavior = TransitionDamageFX ModuleTag_18 49919 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- 49920 DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke 49921 ;--------------------------------------------------------------------------------------- 49922 ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke 49923 ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion 49924 ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave 49925 End 49926 49927 Geometry = BOX 49928 GeometryMajorRadius = 44.0 49929 GeometryMinorRadius = 45.0 49930 GeometryHeight = 24.0 49931 GeometryIsSmall = No 49932 Shadow = SHADOW_VOLUME 49933 49934 49935 End 49936 49937 ;------------------------------------------------------------------------------------------------ 49938 49939 49940 Object AmericaVehicletanker 49941 49942 49943 49944 49945 SelectPortrait = T47 49946 ButtonImage = T47 49947 49948 ;UpgradeCameo1 = Upgrade_SeaRepair 49949 ;UpgradeCameo2 = Upgrade_SeaArmour 49950 ;UpgradeCameo3 = NONE 49951 ;UpgradeCameo4 = NONE 49952 ;UpgradeCameo5 = NONE 49953 49954 49955 49956 ; *** ART Parameters *** 49957 Draw = W3DTankDraw ModuleTag_01 49958 49959 49960 OkToChangeModelColor = Yes 49961 49962 49963 ConditionState = NONE 49964 Model = tanker 49965 Animation = tanker.tanker 49966 AnimationMode = LOOP 49967 49968 End 49969 49970 ConditionState = MOVING 49971 Model = tanker 49972 Animation = tanker.tanker 49973 AnimationMode = LOOP 49974 49975 End 49976 49977 ConditionState = OVER_WATER 49978 Model = tanker 49979 Animation = tanker.tanker 49980 AnimationMode = LOOP 49981 49982 End 49983 49984 ConditionState = MOVING OVER_WATER 49985 Model = tanker 49986 Animation = tanker.tanker 49987 AnimationMode = LOOP 49988 49989 49990 End 49991 49992 End 49993 49994 ; ***DESIGN parameters *** 49995 DisplayName = OBJECT:tanker 49996 EditorSorting = VEHICLE 49997 Side = America 49998 TransportSlotCount = 2 ;how many "slots" we take in a transport (0 == not transportable) 49999 BuildCost = 1000 50000 BuildTime = 10.0 ;in seconds 50001 VisionRange = 150 50002 ShroudClearingRange = 300 50003 Prerequisites 50004 ;Object = ChinaSupplyCenter 50005 End 50006 50007 ArmorSet 50008 Conditions = None 50009 Armor = TruckArmor 50010 DamageFX = TankDamageFX 50011 End 50012 CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles 50013 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 50014 CommandSet = ChinaSupplyTruckCommandSet 50015 ; *** AUDIO Parameters *** 50016 VoiceSelect = SupplyTruckVoiceSelect 50017 VoiceMove = SupplyTruckVoiceMove 50018 VoiceAttack = SupplyTruckVoiceAttack 50019 SoundMoveStart = SupplyTruckMoveStart 50020 SoundMoveStartDamaged = SupplyTruckMoveStart 50021 UnitSpecificSounds 50022 VoiceCreate = SupplyTruckVoiceCreate 50023 TruckLandingSound = NoSound 50024 TruckPowerslideSound = NoSound 50025 VoiceSupply = SupplyTruckVoiceSupply 50026 VoiceCrush = SupplyTruckVoiceCrush 50027 VoiceEnter = SupplyTruckVoiceMove 50028 50029 End 50030 50031 ; *** ENGINEERING Parameters *** 50032 RadarPriority = UNIT 50033 ;@todo lorenzen removed the CAN_ATTACK from the chinasupplytruck... ok? 50034 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT 50035 50036 Body = ActiveBody ModuleTag_02 50037 MaxHealth = 300.0 50038 InitialHealth = 300.0 50039 End 50040 Behavior = SupplyTruckAIUpdate ModuleTag_03 50041 MaxBoxes = 4 50042 SupplyCenterActionDelay = 400 ; ms for whole thing (one transaction) 50043 SupplyWarehouseActionDelay = 1000 ; ms per box (many small transactions) 50044 SupplyWarehouseScanDistance = 1000 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) 50045 SuppliesDepletedVoice = SupplyTruckVoiceSuppliesDepleted 50046 End 50047 ;--------------------------permet le deplassement du batiment------- 50048 50049 50050 Locomotor = SET_NORMAL BasicBoatLocomotor 50051 50052 Behavior = PhysicsBehavior ModuleTag_04 50053 Mass = 5000.0 50054 End 50055 Behavior = SlowDeathBehavior ModuleTag_16 50056 ProbabilityModifier = 25 50057 DestructionDelay = 200 50058 DestructionDelayVariance = 100 50059 OCL = FINAL OCL_FirestormSmall 50060 FX = FINAL WeaponFX_NapalmMissileDetonation 50061 End 50062 ;--------------------------permet le deplassement du batiment------- 50063 50064 50065 50066 ExperienceValue = 50 50 50 50 ;Experience point value at each level 50067 50068 Behavior = SlowDeathBehavior ModuleTag_05 50069 DeathTypes = ALL -CRUSHED -SPLATTED 50070 DestructionDelay = 200 50071 DestructionDelayVariance = 100 50072 FX = FINAL FX_SupplyTruckExplosionOneFinal 50073 OCL = FINAL OCL_ChinaSupplyTruckDeathEffect 50074 End 50075 50076 Behavior = FXListDie ModuleTag_06 50077 DeathTypes = NONE +CRUSHED +SPLATTED 50078 DeathFX = FX_CarCrush 50079 End 50080 50081 Behavior = CreateObjectDie ModuleTag_07 50082 DeathTypes = NONE +CRUSHED +SPLATTED 50083 CreationList = OCL_ChinaSupplyTruck_CrushEffect 50084 End 50085 50086 Behavior = TransitionDamageFX ModuleTag_08 50087 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 50088 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition 50089 End 50090 50091 Behavior = FlammableUpdate ModuleTag_10 50092 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... 50093 AflameDamageAmount = 3 ; taking this much damage... 50094 AflameDamageDelay = 500 ; this often. 50095 End 50096 50097 ; A crushing defeat 50098 Behavior = DestroyDie ModuleTag_11 50099 DeathTypes = NONE +CRUSHED +SPLATTED 50100 End 50101 50102 Behavior = CreateCrateDie ModuleTag_12 50103 CrateData = SalvageCrateData 50104 End 50105 50106 Geometry = BOX 50107 GeometryMajorRadius = 17.0 50108 GeometryMinorRadius = 7.0 50109 GeometryHeight = 14.0 50110 GeometryIsSmall = No 50111 Shadow = SHADOW_VOLUME 50112 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length 50113 50114 End 50115 ;----------------------------------------------------------------------------------------------- 50116 ;--------------------------------------chine---------------------------------------------------- 50117 ;----------------------------------------------------------------------------------------------- 50118 50119 Object chineVehicleBattleShip2 50120 50121 SelectPortrait = T48 50122 ButtonImage = T48 50123 50124 UpgradeCameo1 = Upgrade_SeaRepair 50125 UpgradeCameo2 = Upgrade_SeaArmour 50126 ;UpgradeCameo3 = NONE 50127 ;UpgradeCameo4 = NONE 50128 ;UpgradeCameo5 = NONE 50129 50130 ; *** ART Parameters *** 50131 50132 50133 Draw = W3DOverlordTankDraw ModuleTag_02 50134 OkToChangeModelColor = Yes 50135 InitialRecoilSpeed = 120 50136 MaxRecoilDistance = 8 50137 RecoilSettleSpeed = 6 50138 ConditionState = NONE 50139 Model = croiseurch 50140 Animation = croiseurch.croiseurch 50141 AnimationMode = LOOP 50142 Turret = Turret03 50143 TurretPitch = TurretEL03 50144 ; TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward; 50145 AltTurret = Turret02 50146 AltTurretPitch = TurretEL02 50147 AltTurretArtAngle = 180 50148 WeaponFireFXBone = PRIMARY Tur3Muzzle 50149 WeaponRecoilBone = PRIMARY Tur3Barrel 50150 WeaponFireFXBone = SECONDARY Tur1Muzzle 50151 WeaponRecoilBone = SECONDARY Tur1Barrel 50152 WeaponFireFXBone = TERTIARY Tur2Muzzle 50153 WeaponRecoilBone = TERTIARY Tur2Barrel 50154 50155 ParticleSysBone = TreadFX02 BattleShipWaterRipples 50156 ParticleSysBone = TreadFX03 BattleShipWaterRipples 50157 ParticleSysBone = TreadFX04 BattleShipWaterRipples 50158 HideSubObject = Tur2Barrel01 50159 HideSubObject = Tur2Barrel02 50160 HideSubObject = Tur2Barrel03 50161 HideSubObject = Tur1Barrel01 50162 HideSubObject = Tur1Barrel02 50163 HideSubObject = Tur1Barrel03 50164 HideSubObject = Turret02 50165 HideSubObject = Turret01 50166 HideSubObject = Housecolor01 50167 End 50168 End 50169 Draw = W3DOverlordTankDraw ModuleTag_01 50170 OkToChangeModelColor = Yes 50171 InitialRecoilSpeed = 120 50172 MaxRecoilDistance = 8 50173 RecoilSettleSpeed = 6 50174 ConditionState = NONE 50175 Model = croiseurch 50176 Animation = croiseurch.croiseurch 50177 AnimationMode = LOOP 50178 Turret = Turret02 50179 TurretPitch = TurretEL02 50180 ; TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 50181 AltTurret = Turret01 50182 AltTurretPitch = TurretEL01 50183 AltTurretArtAngle = 180 50184 WeaponFireFXBone = PRIMARY Tur2Muzzle 50185 WeaponRecoilBone = PRIMARY Tur2Barrel 50186 WeaponFireFXBone = SECONDARY Tur3Muzzle 50187 WeaponRecoilBone = SECONDARY Tur3Barrel 50188 WeaponFireFXBone = TERTIARY Tur2Muzzle 50189 WeaponRecoilBone = TERTIARY Tur2Barrel 50190 ParticleSysBone = TreadFX02 BattleShipWaterRipples 50191 ParticleSysBone = TreadFX03 BattleShipWaterRipples 50192 ParticleSysBone = TreadFX04 BattleShipWaterRipples 50193 HideSubObject = Tur3Barrel01 50194 HideSubObject = Tur3Barrel02 50195 HideSubObject = Tur3Barrel03 50196 HideSubObject = Tur1Barrel01 50197 HideSubObject = Tur1Barrel02 50198 HideSubObject = Tur1Barrel03 50199 HideSubObject = Turret03 50200 HideSubObject = Turret01 50201 End 50202 End 50203 50204 Draw = W3DOverlordTankDraw ModuleTag_99 50205 OkToChangeModelColor = Yes 50206 InitialRecoilSpeed = 120 50207 MaxRecoilDistance = 8 50208 RecoilSettleSpeed = 6 50209 ConditionState = NONE 50210 Model = croiseurch 50211 Animation = croiseurch.croiseurch 50212 AnimationMode = LOOP 50213 Turret = Turret01 50214 TurretPitch = TurreteL01 50215 WeaponFireFXBone = SECONDARY Tur3Muzzle 50216 WeaponRecoilBone = SECONDARY Tur3Barrel 50217 WeaponFireFXBone = SECONDARY Tur1Muzzle 50218 WeaponRecoilBone = SECONDARY Tur1Barrel 50219 WeaponFireFXBone = TERTIARY Tur2Muzzle 50220 WeaponRecoilBone = TERTIARY Tur2Barrel 50221 ParticleSysBone = TreadFX02 BattleShipWaterRipples 50222 ParticleSysBone = TreadFX03 BattleShipWaterRipples 50223 ParticleSysBone = TreadFX04 BattleShipWaterRipples 50224 HideSubObject = Tur2Barrel01 50225 HideSubObject = Tur2Barrel02 50226 HideSubObject = Tur2Barrel03 50227 HideSubObject = Tur3Barrel01 50228 HideSubObject = Tur3Barrel02 50229 HideSubObject = Tur3Barrel03 50230 HideSubObject = Turret02 50231 HideSubObject = Turret03 50232 End 50233 End 50234 50235 50236 50237 VoiceSelect = PaladinTankVoiceSelect 50238 50239 ; ***DESIGN parameters *** 50240 DisplayName = OBJECT:croiseurch 50241 Side = China 50242 EditorSorting = VEHICLE 50243 TransportSlotCount = 9 ;how many "slots" we take in a transport (0 == not transportable) 50244 WeaponSet 50245 Conditions = None 50246 Weapon = PRIMARY BattleShipGrenades 50247 Weapon = SECONDARY BattleShipGrenades 50248 Weapon = TERTIARY BattleShipGrenades 50249 AutoChooseSources = PRIMARY None 50250 AutoChooseSources = SECONDARY None 50251 AutoChooseSources = TERTIARY None 50252 ShareWeaponReloadTime = Yes 50253 End 50254 ArmorSet 50255 Conditions = None 50256 ;Armor = InvulnerableArmor 50257 Armor = TankDamage 50258 DamageFX = TankDamageFX 50259 End 50260 50261 BuildCost = 100 50262 BuildTime = 1.0 50263 VisionRange = 400 50264 ShroudClearingRange = 450 50265 Prerequisites 50266 ;Object = AmericaNavalyard2 50267 50268 End 50269 50270 CommandSet = BattleShipCommandSetFabius2 50271 50272 ; *** AUDIO Parameters *** 50273 SoundAmbient = BattleshipAmbientLoop 50274 VoiceSelect = PaladinTankVoiceSelect 50275 UnitSpecificSounds 50276 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 50277 TurretMoveLoop = TurretMoveLoop 50278 End 50279 50280 ; *** ENGINEERING Parameters *** 50281 RadarPriority = UNIT 50282 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT 50283 50284 Body = ActiveBody ModuleTag_02 50285 MaxHealth = 3000.0 50286 InitialHealth = 3000.0 50287 End 50288 50289 Behavior = MaxHealthUpgrade ModuleTag_09 50290 TriggeredBy = Upgrade_SeaArmour 50291 AddMaxHealth = 1000.0 50292 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH 50293 End 50294 50295 Behavior = AutoHealBehavior ModuleTag_05 50296 HealingAmount = 7 50297 HealingDelay = 500 ; msec 50298 TriggeredBy = Upgrade_SeaRepair 50299 End 50300 50301 Behavior = AIUpdateInterface ModuleTag_04 50302 Turret 50303 TurretTurnRate = 80 50304 TurretPitchRate = 80 50305 FirePitch = 12 ; Instead of aiming pitchwise at the target, it will aim here 50306 AllowsPitch = Yes 50307 RecenterTime = 5000 ; how long to wait during idle before recentering 50308 ControlledWeaponSlots = PRIMARY SECONDARY 50309 ; NaturalTurretAngle = 180 ; this turret points backwards normally 50310 End 50311 AltTurret 50312 TurretTurnRate = 80 50313 TurretPitchRate = 80 50314 FirePitch = 15 ; Instead of aiming pitchwise at the target, it will aim here 50315 AllowsPitch = Yes 50316 RecenterTime = 5000 ; how long to wait during idle before recentering 50317 ControlledWeaponSlots = TERTIARY 50318 NaturalTurretAngle = 0 50319 End 50320 50321 End 50322 ;--------------------------permet le deplassement du batiment------- 50323 50324 50325 Locomotor = SET_NORMAL BasicBoatLocomotor 50326 50327 Behavior = PhysicsBehavior ModuleTag_04 50328 Mass = 5000.0 50329 End 50330 Behavior = SlowDeathBehavior ModuleTag_16 50331 ProbabilityModifier = 25 50332 DestructionDelay = 200 50333 DestructionDelayVariance = 100 50334 OCL = FINAL OCL_FirestormSmall 50335 FX = FINAL WeaponFX_NapalmMissileDetonation 50336 End 50337 ;--------------------------permet le deplassement du batiment------- 50338 50339 50340 50341 50342 Geometry = BOX 50343 GeometryMajorRadius = 200.0 50344 GeometryMinorRadius = 20.0 50345 GeometryHeight = 40 50346 GeometryIsSmall = No 50347 Shadow = SHADOW_VOLUME 50348 50349 End 50350 ;-------------------------------------------------------------------------------------------;------------------------------------------------------------------------------ 50351 Object AmericaVehicleBattleCruiser 50352 50353 SelectPortrait = SABattleship_L 50354 ButtonImage = SABattleship_L 50355 50356 ; *** ART Parameters *** 50357 Draw = W3DOverlordTankDraw ModuleTag_01 50358 OkToChangeModelColor = Yes 50359 InitialRecoilSpeed = 120 50360 MaxRecoilDistance = 8 50361 RecoilSettleSpeed = 6 50362 ConditionState = NONE 50363 Model = avbattlecruiser 50364 Animation = avbattlecruiser.avbattlecruiser 50365 AnimationMode = LOOP 50366 Turret = Turret02 50367 TurretPitch = TurretEL02 50368 ; TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 50369 ; AltTurret = Turret03 50370 ; AltTurretPitch = TurretEL03 50371 ; AltTurretArtAngle = 180 50372 WeaponFireFXBone = PRIMARY Tur2Muzzle 50373 WeaponRecoilBone = PRIMARY Tur2Barrel 50374 ; WeaponFireFXBone = SECONDARY Tur3Muzzle 50375 ; WeaponRecoilBone = SECONDARY Tur3Barrel 50376 ; WeaponFireFXBone = TERTIARY Tur2Muzzle 50377 ; WeaponRecoilBone = TERTIARY Tur2Barrel 50378 ParticleSysBone = TreadFX02 BattleShipWaterRipples 50379 ParticleSysBone = TreadFX03 BattleShipWaterRipples 50380 ParticleSysBone = TreadFX04 BattleShipWaterRipples 50381 HideSubObject = Tur1Barrel01 50382 HideSubObject = Tur1Barrel02 50383 HideSubObject = Tur1Barrel03 50384 HideSubObject = Turret01 50385 HideSubObject = Turret03 50386 End 50387 End 50388 50389 Draw = W3DOverlordTankDraw ModuleTag_02 50390 OkToChangeModelColor = Yes 50391 InitialRecoilSpeed = 120 50392 MaxRecoilDistance = 8 50393 RecoilSettleSpeed = 6 50394 ConditionState = NONE 50395 Model = avbattlecruiser 50396 Animation = avbattlecruiser.avbattlecruiser 50397 AnimationMode = LOOP 50398 AltTurret = Turret01 50399 AltTurretPitch = TurretEL01 50400 ; TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward 50401 WeaponFireFXBone = TERTIARY Tur1Muzzle 50402 WeaponRecoilBone = TERTIARY Tur1Barrel 50403 HideSubObject = CHASSIS01 50404 HideSubObject = Radar01 50405 HideSubObject = Radar02 50406 HideSubObject = Radar03 50407 HideSubObject = Tower 50408 HideSubObject = Tur2Barrel01 50409 HideSubObject = Tur2Barrel02 50410 HideSubObject = Tur2Barrel03 50411 HideSubObject = Tur3Barrel01 50412 HideSubObject = Tur3Barrel02 50413 HideSubObject = Tur3Barrel03 50414 HideSubObject = Turret02 50415 HideSubObject = Turret03 50416 HideSubObject = Housecolor01 50417 End 50418 ; AttachToBoneInContainer = TREADFX03 50419 End 50420 50421 Draw = W3DOverlordTankDraw ModuleTag_99 50422 OkToChangeModelColor = Yes 50423 InitialRecoilSpeed = 120 50424 MaxRecoilDistance = 8 50425 RecoilSettleSpeed = 6 50426 ConditionState = NONE 50427 Model = avbattlecruiser 50428 Animation = avbattlecruiser.avbattlecruiser 50429 AnimationMode = LOOP 50430 Turret = Turret03 50431 TurretPitch = TurretEL03 50432 WeaponFireFXBone = SECONDARY Tur3Muzzle 50433 WeaponRecoilBone = SECONDARY Tur3Barrel 50434 ParticleSysBone = TreadFX02 BattleShipWaterRipples 50435 ParticleSysBone = TreadFX03 BattleShipWaterRipples 50436 ParticleSysBone = TreadFX04 BattleShipWaterRipples 50437 HideSubObject = Tur1Barrel01 50438 HideSubObject = Tur1Barrel02 50439 HideSubObject = Tur1Barrel03 50440 HideSubObject = Turret01 50441 HideSubObject = Turret02 50442 End 50443 End 50444 50445 50446 ; ***DESIGN parameters *** 50447 DisplayName = OBJECT:Battleship 50448 Side = America 50449 EditorSorting = VEHICLE 50450 50451 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 50452 50453 BuildCost = 5000 50454 BuildTime = 60.0 50455 50456 Prerequisites 50457 ; Object = AmericaNavalyard2 50458 End 50459 50460 CommandSet = GenericCommandSet 50461 50462 WeaponSet 50463 Conditions = None 50464 Weapon = PRIMARY BattleshipBogusGun 50465 Weapon = SECONDARY BattleshipBogusGun 50466 Weapon = TERTIARY BattleshipBogusGun 50467 End 50468 50469 ArmorSet 50470 Armor = TankDamage 50471 DamageFX = TankDamageFX 50472 End 50473 VisionRange = 500 50474 ShroudClearingRange = 800 50475 50476 ; *** AUDIO Parameters *** 50477 VoiceSelect = BattleshipVoiceSelect 50478 VoiceMove = BattleshipVoiceMove 50479 VoiceGuard = BattleshipVoiceMove 50480 VoiceAttack = BattleshipVoiceAttack 50481 SoundAmbient = BattleshipAmbientLoop 50482 50483 UnitSpecificSounds 50484 TurretMoveLoop = OverlordTankTurretMoveLoop 50485 VoiceCreate = BattleshipVoiceSelect 50486 End 50487 50488 ; *** ENGINEERING Parameters *** 50489 RadarPriority = UNIT 50490 KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE SELECTABLE 50491 50492 Body = ActiveBody ModuleTag_03 50493 MaxHealth = 4000.0 50494 InitialHealth = 4000.0 50495 End 50496 50497 Behavior = AIUpdateInterface ModuleTag_04 50498 Turret 50499 TurretTurnRate = 80 50500 TurretPitchRate = 80 50501 FirePitch = 12 ; Instead of aiming pitchwise at the target, it will aim here 50502 AllowsPitch = Yes 50503 RecenterTime = 5000 ; how long to wait during idle before recentering 50504 ControlledWeaponSlots = PRIMARY SECONDARY 50505 ; NaturalTurretAngle = 180 ; this turret points backwards normally 50506 End 50507 AltTurret 50508 TurretTurnRate = 80 50509 TurretPitchRate = 80 50510 FirePitch = 15 ; Instead of aiming pitchwise at the target, it will aim here 50511 AllowsPitch = Yes 50512 RecenterTime = 5000 ; how long to wait during idle before recentering 50513 ControlledWeaponSlots = TERTIARY 50514 NaturalTurretAngle = 180 50515 End 50516 50517 End 50518 50519 Behavior = ObjectCreationUpgrade ModuleTag_06 50520 UpgradeObject = OCL_AmericanBattleDrone 50521 TriggeredBy = Upgrade_AmericaBattleDrone 50522 ConflictsWith = Upgrade_AmericaScoutDrone 50523 End 50524 Behavior = ObjectCreationUpgrade ModuleTag_07 50525 UpgradeObject = OCL_AmericanScoutDrone 50526 TriggeredBy = Upgrade_AmericaScoutDrone 50527 ConflictsWith = Upgrade_AmericaBattleDrone 50528 End 50529 Behavior = ProductionUpdate ModuleTag_08 50530 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame 50531 End 50532 50533 50534 Behavior = ExperienceScalarUpgrade ModuleTag_09 50535 TriggeredBy = Upgrade_AmericaAdvancedTraining 50536 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 50537 End 50538 Behavior = MaxHealthUpgrade ModuleTag_10 50539 TriggeredBy = Upgrade_AmericaCompositeArmor 50540 AddMaxHealth = 300.0 50541 ChangeType = ADD_CURRENT_HEALTH_TOO 50542 End 50543 50544 Locomotor = SET_NORMAL LargeShipLocomotor2 50545 50546 Behavior = PhysicsBehavior ModuleTag_11 50547 Mass = 5000.0 50548 End 50549 50550 ; Turret fly off death 50551 Behavior = SlowDeathBehavior ModuleTag_12 50552 DeathTypes = ALL -CRUSHED -SPLATTED 50553 SinkRate = 10 50554 SinkDelay = 1000 50555 ProbabilityModifier = 90 50556 DestructionDelay = 5000 50557 DestructionDelayVariance = 100 50558 FX = INITIAL WeaponFX_BombTruckDefaultBombDetonation 50559 OCL = MIDPOINT OCL_GenericTankDeathEffect 50560 FX = MIDPOINT WeaponFX_BombTruckHighExplosiveBombDetonation 50561 End 50562 50563 Behavior = TransitionDamageFX ModuleTag_13 50564 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn 50565 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:WeaponFX_BombTruckDefaultBombDetonation 50566 End 50567 50568 Behavior = DestroyDie ModuleTag_14 50569 DeathTypes = NONE +CRUSHED +SPLATTED 50570 End 50571 50572 ; A crushing defeat 50573 Behavior = FXListDie ModuleTag_15 50574 DeathTypes = NONE +CRUSHED +SPLATTED 50575 DeathFX = WeaponFX_BombTruckDefaultBombDetonation 50576 End 50577 50578 Behavior = CreateObjectDie ModuleTag_16 50579 DeathTypes = NONE +CRUSHED +SPLATTED 50580 CreationList = OCL_CrusaderTank_CrushEffect 50581 End 50582 50583 Scale = 1 50584 Geometry = BOX 50585 GeometryMajorRadius = 240.0 50586 GeometryMinorRadius = 24.0 50587 GeometryHeight = 48 50588 GeometryIsSmall = No 50589 Shadow = SHADOW_VOLUME 50590 50591 End 50592
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 |