[ Index ] | WAROFGENERALS |
PHP Cross Reference of WAROFGENERALS MODS SOURCES |
[Summary view] [Print] [Text view]
1 2 ;------------------------------------------------------------------------------ 3 Object AmericaInfantryColonelBurton 4 5 ; *** ART Parameters *** 6 SelectPortrait = SABurton_L 7 ButtonImage = SABurton 8 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 9 UpgradeCameo2 = Upgrade_AmericaChemicalSuits 10 11 Draw = W3DModelDraw ModuleTag_01 12 OkToChangeModelColor = Yes 13 14 ; idle 15 DefaultConditionState 16 Model = AIHERO_SKN 17 IdleAnimation = AIHERO_SKL.AIHERO_STA 0 25 18 IdleAnimation = AIHERO_SKL.AIHERO_IDA 19 IdleAnimation = AIHERO_SKL.AIHERO_IDB 20 AnimationMode = ONCE 21 TransitionKey = TRANS_Stand 22 WeaponFireFXBone = PRIMARY Muzzle 23 WeaponMuzzleFlash = PRIMARY MuzzleFX 24 WeaponMuzzleFlash = SECONDARY NONE 25 HideSubObject = MUZZLEFX01 26 End 27 28 29 ; injured idle 30 ConditionState = REALLYDAMAGED 31 IdleAnimation = AIHERO_SKL.AIHERO_ISTA 0 30 32 IdleAnimation = AIHERO_SKL.AIHERO_IIDA 33 IdleAnimation = AIHERO_SKL.AIHERO_IIDB 34 AnimationMode = ONCE 35 TransitionKey = TRANS_StandInjured 36 End 37 38 39 TransitionState = TRANS_Stand TRANS_StandInjured 40 Animation = AIHERO_SKL.AIHERO_ISTAHIT 41 AnimationMode = ONCE 42 End 43 44 ; moving 45 ConditionState = MOVING 46 Animation = AIHERO_SKL.AIHERO_RNA 26 47 AnimationMode = LOOP 48 Flags = RANDOMSTART 49 TransitionKey = TRANS_Walking 50 ParticleSysBone = None InfantryDustTrails 51 HideSubObject = MUZZLEFX01 52 End 53 AliasConditionState = MOVING FIRING_A 54 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 55 AliasConditionState = MOVING RELOADING_A 56 AliasConditionState = MOVING FIRING_B 57 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B 58 AliasConditionState = MOVING RELOADING_B 59 60 ; injured moving 61 ConditionState = MOVING REALLYDAMAGED 62 Animation = AIHERO_SKL.AIHERO_IRNA 26 63 AnimationMode = LOOP 64 Flags = RANDOMSTART 65 TransitionKey = TRANS_WalkingInjured 66 ParticleSysBone = None InfantryDustTrails 67 HideSubObject = MUZZLEFX01 68 End 69 AliasConditionState = MOVING FIRING_A REALLYDAMAGED 70 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 71 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 72 AliasConditionState = MOVING FIRING_B REALLYDAMAGED 73 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 74 AliasConditionState = MOVING RELOADING_B REALLYDAMAGED 75 76 ; Firing animation 77 ConditionState = FIRING_A 78 Animation = AIHERO_SKL.AIHERO_ATA 79 AnimationMode = ONCE 80 AnimationSpeedFactorRange = 1.5 1.5 81 TransitionKey = TRANS_FiringA 82 End 83 84 ConditionState = BETWEEN_FIRING_SHOTS_A 85 Animation = AIHERO_SKL.AIHERO_ATA 86 AnimationMode = MANUAL 87 Flags = START_FRAME_LAST 88 WaitForStateToFinishIfPossible = TRANS_FiringA 89 End 90 AliasConditionState = RELOADING_A 91 92 ; Injured Firing animation 93 ConditionState = FIRING_A REALLYDAMAGED 94 Animation = AIHERO_SKL.AIHERO_IATA 95 AnimationMode = ONCE 96 AnimationSpeedFactorRange = 1.5 1.5 97 TransitionKey = TRANS_FiringAInjured 98 End 99 100 ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 101 Animation = AIHERO_SKL.AIHERO_IATA 102 AnimationMode = MANUAL 103 Flags = START_FRAME_LAST 104 WaitForStateToFinishIfPossible = TRANS_FiringAInjured 105 End 106 AliasConditionState = RELOADING_A REALLYDAMAGED 107 108 TransitionState = TRANS_FiringA TRANS_FiringAInjured 109 Animation = AIHERO_SKL.AIHERO_IATAHIT 110 AnimationMode = ONCE 111 End 112 113 ; Placing charge animation 114 ConditionState = UNPACKING 115 Animation = AIHERO_SKL.AIHERO_ATB1 116 AnimationMode = ONCE 117 End 118 AliasConditionState = MOVING UNPACKING 119 120 ; Injured Placing charge animation 121 ConditionState = UNPACKING REALLYDAMAGED 122 Animation = AIHERO_SKL.AIHERO_IATB1 123 AnimationMode = ONCE 124 End 125 AliasConditionState = MOVING UNPACKING REALLYDAMAGED 126 127 ; Stab animations 128 ConditionState = PREATTACK_B 129 Animation = AIHERO_SKL.AIHERO_ATC 130 AnimationMode = ONCE 131 TransitionKey = TRANS_Stabbing 132 HideSubObject = MUZZLEFX01 133 End 134 AliasConditionState = PREATTACK_B MOVING 135 AliasConditionState = PREATTACK_B FIRING_B 136 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 137 138 ConditionState = FIRING_B 139 Animation = AIHERO_SKL.AIHERO_ATC 140 AnimationMode = MANUAL 141 Flags = START_FRAME_LAST 142 TransitionKey = TRANS_Stabbing 143 HideSubObject = MUZZLEFX01 144 End 145 AliasConditionState = BETWEEN_FIRING_SHOTS_B 146 AliasConditionState = RELOADING_B 147 148 TransitionState = TRANS_Stabbing TRANS_Stand 149 Animation = AIHERO_SKL.AIHERO_ATC2 150 AnimationMode = ONCE 151 End 152 153 ; Injured Stab animations 154 ConditionState = PREATTACK_B REALLYDAMAGED 155 Animation = AIHERO_SKL.AIHERO_IATC1 156 AnimationMode = ONCE 157 TransitionKey = TRANS_StabbingInjured 158 HideSubObject = MUZZLEFX01 159 End 160 AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED 161 AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED 162 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 163 164 ConditionState = FIRING_B REALLYDAMAGED 165 Animation = AIHERO_SKL.AIHERO_IATC2 166 AnimationMode = MANUAL 167 Flags = START_FRAME_LAST 168 TransitionKey = TRANS_StabbingInjured 169 HideSubObject = MUZZLEFX01 170 End 171 AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 172 AliasConditionState = RELOADING_B REALLYDAMAGED 173 174 TransitionState = TRANS_StabbingInjured TRANS_StandInjured 175 Animation = AIHERO_SKL.AIHERO_IATC2 176 AnimationMode = ONCE 177 End 178 179 ; cheering 180 ConditionState = SPECIAL_CHEERING 181 Animation = AIHERO_SKL.AIHERO_CHA 182 AnimationMode = ONCE 183 End 184 185 ; injured cheering 186 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 187 Animation = AIHERO_SKL.AIHERO_ICHA 188 AnimationMode = ONCE 189 End 190 191 ; climbing 192 ConditionState = CLIMBING 193 Animation = AIHERO_SKL.AIHERO_CLMID 194 AnimationMode = LOOP 195 TransitionKey = TRANS_Climbing 196 End 197 AliasConditionState = RAPPELLING 198 AliasConditionState = CLIMBING REALLYDAMAGED 199 AliasConditionState = RAPPELLING REALLYDAMAGED 200 201 ConditionState = CLIMBING MOVING 202 Animation = AIHERO_SKL.AIHERO_CLMUP 203 AnimationMode = LOOP 204 TransitionKey = TRANS_Climbing 205 End 206 AliasConditionState = CLIMBING MOVING REALLYDAMAGED 207 208 ConditionState = RAPPELLING MOVING 209 Animation = AIHERO_SKL.AIHERO_CLMUP 210 AnimationMode = LOOP_BACKWARDS 211 TransitionKey = TRANS_Climbing 212 End 213 AliasConditionState = RAPPELLING MOVING REALLYDAMAGED 214 215 ; these transitions don't really work well with our code. leave 'em out. 216 ; TransitionState = TRANS_Climbing TRANS_Stand 217 ; Animation = AIHERO_SKL.AIHERO_CLMST 218 ; AnimationMode = ONCE 219 ; End 220 ; 221 ; TransitionState = TRANS_Stand TRANS_Climbing 222 ; Animation = AIHERO_SKL.AIHERO_CLMST 223 ; AnimationMode = ONCE_BACKWARDS 224 ; End 225 226 ; dying anims 227 ConditionState = DYING 228 Animation = AIHERO_SKL.AIHERO_DTA 229 Animation = AIHERO_SKL.AIHERO_DTB 230 Animation = AIHero_SKL.AIHero_IDTA 231 Animation = AIHero_SKL.AIHero_IDTB 232 AnimationMode = ONCE 233 TransitionKey = TRANS_Dying 234 End 235 AliasConditionState = RAPPELLING DYING 236 AliasConditionState = CLIMBING DYING 237 238 TransitionState = TRANS_Dying TRANS_Flailing 239 Animation = AIHERO_SKL.AIHERO_ADTG21 240 AnimationMode = ONCE 241 End 242 243 ConditionState = DYING EXPLODED_FLAILING 244 Animation = AIHERO_SKL.AIHERO_ADTG22 245 AnimationMode = LOOP 246 TransitionKey = TRANS_Flailing 247 End 248 249 ConditionState = DYING EXPLODED_BOUNCING 250 Animation = AIHERO_SKL.AIHERO_ADTG23 251 AnimationMode = ONCE 252 TransitionKey = None 253 End 254 255 ; misc anims 256 ConditionState = FREEFALL 257 Animation = AIHERO_SKL.AIHERO_PFL 258 AnimationMode = LOOP 259 TransitionKey = TRANS_Falling 260 End 261 AliasConditionState = FREEFALL REALLYDAMAGED 262 AliasConditionState = FREEFALL DYING 263 264 ConditionState = PARACHUTING 265 Animation = AIHERO_SKL.AIHERO_PHG 266 AnimationMode = LOOP 267 TransitionKey = TRANS_Chute 268 End 269 AliasConditionState = PARACHUTING REALLYDAMAGED 270 AliasConditionState = PARACHUTING DYING 271 272 TransitionState = TRANS_Falling TRANS_Chute 273 Animation = AIHERO_SKL.AIHERO_POP 274 AnimationMode = ONCE 275 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 276 End 277 278 TransitionState = TRANS_Chute TRANS_Stand 279 Animation = AIHERO_SKL.AIHERO_PTD 280 AnimationMode = ONCE 281 End 282 283 TransitionState = TRANS_Chute TRANS_StandInjured 284 Animation = AIHERO_SKL.AIHERO_PTD 285 AnimationMode = ONCE 286 End 287 288 End 289 290 ; ***DESIGN parameters *** 291 DisplayName = OBJECT:ColonelBurton 292 Side = America 293 EditorSorting = INFANTRY 294 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 295 VisionRange = 150 296 ShroudClearingRange = 500 297 Prerequisites 298 Object = AmericaBarracks 299 Object = AmericaStrategyCenter 300 End 301 BuildCost = 1500 302 BuildTime = 20.0 ;in seconds 303 304 ExperienceValue = 50 100 100 150 ; Experience point value at each level 305 ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level 306 IsTrainable = Yes ; Can gain experience 307 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 308 CommandSet = AmericaInfantryColonelBurtonCommandSet 309 MaxSimultaneousOfType = 1 310 311 WeaponSet 312 Conditions = None 313 Weapon = PRIMARY ColonelBurtonSniperRifleWeapon 314 Weapon = SECONDARY ColonelBurtonKnifeWeapon 315 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 316 AutoChooseSources = SECONDARY NONE 317 End 318 ArmorSet 319 Conditions = None 320 Armor = HumanArmor 321 DamageFX = InfantryDamageFX 322 End 323 ArmorSet 324 Conditions = PLAYER_UPGRADE 325 Armor = ChemSuitHumanArmor 326 DamageFX = InfantryDamageFX 327 End 328 329 330 ; *** AUDIO Parameters *** 331 VoiceSelect = ColonelBurtonVoiceSelect 332 VoiceMove = ColonelBurtonVoiceMove 333 VoiceAttack = ColonelBurtonVoiceAttack 334 VoiceFear = ColonelBurtonVoiceFear 335 VoiceGuard = ColonelBurtonVoiceMove 336 SoundStealthOn = StealthOn 337 SoundStealthOff = StealthOff 338 339 UnitSpecificSounds 340 VoiceMelee = ColonelBurtonVoiceAttackKnife 341 VoiceCreate = ColonelBurtonVoiceCreate 342 VoiceGarrison = ColonelBurtonVoiceGarrison 343 VoiceEnter = ColonelBurtonVoiceMove 344 VoiceEnterHostile = ColonelBurtonVoiceMove 345 VoiceGetHealed = ColonelBurtonVoiceMove 346 End 347 348 ; *** ENGINEERING Parameters *** 349 RadarPriority = UNIT 350 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE 351 352 Body = ActiveBody ModuleTag_02 353 MaxHealth = 200.0 354 InitialHealth = 200.0 355 End 356 357 Behavior = AIUpdateInterface ModuleTag_03 358 AutoAcquireEnemiesWhenIdle = Yes 359 End 360 361 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 362 End 363 364 Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 365 ScanRate = 1000 ; once a second. 366 ScanRange = 300 ; 367 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 368 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 369 End 370 371 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor 372 373 Behavior = PhysicsBehavior ModuleTag_06 374 Mass = 5.0 375 End 376 Behavior = ArmorUpgrade ModuleTag_Armor01 377 TriggeredBy = Upgrade_AmericaChemicalSuits 378 End 379 380 Behavior = StealthUpdate ModuleTag_07 381 StealthDelay = 2000 ; msec 382 StealthForbiddenConditions = FIRING_PRIMARY 383 HintDetectableConditions = IS_FIRING_WEAPON 384 FriendlyOpacityMin = 50.0% 385 FriendlyOpacityMax = 100.0% 386 InnateStealth = Yes 387 OrderIdleEnemiesToAttackMeUponReveal = Yes 388 EnemyDetectionEvaEvent = EnemyColonelBurtonDetected 389 OwnDetectionEvaEvent = OwnColonelBurtonDetected 390 End 391 392 Behavior = SpecialAbility ModuleTag_08 393 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges 394 UpdateModuleStartsAttack = Yes 395 InitiateSound = ColonelBurtonVoicePlantRemoteCharge 396 End 397 Behavior = SpecialAbilityUpdate ModuleTag_09 398 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges 399 StartAbilityRange = 0.0 400 PreparationTime = 0 401 SpecialObject = RemoteC4Charge 402 MaxSpecialObjects = 8 403 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). 404 AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. 405 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 406 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 407 UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge 408 PackTime = 0 409 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. 410 FlipOwnerAfterUnpacking = Yes 411 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 412 UnpackSound = ColonelBurtonPlantCharge 413 LoseStealthOnTrigger = Yes 414 PreTriggerUnstealthTime = 5000 ; in milliseconds 415 End 416 417 Behavior = SpecialAbility ModuleTag_10 418 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges 419 UpdateModuleStartsAttack = Yes 420 InitiateSound = ColonelBurtonVoicePlantTimedCharge 421 End 422 Behavior = SpecialAbilityUpdate ModuleTag_11 423 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges 424 StartAbilityRange = 0.0 425 PreparationTime = 0 426 SpecialObject = TimedC4Charge 427 MaxSpecialObjects = 10 428 SpecialObjectsPersistWhenOwnerDies = Yes 429 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 430 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 431 UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge 432 FlipOwnerAfterUnpacking = Yes 433 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 434 UnpackSound = ColonelBurtonPlantCharge 435 LoseStealthOnTrigger = Yes 436 PreTriggerUnstealthTime = 5000 ; in milliseconds 437 438 End 439 440 Behavior = ExperienceScalarUpgrade ModuleTag_12 441 TriggeredBy = Upgrade_AmericaAdvancedTraining 442 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 443 End 444 445 ;Hero units can't be squished! 446 ;Behavior = SquishCollide ModuleTag_13 447 ; ;nothing 448 ;End 449 450 451 ; --- begin Death modules --- 452 Behavior = SlowDeathBehavior ModuleTag_Death01 453 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 454 SinkDelay = 3000 455 SinkRate = 0.5 ; in Dist/Sec 456 DestructionDelay = 8000 457 FX = INITIAL FX_ColonelBurtonDie 458 End 459 Behavior = SlowDeathBehavior ModuleTag_Death02 460 DeathTypes = NONE +CRUSHED +SPLATTED 461 SinkDelay = 3000 462 SinkRate = 0.5 ; in Dist/Sec 463 DestructionDelay = 8000 464 FX = INITIAL FX_GIDieCrushed 465 End 466 Behavior = SlowDeathBehavior ModuleTag_Death03 467 DeathTypes = NONE +EXPLODED 468 SinkDelay = 3000 469 SinkRate = 0.5 ; in Dist/Sec 470 DestructionDelay = 8000 471 FX = INITIAL FX_ColonelBurtonDie 472 FlingForce = 8 473 FlingForceVariance = 3 474 FlingPitch = 60 475 FlingPitchVariance = 10 476 End 477 Behavior = SlowDeathBehavior ModuleTag_Death04 478 DeathTypes = NONE +BURNED 479 DestructionDelay = 0 480 FX = INITIAL FX_DieByFireUSA 481 OCL = INITIAL OCL_FlamingInfantry 482 End 483 Behavior = SlowDeathBehavior ModuleTag_Death05 484 DeathTypes = NONE +POISONED 485 DestructionDelay = 0 486 FX = INITIAL FX_DieByToxinUSA 487 OCL = INITIAL OCL_ToxicInfantry 488 End 489 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 490 DeathTypes = NONE +POISONED_BETA 491 DestructionDelay = 0 492 FX = INITIAL FX_DieByToxinUSA 493 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 494 End 495 496 Behavior = SlowDeathBehavior ModuleTag_Death07 497 DeathTypes = NONE +POISONED_GAMMA 498 DestructionDelay = 0 499 FX = INITIAL FX_DieByToxinUSA 500 OCL = INITIAL OCL_ToxicInfantryGamma 501 End 502 ; --- end Death modules --- 503 504 Behavior = PoisonedBehavior ModuleTag_18 505 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 506 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 507 End 508 509 Geometry = CYLINDER 510 GeometryMajorRadius = 10.0 511 GeometryMinorRadius = 10.0 512 GeometryHeight = 12.0 513 GeometryIsSmall = Yes 514 Shadow = SHADOW_DECAL 515 ShadowSizeX = 14 516 ShadowSizeY = 14 517 ShadowTexture = ShadowI 518 BuildCompletion = APPEARS_AT_RALLY_POINT 519 520 End 521 522 523 524 525 526 ;------------------------------------------------------------------------------ 527 Object AmericaInfantryRanger 528 529 ; *** ART Parameters *** 530 SelectPortrait = SARanger_L 531 ButtonImage = SARanger 532 533 UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade 534 UpgradeCameo2 = Upgrade_AmericaAdvancedTraining 535 UpgradeCameo3 = Upgrade_InfantryCaptureBuilding 536 UpgradeCameo4 = Upgrade_AmericaChemicalSuits 537 ;UpgradeCameo5 = NONE 538 539 Draw = W3DModelDraw ModuleTag_01 540 541 OkToChangeModelColor = Yes 542 543 ; this says "we don't use these condition states at all, so completely 544 ; ignore them for purposes of matchmaking"... this is useful to help 545 ; reduce the number of AliasConditionState clauses you must add in 546 ; order to avoid ambiguity in some cases. 547 IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A 548 549 ; --- Idle 550 DefaultConditionState 551 Model = AIRngr_SKN 552 IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35 553 IdleAnimation = AIRngr_SKL.AIRngr_IDA 554 IdleAnimation = AIRngr_SKL.AIRngr_IDB 555 AnimationMode = ONCE 556 WeaponFireFXBone = PRIMARY Muzzle 557 WeaponMuzzleFlash = PRIMARY MuzzleFX 558 WeaponFireFXBone = SECONDARY Muzzle 559 WeaponLaunchBone = SECONDARY Muzzle 560 TransitionKey = TRANS_Stand 561 562 End 563 564 ConditionState = REALLYDAMAGED 565 IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35 566 IdleAnimation = AIRngr_SKL.AIRngr_IDC 567 IdleAnimation = AIRngr_SKL.AIRngr_IDD 568 AnimationMode = ONCE 569 TransitionKey = TRANS_StandInjured 570 End 571 572 TransitionState = TRANS_Stand TRANS_StandInjured 573 Animation = AIRngr_SKL.AIRngr_SA2SB 574 AnimationMode = ONCE 575 End 576 577 ; --- attacking (Machine Gun) 578 ConditionState = USING_WEAPON_A 579 Animation = AIRngr_SKL.AIRngr_ATA 580 AnimationMode = LOOP 581 TransitionKey = TRANS_FiringA 582 End 583 584 ConditionState = USING_WEAPON_A REALLYDAMAGED 585 Animation = AIRngr_SKL.AIRngr_ATA2 586 AnimationMode = LOOP 587 TransitionKey = TRANS_FiringAInjured 588 End 589 590 TransitionState = TRANS_FiringA TRANS_FiringAInjured 591 Animation = AIRngr_SKL.AIRngr_A2WAA 592 AnimationMode = ONCE 593 End 594 595 TransitionState = TRANS_Stand TRANS_FiringA 596 Animation = AIRngr_SKL.AIRngr_ATAST 597 AnimationMode = ONCE 598 AnimationSpeedFactorRange = 4 4 599 End 600 601 TransitionState = TRANS_FiringA TRANS_Stand 602 Animation = AIRngr_SKL.AIRngr_ATAED 603 AnimationMode = ONCE 604 AnimationSpeedFactorRange = 4 4 605 End 606 607 TransitionState = TRANS_StandInjured TRANS_FiringAInjured 608 Animation = AIRngr_SKL.AIRngr_S2WAA 609 AnimationMode = ONCE 610 AnimationSpeedFactorRange = 4 4 611 End 612 613 TransitionState = TRANS_FiringAInjured TRANS_StandInjured 614 Animation = AIRngr_SKL.AIRngr_WAA2S 615 AnimationMode = ONCE 616 AnimationSpeedFactorRange = 4 4 617 End 618 619 TransitionState = TRANS_Stand TRANS_Move 620 Animation = AIRngr_SKL.AIRngr_STA2RNA 621 AnimationMode = ONCE 622 End 623 624 ; --- attacking (Grenade Launcher) 625 ConditionState = PREATTACK_B 626 Animation = AIRngr_SKL.AIRngr_ATBA 627 AnimationMode = ONCE 628 TransitionKey = TRANS_FiringB 629 End 630 AliasConditionState = PREATTACK_B MOVING 631 AliasConditionState = PREATTACK_B FIRING_B 632 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 633 634 ConditionState = FIRING_B 635 Animation = AIRngr_SKL.AIRngr_ATBB 636 AnimationMode = ONCE 637 TransitionKey = TRANS_FiringB 638 End 639 640 ConditionState = BETWEEN_FIRING_SHOTS_B 641 Animation = AIRngr_SKL.AIRngr_ATBB 642 AnimationMode = MANUAL 643 Flags = START_FRAME_LAST 644 TransitionKey = TRANS_FiringB 645 WaitForStateToFinishIfPossible = TRANS_FiringB 646 End 647 AliasConditionState = RELOADING_B 648 649 TransitionState = TRANS_Stand TRANS_FiringB 650 Animation = AIRngr_SKL.AIRngr_ATBST1 651 AnimationMode = ONCE 652 End 653 654 TransitionState = TRANS_FiringB TRANS_Stand 655 Animation = AIRngr_SKL.AIRngr_ATBST2 656 AnimationMode = ONCE 657 End 658 659 ConditionState = PREATTACK_B REALLYDAMAGED 660 Animation = AIRngr_SKL.AIRngr_ATB2A 661 AnimationMode = ONCE 662 TransitionKey = TRANS_FiringBInjured 663 End 664 AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED 665 AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED 666 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 667 668 ConditionState = FIRING_B REALLYDAMAGED 669 Animation = AIRngr_SKL.AIRngr_ATB2B 670 AnimationMode = ONCE 671 TransitionKey = TRANS_FiringBInjured 672 End 673 674 ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED 675 Animation = AIRngr_SKL.AIRngr_ATB2B 676 AnimationMode = MANUAL 677 Flags = START_FRAME_LAST 678 TransitionKey = TRANS_FiringBInjured 679 WaitForStateToFinishIfPossible = TRANS_FiringBInjured 680 End 681 AliasConditionState = RELOADING_B REALLYDAMAGED 682 683 TransitionState = TRANS_StandInjured TRANS_FiringBInjured 684 Animation = AIRngr_SKL.AIRngr_ATB2ST1 685 AnimationMode = ONCE 686 End 687 688 TransitionState = TRANS_FiringBInjured TRANS_StandInjured 689 Animation = AIRngr_SKL.AIRngr_ATB2ST2 690 AnimationMode = ONCE 691 End 692 693 ; -- cross-attack transitions 694 695 TransitionState = TRANS_FiringA TRANS_FiringB 696 Animation = AIRngr_SKL.AIRngr_ATA2AB 697 AnimationMode = ONCE 698 AnimationSpeedFactorRange = 4 4 699 End 700 701 TransitionState = TRANS_FiringB TRANS_FiringA 702 Animation = AIRngr_SKL.AIRngr_ATA2AB 703 AnimationMode = ONCE_BACKWARDS 704 AnimationSpeedFactorRange = 4 4 705 End 706 707 708 ; --- moving 709 ConditionState = MOVING 710 Animation = AIRngr_SKL.AIRngr_RNA 30 711 AnimationMode = LOOP 712 Flags = RANDOMSTART 713 TransitionKey = TRANS_Move 714 ParticleSysBone = None InfantryDustTrails 715 End 716 AliasConditionState = MOVING ATTACKING 717 718 ConditionState = MOVING REALLYDAMAGED 719 Animation = AIRngr_SKL.AIRngr_RNB 30 720 AnimationMode = LOOP 721 Flags = RANDOMSTART 722 TransitionKey = TRANS_Move 723 End 724 AliasConditionState = MOVING REALLYDAMAGED ATTACKING 725 726 ; --- dying anims 727 ConditionState = DYING 728 Animation = AIRngr_SKL.AIRngr_DTA 729 Animation = AIRngr_SKL.AIRngr_DTB 730 AnimationMode = ONCE 731 TransitionKey = None 732 End 733 734 TransitionState = TRANS_Dying TRANS_Flailing 735 Animation = AIRngr_SKL.AIRngr_ADTF1 736 AnimationMode = ONCE 737 End 738 739 ConditionState = DYING EXPLODED_FLAILING 740 Animation = AIRngr_SKL.AIRngr_ADTF2 741 AnimationMode = LOOP 742 TransitionKey = TRANS_Flailing 743 End 744 745 ConditionState = DYING EXPLODED_BOUNCING 746 Animation = AIRngr_SKL.AIRngr_ADTF3 747 AnimationMode = ONCE 748 TransitionKey = None 749 End 750 AliasConditionState = DYING SPLATTED 751 752 ; --- cheering 753 ConditionState = SPECIAL_CHEERING 754 Animation = AIRngr_SKL.AIRngr_CHA 755 AnimationMode = LOOP 756 End 757 758 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 759 Animation = AIRngr_SKL.AIRngr_CHB 760 AnimationMode = LOOP 761 End 762 763 ; ----- PARACHUTING ANIMATIONS 764 ConditionState = FREEFALL 765 Animation = AIRngr_SKL.AIRngr_PFL 766 AnimationMode = LOOP 767 TransitionKey = TRANS_Falling 768 End 769 AliasConditionState = FREEFALL REALLYDAMAGED 770 AliasConditionState = FREEFALL DYING 771 ConditionState = PARACHUTING 772 Animation = AIRngr_SKL.AIRngr_PHG 773 AnimationMode = LOOP 774 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 775 TransitionKey = TRANS_Chute 776 End 777 AliasConditionState = PARACHUTING REALLYDAMAGED 778 AliasConditionState = PARACHUTING DYING 779 TransitionState = TRANS_Falling TRANS_Chute 780 Animation = AIRngr_SKL.AIRngr_POP 781 AnimationMode = ONCE 782 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 783 End 784 TransitionState = TRANS_Chute TRANS_Stand 785 Animation = AIRngr_SKL.AIRngr_PTD 786 AnimationMode = ONCE 787 End 788 TransitionState = TRANS_Chute TRANS_StandInjured 789 Animation = AIRngr_SKL.AIRngr_PTD 790 AnimationMode = ONCE 791 End 792 793 ; ------- Bldg-capture 794 795 ConditionState = UNPACKING 796 Model = AIRngr_F_SKN 797 Animation = AIRngr_F_SKL.AIRngr_F_FDP1 798 AnimationMode = ONCE 799 End 800 AliasConditionState = UNPACKING REALLYDAMAGED 801 802 803 ConditionState = RAISING_FLAG 804 Model = AIRngr_F_SKN 805 Animation = AIRngr_F_SKL.AIRngr_F_FDP2 806 AnimationMode = ONCE 807 TransitionKey = TRANS_Raising 808 End 809 AliasConditionState = RAISING_FLAG REALLYDAMAGED 810 811 ConditionState = PACKING 812 Model = AIRngr_F_SKN 813 Animation = AIRngr_F_SKL.AIRngr_F_FDP1 814 AnimationMode = ONCE_BACKWARDS 815 Flags = START_FRAME_LAST 816 TransitionKey = TRANS_Packing 817 End 818 AliasConditionState = PACKING REALLYDAMAGED 819 820 TransitionState = TRANS_Raising TRANS_Packing 821 Model = AIRngr_F_SKN 822 Animation = AIRngr_F_SKL.AIRngr_F_FDP2 823 AnimationMode = ONCE_BACKWARDS 824 Flags = START_FRAME_LAST 825 End 826 827 ; --- RAPPELLING ANIMATIONS 828 ConditionState = RAPPELLING 829 Animation = AIRngr_SKL.AIRngr_RPL1 ;30 830 AnimationMode = LOOP 831 Flags = RANDOMSTART 832 TransitionKey = TRANS_Rappelling 833 End 834 AliasConditionState = MOVING RAPPELLING 835 836 TransitionState = TRANS_Rappelling TRANS_Stand 837 Animation = AIRngr_SKL.AIRngr_RPL2 838 AnimationMode = ONCE 839 End 840 841 TransitionState = TRANS_Rappelling TRANS_StandInjured 842 Animation = AIRngr_SKL.AIRngr_RPL2 843 AnimationMode = ONCE 844 End 845 846 End 847 848 ; ***DESIGN parameters *** 849 DisplayName = OBJECT:Ranger 850 Side = America 851 EditorSorting = INFANTRY 852 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 853 854 WeaponSet 855 Conditions = None 856 Weapon = PRIMARY RangerAdvancedCombatRifle 857 End 858 WeaponSet 859 Conditions = PLAYER_UPGRADE 860 Weapon = PRIMARY RangerAdvancedCombatRifle 861 Weapon = SECONDARY RangerFlashBangGrenadeWeapon 862 AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON 863 AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI 864 WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock 865 End 866 ArmorSet 867 Conditions = None 868 Armor = HumanArmor 869 DamageFX = InfantryDamageFX 870 End 871 ArmorSet 872 Conditions = PLAYER_UPGRADE 873 Armor = ChemSuitHumanArmor 874 DamageFX = None 875 End 876 VisionRange = 100 877 ShroudClearingRange = 400 878 Prerequisites 879 Object = AmericaBarracks 880 End 881 BuildCost = 225 882 BuildTime = 5.0 ;in seconds 883 884 ExperienceValue = 20 20 40 60 ;Experience point value at each level 885 ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level 886 IsTrainable = Yes ;Can gain experience 887 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 888 CommandSet = AmericaInfantryRangerCommandSet 889 890 ; *** AUDIO Parameters *** 891 VoiceSelect = RangerVoiceSelect 892 VoiceMove = RangerVoiceMove 893 VoiceGuard = RangerVoiceMove 894 VoiceAttack = RangerVoiceAttack 895 VoiceFear = RangerVoiceFear 896 VoiceTaskComplete = RangerVoiceCaptureComplete 897 898 UnitSpecificSounds 899 VoiceEnter = RangerVoiceMove 900 VoiceEnterHostile = RangerVoiceMove 901 VoiceGarrison = RangerVoiceGarrison 902 VoiceCreate = RangerVoiceCreate 903 VoiceSubdue = RangerVoiceSubdue 904 VoiceClearBuilding = RangerVoiceClearBuilding 905 VoiceGetHealed = RangerVoiceMove 906 VoicePrimaryWeaponMode = RangerVoiceModeGun 907 VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang 908 End 909 910 UnitSpecificFX 911 ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs 912 CombatDropKillFX = FX_RangerCombatDropKill 913 End 914 915 ; *** ENGINEERING Parameters *** 916 RadarPriority = UNIT 917 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE 918 919 Behavior = CommandButtonHuntUpdate ModuleTag_02 920 End 921 922 Body = ActiveBody ModuleTag_03 923 MaxHealth = 180.0 924 InitialHealth = 180.0 925 End 926 927 Behavior = ExperienceScalarUpgrade ModuleTag_04 928 TriggeredBy = Upgrade_AmericaAdvancedTraining 929 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 930 End 931 932 Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 933 ScanRate = 1000 ; once a second. 934 ScanRange = 300 ; 935 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 936 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 937 End 938 939 Behavior = AIUpdateInterface ModuleTag_06 940 AutoAcquireEnemiesWhenIdle = Yes 941 End 942 Locomotor = SET_NORMAL BasicHumanLocomotor 943 944 Behavior = PhysicsBehavior ModuleTag_07 945 Mass = 5.0 946 End 947 948 Behavior = ProductionUpdate ModuleTag_08 949 ; nothing 950 End 951 952 Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit. 953 End 954 955 Behavior = WeaponSetUpgrade ModuleTag_10 956 TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade 957 End 958 959 960 ; --- begin Death modules --- 961 Behavior = SlowDeathBehavior ModuleTag_Death01 962 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 963 SinkDelay = 3000 964 SinkRate = 0.5 ; in Dist/Sec 965 DestructionDelay = 8000 966 FX = INITIAL FX_RangerDie 967 End 968 Behavior = SlowDeathBehavior ModuleTag_Death02 969 DeathTypes = NONE +CRUSHED +SPLATTED 970 SinkDelay = 3000 971 SinkRate = 0.5 ; in Dist/Sec 972 DestructionDelay = 8000 973 FX = INITIAL FX_GIDieCrushed 974 End 975 Behavior = SlowDeathBehavior ModuleTag_Death03 976 DeathTypes = NONE +EXPLODED 977 SinkDelay = 3000 978 SinkRate = 0.5 ; in Dist/Sec 979 DestructionDelay = 8000 980 FX = INITIAL FX_RangerDie 981 FlingForce = 8 982 FlingForceVariance = 3 983 FlingPitch = 60 984 FlingPitchVariance = 10 985 End 986 Behavior = SlowDeathBehavior ModuleTag_Death04 987 DeathTypes = NONE +BURNED 988 DestructionDelay = 0 989 FX = INITIAL FX_DieByFireUSA 990 OCL = INITIAL OCL_FlamingInfantry 991 End 992 Behavior = SlowDeathBehavior ModuleTag_Death05 993 DeathTypes = NONE +POISONED 994 DestructionDelay = 0 995 FX = INITIAL FX_DieByToxinUSA 996 OCL = INITIAL OCL_ToxicInfantry 997 End 998 999 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 1000 DeathTypes = NONE +POISONED_BETA 1001 DestructionDelay = 0 1002 FX = INITIAL FX_DieByToxinUSA 1003 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 1004 End 1005 1006 Behavior = SlowDeathBehavior ModuleTag_Death07 1007 DeathTypes = NONE +POISONED_GAMMA 1008 DestructionDelay = 0 1009 FX = INITIAL FX_DieByToxinUSA 1010 OCL = INITIAL OCL_ToxicInfantryGamma 1011 End 1012 ; --- end Death modules --- 1013 1014 Behavior = SquishCollide ModuleTag_12 1015 ;nothing 1016 End 1017 Behavior = ArmorUpgrade ModuleTag_Armor01 1018 TriggeredBy = Upgrade_AmericaChemicalSuits 1019 End 1020 1021 Behavior = PoisonedBehavior ModuleTag_17 1022 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 1023 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 1024 End 1025 1026 Behavior = SpecialAbility ModuleTag_18 1027 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 1028 UpdateModuleStartsAttack = Yes 1029 StartsPaused = Yes ; Unpaused by upgrade module 1030 InitiateSound = RangerVoiceCapture 1031 End 1032 Behavior = SpecialAbilityUpdate ModuleTag_19 1033 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 1034 StartAbilityRange = 5.0 1035 UnpackTime = 3000 ; (changing this will scale anim speed) 1036 PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) 1037 PackTime = 2000 ; (changing this will scale anim speed) 1038 DoCaptureFX = Yes 1039 AwardXPForTriggering = 15 1040 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 1041 End 1042 1043 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20 1044 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 1045 TriggeredBy = Upgrade_InfantryCaptureBuilding 1046 End 1047 1048 Behavior = LockWeaponCreate ModuleTag_21 1049 SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack. 1050 End 1051 1052 Geometry = CYLINDER 1053 GeometryMajorRadius = 7.0 1054 GeometryMinorRadius = 7.0 1055 GeometryHeight = 13.0 1056 1057 GeometryIsSmall = Yes 1058 Shadow = SHADOW_DECAL 1059 ShadowSizeX = 14; 1060 ShadowSizeY = 14; 1061 ShadowTexture = ShadowI; 1062 BuildCompletion = APPEARS_AT_RALLY_POINT 1063 1064 End 1065 1066 1067 1068 1069 1070 1071 1072 1073 ;------------------------------------------------------------------------------ 1074 Object AmericaInfantryMissileDefender 1075 1076 ; *** ART Parameters *** 1077 SelectPortrait = SAMissleDefender_L 1078 ButtonImage = SAMissleDefender 1079 1080 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 1081 UpgradeCameo2 = Upgrade_AmericaChemicalSuits 1082 ;UpgradeCameo3 = NONE 1083 ;UpgradeCameo4 = NONE 1084 ;UpgradeCameo5 = NONE 1085 1086 Draw = W3DModelDraw ModuleTag_01 1087 OkToChangeModelColor = Yes 1088 1089 ;***NOTE*** 1090 ;A little history -- the MissileDefender now uses the assets of the TankHunter. 1091 ;The TH uses assets of the GLA tunnel defender, and the TD uses assets of the NEW 1092 ;MD. It was a design/art/code decision because the new missile defender animations 1093 ;don't suit that of a mobile/offensive unit with packing and unpacking. 1094 1095 DefaultConditionState 1096 Model = NITHNT_SKN 1097 IdleAnimation = NITHNT_SKL.NITHNT_STA 0 30 1098 IdleAnimation = NITHNT_SKL.NITHNT_IDA 1099 IdleAnimation = NITHNT_SKL.NITHNT_IDB 1100 AnimationMode = ONCE 1101 AnimationSpeedFactorRange = 0.8 1.2 1102 TransitionKey = TRANS_Stand 1103 WeaponMuzzleFlash = PRIMARY MuzzleFX 1104 WeaponFireFXBone = PRIMARY Muzzle 1105 WeaponLaunchBone = PRIMARY Muzzle 1106 WeaponLaunchBone = SECONDARY Muzzle 1107 1108 End 1109 AliasConditionState = REALLYDAMAGED 1110 1111 ConditionState = FIRING_A 1112 Animation = NITHNT_SKL.NITHNT_ATA 1113 AnimationMode = ONCE 1114 TransitionKey = TRANS_START_FIRING 1115 End 1116 AliasConditionState = FIRING_A REALLYDAMAGED 1117 1118 ConditionState = BETWEEN_FIRING_SHOTS_A 1119 Animation = NITHNT_SKL.NITHNT_STA 1120 AnimationMode = ONCE 1121 ; this is basically a trick: this guy has a nontrivial animation for firing, 1122 ; and a long recycle time between shots. we want him to finish his fire animation 1123 ; (unless he's ordered to do something else), so this is just a handy trick that 1124 ; says, "if the previous state had this transition key, allow it to finish before 1125 ; switching to us, if possible". 1126 WaitForStateToFinishIfPossible = TRANS_START_FIRING 1127 End 1128 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 1129 1130 ConditionState = MOVING 1131 Animation = NITHNT_SKL.NITHNT_RNA 20 1132 AnimationMode = LOOP 1133 Flags = RANDOMSTART 1134 TransitionKey = None 1135 ParticleSysBone = None InfantryDustTrails 1136 End 1137 AliasConditionState = MOVING REALLYDAMAGED 1138 1139 ConditionState = RELOADING_A 1140 Animation = NITHNT_SKL.NITHNT_ATA 10 1141 AnimationMode = ONCE 1142 ;WeaponLaunchBone = PRIMARY WeaponA 1143 End 1144 AliasConditionState = MOVING RELOADING_A 1145 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 1146 1147 ConditionState = DYING 1148 Animation = NITHNT_SKL.NITHNT_DTA 1149 Animation = NITHNT_SKL.NITHNT_DTB 1150 AnimationSpeedFactorRange = 0.9 1.25 1151 AnimationMode = ONCE 1152 TransitionKey = TRANS_Dying 1153 End 1154 1155 TransitionState = TRANS_Dying TRANS_Flailing 1156 Animation = NITHNT_SKL.NITHNT_ADTA1 1157 AnimationMode = ONCE 1158 End 1159 1160 ConditionState = DYING EXPLODED_FLAILING 1161 Animation = NITHNT_SKL.NITHNT_ADTA2 1162 AnimationMode = LOOP 1163 TransitionKey = TRANS_Flailing 1164 End 1165 1166 ConditionState = DYING EXPLODED_BOUNCING 1167 Animation = NITHNT_SKL.NITHNT_ADTA3 1168 AnimationMode = ONCE 1169 TransitionKey = None 1170 End 1171 1172 ;PARACHUTING ANIMATIONS 1173 ConditionState = FREEFALL 1174 Animation = NITHNT_SKL.NITHNT_PFL 1175 AnimationMode = LOOP 1176 TransitionKey = TRANS_Falling 1177 End 1178 AliasConditionState = FREEFALL REALLYDAMAGED 1179 AliasConditionState = FREEFALL DYING 1180 1181 ConditionState = PARACHUTING 1182 Animation = NITHNT_SKL.NITHNT_PHG 1183 AnimationMode = LOOP 1184 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 1185 TransitionKey = TRANS_Chute 1186 End 1187 AliasConditionState = PARACHUTING REALLYDAMAGED 1188 AliasConditionState = PARACHUTING DYING 1189 1190 TransitionState = TRANS_Falling TRANS_Chute 1191 Animation = NITHNT_SKL.NITHNT_POP 1192 AnimationMode = ONCE 1193 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 1194 End 1195 1196 TransitionState = TRANS_Chute TRANS_Stand 1197 Animation = NITHNT_SKL.NITHNT_PTD 1198 AnimationMode = ONCE 1199 End 1200 1201 End 1202 1203 ; ***DESIGN parameters *** 1204 DisplayName = OBJECT:MissileTeam 1205 Side = America 1206 EditorSorting = INFANTRY 1207 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 1208 1209 WeaponSet 1210 Conditions = None 1211 Weapon = PRIMARY MissileDefenderMissileWeapon 1212 Weapon = SECONDARY MissileDefenderLaserGuidedMissileWeapon ;Controlled by special ability 1213 AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI 1214 AutoChooseSources = SECONDARY NONE 1215 End 1216 ArmorSet 1217 Conditions = None 1218 Armor = HumanArmor 1219 DamageFX = InfantryDamageFX 1220 End 1221 ArmorSet 1222 Conditions = PLAYER_UPGRADE 1223 Armor = ChemSuitHumanArmor 1224 DamageFX = InfantryDamageFX 1225 End 1226 1227 VisionRange = 150 1228 ShroudClearingRange = 400 1229 Prerequisites 1230 Object = AmericaBarracks 1231 1232 End 1233 BuildCost = 300 1234 BuildTime = 5.0 ;in seconds 1235 1236 ExperienceValue = 20 20 40 60 ;Experience point value at each level 1237 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 1238 IsTrainable = Yes ;Can gain experience 1239 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1240 CommandSet = AmericaInfantryMissileDefenderCommandSet 1241 1242 ; *** AUDIO Parameters *** 1243 VoiceSelect = MissileDefenderVoiceSelect 1244 VoiceMove = MissileDefenderVoiceMove 1245 VoiceGuard = MissileDefenderVoiceMove 1246 VoiceAttack = MissileDefenderVoiceAttack 1247 VoiceAttackAir = MissileDefenderVoiceAttack 1248 VoiceFear = MissileDefenderVoiceFear 1249 1250 UnitSpecificSounds 1251 VoiceGarrison = MissileDefenderVoiceGarrison 1252 VoiceCreate = MissileDefenderVoiceCreate 1253 VoiceEnter = MissileDefenderVoiceMove 1254 VoiceGetHealed = MissileDefenderVoiceMove 1255 End 1256 1257 ; *** ENGINEERING Parameters *** 1258 RadarPriority = UNIT 1259 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE 1260 1261 1262 Body = ActiveBody ModuleTag_02 1263 MaxHealth = 100.0 1264 InitialHealth = 100.0 1265 End 1266 1267 Behavior = ArmorUpgrade ModuleTag_Armor01 1268 TriggeredBy = Upgrade_AmericaChemicalSuits 1269 End 1270 1271 Behavior = ExperienceScalarUpgrade ModuleTag_03 1272 TriggeredBy = Upgrade_AmericaAdvancedTraining 1273 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 1274 End 1275 1276 Behavior = AIUpdateInterface ModuleTag_04 1277 AutoAcquireEnemiesWhenIdle = Yes 1278 End 1279 1280 Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 1281 ScanRate = 1000 ; once a second. 1282 ScanRange = 300 ; 1283 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 1284 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 1285 End 1286 1287 Locomotor = SET_NORMAL MissileDefenderLocomotor 1288 1289 Behavior = PhysicsBehavior ModuleTag_06 1290 Mass = 5.0 1291 End 1292 1293 Behavior = SpecialAbility ModuleTag_08 1294 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles 1295 UpdateModuleStartsAttack = Yes 1296 InitiateSound = MissileDefenderVoiceAttackLaser 1297 End 1298 Behavior = SpecialAbilityUpdate ModuleTag_09 1299 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles 1300 StartAbilityRange = 200.0 1301 AbilityAbortRange = 250.0 ;If the target moves outside this range, abort. 1302 PreparationTime = 1000 1303 PersistentPrepTime = 500 1304 SpecialObject = LaserBeam 1305 SpecialObjectAttachToBone = Muzzle01 1306 End 1307 ;Added by JMC on 7/12/03 so that the skirmish AI can tell the missile defenders to hunt using 1308 ;the laser guided missiles. 1309 Behavior = CommandButtonHuntUpdate ModuleTag_CBHunt ; allows use of command button hunt script with this unit. 1310 End 1311 1312 Behavior = SquishCollide ModuleTag_10 1313 ;nothing 1314 End 1315 1316 1317 ; --- begin Death modules --- 1318 Behavior = SlowDeathBehavior ModuleTag_Death01 1319 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 1320 SinkDelay = 3000 1321 SinkRate = 0.5 ; in Dist/Sec 1322 DestructionDelay = 8000 1323 FX = INITIAL FX_MissileDefenderDie 1324 End 1325 Behavior = SlowDeathBehavior ModuleTag_Death02 1326 DeathTypes = NONE +CRUSHED +SPLATTED 1327 SinkDelay = 3000 1328 SinkRate = 0.5 ; in Dist/Sec 1329 DestructionDelay = 8000 1330 FX = INITIAL FX_GIDieCrushed 1331 End 1332 Behavior = SlowDeathBehavior ModuleTag_Death03 1333 DeathTypes = NONE +EXPLODED 1334 SinkDelay = 3000 1335 SinkRate = 0.5 ; in Dist/Sec 1336 DestructionDelay = 8000 1337 FX = INITIAL FX_MissileDefenderDie 1338 FlingForce = 8 1339 FlingForceVariance = 3 1340 FlingPitch = 60 1341 FlingPitchVariance = 10 1342 End 1343 Behavior = SlowDeathBehavior ModuleTag_Death04 1344 DeathTypes = NONE +BURNED 1345 DestructionDelay = 0 1346 FX = INITIAL FX_DieByFireUSA 1347 OCL = INITIAL OCL_FlamingInfantry 1348 End 1349 Behavior = SlowDeathBehavior ModuleTag_Death05 1350 DeathTypes = NONE +POISONED 1351 DestructionDelay = 0 1352 FX = INITIAL FX_DieByToxinUSA 1353 OCL = INITIAL OCL_ToxicInfantry 1354 End 1355 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 1356 DeathTypes = NONE +POISONED_BETA 1357 DestructionDelay = 0 1358 FX = INITIAL FX_DieByToxinUSA 1359 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 1360 End 1361 1362 Behavior = SlowDeathBehavior ModuleTag_Death07 1363 DeathTypes = NONE +POISONED_GAMMA 1364 DestructionDelay = 0 1365 FX = INITIAL FX_DieByToxinUSA 1366 OCL = INITIAL OCL_ToxicInfantryGamma 1367 End 1368 ; --- end Death modules --- 1369 1370 Behavior = PoisonedBehavior ModuleTag_13 1371 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 1372 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 1373 End 1374 1375 Geometry = CYLINDER 1376 GeometryMajorRadius = 7.0 1377 GeometryMinorRadius = 7.0 1378 GeometryHeight = 12.0 1379 GeometryIsSmall = Yes 1380 Shadow = SHADOW_DECAL 1381 ShadowSizeX = 14; 1382 ShadowSizeY = 14; 1383 ShadowTexture = ShadowI; 1384 BuildCompletion = APPEARS_AT_RALLY_POINT 1385 1386 End 1387 1388 ;------------------------------------------------------------------------------ 1389 ; @todo -- this entire unit is "first pass only" and needs lots of specialization 1390 Object AmericaInfantryPilot 1391 1392 ; *** ART Parameters *** 1393 SelectPortrait = SAPilot_L 1394 ButtonImage = SAPilot 1395 1396 ;UpgradeCameo1 = NONE 1397 ;UpgradeCameo2 = NONE 1398 ;UpgradeCameo3 = NONE 1399 ;UpgradeCameo4 = NONE 1400 ;UpgradeCameo5 = NONE 1401 1402 Draw = W3DModelDraw ModuleTag_01 1403 OkToChangeModelColor = Yes 1404 1405 DefaultConditionState 1406 Model = AIRPlt_SKN 1407 IdleAnimation = AIRPlt_SKL.AIRPlt_STA 0 20 1408 IdleAnimation = AIRPlt_SKL.AIRPlt_IDA 1409 IdleAnimation = AIRPlt_SKL.AIRPlt_IDB 1410 AnimationMode = ONCE 1411 TransitionKey = TRANS_Stand 1412 End 1413 1414 ConditionState = FREEFALL 1415 Animation = AIRPlt_SKL.AIRPLT_PFL 1416 AnimationMode = ONCE 1417 TransitionKey = TRANS_Falling 1418 End 1419 AliasConditionState = FREEFALL DYING 1420 1421 ConditionState = PARACHUTING 1422 Animation = AIRPlt_SKL.AIRPlt_PHG 1423 AnimationMode = LOOP 1424 TransitionKey = TRANS_Chute 1425 WaitForStateToFinishIfPossible = TRANS_Falling 1426 End 1427 AliasConditionState = PARACHUTING DYING 1428 1429 ConditionState = MOVING 1430 Animation = AIRPlt_SKL.AIRPlt_RNA 1431 AnimationMode = LOOP 1432 TransitionKey = TRANS_Stand 1433 ParticleSysBone = None InfantryDustTrails 1434 End 1435 1436 1437 ConditionState = DYING 1438 Animation = AIRPlt_SKL.AIRPlt_DTA 1439 Animation = AIRPlt_SKL.AIRPlt_DTB 1440 AnimationMode = ONCE 1441 TransitionKey = TRANS_Dying 1442 End 1443 1444 TransitionState = TRANS_Dying TRANS_Flailing 1445 Animation = AIRPlt_SKL.AIRPlt_ADTE1 1446 AnimationMode = ONCE 1447 End 1448 1449 ConditionState = DYING EXPLODED_FLAILING 1450 Animation = AIRPlt_SKL.AIRPlt_ADTE2 1451 AnimationMode = LOOP 1452 TransitionKey = TRANS_Flailing 1453 End 1454 1455 ConditionState = DYING EXPLODED_BOUNCING 1456 Animation = AIRPlt_SKL.AIRPlt_ADTE3 1457 AnimationMode = ONCE 1458 TransitionKey = None 1459 End 1460 1461 ConditionState = SPECIAL_CHEERING 1462 Animation = AIRPLT_SKL.AIRPLT_CHA 1463 AnimationMode = LOOP 1464 End 1465 1466 ;@TODO -- MISSING ANIMATION FILE 1467 ;TransitionState = TRANS_Falling TRANS_Chute 1468 ; Animation = AIRPLT_SKL.AIRPLT_POP 1469 ; AnimationMode = ONCE 1470 ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 1471 ;End 1472 1473 TransitionState = TRANS_Chute TRANS_Stand 1474 Animation = AIRPlt_SKL.AIRPlt_PTD 1475 AnimationMode = ONCE 1476 End 1477 1478 End 1479 1480 ; ***DESIGN parameters *** 1481 DisplayName = OBJECT:Pilot 1482 Side = America 1483 EditorSorting = INFANTRY 1484 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 1485 ExperienceValue = 10 10 10 10 ;Experience point value at each level 1486 ExperienceRequired = 0 1 2 3 ;Experience points needed to gain each level 1487 IsTrainable = Yes ;Can gain experience 1488 CommandSet = AmericaInfantryPilotCommandSet 1489 1490 ArmorSet 1491 Conditions = None 1492 Armor = HumanArmor 1493 DamageFX = InfantryDamageFX 1494 End 1495 1496 VisionRange = 150 1497 ShroudClearingRange = 300 1498 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1499 1500 ; *** AUDIO Parameters *** 1501 VoiceSelect = PilotVoiceSelect 1502 VoiceMove = PilotVoiceMove 1503 VoiceAttack = PilotVoiceMove 1504 VoiceGarrison = PilotVoiceMove 1505 VoiceFear = PilotVoiceFear 1506 UnitSpecificSounds 1507 VoiceEnter = PilotVoiceEnter 1508 VoiceEnterHostile = PilotVoiceEnter 1509 VoiceGetHealed = PilotVoiceMove 1510 End 1511 1512 ; *** ENGINEERING Parameters *** 1513 RadarPriority = UNIT 1514 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE IGNORES_SELECT_ALL 1515 1516 Behavior = VeterancyGainCreate ModuleTag_02 1517 ; omit the "ScienceRequired" so that this upgrade always occurs. 1518 ; Pilots should never (repeat, never) be less than VETERAN status. 1519 StartingLevel = VETERAN 1520 End 1521 1522 Behavior = VeterancyCrateCollide ModuleTag_03 1523 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with 1524 ForbiddenKindOf = DOZER ; but not to TRANSPORTs or DOZERs! 1525 EffectRange = 0 ; 0=="affect only the thing you collide with" 1526 AddsOwnerVeterancy = Yes ; we add our own veterancy to the target (rather than just +1 level) 1527 IsPilot = Yes ; set the pilot flag because it's different than the veterancy crate and has extra checking 1528 End 1529 1530 Body = ActiveBody ModuleTag_04 1531 MaxHealth = 100.0 1532 InitialHealth = 100.0 1533 End 1534 1535 Behavior = AIUpdateInterface ModuleTag_05 1536 AutoAcquireEnemiesWhenIdle = Yes 1537 End 1538 1539 Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba 1540 ScanRate = 1000 ; once a second. 1541 ScanRange = 300 ; 1542 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 1543 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 1544 End 1545 1546 Behavior = PilotFindVehicleUpdate ModuleTag_07 ; This update will have the unit go to a vehicle. jba 1547 ScanRate = 1000 ; once a second. 1548 ScanRange = 300 ; 1549 MinHealth = 0.5 ; don't enter a vehicle less than 50% healthy. 1550 End 1551 1552 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor 1553 Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25 1554 1555 Behavior = PhysicsBehavior ModuleTag_08 1556 Mass = 5.0 1557 End 1558 1559 Behavior = LocomotorSetUpgrade ModuleTag_10 1560 TriggeredBy = Upgrade_Veterancy_HEROIC 1561 End 1562 1563 Behavior = SquishCollide ModuleTag_11 1564 ;nothing 1565 End 1566 1567 1568 ; --- begin Death modules --- 1569 Behavior = SlowDeathBehavior ModuleTag_Death01 1570 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 1571 SinkDelay = 3000 1572 SinkRate = 0.5 ; in Dist/Sec 1573 DestructionDelay = 8000 1574 FX = INITIAL FX_PilotDie 1575 End 1576 Behavior = SlowDeathBehavior ModuleTag_Death02 1577 DeathTypes = NONE +CRUSHED +SPLATTED 1578 SinkDelay = 3000 1579 SinkRate = 0.5 ; in Dist/Sec 1580 DestructionDelay = 8000 1581 FX = INITIAL FX_GIDieCrushed 1582 End 1583 Behavior = SlowDeathBehavior ModuleTag_Death03 1584 DeathTypes = NONE +EXPLODED 1585 SinkDelay = 3000 1586 SinkRate = 0.5 ; in Dist/Sec 1587 DestructionDelay = 8000 1588 FX = INITIAL FX_PilotDie 1589 FlingForce = 8 1590 FlingForceVariance = 3 1591 FlingPitch = 60 1592 FlingPitchVariance = 10 1593 End 1594 Behavior = SlowDeathBehavior ModuleTag_Death04 1595 DeathTypes = NONE +BURNED 1596 DestructionDelay = 0 1597 FX = INITIAL FX_DieByFireUSA 1598 OCL = INITIAL OCL_FlamingInfantry 1599 End 1600 Behavior = SlowDeathBehavior ModuleTag_Death05 1601 DeathTypes = NONE +POISONED 1602 DestructionDelay = 0 1603 FX = INITIAL FX_DieByToxinUSA 1604 OCL = INITIAL OCL_ToxicInfantry 1605 End 1606 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 1607 DeathTypes = NONE +POISONED_BETA 1608 DestructionDelay = 0 1609 FX = INITIAL FX_DieByToxinUSA 1610 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 1611 End 1612 1613 Behavior = SlowDeathBehavior ModuleTag_Death07 1614 DeathTypes = NONE +POISONED_GAMMA 1615 DestructionDelay = 0 1616 FX = INITIAL FX_DieByToxinUSA 1617 OCL = INITIAL OCL_ToxicInfantryGamma 1618 End 1619 ; --- end Death modules --- 1620 1621 Behavior = PoisonedBehavior ModuleTag_14 1622 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 1623 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 1624 End 1625 1626 Geometry = CYLINDER 1627 GeometryMajorRadius = 10.0 1628 GeometryMinorRadius = 10.0 1629 GeometryHeight = 12.0 1630 GeometryIsSmall = Yes 1631 Shadow = SHADOW_DECAL 1632 ShadowSizeX = 14; 1633 ShadowSizeY = 14; 1634 ShadowTexture = ShadowI; 1635 BuildCompletion = APPEARS_AT_RALLY_POINT 1636 1637 End 1638 1639 ;------------------------------------------------------------------------------ 1640 Object AmericaInfantryPathfinder 1641 1642 ; *** ART Parameters *** 1643 SelectPortrait = SAPathfinder1_L 1644 ButtonImage = SAPathfinder1 1645 1646 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining 1647 UpgradeCameo2 = Upgrade_AmericaChemicalSuits 1648 ;UpgradeCameo3 = NONE 1649 ;UpgradeCameo4 = NONE 1650 ;UpgradeCameo5 = NONE 1651 1652 Draw = W3DModelDraw ModuleTag_01 1653 1654 OkToChangeModelColor = Yes 1655 1656 DefaultConditionState 1657 Model = AIPFDR_SKN 1658 IdleAnimation = AIPFDR_SKL.AIPFDR_STA 1659 IdleAnimation = AIPFDR_SKL.AIPFDR_IDA 1660 AnimationMode = ONCE 1661 WeaponFireFXBone = PRIMARY Muzzle 1662 WeaponMuzzleFlash = PRIMARY MuzzleFX 1663 TransitionKey = TRANS_Standing 1664 End 1665 AliasConditionState = REALLYDAMAGED 1666 1667 ConditionState = MOVING 1668 Animation = AIPFDR_SKL.AIPFDR_RNA 25 1669 AnimationMode = LOOP 1670 Flags = RANDOMSTART 1671 TransitionKey = TRANS_Standing 1672 ParticleSysBone = None InfantryDustTrails 1673 End 1674 AliasConditionState = MOVING REALLYDAMAGED 1675 1676 ConditionState = FIRING_A 1677 Animation = AIPFDR_SKL.AIPFDR_ATB ; recoil in standing position 1678 AnimationMode = ONCE 1679 TransitionKey = TRANS_FiringA 1680 End 1681 AliasConditionState = FIRING_A MOVING 1682 AliasConditionState = FIRING_A MOVING REALLYDAMAGED 1683 AliasConditionState = FIRING_A REALLYDAMAGED 1684 1685 ConditionState = BETWEEN_FIRING_SHOTS_A 1686 Animation = AIPFDR_SKL.AIPFDR_ATBST ; motionless in standing position 1687 AnimationMode = ONCE 1688 WaitForStateToFinishIfPossible = TRANS_FiringA 1689 End 1690 AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 1691 AliasConditionState = RELOADING_A 1692 AliasConditionState = RELOADING_A REALLYDAMAGED 1693 1694 ConditionState = DYING 1695 Animation = AIPFDR_SKL.AIPFDR_DTA 1696 AnimationMode = ONCE 1697 TransitionKey = TRANS_Dying 1698 End 1699 1700 TransitionState = TRANS_Dying TRANS_Flailing 1701 Animation = AIPFDR_SKL.AIPFDR_ADTA1 1702 AnimationMode = ONCE 1703 End 1704 1705 ConditionState = DYING EXPLODED_FLAILING 1706 Animation = AIPFDR_SKL.AIPFDR_ADTA2 1707 AnimationMode = LOOP 1708 TransitionKey = TRANS_Flailing 1709 End 1710 1711 ConditionState = DYING EXPLODED_BOUNCING 1712 Animation = AIPFDR_SKL.AIPFDR_ADTA3 1713 AnimationMode = ONCE 1714 TransitionKey = None 1715 End 1716 1717 ConditionState = FREEFALL 1718 Animation = AIPFDR_SKL.AIPFDR_PFL 1719 AnimationMode = LOOP 1720 TransitionKey = TRANS_Falling 1721 End 1722 AliasConditionState = FREEFALL DYING 1723 1724 ConditionState = PARACHUTING 1725 Animation = AIPFDR_SKL.AIPFDR_PHG 1726 AnimationMode = LOOP 1727 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME 1728 ;our bone positions should come from the last frame, rather than the first 1729 TransitionKey = TRANS_Chute 1730 End 1731 AliasConditionState = PARACHUTING DYING 1732 1733 1734 TransitionState = TRANS_Falling TRANS_Chute 1735 Animation = AIPFDR_SKL.AIPFDR_POP 1736 AnimationMode = ONCE 1737 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME 1738 ;our bone positions should come from the last frame, rather than the first 1739 End 1740 1741 TransitionState = TRANS_Chute TRANS_Standing 1742 Animation = AIPFDR_SKL.AIPFDR_PTD 1743 AnimationMode = ONCE 1744 End 1745 End 1746 1747 1748 ; ***DESIGN parameters *** 1749 DisplayName = OBJECT:Pathfinder 1750 Side = America 1751 EditorSorting = INFANTRY 1752 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 1753 1754 WeaponSet 1755 Conditions = None 1756 Weapon = PRIMARY USAPathfinderSniperRifle 1757 End 1758 ArmorSet 1759 Conditions = None 1760 Armor = HumanArmor 1761 DamageFX = InfantryDamageFX 1762 End 1763 ArmorSet 1764 Conditions = PLAYER_UPGRADE 1765 Armor = ChemSuitHumanArmor 1766 DamageFX = InfantryDamageFX 1767 End 1768 1769 VisionRange = 200 1770 ShroudClearingRange = 400 1771 Prerequisites 1772 Object = AmericaBarracks 1773 Science = SCIENCE_Pathfinder 1774 End 1775 BuildCost = 600 1776 BuildTime = 10.0 ;in seconds 1777 1778 ExperienceValue = 40 40 60 80 ;Experience point value at each level 1779 ExperienceRequired = 0 50 100 200 ;Experience points needed to gain each level 1780 IsTrainable = Yes ;Can gain experience 1781 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1782 CommandSet = AmericaInfantryPathfinderCommandSet 1783 1784 ; *** AUDIO Parameters *** 1785 VoiceSelect = PathfinderVoiceSelect 1786 VoiceMove = PathfinderVoiceMove 1787 VoiceGuard = PathfinderVoiceMove 1788 VoiceAttack = PathfinderVoiceAttack 1789 VoiceFear = PathfinderVoiceFear 1790 SoundStealthOn = StealthOn 1791 SoundStealthOff = StealthOff 1792 VoiceFear = PathfinderVoiceFear 1793 1794 UnitSpecificSounds 1795 VoiceCreate = PathfinderVoiceCreate 1796 VoiceGarrison = PathfinderVoiceGarrison 1797 VoiceEnter = PathfinderVoiceMove 1798 VoiceEnterHostile = PathfinderVoiceMove 1799 VoiceGetHealed = PathfinderVoiceMove 1800 End 1801 1802 ; *** ENGINEERING Parameters *** 1803 Behavior = ArmorUpgrade ModuleTag_Armor01 1804 TriggeredBy = Upgrade_AmericaChemicalSuits 1805 End 1806 RadarPriority = UNIT 1807 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE CANNOT_RETALIATE 1808 1809 Body = ActiveBody ModuleTag_02 1810 MaxHealth = 120.0 1811 InitialHealth = 120.0 1812 End 1813 1814 Behavior = AIUpdateInterface ModuleTag_03 1815 AutoAcquireEnemiesWhenIdle = Yes Stealthed 1816 MoodAttackCheckRate = 250 1817 End 1818 1819 Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 1820 ScanRate = 1000 ; once a second. 1821 ScanRange = 300 ; 1822 NeverHeal = 0.85 ; don't heal if we are > 85% healthy. 1823 AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. 1824 End 1825 1826 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor 1827 1828 Behavior = ExperienceScalarUpgrade ModuleTag_05 1829 TriggeredBy = Upgrade_AmericaAdvancedTraining 1830 AddXPScalar = 1.0 ;Increases experience gained by an additional 100% 1831 End 1832 1833 Behavior = PhysicsBehavior ModuleTag_06 1834 Mass = 5.0 1835 End 1836 Behavior = StealthDetectorUpdate ModuleTag_08 1837 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 1838 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 1839 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 1840 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 1841 End 1842 Behavior = StealthUpdate ModuleTag_09 1843 StealthDelay = 0 ; msec 1844 StealthForbiddenConditions = MOVING ; stays stealthy while attacking 1845 FriendlyOpacityMin = 30.0% 1846 FriendlyOpacityMax = 80.0% 1847 PulseFrequency = 500 ; msec 1848 MoveThresholdSpeed = 3 1849 InnateStealth = Yes 1850 OrderIdleEnemiesToAttackMeUponReveal = Yes 1851 End 1852 1853 Behavior = SquishCollide ModuleTag_10 1854 ;nothing 1855 End 1856 1857 1858 ; --- begin Death modules --- 1859 Behavior = SlowDeathBehavior ModuleTag_Death01 1860 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 1861 SinkDelay = 3000 1862 SinkRate = 0.5 ; in Dist/Sec 1863 DestructionDelay = 8000 1864 FX = INITIAL FX_PathfinderDie 1865 End 1866 Behavior = SlowDeathBehavior ModuleTag_Death02 1867 DeathTypes = NONE +CRUSHED +SPLATTED 1868 SinkDelay = 3000 1869 SinkRate = 0.5 ; in Dist/Sec 1870 DestructionDelay = 8000 1871 FX = INITIAL FX_GIDieCrushed 1872 End 1873 Behavior = SlowDeathBehavior ModuleTag_Death03 1874 DeathTypes = NONE +EXPLODED 1875 SinkDelay = 3000 1876 SinkRate = 0.5 ; in Dist/Sec 1877 DestructionDelay = 8000 1878 FX = INITIAL FX_PathfinderDie 1879 FlingForce = 8 1880 FlingForceVariance = 3 1881 FlingPitch = 60 1882 FlingPitchVariance = 10 1883 End 1884 Behavior = SlowDeathBehavior ModuleTag_Death04 1885 DeathTypes = NONE +BURNED 1886 DestructionDelay = 0 1887 FX = INITIAL FX_DieByFireUSA 1888 OCL = INITIAL OCL_FlamingInfantry 1889 End 1890 Behavior = SlowDeathBehavior ModuleTag_Death05 1891 DeathTypes = NONE +POISONED 1892 DestructionDelay = 0 1893 FX = INITIAL FX_DieByToxinUSA 1894 OCL = INITIAL OCL_ToxicInfantry 1895 End 1896 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 1897 DeathTypes = NONE +POISONED_BETA 1898 DestructionDelay = 0 1899 FX = INITIAL FX_DieByToxinUSA 1900 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 1901 End 1902 1903 Behavior = SlowDeathBehavior ModuleTag_Death07 1904 DeathTypes = NONE +POISONED_GAMMA 1905 DestructionDelay = 0 1906 FX = INITIAL FX_DieByToxinUSA 1907 OCL = INITIAL OCL_ToxicInfantryGamma 1908 End 1909 ; --- end Death modules --- 1910 1911 Behavior = PoisonedBehavior ModuleTag_13 1912 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 1913 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 1914 End 1915 1916 Geometry = CYLINDER 1917 GeometryMajorRadius = 10.0 1918 GeometryMinorRadius = 10.0 1919 GeometryHeight = 12.0 1920 GeometryIsSmall = Yes 1921 Shadow = SHADOW_DECAL 1922 ShadowSizeX = 14; 1923 ShadowSizeY = 14; 1924 ShadowTexture = ShadowI; 1925 BuildCompletion = APPEARS_AT_RALLY_POINT 1926 1927 End
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sat Mar 28 08:18:23 2009 | Cross-referenced by PHPXref 0.7 |