[ Index ] | WAROFGENERALS |
PHP Cross Reference of WAROFGENERALS MODS SOURCES |
[Summary view] [Print] [Text view]
1 2 ;------------------------------------------------------------------------------ 3 Object GLAInfantryRebel 4 5 ; *** ART Parameters *** 6 SelectPortrait = SURebel_L 7 ButtonImage = SURebel 8 9 UpgradeCameo1 = Upgrade_GLAAPBullets 10 UpgradeCameo2 = Upgrade_GLACamouflage 11 UpgradeCameo3 = Upgrade_InfantryCaptureBuilding 12 ;UpgradeCameo4 = NONE 13 ;UpgradeCameo5 = NONE 14 15 Draw = W3DModelDraw ModuleTag_01 16 17 OkToChangeModelColor = Yes 18 19 ; this says "we don't use these condition states at all, so completely 20 ; ignore them for purposes of matchmaking"... this is useful to help 21 ; reduce the number of AliasConditionState clauses you must add in 22 ; order to avoid ambiguity in some cases. 23 IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A 24 25 ; ---- standing 26 DefaultConditionState 27 Model = UIRGrd_SKN 28 IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35 29 IdleAnimation = UIRGrd_SKL.UIRGrd_IDA 30 IdleAnimation = UIRGrd_SKL.UIRGrd_IDB 31 AnimationMode = ONCE 32 WeaponFireFXBone = PRIMARY Muzzle 33 WeaponMuzzleFlash = PRIMARY MuzzleFX 34 TransitionKey = TRANS_Standing 35 End 36 37 ConditionState = REALLYDAMAGED 38 IdleAnimation = UIRGrd_SKL.UIRGrd_STB 0 35 39 IdleAnimation = UIRGrd_SKL.UIRGrd_IDC 40 IdleAnimation = UIRGrd_SKL.UIRGrd_IDD 41 AnimationMode = ONCE 42 TransitionKey = TRANS_StandingHurt 43 End 44 45 ; ---- moving 46 ConditionState = MOVING 47 Animation = UIRGrd_SKL.UIRGrd_RNA 15 48 AnimationMode = LOOP 49 TransitionKey = TRANS_Walking 50 ParticleSysBone = None InfantryDustTrails 51 End 52 AliasConditionState = MOVING ATTACKING 53 54 ConditionState = MOVING REALLYDAMAGED 55 Animation = UIRGrd_SKL.UIRGrd_RNB 25 56 AnimationMode = LOOP 57 TransitionKey = TRANS_WalkingHurt 58 ParticleSysBone = None InfantryDustTrails 59 End 60 AliasConditionState = MOVING ATTACKING REALLYDAMAGED 61 62 ; ---- dying 63 ConditionState = DYING 64 Animation = UIRGrd_SKL.UIRGrd_DTA 65 Animation = UIRGrd_SKL.UIRGrd_DTB 66 AnimationMode = ONCE 67 TransitionKey = TRANS_Dying 68 End 69 70 TransitionState = TRANS_Dying TRANS_Flailing 71 Animation = UIRGrd_SKL.UIRGrd_ADTE1 72 AnimationMode = ONCE 73 End 74 75 ConditionState = DYING EXPLODED_FLAILING 76 Animation = UIRGrd_SKL.UIRGrd_ADTE2 77 AnimationMode = LOOP 78 TransitionKey = TRANS_Flailing 79 End 80 81 ConditionState = DYING EXPLODED_BOUNCING 82 Animation = UIRGrd_SKL.UIRGrd_ADTE3 83 AnimationMode = ONCE 84 TransitionKey = None 85 End 86 87 ConditionState = SPECIAL_CHEERING 88 Animation = UIRGrd_SKL.UIRGrd_IDB 89 End 90 91 ; ---- firing 92 ConditionState = USING_WEAPON_A 93 Animation = UIRGrd_SKL.UIRGrd_ATA 94 AnimationMode = LOOP 95 TransitionKey = TRANS_Firing 96 End 97 98 ConditionState = USING_WEAPON_A REALLYDAMAGED 99 Animation = UIRGrd_SKL.UIRGrd_ATA2 100 AnimationMode = LOOP 101 TransitionKey = TRANS_FiringHurt 102 End 103 104 TransitionState = TRANS_Standing TRANS_Firing 105 Animation = UIRGrd_SKL.UIRGrd_ATAST 106 AnimationMode = ONCE 107 End 108 109 TransitionState = TRANS_Firing TRANS_Standing 110 Animation = UIRGrd_SKL.UIRGrd_ATAED 111 AnimationMode = ONCE 112 End 113 114 TransitionState = TRANS_StandingHurt TRANS_FiringHurt 115 Animation = UIRGrd_SKL.UIRGrd_ATA2ED 116 AnimationMode = ONCE_BACKWARDS 117 End 118 119 TransitionState = TRANS_FiringHurt TRANS_StandingHurt 120 Animation = UIRGrd_SKL.UIRGrd_ATA2ED 121 AnimationMode = ONCE 122 End 123 124 TransitionState = TRANS_Standing TRANS_StandingHurt 125 Animation = UIRGrd_SKL.UIRGrd_ATA2ED 126 AnimationMode = ONCE 127 End 128 129 130 131 ; ------- Bldg-capture 132 133 ConditionState = UNPACKING 134 Model = UIRGrd_F_SKN 135 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 136 AnimationMode = ONCE 137 End 138 AliasConditionState = UNPACKING REALLYDAMAGED 139 140 ConditionState = RAISING_FLAG 141 Model = UIRGrd_F_SKN 142 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 143 AnimationMode = ONCE 144 TransitionKey = TRANS_Raising 145 End 146 AliasConditionState = RAISING_FLAG REALLYDAMAGED 147 148 ConditionState = PACKING 149 Model = UIRGrd_F_SKN 150 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 151 AnimationMode = ONCE_BACKWARDS 152 Flags = START_FRAME_LAST 153 TransitionKey = TRANS_Packing 154 End 155 AliasConditionState = PACKING REALLYDAMAGED 156 157 TransitionState = TRANS_Raising TRANS_Packing 158 Model = UIRGrd_F_SKN 159 Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 160 AnimationMode = ONCE_BACKWARDS 161 Flags = START_FRAME_LAST 162 End 163 164 End 165 166 ; ***DESIGN parameters *** 167 DisplayName = OBJECT:Rebel 168 Side = GLA 169 EditorSorting = INFANTRY 170 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 171 172 WeaponSet 173 Conditions = None 174 Weapon = PRIMARY GLARebelMachineGun 175 End 176 ArmorSet 177 Conditions = None 178 Armor = HumanArmor 179 DamageFX = InfantryDamageFX 180 End 181 VisionRange = 150 182 ShroudClearingRange = 300 183 Prerequisites 184 Object = GLABarracks 185 End 186 BuildCost = 150 187 BuildTime = 5.0 ;in seconds 188 189 ExperienceValue = 15 15 30 40 ;Experience point value at each level 190 ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level 191 IsTrainable = Yes ;Can gain experience 192 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 193 CommandSet = GLAInfantryRebelCommandSet 194 195 ; *** AUDIO Parameters *** 196 VoiceSelect = RebelVoiceSelect 197 VoiceMove = RebelVoiceMove 198 VoiceGuard = RebelVoiceMove 199 VoiceAttack = RebelVoiceAttack 200 SoundStealthOn = StealthOn 201 SoundStealthOff = StealthOff 202 VoiceFear = RebelVoiceFear 203 VoiceTaskComplete = RebelVoiceCaptureComplete 204 UnitSpecificSounds 205 VoiceCreate = RebelVoiceCreate 206 VoiceSubdue = RebelVoiceSubdue 207 VoiceGarrison = RebelVoiceGarrison 208 VoiceEnter = RebelVoiceMove 209 VoiceEnterHostile = RebelVoiceMove 210 VoiceGetHealed = RebelVoiceMove 211 End 212 213 ; *** ENGINEERING Parameters *** 214 RadarPriority = UNIT 215 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 216 217 Body = ActiveBody ModuleTag_02 218 MaxHealth = 120.0 219 InitialHealth = 120.0 220 End 221 222 Behavior = AIUpdateInterface ModuleTag_03 223 AutoAcquireEnemiesWhenIdle = Yes 224 End 225 226 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 227 End 228 229 Locomotor = SET_NORMAL BasicHumanLocomotor 230 231 Behavior = PhysicsBehavior ModuleTag_05 232 Mass = 5.0 233 End 234 Behavior = StealthUpdate ModuleTag_07 235 StealthDelay = 2500 ; msec 236 StealthForbiddenConditions = ATTACKING USING_ABILITY 237 MoveThresholdSpeed = 3 238 InnateStealth = No ;Requires upgrade first 239 OrderIdleEnemiesToAttackMeUponReveal = Yes 240 End 241 242 Behavior = WeaponBonusUpgrade ModuleTag_09 243 TriggeredBy = Upgrade_GLAAPBullets 244 End 245 Behavior = StealthUpgrade ModuleTag_10 246 TriggeredBy = Upgrade_GLACamouflage 247 End 248 249 250 Behavior = SquishCollide ModuleTag_11 251 ;nothing 252 End 253 254 255 ; --- begin Death modules --- 256 Behavior = SlowDeathBehavior ModuleTag_Death01 257 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 258 SinkDelay = 3000 259 SinkRate = 0.5 ; in Dist/Sec 260 DestructionDelay = 8000 261 FX = INITIAL FX_RebelDie 262 End 263 Behavior = SlowDeathBehavior ModuleTag_Death02 264 DeathTypes = NONE +CRUSHED +SPLATTED 265 SinkDelay = 3000 266 SinkRate = 0.5 ; in Dist/Sec 267 DestructionDelay = 8000 268 FX = INITIAL FX_GIDieCrushed 269 End 270 Behavior = SlowDeathBehavior ModuleTag_Death03 271 DeathTypes = NONE +EXPLODED 272 SinkDelay = 3000 273 SinkRate = 0.5 ; in Dist/Sec 274 DestructionDelay = 8000 275 FX = INITIAL FX_RebelDie 276 FlingForce = 8 277 FlingForceVariance = 3 278 FlingPitch = 60 279 FlingPitchVariance = 10 280 End 281 Behavior = SlowDeathBehavior ModuleTag_Death04 282 DeathTypes = NONE +BURNED 283 DestructionDelay = 0 284 FX = INITIAL FX_DieByFireGLA 285 OCL = INITIAL OCL_FlamingInfantry 286 End 287 Behavior = SlowDeathBehavior ModuleTag_Death05 288 DeathTypes = NONE +POISONED 289 DestructionDelay = 0 290 FX = INITIAL FX_DieByToxinGLA 291 OCL = INITIAL OCL_ToxicInfantry 292 End 293 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 294 DeathTypes = NONE +POISONED_BETA 295 DestructionDelay = 0 296 FX = INITIAL FX_DieByToxinGLA 297 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 298 End 299 Behavior = SlowDeathBehavior ModuleTag_Death07 300 DeathTypes = NONE +POISONED_GAMMA 301 DestructionDelay = 0 302 FX = INITIAL FX_DieByToxinGLA 303 OCL = INITIAL OCL_ToxicInfantryGamma 304 End 305 306 ; --- end Death modules --- 307 308 Behavior = PoisonedBehavior ModuleTag_16 309 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 310 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 311 End 312 313 Behavior = SpecialAbility ModuleTag_17 314 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 315 UpdateModuleStartsAttack = Yes 316 StartsPaused = Yes 317 InitiateSound = RebelVoiceCapture 318 End 319 Behavior = SpecialAbilityUpdate ModuleTag_18 320 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 321 StartAbilityRange = 5.0 322 UnpackTime = 3000 ; (changing this will scale anim speed) 323 PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) 324 PackTime = 2000 ; (changing this will scale anim speed) 325 DoCaptureFX = Yes 326 AwardXPForTriggering = 12 327 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 328 End 329 330 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19 331 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 332 TriggeredBy = Upgrade_InfantryCaptureBuilding 333 End 334 335 Behavior = SpecialAbility ModuleTag_20 336 SpecialPowerTemplate = SpecialAbilityBoobyTrap 337 UpdateModuleStartsAttack = Yes 338 StartsPaused = Yes 339 InitiateSound = RebelVoiceBoobyTrapInstall 340 End 341 Behavior = SpecialAbilityUpdate ModuleTag_21 342 SpecialPowerTemplate = SpecialAbilityBoobyTrap 343 StartAbilityRange = 5.0 344 PreparationTime = 0 345 SpecialObject = BoobyTrap 346 MaxSpecialObjects = 100 347 SpecialObjectsPersistWhenOwnerDies = Yes 348 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 349 ; Not implemented UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 350 End 351 352 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_22 353 SpecialPowerTemplate = SpecialAbilityBoobyTrap 354 TriggeredBy = Upgrade_GLAInfantryRebelBoobyTrapAttack 355 End 356 357 Geometry = CYLINDER 358 GeometryMajorRadius = 10.0 359 GeometryMinorRadius = 10.0 360 GeometryHeight = 12.0 361 GeometryIsSmall = Yes 362 Shadow = SHADOW_DECAL 363 ShadowSizeX = 14; 364 ShadowSizeY = 14; 365 ShadowTexture = ShadowI; 366 BuildCompletion = APPEARS_AT_RALLY_POINT 367 368 End 369 370 ;---------------------------------------------------------------------------- 371 Object GLAInfantryJarmenKell 372 373 ; *** ART Parameters *** 374 SelectPortrait = SUJermanKell1_L ;NOTE: Asset spelling mistake 375 ButtonImage = SUJermanKell1 376 377 UpgradeCameo1 = Upgrade_GLAAPBullets 378 ;UpgradeCameo2 = NONE 379 ;UpgradeCameo3 = NONE 380 ;UpgradeCameo4 = NONE 381 ;UpgradeCameo5 = NONE 382 383 Draw = W3DModelDraw ModuleTag_01 384 OkToChangeModelColor = Yes 385 386 ; --- idle 387 DefaultConditionState 388 Model = UIHERO_SKN 389 IdleAnimation = UIHERO_SKL.UIHERO_STA 0 21 390 IdleAnimation = UIHERO_SKL.UIHERO_IDA 391 IdleAnimation = UIHERO_SKL.UIHERO_IDB 392 AnimationMode = ONCE 393 WeaponFireFXBone = PRIMARY Muzzle 394 WeaponMuzzleFlash = PRIMARY MuzzleFX 395 TransitionKey = TRANS_Stand 396 End 397 398 ConditionState = REALLYDAMAGED 399 IdleAnimation = UIHERO_SKL.UIHERO_ISTA 0 30 400 IdleAnimation = UIHERO_SKL.UIHERO_IIDA 401 IdleAnimation = UIHERO_SKL.UIHERO_IIDB 402 AnimationMode = ONCE 403 TransitionKey = TRANS_StandInjured 404 End 405 406 TransitionState = TRANS_Stand TRANS_StandInjured 407 Animation = UIHERO_SKL.UIHERO_ISTAHIT 408 AnimationMode = ONCE 409 End 410 411 ; --- attack 412 413 ConditionState = FIRING_A 414 Animation = UIHERO_SKL.UIHERO_ATA 415 AnimationMode = ONCE 416 TransitionKey = TRANS_FiringA 417 AnimationSpeedFactorRange = 1.5 1.5 418 End 419 420 ConditionState = BETWEEN_FIRING_SHOTS_A 421 Animation = UIHERO_SKL.UIHERO_STA 422 AnimationMode = ONCE 423 WaitForStateToFinishIfPossible = TRANS_FiringA 424 End 425 AliasConditionState = RELOADING_A 426 427 ConditionState = FIRING_A REALLYDAMAGED 428 Animation = UIHERO_SKL.UIHERO_IATA2 429 AnimationMode = ONCE 430 TransitionKey = TRANS_FiringAInjured 431 AnimationSpeedFactorRange = 1.5 1.5 432 End 433 434 ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 435 Animation = UIHERO_SKL.UIHERO_IATA2 436 AnimationMode = MANUAL 437 Flags = START_FRAME_LAST 438 WaitForStateToFinishIfPossible = TRANS_FiringAInjured 439 End 440 AliasConditionState = RELOADING_A REALLYDAMAGED 441 442 TransitionState = TRANS_FiringA TRANS_FiringAInjured 443 Animation = UIHERO_SKL.UIHERO_IATAHIT 444 AnimationMode = ONCE 445 End 446 447 ; --- moving 448 ConditionState = MOVING 449 Animation = UIHERO_SKL.UIHERO_RNA2 30 450 AnimationMode = LOOP 451 Flags = RANDOMSTART 452 TransitionKey = None 453 ParticleSysBone = None InfantryDustTrails 454 End 455 AliasConditionState = MOVING FIRING_A 456 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 457 AliasConditionState = MOVING RELOADING_A 458 AliasConditionState = MOVING DOCKING 459 AliasConditionState = MOVING DOCKING_BEGINNING 460 AliasConditionState = MOVING DOCKING_ACTIVE 461 462 ConditionState = MOVING REALLYDAMAGED 463 Animation = UIHERO_SKL.UIHERO_IRNA 30 464 AnimationMode = LOOP 465 Flags = RANDOMSTART 466 TransitionKey = None 467 ParticleSysBone = None InfantryDustTrails 468 End 469 AliasConditionState = MOVING FIRING_A REALLYDAMAGED 470 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED 471 AliasConditionState = MOVING RELOADING_A REALLYDAMAGED 472 473 ; --- cheering 474 ConditionState = SPECIAL_CHEERING 475 Animation = UIHERO_SKL.UIHERO_CHA 476 AnimationMode = LOOP 477 End 478 479 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 480 Animation = UIHERO_SKL.UIHERO_ICHA 481 AnimationMode = LOOP 482 End 483 484 ; --- dying 485 ConditionState = DYING 486 Animation = UIHERO_SKL.UIHERO_DTA 487 Animation = UIHERO_SKL.UIHERO_DTB 488 Animation = UIHERO_SKL.UIHERO_IDTA 489 Animation = UIHERO_SKL.UIHERO_IDTB 490 AnimationMode = ONCE 491 TransitionKey = TRANS_Dying 492 End 493 494 TransitionState = TRANS_Dying TRANS_Flailing 495 Animation = UIHERO_SKL.UIHERO_ADTG21 496 AnimationMode = ONCE 497 End 498 499 ConditionState = DYING EXPLODED_FLAILING 500 Animation = UIHERO_SKL.UIHERO_ADTG22 501 AnimationMode = LOOP 502 TransitionKey = TRANS_Flailing 503 End 504 505 ConditionState = DYING EXPLODED_BOUNCING 506 Animation = UIHERO_SKL.UIHERO_ADTG23 507 AnimationMode = ONCE 508 TransitionKey = None 509 End 510 511 ; --- falling 512 ConditionState = FREEFALL 513 Animation = UIHERO_SKL.UIHERO_PFL 514 AnimationMode = LOOP 515 TransitionKey = TRANS_Falling 516 End 517 AliasConditionState = FREEFALL REALLYDAMAGED 518 AliasConditionState = FREEFALL DYING 519 520 ConditionState = PARACHUTING 521 Animation = UIHERO_SKL.UIHERO_PHG 522 AnimationMode = LOOP 523 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 524 TransitionKey = TRANS_Chute 525 End 526 AliasConditionState = PARACHUTING REALLYDAMAGED 527 AliasConditionState = PARACHUTING DYING 528 529 TransitionState = TRANS_Falling TRANS_Chute 530 Animation = UIHERO_SKL.UIHERO_POP 531 AnimationMode = ONCE 532 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 533 End 534 535 TransitionState = TRANS_Chute TRANS_Stand 536 Animation = UIHERO_SKL.UIHERO_PTD 537 AnimationMode = ONCE 538 End 539 540 TransitionState = TRANS_Chute TRANS_StandInjured 541 Animation = UIHERO_SKL.UIHERO_PTD 542 AnimationMode = ONCE 543 End 544 545 End 546 547 ; ***DESIGN parameters *** 548 DisplayName = OBJECT:JarmenKell 549 Side = GLA 550 EditorSorting = INFANTRY 551 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 552 MaxSimultaneousOfType = 1 553 554 WeaponSet 555 Conditions = None 556 Weapon = PRIMARY GLAJarmenKellRifle 557 Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle 558 AutoChooseSources = SECONDARY NONE 559 End 560 561 ArmorSet 562 Conditions = None 563 Armor = HumanArmor 564 DamageFX = InfantryDamageFX 565 End 566 VisionRange = 200 567 ShroudClearingRange = 400 568 Prerequisites 569 Object = GLABarracks 570 Object = GLAPalace 571 End 572 BuildCost = 1500 573 BuildTime = 20.0 ;in seconds 574 575 ExperienceValue = 50 50 100 150 ;Experience point value at each level 576 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 577 IsTrainable = Yes ;Can gain experience 578 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 579 CommandSet = GLAInfantryJarmenKellCommandSet 580 581 ; *** AUDIO Parameters *** 582 VoiceSelect = JarmenKellVoiceSelect 583 VoiceMove = JarmenKellVoiceMove 584 VoiceGuard = JarmenKellVoiceMove 585 VoiceAttack = JarmenKellVoiceAttack 586 VoiceFear = JarmenKellVoiceFear 587 SoundStealthOn = StealthOn 588 SoundStealthOff = StealthOff 589 590 UnitSpecificSounds 591 VoiceCreate = JarmenKellVoiceCreate 592 VoiceSnipePilot = JarmenKellVoiceSnipe 593 VoiceGarrison = JarmenKellVoiceGarrison 594 VoiceEnter = JarmenKellVoiceMove 595 VoiceEnterHostile = JarmenKellVoiceMove 596 VoiceGetHealed = JarmenKellVoiceMove 597 End 598 599 600 ; *** ENGINEERING Parameters *** 601 RadarPriority = UNIT 602 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE HERO CANNOT_RETALIATE 603 604 Body = ActiveBody ModuleTag_02 605 MaxHealth = 200.0 606 InitialHealth = 200.0 607 End 608 609 Behavior = AIUpdateInterface ModuleTag_03 610 AutoAcquireEnemiesWhenIdle = Yes 611 End 612 Locomotor = SET_NORMAL JarmenKellLocomotor 613 614 Behavior = PhysicsBehavior ModuleTag_04 615 Mass = 5.0 616 End 617 Behavior = StealthUpdate ModuleTag_06 618 StealthDelay = 2000 ; msec 619 StealthForbiddenConditions = ATTACKING 620 InnateStealth = Yes 621 OrderIdleEnemiesToAttackMeUponReveal = Yes 622 EnemyDetectionEvaEvent = EnemyJarmenKellDetected 623 OwnDetectionEvaEvent = OwnJarmenKellDetected 624 End 625 626 Behavior = CommandButtonHuntUpdate ModuleTag_07 ; allows use of command button hunt script with this unit. 627 End 628 629 Behavior = WeaponBonusUpgrade ModuleTag_08 630 TriggeredBy = Upgrade_GLAAPBullets 631 End 632 633 ;Hero units can't be squished! 634 ;Behavior = SquishCollide ModuleTag_09 635 ; ;nothing 636 ;End 637 638 639 ; --- begin Death modules --- 640 Behavior = SlowDeathBehavior ModuleTag_Death01 641 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 642 SinkDelay = 3000 643 SinkRate = 0.5 ; in Dist/Sec 644 DestructionDelay = 8000 645 FX = INITIAL FX_JarmenKellDie 646 End 647 Behavior = SlowDeathBehavior ModuleTag_Death02 648 DeathTypes = NONE +CRUSHED +SPLATTED 649 SinkDelay = 3000 650 SinkRate = 0.5 ; in Dist/Sec 651 DestructionDelay = 8000 652 FX = INITIAL FX_GIDieCrushed 653 End 654 Behavior = SlowDeathBehavior ModuleTag_Death03 655 DeathTypes = NONE +EXPLODED 656 SinkDelay = 3000 657 SinkRate = 0.5 ; in Dist/Sec 658 DestructionDelay = 8000 659 FX = INITIAL FX_JarmenKellDie 660 FlingForce = 8 661 FlingForceVariance = 3 662 FlingPitch = 60 663 FlingPitchVariance = 10 664 End 665 Behavior = SlowDeathBehavior ModuleTag_Death04 666 DeathTypes = NONE +BURNED 667 DestructionDelay = 0 668 FX = INITIAL FX_DieByFireGLA 669 OCL = INITIAL OCL_FlamingInfantry 670 End 671 Behavior = SlowDeathBehavior ModuleTag_Death05 672 DeathTypes = NONE +POISONED 673 DestructionDelay = 0 674 FX = INITIAL FX_DieByToxinGLA 675 OCL = INITIAL OCL_ToxicInfantry 676 End 677 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 678 DeathTypes = NONE +POISONED_BETA 679 DestructionDelay = 0 680 FX = INITIAL FX_DieByToxinGLA 681 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 682 End 683 Behavior = SlowDeathBehavior ModuleTag_Death07 684 DeathTypes = NONE +POISONED_GAMMA 685 DestructionDelay = 0 686 FX = INITIAL FX_DieByToxinGLA 687 OCL = INITIAL OCL_ToxicInfantryGamma 688 End 689 690 ; --- end Death modules --- 691 692 Behavior = PoisonedBehavior ModuleTag_14 693 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 694 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 695 End 696 697 Geometry = CYLINDER 698 GeometryMajorRadius = 10.0 699 GeometryMinorRadius = 10.0 700 GeometryHeight = 12.0 701 GeometryIsSmall = Yes 702 Shadow = SHADOW_DECAL 703 ShadowSizeX = 14; 704 ShadowSizeY = 14; 705 ShadowTexture = ShadowI; 706 BuildCompletion = APPEARS_AT_RALLY_POINT 707 708 End 709 710 711 712 713 714 715 716 ;------------------------------------------------------------------------------ 717 ;Tunnel Fanatic ;Now called the RPG Trooper 718 Object GLAInfantryTunnelDefender 719 720 ; *** ART Parameters *** 721 SelectPortrait = SURPG_L 722 ButtonImage = SURPG 723 724 UpgradeCameo1 = Upgrade_GLAAPRockets 725 ;UpgradeCameo2 = NONE 726 ;UpgradeCameo3 = NONE 727 ;UpgradeCameo4 = NONE 728 ;UpgradeCameo5 = NONE 729 730 Draw = W3DModelDraw ModuleTag_01 731 OkToChangeModelColor = Yes 732 733 DefaultConditionState 734 Model = UITunF_SKN 735 IdleAnimation = UITunF_SKL.UITunF_STA 0 20 736 IdleAnimation = UITunF_SKL.UITunF_IDA 737 IdleAnimation = UITunF_SKL.UITunF_IDB 738 IdleAnimation = UITunF_SKL.UITunF_IDC 739 AnimationMode = ONCE 740 WeaponMuzzleFlash = PRIMARY MuzzleFX 741 WeaponFireFXBone = PRIMARY Muzzle 742 WeaponLaunchBone = PRIMARY Muzzle 743 End 744 745 ConditionState = MOVING 746 Animation = UITunF_SKL.UITunF_WKA 16 747 Animation = UITunF_SKL.UITunF_WKB 30 748 Animation = UITunF_SKL.UITunF_WKC 30 749 Animation = UITunF_SKL.UITunF_RNA 15 750 Animation = UITunF_SKL.UITunF_RNB 25 751 AnimationMode = LOOP 752 ParticleSysBone = None InfantryDustTrails 753 End 754 755 ConditionState = DYING 756 Animation = UITunF_SKL.UITunF_DTA 757 Animation = UITunF_SKL.UITunF_DTB 758 AnimationMode = ONCE 759 TransitionKey = TRANS_Dying 760 End 761 762 TransitionState = TRANS_Dying TRANS_Flailing 763 Animation = UITunF_SKL.UITunF_ADTA1 764 Animation = UITunF_SKL.UITunF_ADTE1 765 Animation = UITunF_SKL.UITunF_ADTF1 766 AnimationMode = ONCE 767 End 768 769 ConditionState = DYING EXPLODED_FLAILING 770 Animation = UITunF_SKL.UITunF_ADTA2 771 Animation = UITunF_SKL.UITunF_ADTE2 772 Animation = UITunF_SKL.UITunF_ADTF2 773 AnimationMode = LOOP 774 TransitionKey = TRANS_Flailing 775 End 776 777 ConditionState = DYING EXPLODED_BOUNCING 778 Animation = UITunF_SKL.UITunF_ADTA3 779 Animation = UITunF_SKL.UITunF_ADTE3 780 Animation = UITunF_SKL.UITunF_ADTF3 781 AnimationMode = ONCE 782 TransitionKey = None 783 End 784 785 ConditionState = FIRING_A 786 Animation = UITunF_SKL.UITunF_ATA 787 AnimationMode = ONCE 788 TransitionKey = TRANS_START_FIRING 789 End 790 ConditionState = BETWEEN_FIRING_SHOTS_A 791 Animation = UITunF_SKL.UITunF_STA 792 AnimationMode = ONCE 793 ; this is basically a trick: this guy has a nontrivial animation for firing, 794 ; and a long recycle time between shots. we want him to finish his fire animation 795 ; (unless he's ordered to do something else), so this is just a handy trick that 796 ; says, "if the previous state had this transition key, allow it to finish before 797 ; switching to us, if possible". 798 WaitForStateToFinishIfPossible = TRANS_START_FIRING 799 End 800 AliasConditionState = RELOADING_A 801 802 ConditionState = SPECIAL_CHEERING 803 Animation = UITUNF_SKL.UITUNF_CHA 804 AnimationMode = LOOP 805 End 806 807 End 808 809 ; ***DESIGN parameters *** 810 DisplayName = OBJECT:TunnelDefender 811 Side = GLA 812 EditorSorting = INFANTRY 813 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 814 WeaponSet 815 Conditions = None 816 Weapon = PRIMARY TunnelDefenderRocketWeapon 817 End 818 ArmorSet 819 Conditions = None 820 Armor = HumanArmor 821 DamageFX = InfantryDamageFX 822 End 823 VisionRange = 150 824 ShroudClearingRange = 400 825 ; Prerequisites 826 ; Object = GLATunnelNetwork 827 ; End 828 BuildCost = 300 829 BuildTime = 5.0 ;in seconds 830 831 ExperienceValue = 20 20 40 60 ;Experience point value at each level 832 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 833 IsTrainable = Yes ;Can gain experience 834 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 835 CommandSet = GLAInfantryTunnelDefenderCommandSet 836 837 ; *** AUDIO Parameters *** 838 VoiceSelect = RPGTrooperVoiceSelect 839 VoiceMove = RPGTrooperVoiceMove 840 VoiceGuard = RPGTrooperVoiceMove 841 VoiceAttack = RPGTrooperVoiceAttack 842 VoiceFear = RPGTrooperVoiceFear 843 UnitSpecificSounds 844 VoiceCreate = RPGTrooperVoiceCreate 845 VoiceGarrison = RPGTrooperVoiceGarrison 846 VoiceEnter = RPGTrooperVoiceMove 847 VoiceEnterHostile = RPGTrooperVoiceMove 848 VoiceGetHealed = RPGTrooperVoiceMove 849 End 850 851 852 ; *** ENGINEERING Parameters *** 853 RadarPriority = UNIT 854 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 855 856 Body = ActiveBody ModuleTag_02 857 MaxHealth = 100.0 858 InitialHealth = 100.0 859 End 860 861 Behavior = AIUpdateInterface ModuleTag_03 862 AutoAcquireEnemiesWhenIdle = Yes 863 End 864 Locomotor = SET_NORMAL MissileDefenderLocomotor 865 866 Behavior = PhysicsBehavior ModuleTag_04 867 Mass = 5.0 868 End 869 870 Behavior = SquishCollide ModuleTag_06 871 ;nothing 872 End 873 874 ; --- begin Death modules --- 875 Behavior = SlowDeathBehavior ModuleTag_Death01 876 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 877 SinkDelay = 3000 878 SinkRate = 0.5 ; in Dist/Sec 879 DestructionDelay = 8000 880 FX = INITIAL FX_RPGTrooperDie 881 End 882 Behavior = SlowDeathBehavior ModuleTag_Death02 883 DeathTypes = NONE +CRUSHED +SPLATTED 884 SinkDelay = 3000 885 SinkRate = 0.5 ; in Dist/Sec 886 DestructionDelay = 8000 887 FX = INITIAL FX_GIDieCrushed 888 End 889 Behavior = SlowDeathBehavior ModuleTag_Death03 890 DeathTypes = NONE +EXPLODED 891 SinkDelay = 3000 892 SinkRate = 0.5 ; in Dist/Sec 893 DestructionDelay = 8000 894 FX = INITIAL FX_RPGTrooperDie 895 FlingForce = 8 896 FlingForceVariance = 3 897 FlingPitch = 60 898 FlingPitchVariance = 10 899 End 900 Behavior = SlowDeathBehavior ModuleTag_Death04 901 DeathTypes = NONE +BURNED 902 DestructionDelay = 0 903 FX = INITIAL FX_DieByFireGLA 904 OCL = INITIAL OCL_FlamingInfantry 905 End 906 Behavior = SlowDeathBehavior ModuleTag_Death05 907 DeathTypes = NONE +POISONED 908 DestructionDelay = 0 909 FX = INITIAL FX_DieByToxinGLA 910 OCL = INITIAL OCL_ToxicInfantry 911 End 912 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 913 DeathTypes = NONE +POISONED_BETA 914 DestructionDelay = 0 915 FX = INITIAL FX_DieByToxinGLA 916 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 917 End 918 Behavior = SlowDeathBehavior ModuleTag_Death07 919 DeathTypes = NONE +POISONED_GAMMA 920 DestructionDelay = 0 921 FX = INITIAL FX_DieByToxinGLA 922 OCL = INITIAL OCL_ToxicInfantryGamma 923 End 924 925 ; --- end Death modules --- 926 927 Behavior = PoisonedBehavior ModuleTag_12 928 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 929 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 930 End 931 932 Geometry = CYLINDER 933 GeometryMajorRadius = 10.0 934 GeometryMinorRadius = 10.0 935 GeometryHeight = 12.0 936 GeometryIsSmall = Yes 937 Shadow = SHADOW_DECAL 938 ShadowSizeX = 14; 939 ShadowSizeY = 14; 940 ShadowTexture = ShadowI; 941 BuildCompletion = APPEARS_AT_RALLY_POINT 942 943 End 944 945 ;------------------------------------------------------------------------------ 946 ;***THESE UNITS ARE NOT SELECTABLE ANYMORE! To kill them, you must target 947 ; the stinger site. If the weapon does particular types of damage, it'll 948 ; kill guys inside first, then the site. 949 Object GLAInfantryStingerSoldier 950 951 ; *** ART Parameters *** 952 SelectPortrait = SUStinger_L 953 ButtonImage = SUStinger 954 955 Draw = W3DModelDraw ModuleTag_01 956 OkToChangeModelColor = Yes 957 958 DefaultConditionState 959 Model = UISmsd_SKN 960 IdleAnimation = UISmsd_SKL.UISmsd_STA 0 45 961 IdleAnimation = UISmsd_SKL.UISmsd_IDA 962 IdleAnimation = UISmsd_SKL.UISmsd_IDB 963 IdleAnimation = UISmsd_SKL.UISmsd_IDC 964 IdleAnimation = UISmsd_SKL.UISmsd_IDD 965 AnimationMode = ONCE 966 WeaponMuzzleFlash = PRIMARY MuzzleFX 967 WeaponFireFXBone = PRIMARY Exhaust 968 WeaponLaunchBone = PRIMARY Muzzle 969 WeaponFireFXBone = SECONDARY Exhaust 970 WeaponLaunchBone = SECONDARY Muzzle 971 972 WaitForStateToFinishIfPossible = TRANS_START_FIRING 973 974 End 975 AliasConditionState = BETWEEN_FIRING_SHOTS_A 976 AliasConditionState = BETWEEN_FIRING_SHOTS_B 977 AliasConditionState = RELOADING_A 978 AliasConditionState = RELOADING_B 979 980 ConditionState = MOVING 981 Animation = UISmsd_SKL.UISmsd_WKB 25 982 AnimationMode = LOOP 983 End 984 985 ConditionState = DYING 986 Animation = UISmsd_SKL.UISmsd_DTA 987 Animation = UISmsd_SKL.UISmsd_DTB 988 AnimationMode = ONCE 989 TransitionKey = TRANS_Dying 990 WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish 991 End 992 993 TransitionState = TRANS_Dying TRANS_Flailing 994 Animation = UISmsd_SKL.UISmsd_ADTF1 995 Animation = UISmsd_SKL.UISmsd_ADTG21 996 AnimationMode = ONCE 997 End 998 999 ConditionState = DYING EXPLODED_FLAILING 1000 Animation = UISmsd_SKL.UISmsd_ADTF2 1001 Animation = UISmsd_SKL.UISmsd_ADTG22 1002 AnimationMode = LOOP 1003 TransitionKey = TRANS_Flailing 1004 WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish 1005 End 1006 1007 ConditionState = DYING EXPLODED_BOUNCING 1008 Animation = UISmsd_SKL.UISmsd_ADTF3 1009 Animation = UISmsd_SKL.UISmsd_ADTG23 1010 AnimationMode = ONCE 1011 TransitionKey = None 1012 WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish 1013 End 1014 1015 ConditionState = FIRING_A 1016 Animation = UISmsd_SKL.UISmsd_ATA 1017 AnimationMode = ONCE 1018 TransitionKey = TRANS_START_FIRING 1019 End 1020 ; AliasConditionState is a new keyword that says, 1021 ; "give me another ConditionState exactly like the previous 1022 ; one, except with different conditions". Useful when you 1023 ; have several states that are the same with only different condition bits. 1024 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 1025 AliasConditionState = MOVING FIRING_A 1026 AliasConditionState = MOVING RELOADING_A 1027 1028 ConditionState = FIRING_B 1029 Animation = UISmsd_SKL.UISmsd_ATB 1030 AnimationMode = ONCE 1031 TransitionKey = TRANS_START_FIRINGB 1032 End 1033 ; AliasConditionState is a new keyword that says, 1034 ; "give me another ConditionState exactly like the previous 1035 ; one, except with different conditions". Useful when you 1036 ; have several states that are the same with only different condition bits. 1037 ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). 1038 AliasConditionState = MOVING FIRING_B 1039 AliasConditionState = MOVING RELOADING_B 1040 1041 1042 ConditionState = SPECIAL_CHEERING 1043 Animation = UISMSD_SKL.UISMSD_CHA 1044 AnimationMode = LOOP 1045 End 1046 1047 End 1048 1049 ; ***DESIGN parameters *** 1050 DisplayName = OBJECT:StingerSoldier 1051 Side = GLA 1052 EditorSorting = INFANTRY 1053 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 1054 WeaponSet 1055 Conditions = None 1056 Weapon = PRIMARY StingerMissileWeapon 1057 AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT 1058 Weapon = SECONDARY StingerMissileWeaponAir 1059 PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT 1060 End 1061 ArmorSet 1062 Conditions = None 1063 Armor = StingerSoldierArmor ;Extra protection due to being enclosed by the stinger site. 1064 DamageFX = None 1065 End 1066 VisionRange = 400.0 1067 ShroudClearingRange = 400 1068 1069 Prerequisites 1070 Object = GLABarracks 1071 End 1072 BuildCost = 100 1073 BuildTime = 1.0 ;in seconds 1074 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1075 1076 ; CommandSet = GLAInfantryRebelCommandSet 1077 1078 ; *** AUDIO Parameters *** 1079 VoiceSelect = StingerSoldierVoiceSelect 1080 VoiceMove = StingerSoldierVoiceMove 1081 VoiceAttack = StingerSoldierVoiceAttack 1082 1083 ; *** ENGINEERING Parameters *** 1084 RadarPriority = UNIT 1085 KindOf = PRELOAD CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER CLICK_THROUGH SPAWNS_ARE_THE_WEAPONS 1086 1087 Body = ActiveBody ModuleTag_02 1088 MaxHealth = 100.0 1089 InitialHealth = 100.0 1090 End 1091 1092 Behavior = StealthDetectorUpdate ModuleTag_16 1093 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 1094 DetectionRange = 200 ;Dustin, enable this for independant balancing! 1095 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 1096 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 1097 End 1098 1099 Behavior = AIUpdateInterface ModuleTag_03 1100 AutoAcquireEnemiesWhenIdle = Yes Stealthed ATTACK_BUILDINGS 1101 MoodAttackCheckRate = 250 1102 End 1103 Locomotor = SET_NORMAL BasicHumanLocomotor 1104 Behavior = PhysicsBehavior ModuleTag_04 1105 Mass = 5.0 1106 End 1107 Behavior = SlavedUpdate ModuleTag_06 1108 ;nothing 1109 End 1110 ; Behavior = ProneUpdate ModuleTag_07 1111 ; 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 1112 ; End 1113 1114 Behavior = SquishCollide ModuleTag_08 1115 ;nothing 1116 End 1117 1118 Behavior = StealthUpdate ModuleTag_09 1119 StealthDelay = 2500 ; msec 1120 StealthForbiddenConditions = ATTACKING USING_ABILITY 1121 MoveThresholdSpeed = 3 1122 InnateStealth = No ;Requires upgrade first 1123 OrderIdleEnemiesToAttackMeUponReveal = Yes 1124 End 1125 Behavior = StealthUpgrade ModuleTag_10 1126 TriggeredBy = Upgrade_GLACamoNetting 1127 End 1128 1129 1130 ; --- begin Death modules --- 1131 Behavior = SlowDeathBehavior ModuleTag_Death01 1132 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 1133 SinkDelay = 3000 1134 SinkRate = 0.5 ; in Dist/Sec 1135 DestructionDelay = 8000 1136 FX = INITIAL FX_StingerSoldierDie 1137 End 1138 Behavior = SlowDeathBehavior ModuleTag_Death02 1139 DeathTypes = NONE +CRUSHED +SPLATTED 1140 SinkDelay = 3000 1141 SinkRate = 0.5 ; in Dist/Sec 1142 DestructionDelay = 8000 1143 FX = INITIAL FX_GIDieCrushed 1144 End 1145 Behavior = SlowDeathBehavior ModuleTag_Death03 1146 DeathTypes = NONE +EXPLODED 1147 SinkDelay = 3000 1148 SinkRate = 0.5 ; in Dist/Sec 1149 DestructionDelay = 8000 1150 FX = INITIAL FX_StingerSoldierDie 1151 FlingForce = 8 1152 FlingForceVariance = 3 1153 FlingPitch = 60 1154 FlingPitchVariance = 10 1155 End 1156 Behavior = SlowDeathBehavior ModuleTag_Death04 1157 DeathTypes = NONE +BURNED 1158 DestructionDelay = 0 1159 FX = INITIAL FX_DieByFireGLA 1160 OCL = INITIAL OCL_FlamingInfantry 1161 End 1162 Behavior = SlowDeathBehavior ModuleTag_Death05 1163 DeathTypes = NONE +POISONED 1164 DestructionDelay = 0 1165 FX = INITIAL FX_DieByToxinGLA 1166 OCL = INITIAL OCL_ToxicInfantry 1167 End 1168 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 1169 DeathTypes = NONE +POISONED_BETA 1170 DestructionDelay = 0 1171 FX = INITIAL FX_DieByToxinGLA 1172 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 1173 End 1174 Behavior = SlowDeathBehavior ModuleTag_Death07 1175 DeathTypes = NONE +POISONED_GAMMA 1176 DestructionDelay = 0 1177 FX = INITIAL FX_DieByToxinGLA 1178 OCL = INITIAL OCL_ToxicInfantryGamma 1179 End 1180 1181 ; --- end Death modules --- 1182 1183 Behavior = PoisonedBehavior ModuleTag_14 1184 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 1185 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 1186 End 1187 1188 Geometry = CYLINDER 1189 GeometryMajorRadius = 10.0 1190 GeometryMinorRadius = 10.0 1191 GeometryHeight = 12.0 1192 GeometryIsSmall = Yes 1193 Shadow = SHADOW_DECAL 1194 ShadowSizeX = 14 1195 ShadowSizeY = 14 1196 ShadowTexture = ShadowI; 1197 BuildCompletion = APPEARS_AT_RALLY_POINT 1198 1199 End 1200 1201 1202 1203 1204 1205 1206 ;------------------------------------------------------------------------------ 1207 Object GLAInfantryTerrorist 1208 1209 ; *** ART Parameters *** 1210 SelectPortrait = SUTerrorist_L 1211 ButtonImage = SUTerrorist 1212 1213 ;UpgradeCameo1 = NONE 1214 ;UpgradeCameo2 = NONE 1215 ;UpgradeCameo3 = NONE 1216 ;UpgradeCameo4 = NONE 1217 ;UpgradeCameo5 = NONE 1218 1219 Draw = W3DModelDraw ModuleTag_01 1220 OkToChangeModelColor = Yes 1221 DefaultConditionState 1222 Model = UITRST_SKN 1223 IdleAnimation = UITRST_SKL.UITRST_STA 0 25 1224 ;Regular spice animations 1225 IdleAnimation = UITRST_SKL.UITRST_IDA 1226 IdleAnimation = UITRST_SKL.UITRST_IDB 1227 AnimationMode = ONCE 1228 TransitionKey = TRANS_Stand 1229 End 1230 1231 ConditionState = REALLYDAMAGED 1232 Animation = UITRST_SKL.UITRST_STA 1233 AnimationMode = LOOP 1234 TransitionKey = TRANS_Stand 1235 End 1236 1237 ConditionState = FREEFALL 1238 Animation = UITRST_SKL.UITRST_PFL 1239 AnimationMode = LOOP 1240 TransitionKey = TRANS_Falling 1241 End 1242 AliasConditionState = FREEFALL REALLYDAMAGED 1243 AliasConditionState = FREEFALL DYING 1244 1245 ConditionState = PARACHUTING 1246 Animation = UITRST_SKL.UITRST_PHG 1247 AnimationMode = LOOP 1248 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 1249 TransitionKey = TRANS_Chute 1250 End 1251 AliasConditionState = PARACHUTING REALLYDAMAGED 1252 AliasConditionState = PARACHUTING DYING 1253 1254 ConditionState = MOVING 1255 Animation = UITRST_SKL.UITRST_RNA 15 1256 AnimationMode = LOOP 1257 Flags = RANDOMSTART 1258 TransitionKey = None 1259 ParticleSysBone = None InfantryDustTrails 1260 End 1261 AliasConditionState = MOVING REALLYDAMAGED 1262 1263 ConditionState = ATTACKING MOVING 1264 Animation = UITRST_SKL.UITRST_RNB 10 1265 AnimationMode = LOOP 1266 Flags = RANDOMSTART 1267 TransitionKey = None 1268 End 1269 AliasConditionState = ATTACKING MOVING REALLYDAMAGED 1270 1271 ConditionState = PREATTACK_A 1272 Animation = UITRST_SKL.UITRST_ATA 1273 AnimationMode = ONCE 1274 End 1275 AliasConditionState = PREATTACK_A MOVING 1276 1277 ConditionState = DYING 1278 Animation = UITRST_SKL.UITRST_DTA 1279 Animation = UITRST_SKL.UITRST_DTC 1280 AnimationMode = ONCE 1281 TransitionKey = TRANS_Dying 1282 End 1283 1284 TransitionState = TRANS_Dying TRANS_Flailing 1285 Animation = UITRST_SKL.UITRST_ADTE1 1286 AnimationMode = ONCE 1287 End 1288 1289 ConditionState = DYING EXPLODED_FLAILING 1290 Animation = UITRST_SKL.UITRST_ADTE2 1291 AnimationMode = LOOP 1292 TransitionKey = TRANS_Flailing 1293 End 1294 1295 ConditionState = DYING EXPLODED_BOUNCING 1296 Animation = UITRST_SKL.UITRST_ADTE3 1297 AnimationMode = ONCE 1298 TransitionKey = None 1299 End 1300 1301 ConditionState = SPECIAL_CHEERING 1302 Animation = UITRST_SKL.UITRST_CHA 1303 AnimationMode = LOOP 1304 End 1305 1306 TransitionState = TRANS_Falling TRANS_Chute 1307 Animation = UITRST_SKL.UITRST_POP 1308 AnimationMode = ONCE 1309 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 1310 End 1311 1312 TransitionState = TRANS_Chute TRANS_Stand 1313 Animation = UITRST_SKL.UITRST_PTD 1314 AnimationMode = ONCE 1315 End 1316 1317 End 1318 1319 ; ***DESIGN parameters *** 1320 DisplayName = OBJECT:Terrorist 1321 Side = GLA 1322 EditorSorting = INFANTRY 1323 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 1324 WeaponSet 1325 Conditions = None 1326 ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE 1327 ;damage to do ini logic for type of death to play -- unresistable for success. 1328 Weapon = PRIMARY TerroristSuicideWeapon 1329 End 1330 ArmorSet 1331 Conditions = None 1332 Armor = HumanArmor 1333 DamageFX = InfantryDamageFX 1334 End 1335 VisionRange = 150 1336 ShroudClearingRange = 200 1337 Prerequisites 1338 Object = GLABarracks 1339 End 1340 BuildCost = 200 1341 BuildTime = 5.0 ;in seconds 1342 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1343 CommandSet = GLAInfantryTerroristCommandSet 1344 1345 ; *** AUDIO Parameters *** 1346 VoiceSelect = TerroristVoiceSelect 1347 VoiceMove = TerroristVoiceMove 1348 VoiceAttack = TerroristVoiceAttack 1349 VoiceFear = TerroristVoiceFear 1350 VoiceGuard = TerroristVoiceMove 1351 UnitSpecificSounds 1352 VoiceGarrison = TerroristVoiceMove 1353 VoiceCreate = TerroristVoiceCreate 1354 VoiceEnter = TerroristVoiceEnter 1355 VoiceEnterHostile = TerroristVoiceEnterHostile 1356 VoiceGetHealed = TerroristVoiceMove 1357 End 1358 1359 ; *** ENGINEERING Parameters *** 1360 RadarPriority = UNIT 1361 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 1362 1363 Body = ActiveBody ModuleTag_02 1364 MaxHealth = 120.0 1365 InitialHealth = 120.0 1366 End 1367 1368 ExperienceValue = 20 20 20 20 ; Experience point value at each level 1369 1370 Behavior = AIUpdateInterface ModuleTag_03 1371 AutoAcquireEnemiesWhenIdle = Yes 1372 End 1373 Behavior = CommandButtonHuntUpdate ModuleTag_CBH01 ; allows use of command button hunt script with this unit. 1374 End 1375 1376 Locomotor = SET_NORMAL FastHumanLocomotor 1377 Behavior = PhysicsBehavior ModuleTag_04 1378 Mass = 5.0 1379 End 1380 1381 ;Kris 1382 Behavior = ConvertToCarBombCrateCollide ModuleTag_06 1383 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with 1384 ;ForbiddenKindOf = TRANSPORT DOZER ; but not to TRANSPORTs or DOZERs! 1385 FXList = FX_MakeCarBombSuccess 1386 End 1387 1388 Behavior = SquishCollide ModuleTag_07 1389 ;nothing 1390 End 1391 1392 ; --- begin Death modules --- 1393 Behavior = SlowDeathBehavior ModuleTag_Death01 1394 DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA 1395 SinkDelay = 3000 1396 SinkRate = 0.5 ; in Dist/Sec 1397 DestructionDelay = 8000 1398 FX = INITIAL FX_TerroristDie 1399 End 1400 1401 1402 ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS 1403 Behavior = SlowDeathBehavior ModuleTag_Death02 1404 DeathTypes = NONE +POISONED 1405 DestructionDelay = 0 1406 FX = INITIAL FX_DieByToxinGLA 1407 OCL = INITIAL OCL_ToxicInfantry_TerroristOnly 1408 End 1409 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 1410 DeathTypes = NONE +POISONED_BETA 1411 DestructionDelay = 0 1412 FX = INITIAL FX_DieByToxinGLA 1413 OCL = INITIAL OCL_ToxicInfantryBeta_TerroristOnly ;you'll have to create this OCL and make it use the blue guys instead of green ones 1414 End 1415 Behavior = SlowDeathBehavior ModuleTag_Death07 1416 DeathTypes = NONE +POISONED_GAMMA 1417 DestructionDelay = 0 1418 FX = INITIAL FX_DieByToxinGLA 1419 OCL = INITIAL OCL_ToxicInfantryGamma_TerroristOnly 1420 End 1421 1422 ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS 1423 1424 1425 ; I have just pulled my ripcord, and this ain't no parachute! 1426 Behavior = SlowDeathBehavior ModuleTag_Death03 1427 DeathTypes = NONE +SUICIDED 1428 SinkDelay = 3000 1429 SinkRate = 0.5 ; in Dist/Sec 1430 DestructionDelay = 8000 1431 FX = INITIAL FX_TerroristExplode 1432 FlingForce = 8 1433 FlingForceVariance = 3 1434 FlingPitch = 60 1435 FlingPitchVariance = 10 1436 End 1437 Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04 1438 DeathWeapon = SuicideDynamitePack 1439 StartsActive = Yes ; turned on by upgrade 1440 DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED 1441 End 1442 ; --- end Death modules --- 1443 1444 Behavior = PoisonedBehavior ModuleTag_14 1445 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 1446 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 1447 End 1448 1449 Geometry = CYLINDER 1450 GeometryMajorRadius = 10.0 1451 GeometryMinorRadius = 10.0 1452 GeometryHeight = 12.0 1453 GeometryIsSmall = Yes 1454 Shadow = SHADOW_DECAL 1455 ShadowSizeX = 14; 1456 ShadowSizeY = 14; 1457 ShadowTexture = ShadowI; 1458 BuildCompletion = APPEARS_AT_RALLY_POINT 1459 1460 End 1461 1462 1463 1464 1465 1466 1467 1468 1469 ;------------------------------------------------------------------------------ 1470 ;------------------------------------------------------------------------------ 1471 Object GLAInfantryAngryMobNexus 1472 1473 ;**** ART Parameters ************************** 1474 SelectPortrait = SUAngryMob_L 1475 ButtonImage = SUAngryMob 1476 1477 UpgradeCameo1 = Upgrade_GLAArmTheMob 1478 ;UpgradeCameo2 = NONE 1479 ;UpgradeCameo3 = NONE 1480 ;UpgradeCameo4 = NONE 1481 ;UpgradeCameo5 = NONE 1482 1483 Draw = W3DModelDraw ModuleTag_01 1484 OkToChangeModelColor = Yes 1485 DefaultConditionState 1486 Model = None 1487 ; Model = AVBomber_B 1488 End 1489 End 1490 1491 1492 ;****DESIGN parameters ************************** 1493 1494 DisplayName = OBJECT:AngryMobNexus 1495 Side = GLA 1496 1497 RadarPriority = NOT_ON_RADAR 1498 1499 EditorSorting = INFANTRY 1500 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 1501 1502 WeaponSet 1503 Conditions = None 1504 Weapon = PRIMARY GLAAngryMobNexusHarmlessWeapon 1505 Weapon = SECONDARY GLAAngryMobNexusHarmlessWeapon 1506 Weapon = TERTIARY GLAAngryMobNexusHarmlessWeapon 1507 End 1508 1509 1510 ArmorSet 1511 Conditions = None 1512 Armor = InvulnerableAllArmor 1513 DamageFX = None 1514 End 1515 1516 BuildCost = 800 1517 BuildTime = 15.0 ;in seconds 1518 VisionRange = 150 ; it can scout for the spawn 1519 ShroudClearingRange = 0 1520 1521 Prerequisites 1522 Object = GLABarracks 1523 Object = GLAPalace 1524 End 1525 1526 ExperienceValue = 5 5 5 5 ;Experience point value at each level 1527 1528 IsTrainable = No 1529 1530 1531 1532 CommandSet = GLAInfantryAngryMobCommandSet; 1533 1534 ;**** AUDIO Parameters ***************************** 1535 VoiceSelect = AngryMobVoiceSelect 1536 VoiceMove = AngryMobVoiceMove 1537 VoiceGuard = AngryMobVoiceMove 1538 VoiceAttack = AngryMobVoiceAttack 1539 SoundMoveStart = NoSound 1540 SoundAmbient = AngryMobAmbientLoop 1541 SoundAmbientRubble = NoSound 1542 UnitSpecificSounds 1543 VoiceCreate = AngryMobVoiceCreate 1544 End 1545 1546 1547 ;**** ENGINEERING Parameters ****************************** 1548 1549 RadarPriority = UNIT 1550 KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE SCORE 1551 Body = ImmortalBody ModuleTag_02 1552 MaxHealth = 99999.0 1553 InitialHealth = 99999.0 1554 End 1555 1556 Behavior = AIUpdateInterface ModuleTag_03 1557 AutoAcquireEnemiesWhenIdle = Yes 1558 End 1559 1560 Locomotor = SET_NORMAL AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! 1561 Locomotor = SET_WANDER AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! 1562 Locomotor = SET_PANIC AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! 1563 1564 ; Locomotor = SET_NORMAL WanderHumanLocomotor ;Important! don't make the Nexus any faster! 1565 ; Locomotor = SET_WANDER WanderHumanLocomotor ;Important! don't make the Nexus any faster! 1566 ; Locomotor = SET_PANIC WanderHumanLocomotor ;Important! don't make the Nexus any faster! 1567 1568 Behavior = PhysicsBehavior ModuleTag_04 1569 Mass = 50.0 1570 End 1571 1572 Behavior = SpawnBehavior ModuleTag_05 1573 SpawnNumber = 10 1574 SpawnReplaceDelay = 30000 ; 30 seconds 1575 1576 SpawnTemplateName = GLAInfantryAngryMobPistol01 ; Aladdin 1577 SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume 1578 SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce 1579 SpawnTemplateName = GLAInfantryAngryMobPistol03 ; Skinny Guy with the Green Beret 1580 SpawnTemplateName = GLAInfantryAngryMobRock04 ; Fat guy with the tank top 1581 SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce 1582 SpawnTemplateName = GLAInfantryAngryMobPistol05 ; The robed dude with the Man-Veil 1583 1584 1585 1586 ExitByBudding = Yes;! 1587 1588 InitialBurst = 5 ; the first set of 5 will not delay 1589 OneShot = No 1590 AggregateHealth = Yes 1591 SlavesHaveFreeWill = No 1592 End 1593 1594 Behavior = QueueProductionExitUpdate ModuleTag_06 1595 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 1596 NaturalRallyPoint = X: 0.0 Y: 0.0 Z:0.0 1597 ExitDelay = 5000 ; 5 sec 1598 InitialBurst = 5 ; the first set of 5 will not delay 1599 End 1600 1601 Behavior = DestroyDie ModuleTag_07 1602 DeathTypes = ALL 1603 End 1604 1605 Geometry = CYLINDER 1606 GeometryMajorRadius = 1.0 1607 GeometryMinorRadius = 1.0 1608 GeometryHeight = 1.0 1609 GeometryIsSmall = Yes 1610 Shadow = SHADOW_VOLUME 1611 1612 End 1613 1614 1615 1616 1617 1618 ;------------------------------------------------------------------------------ 1619 ;------------------------------------------------------------------------------ 1620 Object GLAInfantryAngryMobPistol01 1621 1622 ;**** ART Parameters *** 1623 Draw = W3DModelDraw DrawTag_01 1624 OkToChangeModelColor = Yes 1625 1626 ; WHILE CARRYING PISTOL 1627 ;--------------------------------------------------------- 1628 DefaultConditionState ;Idle with Pistol Holstered 1629 Model = UIMOB01_SKN 1630 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA1 0 12 1631 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA2 0 5 1632 IdleAnimation = UIMOB01_SKL.UIMOB01_CHA 0 5 1633 IdleAnimation = UIMOB01_SKL.UIMOB01_STA 0 5 1634 AnimationMode = ONCE 1635 AnimationSpeedFactorRange 0.9 1.1 1636 TransitionKey = TRANS_STAND_A 1637 1638 WeaponFireFXBone = PRIMARY Muzzle 1639 WeaponMuzzleFlash = PRIMARY MuzzleFX 1640 WeaponFireFXBone = SECONDARY MuzzleAK 1641 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 1642 End 1643 1644 ; Drawing pistol 1645 ConditionState = PREATTACK_A 1646 Animation = UIMOB01_SKL.UIMOB01_ATA1_ST ; start firing 1647 AnimationMode = ONCE 1648 End 1649 AliasConditionState = PREATTACK_A FIRING_A 1650 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 1651 1652 ; Firing pistol 1653 ConditionState = FIRING_A 1654 Animation = UIMOB01_SKL.UIMOB01_ATA1_LP ; looping firing 1655 AnimationMode = LOOP 1656 TransitionKey = TRANS_FIRING_A 1657 End 1658 AliasConditionState = BETWEEN_FIRING_SHOTS_A 1659 1660 ConditionState = RELOADING_A 1661 Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing 1662 AnimationMode = ONCE 1663 End 1664 1665 ; This transition allows him to put his gun away when he's finished attacking. 1666 TransitionState = TRANS_FIRING_A TRANS_STAND_A 1667 Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing 1668 AnimationMode = ONCE 1669 End 1670 1671 ConditionState = MOVING 1672 Animation = UIMOB01_SKL.UIMOB01_RNA 1673 AnimationMode = LOOP 1674 Flags = RANDOMSTART 1675 TransitionKey = MOVING 1676 ParticleSysBone = None InfantryDustTrails 1677 End 1678 AliasConditionState = MOVING RELOADING_A 1679 AliasConditionState = MOVING PREATTACK_A 1680 AliasConditionState = MOVING FIRING_A 1681 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 1682 AliasConditionState = MOVING RELOADING_C RELOADING_A 1683 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 1684 1685 ConditionState = DYING 1686 Animation = UIMOB01_SKL.UIMOB01_DA1 1687 Animation = UIMOB01_SKL.UIMOB01_DA2 1688 AnimationMode = ONCE 1689 TransitionKey = TRANS_Dying 1690 End 1691 1692 1693 ConditionState = SPECIAL_CHEERING 1694 Animation = UIMOB01_SKL.UIMOB01_CHA 1695 AnimationMode = ONCE 1696 End 1697 1698 ;-------------------------------------------------------- 1699 ; TRANSITION FROM PISTOL TO AK47 1700 TransitionState = TRANS_STAND_A TRANS_STAND_AK 1701 Animation = UIMOB01_SKL.UIMOB01_TA-D 1702 AnimationMode = ONCE 1703 End 1704 1705 ; WHILE CARRYING AK47 1706 ;--------------------------------------------------------- 1707 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 1708 Model = UIMOB01_SKN 1709 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD1 0 6 1710 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD2 0 6 1711 IdleAnimation = UIMOB01_SKL.UIMOB01_CHD 0 6 1712 IdleAnimation = UIMOB01_SKL.UIMOB01_STD 1713 AnimationMode = ONCE 1714 AnimationSpeedFactorRange 0.9 1.1 1715 TransitionKey = TRANS_STAND_AK 1716 End 1717 1718 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 1719 Animation = UIMOB01_SKL.UIMOB01_RND 1720 AnimationMode = LOOP 1721 Flags = RANDOMSTART 1722 TransitionKey = MOVING_AK 1723 End 1724 1725 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 1726 Animation = UIMOB01_SKL.UIMOB01_DD1 1727 Animation = UIMOB01_SKL.UIMOB01_DD2 1728 AnimationMode = ONCE 1729 TransitionKey = TRANS_Dying 1730 End 1731 1732 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 1733 Animation = UIMOB01_SKL.UIMOB01_CHD 1734 AnimationMode = ONCE 1735 End 1736 1737 ; Drawing AK47 1738 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 1739 Animation = UIMOB01_SKL.UIMOB01_ATD1_ST ; start firing 1740 AnimationMode = ONCE 1741 End 1742 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 1743 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 1744 1745 ; Firing Gun 1746 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 1747 Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing 1748 AnimationMode = LOOP 1749 WeaponFireFXBone = SECONDARY MuzzleAK 1750 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 1751 TransitionKey = TRANS_FIRING_AK 1752 End 1753 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 1754 1755 1756 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 1757 Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing 1758 AnimationMode = ONCE 1759 End 1760 1761 1762 ; This transition allows him to put his gun away when he's finished attacking. 1763 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 1764 Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing 1765 AnimationMode = ONCE 1766 End 1767 1768 ; ;Throwing bottle---------------------------------------------------------------- 1769 ; ConditionState = PREATTACK_C 1770 ; Animation = UIMOB01_SKL.UIMOB01_ATCA_BF ; the wind up 1771 ; End 1772 ; AliasConditionState = PREATTACK_C FIRING_A 1773 ; AliasConditionState = PREATTACK_C RELOADING_A 1774 ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 1775 ; 1776 ; ConditionState = FIRING_C 1777 ; Animation = UIMOB01_SKL.UIMOB01_ATCA_AF ; the release and follow-thru 1778 ; TransitionKey = TRANS_THROW 1779 ; End 1780 ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 1781 ; 1782 ; ConditionState RELOADING_C 1783 ; Animation =UIMOB01_SKL.UIMOB01_IDA1 1784 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 1785 ; End 1786 ; AliasConditionState = RELOADING_C RELOADING_A 1787 ; AliasConditionState = RELOADING_C FIRING_A 1788 ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 1789 1790 1791 ; TransitionState = TRANSXXX TRANS_THROW 1792 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway gun and take out bottle 1793 ; End 1794 1795 ; TransitionState = TRANS_THROW TRANS_FIRING_A 1796 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get PISTOL 1797 ; End 1798 1799 ; TransitionState = TRANSXXXAK TRANS_THROW 1800 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway AK and take out bottle 1801 ; End 1802 1803 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 1804 ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get AK 1805 ; End 1806 1807 ;-------------------------------------------------------- 1808 1809 TransitionState = TRANS_Dying TRANS_Flailing 1810 Animation = UIMOB01_SKL.UIMOB01_A_ADTE1 1811 Animation = UIMOB01_SKL.UIMOB01_D_ADTE1 1812 AnimationMode = ONCE 1813 End 1814 1815 ConditionState = DYING EXPLODED_FLAILING 1816 Animation = UIMOB01_SKL.UIMOB01_A_ADTE2 1817 Animation = UIMOB01_SKL.UIMOB01_D_ADTE2 1818 AnimationMode = LOOP 1819 TransitionKey = TRANS_Flailing 1820 End 1821 1822 ConditionState = DYING EXPLODED_BOUNCING 1823 Animation = UIMOB01_SKL.UIMOB01_A_ADTE3 1824 Animation = UIMOB01_SKL.UIMOB01_D_ADTE3 1825 AnimationMode = ONCE 1826 TransitionKey = None 1827 End 1828 End 1829 1830 ;**** DESIGN parameters *** 1831 1832 DisplayName = OBJECT:AngryMob 1833 Side = GLA 1834 EditorSorting = INFANTRY 1835 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 1836 1837 WeaponSet 1838 Conditions = None 1839 Weapon = PRIMARY GLAAngryMobPistolWeapon 1840 End 1841 1842 WeaponSet 1843 Conditions = PLAYER_UPGRADE 1844 Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions 1845 Weapon = SECONDARY GLAAngryMobAK47Weapon 1846 End 1847 1848 ArmorSet 1849 Conditions = None 1850 Armor = HumanArmor 1851 DamageFX = InfantryDamageFX 1852 End 1853 1854 VisionRange = 150 1855 ShroudClearingRange = 150 1856 Prerequisites 1857 Object = GLABarracks 1858 End 1859 BuildCost = 100 1860 BuildTime = 0.0 1861 1862 ExperienceValue = 5 5 5 5 ;Experience point value at each level 1863 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 1864 IsTrainable = Yes ;Can gain experience 1865 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1866 1867 ; *** AUDIO Parameters *** 1868 VoiceSelect = NoSound 1869 VoiceMove = NoSound 1870 VoiceAttack = NoSound 1871 1872 ;**** ENGINEERING Parameters *** ;MOB01 1873 RadarPriority = UNIT 1874 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 1875 1876 Body = ActiveBody BodyTag_01 1877 MaxHealth = 50.0 1878 InitialHealth = 50.0 1879 End 1880 1881 Behavior = AIUpdateInterface ModuleTag_03 1882 AutoAcquireEnemiesWhenIdle = Yes 1883 End 1884 1885 Behavior = MobMemberSlavedUpdate ModuleTag_04 1886 MustCatchUpRadius = 40 1887 NoNeedToCatchUpRadius = 15 1888 Squirrelliness = 0.05 1889 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 1890 End 1891 1892 Locomotor = SET_NORMAL AngryMobNormalLocomotor 1893 Locomotor = SET_WANDER AngryMobWanderLocomotor 1894 Locomotor = SET_PANIC AngryMobPanicLocomotor 1895 1896 Behavior = PhysicsBehavior BehaviorTag_01 1897 Mass = 5.0 1898 End 1899 1900 Behavior = SquishCollide ModuleTag_08 1901 ;nothing 1902 End 1903 1904 Behavior = WeaponSetUpgrade UpgradeTag_01 1905 TriggeredBy = Upgrade_GLAArmTheMob 1906 End 1907 1908 1909 ; --- begin Death modules --- 1910 Behavior = SlowDeathBehavior DeathTag_01 1911 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 1912 SinkDelay = 3000 1913 SinkRate = 0.5 ; in Dist/Sec 1914 DestructionDelay = 8000 1915 FX = INITIAL FX_CivilianArabMaleDie 1916 End 1917 Behavior = SlowDeathBehavior DeathTag_02 1918 DeathTypes = NONE +CRUSHED +SPLATTED 1919 SinkDelay = 3000 1920 SinkRate = 0.5 ; in Dist/Sec 1921 DestructionDelay = 8000 1922 FX = INITIAL FX_GIDieCrushed 1923 End 1924 Behavior = SlowDeathBehavior DeathTag_03 1925 DeathTypes = NONE +EXPLODED 1926 SinkDelay = 3000 1927 SinkRate = 0.5 ; in Dist/Sec 1928 DestructionDelay = 8000 1929 FX = INITIAL FX_CivilianArabMaleDie 1930 FlingForce = 8 1931 FlingForceVariance = 3 1932 FlingPitch = 60 1933 FlingPitchVariance = 10 1934 End 1935 Behavior = SlowDeathBehavior DeathTag_04 1936 DeathTypes = NONE +BURNED 1937 DestructionDelay = 0 1938 FX = INITIAL FX_GIDie 1939 OCL = INITIAL OCL_FlamingInfantry 1940 End 1941 Behavior = SlowDeathBehavior ModuleTag_Death05 1942 DeathTypes = NONE +POISONED 1943 DestructionDelay = 0 1944 FX = INITIAL FX_DieByToxinGLA 1945 OCL = INITIAL OCL_ToxicInfantry 1946 End 1947 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 1948 DeathTypes = NONE +POISONED_BETA 1949 DestructionDelay = 0 1950 FX = INITIAL FX_DieByToxinGLA 1951 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 1952 End 1953 Behavior = SlowDeathBehavior ModuleTag_Death07 1954 DeathTypes = NONE +POISONED_GAMMA 1955 DestructionDelay = 0 1956 FX = INITIAL FX_DieByToxinGLA 1957 OCL = INITIAL OCL_ToxicInfantryGamma 1958 End 1959 ; --- end Death modules --- 1960 1961 Behavior = PoisonedBehavior BehaviorTag_02 1962 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 1963 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 1964 End 1965 1966 Geometry = CYLINDER 1967 GeometryMajorRadius = 4.0 ; very thin 1968 GeometryHeight = 12.0 1969 GeometryIsSmall = Yes 1970 Shadow = SHADOW_DECAL 1971 ShadowSizeX = 14; 1972 ShadowSizeY = 14; 1973 ShadowTexture = ShadowI; 1974 BuildCompletion = APPEARS_AT_RALLY_POINT 1975 1976 End 1977 1978 1979 ;------------------------------------------------------------------------------ 1980 ;------------------------------------------------------------------------------ 1981 Object GLAInfantryAngryMobRock02 1982 1983 ;**** ART Parameters *** 1984 Draw = W3DModelDraw ModuleTag_01 1985 OkToChangeModelColor = Yes 1986 1987 ; WHILE CARRYING ROCK 1988 ;--------------------------------------------------------- 1989 DefaultConditionState 1990 Model = UIMOB02_SKN 1991 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 1992 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 1993 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 1994 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 1995 AnimationMode = ONCE 1996 AnimationSpeedFactorRange 0.9 1.1 1997 TransitionKey = TRANS_STAND_A 1998 1999 ;WeaponFireFXBone = PRIMARY "UIMOB02 R HAND" 2000 ;WeaponMuzzleFlash = PRIMARY "UIMOB02 R HAND" 2001 WeaponFireFXBone = SECONDARY MuzzleAK 2002 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 2003 End 2004 2005 2006 ; Drawing rock 2007 ConditionState = PREATTACK_A 2008 Animation = UIMOB02_SKL.UIMOB02_ATB2_BF ; wind up 2009 AnimationMode = ONCE 2010 End 2011 AliasConditionState = PREATTACK_A FIRING_A 2012 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 2013 2014 ; throwing rock 2015 ConditionState = FIRING_A 2016 Animation = UIMOB02_SKL.UIMOB02_ATB1_AF ; throw 2017 Animation = UIMOB02_SKL.UIMOB02_ATB2_AF ; throw 2018 AnimationMode = ONCE 2019 TransitionKey = TRANS_FIRING_A 2020 End 2021 2022 ConditionState = BETWEEN_FIRING_SHOTS_A 2023 Animation = UIMOB02_SKL.UIMOB02_STB 2024 AnimationMode = ONCE 2025 ; this is basically a trick: this guy has a nontrivial animation for firing, 2026 ; and a long recycle time between shots. we want him to finish his fire animation 2027 ; (unless he's ordered to do something else), so this is just a handy trick that 2028 ; says, "if the previous state had this transition key, allow it to finish before 2029 ; switching to us, if possible". 2030 WaitForStateToFinishIfPossible = TRANS_FIRING_A 2031 End 2032 AliasConditionState = RELOADING_A 2033 2034 2035 ConditionState = MOVING 2036 Animation = UIMOB02_SKL.UIMOB02_RNB 2037 AnimationMode = LOOP 2038 Flags = RANDOMSTART 2039 TransitionKey = MOVING 2040 ParticleSysBone = None InfantryDustTrails 2041 End 2042 2043 ConditionState = DYING 2044 Animation = UIMOB02_SKL.UIMOB02_DB1 2045 Animation = UIMOB02_SKL.UIMOB02_DB2 2046 AnimationMode = ONCE 2047 TransitionKey = TRANS_Dying 2048 End 2049 2050 ConditionState = SPECIAL_CHEERING 2051 Animation = UIMOB02_SKL.UIMOB02_CHB 2052 Flags = RANDOMSTART 2053 AnimationMode = LOOP 2054 End 2055 2056 2057 ;-------------------------------------------------------- 2058 ; TRANSITION FROM PISTOL TO AK47 2059 TransitionState = TRANS_STAND_A TRANS_STAND_AK 2060 Animation = UIMOB02_SKL.UIMOB02_TB-D 2061 AnimationMode = ONCE 2062 End 2063 2064 2065 ; WHILE CARRYING AK47 2066 ;--------------------------------------------------------- 2067 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 2068 Model = UIMOB02_SKN 2069 IdleAnimation = UIMOB02_SKL.UIMOB02_IDD1 0 6 2070 IdleAnimation = UIMOB02_SKL.UIMOB02_IDD2 0 6 2071 IdleAnimation = UIMOB02_SKL.UIMOB02_CHD 0 6 2072 IdleAnimation = UIMOB02_SKL.UIMOB02_STD 2073 AnimationMode = ONCE 2074 AnimationSpeedFactorRange 0.9 1.1 2075 TransitionKey = TRANS_STAND_AK 2076 End 2077 2078 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 2079 Animation = UIMOB02_SKL.UIMOB02_RND 2080 AnimationMode = LOOP 2081 Flags = RANDOMSTART 2082 TransitionKey = MOVING_AK 2083 End 2084 2085 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 2086 Animation = UIMOB02_SKL.UIMOB02_DD1 2087 Animation = UIMOB02_SKL.UIMOB02_DD2 2088 AnimationMode = ONCE 2089 TransitionKey = TRANS_Dying 2090 End 2091 2092 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 2093 Animation = UIMOB02_SKL.UIMOB02_CHD 2094 AnimationMode = ONCE 2095 End 2096 2097 ; Drawing AK47 2098 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 2099 Animation = UIMOB02_SKL.UIMOB02_ATD1_ST ; start firing 2100 AnimationMode = ONCE 2101 End 2102 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 2103 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 2104 2105 ; Firing Gun 2106 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 2107 Animation = UIMOB02_SKL.UIMOB02_ATD1_LP ; looping firing 2108 AnimationMode = LOOP 2109 WeaponFireFXBone = SECONDARY MuzzleAK 2110 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 2111 TransitionKey = TRANS_FIRING_AK 2112 End 2113 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 2114 2115 2116 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 2117 Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing 2118 AnimationMode = ONCE 2119 End 2120 2121 2122 ; This transition allows him to put his gun away when he's finished attacking. 2123 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 2124 Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing 2125 AnimationMode = ONCE 2126 End 2127 2128 2129 2130 2131 TransitionState = TRANS_Dying TRANS_Flailing 2132 Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 2133 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 2134 AnimationMode = ONCE 2135 End 2136 2137 ConditionState = DYING EXPLODED_FLAILING 2138 Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 2139 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 2140 AnimationMode = LOOP 2141 TransitionKey = TRANS_Flailing 2142 End 2143 2144 ConditionState = DYING EXPLODED_BOUNCING 2145 Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 2146 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 2147 AnimationMode = ONCE 2148 TransitionKey = None 2149 End 2150 2151 2152 End 2153 2154 2155 ;**** DESIGN parameters *** 2156 2157 DisplayName = OBJECT:AngryMob 2158 Side = GLA 2159 EditorSorting = INFANTRY 2160 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 2161 2162 WeaponSet 2163 Conditions = None 2164 Weapon = PRIMARY GLAAngryMobRockProjectileWeapon 2165 End 2166 2167 WeaponSet 2168 Conditions = PLAYER_UPGRADE 2169 Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions 2170 Weapon = SECONDARY GLAAngryMobAK47Weapon 2171 End 2172 2173 ArmorSet 2174 Conditions = None 2175 Armor = HumanArmor 2176 DamageFX = InfantryDamageFX 2177 End 2178 2179 VisionRange = 150 2180 ShroudClearingRange = 150 2181 Prerequisites 2182 Object = GLABarracks 2183 End 2184 BuildCost = 100 2185 BuildTime = 0.0 2186 2187 ExperienceValue = 5 5 5 5 ;Experience point value at each level 2188 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 2189 IsTrainable = Yes ;Can gain experience 2190 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 2191 2192 ; *** AUDIO Parameters *** 2193 VoiceSelect = NoSound 2194 VoiceMove = NoSound 2195 VoiceAttack = NoSound 2196 2197 ;**** ENGINEERING Parameters *** ;MOB02 2198 RadarPriority = UNIT 2199 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 2200 2201 Body = ActiveBody BodyTag_01 2202 MaxHealth = 50.0 2203 InitialHealth = 50.0 2204 End 2205 2206 Behavior = AIUpdateInterface ModuleTag_03 2207 AutoAcquireEnemiesWhenIdle = Yes 2208 End 2209 2210 Behavior = MobMemberSlavedUpdate ModuleTag_04 2211 MustCatchUpRadius = 40 2212 NoNeedToCatchUpRadius = 15 2213 Squirrelliness = 0.05 2214 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 2215 End 2216 2217 Locomotor = SET_NORMAL AngryMobNormalLocomotor 2218 Locomotor = SET_WANDER AngryMobWanderLocomotor 2219 Locomotor = SET_PANIC AngryMobPanicLocomotor 2220 2221 Behavior = PhysicsBehavior ModuleTag_05 2222 Mass = 5.0 2223 End 2224 2225 Behavior = SquishCollide ModuleTag_08 2226 ;nothing 2227 End 2228 2229 Behavior = WeaponSetUpgrade UpgradeTag_01 2230 TriggeredBy = Upgrade_GLAArmTheMob 2231 End 2232 2233 2234 ; --- begin Death modules --- 2235 Behavior = SlowDeathBehavior ModuleTag_Death01 2236 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 2237 SinkDelay = 3000 2238 SinkRate = 0.5 ; in Dist/Sec 2239 DestructionDelay = 8000 2240 FX = INITIAL FX_CivilianArabFemaleDie 2241 End 2242 Behavior = SlowDeathBehavior ModuleTag_Death02 2243 DeathTypes = NONE +CRUSHED +SPLATTED 2244 SinkDelay = 3000 2245 SinkRate = 0.5 ; in Dist/Sec 2246 DestructionDelay = 8000 2247 FX = INITIAL FX_GIDieCrushed 2248 End 2249 Behavior = SlowDeathBehavior ModuleTag_Death03 2250 DeathTypes = NONE +EXPLODED 2251 SinkDelay = 3000 2252 SinkRate = 0.5 ; in Dist/Sec 2253 DestructionDelay = 8000 2254 FX = INITIAL FX_CivilianArabFemaleDie 2255 FlingForce = 8 2256 FlingForceVariance = 3 2257 FlingPitch = 60 2258 FlingPitchVariance = 10 2259 End 2260 Behavior = SlowDeathBehavior ModuleTag_Death04 2261 DeathTypes = NONE +BURNED 2262 DestructionDelay = 0 2263 FX = INITIAL FX_GIDie 2264 OCL = INITIAL OCL_FlamingInfantry 2265 End 2266 Behavior = SlowDeathBehavior ModuleTag_Death05 2267 DeathTypes = NONE +POISONED 2268 DestructionDelay = 0 2269 FX = INITIAL FX_DieByToxinGLA 2270 OCL = INITIAL OCL_ToxicInfantry 2271 End 2272 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 2273 DeathTypes = NONE +POISONED_BETA 2274 DestructionDelay = 0 2275 FX = INITIAL FX_DieByToxinGLA 2276 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 2277 End 2278 Behavior = SlowDeathBehavior ModuleTag_Death07 2279 DeathTypes = NONE +POISONED_GAMMA 2280 DestructionDelay = 0 2281 FX = INITIAL FX_DieByToxinGLA 2282 OCL = INITIAL OCL_ToxicInfantryGamma 2283 End 2284 ; --- end Death modules --- 2285 2286 Behavior = PoisonedBehavior ModuleTag_13 2287 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 2288 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 2289 End 2290 2291 Geometry = CYLINDER 2292 GeometryMajorRadius = 4.0 ; very thin 2293 GeometryHeight = 12.0 2294 GeometryIsSmall = Yes 2295 Shadow = SHADOW_DECAL 2296 ShadowSizeX = 14; 2297 ShadowSizeY = 14; 2298 ShadowTexture = ShadowI; 2299 BuildCompletion = APPEARS_AT_RALLY_POINT 2300 2301 End 2302 2303 ;------------------------------------------------------------------------------ 2304 ;------------------------------------------------------------------------------ 2305 2306 ObjectReskin GLAInfantryAngryMobPistol03 GLAInfantryAngryMobPistol01 2307 2308 ;**** ART Parameters *** 2309 Draw = W3DModelDraw DrawTag_01 2310 OkToChangeModelColor = Yes 2311 2312 2313 2314 ; WHILE CARRYING PISTOL 2315 ;--------------------------------------------------------- 2316 DefaultConditionState ;Idle with Pistol Holstered 2317 Model = UIMOB03_SKN 2318 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA1 0 12 2319 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA2 0 5 2320 IdleAnimation = UIMOB03_SKL.UIMOB03_CHA 0 5 2321 IdleAnimation = UIMOB03_SKL.UIMOB03_STA 0 5 2322 AnimationMode = ONCE 2323 AnimationSpeedFactorRange 0.9 1.1 2324 TransitionKey = TRANS_STAND_A 2325 2326 WeaponFireFXBone = PRIMARY Muzzle 2327 WeaponMuzzleFlash = PRIMARY MuzzleFX 2328 WeaponFireFXBone = SECONDARY MuzzleAK 2329 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 2330 WeaponFireFXBone = TERTIARY "UIMOB03 R HAND" 2331 End 2332 2333 ; Drawing pistol 2334 ConditionState = PREATTACK_A 2335 Animation = UIMOB03_SKL.UIMOB03_ATA1_ST ; start firing 2336 AnimationMode = ONCE 2337 End 2338 AliasConditionState = PREATTACK_A FIRING_A 2339 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 2340 2341 ; Firing pistol 2342 ConditionState = FIRING_A 2343 Animation = UIMOB03_SKL.UIMOB03_ATA1_LP ; looping firing 2344 AnimationMode = LOOP 2345 TransitionKey = TRANS_FIRING_A 2346 End 2347 AliasConditionState = BETWEEN_FIRING_SHOTS_A 2348 2349 ConditionState = RELOADING_A 2350 Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing 2351 AnimationMode = ONCE 2352 End 2353 2354 ; This transition allows him to put his gun away when he's finished attacking. 2355 TransitionState = TRANS_FIRING_A TRANS_STAND_A 2356 Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing 2357 AnimationMode = ONCE 2358 End 2359 2360 ConditionState = MOVING 2361 Animation = UIMOB03_SKL.UIMOB03_RNA 2362 AnimationMode = LOOP 2363 Flags = RANDOMSTART 2364 TransitionKey = MOVING 2365 ParticleSysBone = None InfantryDustTrails 2366 End 2367 AliasConditionState = MOVING RELOADING_A 2368 AliasConditionState = MOVING PREATTACK_A 2369 AliasConditionState = MOVING FIRING_A 2370 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 2371 AliasConditionState = MOVING RELOADING_C RELOADING_A 2372 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 2373 2374 ConditionState = DYING 2375 Animation = UIMOB03_SKL.UIMOB03_DA1 2376 Animation = UIMOB03_SKL.UIMOB03_DA2 2377 AnimationMode = ONCE 2378 TransitionKey = TRANS_Dying 2379 End 2380 2381 2382 ConditionState = SPECIAL_CHEERING 2383 Animation = UIMOB03_SKL.UIMOB03_CHA 2384 AnimationMode = ONCE 2385 End 2386 2387 ;-------------------------------------------------------- 2388 ; TRANSITION FROM PISTOL TO AK47 2389 TransitionState = TRANS_STAND_A TRANS_STAND_AK 2390 Animation = UIMOB03_SKL.UIMOB03_TA-D 2391 AnimationMode = ONCE 2392 End 2393 2394 2395 ; WHILE CARRYING AK47 2396 ;--------------------------------------------------------- 2397 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 2398 Model = UIMOB03_SKN 2399 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD1 0 6 2400 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD2 0 6 2401 IdleAnimation = UIMOB03_SKL.UIMOB03_CHD 0 6 2402 IdleAnimation = UIMOB03_SKL.UIMOB03_STD 2403 AnimationMode = ONCE 2404 AnimationSpeedFactorRange 0.9 1.1 2405 TransitionKey = TRANS_STAND_AK 2406 End 2407 2408 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 2409 Animation = UIMOB03_SKL.UIMOB03_RND 2410 AnimationMode = LOOP 2411 Flags = RANDOMSTART 2412 TransitionKey = MOVING_AK 2413 End 2414 2415 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 2416 Animation = UIMOB03_SKL.UIMOB03_DD1 2417 Animation = UIMOB03_SKL.UIMOB03_DD2 2418 AnimationMode = ONCE 2419 TransitionKey = TRANS_Dying 2420 End 2421 2422 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 2423 Animation = UIMOB03_SKL.UIMOB03_CHD 2424 AnimationMode = ONCE 2425 End 2426 2427 ; Drawing AK47 2428 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 2429 Animation = UIMOB03_SKL.UIMOB03_ATD_ST ; start firing 2430 AnimationMode = ONCE 2431 End 2432 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 2433 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 2434 2435 ; Firing Gun 2436 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 2437 Animation = UIMOB03_SKL.UIMOB03_ATD_LP ; looping firing 2438 AnimationMode = LOOP 2439 WeaponFireFXBone = SECONDARY MuzzleAK 2440 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 2441 TransitionKey = TRANS_FIRING_AK 2442 End 2443 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 2444 2445 2446 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 2447 Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing 2448 AnimationMode = ONCE 2449 End 2450 2451 2452 ; This transition allows him to put his gun away when he's finished attacking. 2453 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 2454 Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing 2455 AnimationMode = ONCE 2456 End 2457 2458 2459 ; ;Throwing bottle---------------------------------------------------------------- 2460 ; ConditionState = PREATTACK_C 2461 ; Animation = UIMOB03_SKL.UIMOB03_ATCA_BF ; the wind up 2462 ; End 2463 ; AliasConditionState = PREATTACK_C FIRING_A 2464 ; AliasConditionState = PREATTACK_C RELOADING_A 2465 ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 2466 ; 2467 ; ConditionState = FIRING_C 2468 ; Animation = UIMOB03_SKL.UIMOB03_ATCA_AF ; the release and follow-thru 2469 ; TransitionKey = TRANS_THROW 2470 ; End 2471 ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 2472 ; 2473 ; ConditionState RELOADING_C 2474 ; Animation =UIMOB03_SKL.UIMOB03_IDA1 2475 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 2476 ; 2477 ; End 2478 ; AliasConditionState = RELOADING_C RELOADING_A 2479 ; AliasConditionState = RELOADING_C FIRING_A 2480 ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 2481 2482 2483 ; TransitionState = TRANSXXX TRANS_THROW 2484 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway gun and take out bottle 2485 ; End 2486 2487 ; TransitionState = TRANS_THROW TRANS_FIRING_A 2488 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get PISTOL 2489 ; End 2490 2491 ; TransitionState = TRANSXXXAK TRANS_THROW 2492 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway AK and take out bottle 2493 ; End 2494 2495 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 2496 ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get AK 2497 ; End 2498 2499 2500 2501 2502 2503 ;-------------------------------------------------------- 2504 2505 2506 2507 2508 2509 2510 TransitionState = TRANS_Dying TRANS_Flailing 2511 Animation = UIMOB03_SKL.UIMOB03_A_ADTD1 2512 Animation = UIMOB03_SKL.UIMOB03_D_ADTD1 2513 AnimationMode = ONCE 2514 End 2515 2516 ConditionState = DYING EXPLODED_FLAILING 2517 Animation = UIMOB03_SKL.UIMOB03_A_ADTD2 2518 Animation = UIMOB03_SKL.UIMOB03_D_ADTD2 2519 AnimationMode = LOOP 2520 TransitionKey = TRANS_Flailing 2521 End 2522 2523 ConditionState = DYING EXPLODED_BOUNCING 2524 Animation = UIMOB03_SKL.UIMOB03_A_ADTD3 2525 Animation = UIMOB03_SKL.UIMOB03_D_ADTD3 2526 AnimationMode = ONCE 2527 TransitionKey = None 2528 End 2529 2530 2531 End 2532 2533 2534 Geometry = CYLINDER 2535 GeometryMajorRadius = 3.0 ; very thin 2536 GeometryMinorRadius = 3.0 ; very thinD 2537 GeometryHeight = 12.0 2538 GeometryIsSmall = Yes 2539 2540 End 2541 2542 ;------------------------------------------------------------------------------ 2543 ;------------------------------------------------------------------------------ 2544 ObjectReskin GLAInfantryAngryMobRock04 GLAInfantryAngryMobRock02 2545 2546 ;**** ART Parameters *** 2547 Draw = W3DModelDraw ModuleTag_01 2548 OkToChangeModelColor = Yes 2549 2550 ; WHILE CARRYING ROCK 2551 ;--------------------------------------------------------- 2552 DefaultConditionState 2553 Model = UIMOB04_SKN 2554 IdleAnimation = UIMOB04_SKL.UIMOB04_IDB1 0 12 2555 IdleAnimation = UIMOB04_SKL.UIMOB04_IDB2 0 5 2556 IdleAnimation = UIMOB04_SKL.UIMOB04_CHB 0 5 2557 IdleAnimation = UIMOB04_SKL.UIMOB04_STB 0 12 2558 AnimationMode = ONCE 2559 AnimationSpeedFactorRange 0.9 1.1 2560 TransitionKey = TRANS_STAND_A 2561 WaitForStateToFinishIfPossible TRANS_FIRING_A 2562 2563 ;WeaponFireFXBone = PRIMARY "UIMOB04 R HAND" 2564 ;WeaponMuzzleFlash = PRIMARY "UIMOB04 R HAND" 2565 WeaponFireFXBone = SECONDARY MuzzleAK 2566 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 2567 End 2568 2569 2570 ; Drawing rock 2571 ConditionState = PREATTACK_A 2572 Animation = UIMOB04_SKL.UIMOB04_ATB2_BF ; wind up 2573 AnimationMode = ONCE 2574 AnimationSpeedFactorRange 1.0 1.0 2575 End 2576 AliasConditionState = PREATTACK_A FIRING_A 2577 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 2578 2579 ; throwing rock 2580 ConditionState = FIRING_A 2581 Animation = UIMOB04_SKL.UIMOB04_ATB1_AF ; throw 2582 Animation = UIMOB04_SKL.UIMOB04_ATB2_AF ; throw 2583 AnimationMode = ONCE 2584 TransitionKey = TRANS_FIRING_A 2585 End 2586 2587 ConditionState = BETWEEN_FIRING_SHOTS_A 2588 Animation = UIMOB04_SKL.UIMOB04_STB 2589 AnimationMode = ONCE 2590 ; this is basically a trick: this guy has a nontrivial animation for firing, 2591 ; and a long recycle time between shots. we want him to finish his fire animation 2592 ; (unless he's ordered to do something else), so this is just a handy trick that 2593 ; says, "if the previous state had this transition key, allow it to finish before 2594 ; switching to us, if possible". 2595 WaitForStateToFinishIfPossible = TRANS_FIRING_A 2596 End 2597 AliasConditionState = RELOADING_A 2598 2599 ConditionState = MOVING 2600 Animation = UIMOB04_SKL.UIMOB04_RUN 2601 AnimationMode = LOOP 2602 Flags = RANDOMSTART 2603 TransitionKey = MOVING 2604 ParticleSysBone = None InfantryDustTrails 2605 End 2606 2607 ConditionState = DYING 2608 Animation = UIMOB04_SKL.UIMOB04_DB1 2609 Animation = UIMOB04_SKL.UIMOB04_DB2 2610 AnimationMode = ONCE 2611 TransitionKey = TRANS_Dying 2612 End 2613 2614 ConditionState = SPECIAL_CHEERING 2615 Animation = UIMOB04_SKL.UIMOB04_CHB 2616 Flags = RANDOMSTART 2617 AnimationMode = LOOP 2618 End 2619 2620 2621 2622 2623 2624 2625 2626 2627 ;-------------------------------------------------------- 2628 ; TRANSITION FROM PISTOL TO AK47 2629 TransitionState = TRANS_STAND_A TRANS_STAND_AK 2630 Animation = UIMOB04_SKL.UIMOB04_TB-D 2631 AnimationMode = ONCE 2632 End 2633 2634 2635 ; WHILE CARRYING AK47 2636 ;--------------------------------------------------------- 2637 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 2638 Model = UIMOB04_SKN 2639 IdleAnimation = UIMOB04_SKL.UIMOB04_IDD1 0 6 2640 IdleAnimation = UIMOB04_SKL.UIMOB04_IDD2 0 6 2641 IdleAnimation = UIMOB04_SKL.UIMOB04_CHD 0 6 2642 IdleAnimation = UIMOB04_SKL.UIMOB04_STD 2643 AnimationMode = ONCE 2644 AnimationSpeedFactorRange 0.9 1.1 2645 TransitionKey = TRANS_STAND_AK 2646 WeaponFireFXBone = SECONDARY MuzzleAK 2647 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 2648 End 2649 2650 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 2651 Animation = UIMOB04_SKL.UIMOB04_RND 2652 AnimationMode = LOOP 2653 Flags = RANDOMSTART 2654 TransitionKey = MOVING_AK 2655 End 2656 2657 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 2658 Animation = UIMOB04_SKL.UIMOB04_DD1 2659 Animation = UIMOB04_SKL.UIMOB04_DD2 2660 AnimationMode = ONCE 2661 TransitionKey = TRANS_Dying 2662 End 2663 2664 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 2665 Animation = UIMOB04_SKL.UIMOB04_CHD 2666 AnimationMode = ONCE 2667 End 2668 2669 ; Drawing AK47 2670 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 2671 Animation = UIMOB04_SKL.UIMOB04_ATD1_ST ; start firing 2672 AnimationMode = ONCE 2673 End 2674 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 2675 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 2676 2677 ; Firing Gun 2678 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 2679 Animation = UIMOB04_SKL.UIMOB04_ATD1_LP ; looping firing 2680 AnimationMode = LOOP 2681 WeaponFireFXBone = PRIMARY MuzzleAK 2682 WeaponMuzzleFlash = PRIMARY MuzzleAKFX 2683 TransitionKey = TRANS_FIRING_AK 2684 End 2685 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 2686 2687 2688 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 2689 Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing 2690 AnimationMode = ONCE 2691 End 2692 2693 2694 ; This transition allows him to put his gun away when he's finished attacking. 2695 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 2696 Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing 2697 AnimationMode = ONCE 2698 End 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 TransitionState = TRANS_Dying TRANS_Flailing 2710 Animation = UIMOB04_SKL.UIMOB04_B_ADTF1 2711 Animation = UIMOB04_SKL.UIMOB04_D_ADTF1 2712 AnimationMode = ONCE 2713 End 2714 2715 ConditionState = DYING EXPLODED_FLAILING 2716 Animation = UIMOB04_SKL.UIMOB04_B_ADTF2 2717 Animation = UIMOB04_SKL.UIMOB04_D_ADTF2 2718 AnimationMode = LOOP 2719 TransitionKey = TRANS_Flailing 2720 End 2721 2722 ConditionState = DYING EXPLODED_BOUNCING 2723 Animation = UIMOB04_SKL.UIMOB04_B_ADTF3 2724 Animation = UIMOB04_SKL.UIMOB04_D_ADTF3 2725 AnimationMode = ONCE 2726 TransitionKey = None 2727 End 2728 2729 2730 End 2731 2732 Geometry = CYLINDER 2733 GeometryMajorRadius = 5.0 ; kinda thin 2734 GeometryMinorRadius = 5.0 ; kinda thinD 2735 GeometryHeight = 12.0 2736 GeometryIsSmall = Yes 2737 2738 End 2739 2740 ;------------------------------------------------------------------------------ 2741 ;------------------------------------------------------------------------------ 2742 ObjectReskin GLAInfantryAngryMobPistol05 GLAInfantryAngryMobPistol01 2743 2744 ;**** ART Parameters *** 2745 Draw = W3DModelDraw DrawTag_01 2746 OkToChangeModelColor = Yes 2747 2748 2749 2750 ; WHILE CARRYING PISTOL 2751 ;--------------------------------------------------------- 2752 DefaultConditionState ;Idle with Pistol Holstered 2753 Model = UIMOB05_SKN 2754 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA1 0 12 2755 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA2 0 5 2756 IdleAnimation = UIMOB05_SKL.UIMOB05_CHA 0 5 2757 IdleAnimation = UIMOB05_SKL.UIMOB05_STA 0 5 2758 AnimationMode = ONCE 2759 AnimationSpeedFactorRange 0.9 1.1 2760 TransitionKey = TRANS_STAND_A 2761 2762 WeaponFireFXBone = PRIMARY Muzzle01 2763 WeaponMuzzleFlash = PRIMARY Muzzle01 2764 End 2765 2766 ; Drawing pistol 2767 ConditionState = PREATTACK_A 2768 Animation = UIMOB05_SKL.UIMOB05_ATA1_ST ; start firing 2769 AnimationMode = ONCE 2770 End 2771 AliasConditionState = PREATTACK_A FIRING_A 2772 AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A 2773 2774 ; Firing pistol 2775 ConditionState = FIRING_A 2776 Animation = UIMOB05_SKL.UIMOB05_ATA1_LP ; looping firing 2777 AnimationMode = LOOP 2778 TransitionKey = TRANS_FIRING_A 2779 End 2780 AliasConditionState = BETWEEN_FIRING_SHOTS_A 2781 2782 ConditionState = RELOADING_A 2783 Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing 2784 AnimationMode = ONCE 2785 End 2786 2787 ; This transition allows him to put his gun away when he's finished attacking. 2788 TransitionState = TRANS_FIRING_A TRANS_STAND_A 2789 Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing 2790 AnimationMode = ONCE 2791 End 2792 2793 ConditionState = MOVING 2794 Animation = UIMOB05_SKL.UIMOB05_RNA 2795 AnimationMode = LOOP 2796 Flags = RANDOMSTART 2797 TransitionKey = MOVING 2798 ParticleSysBone = None InfantryDustTrails 2799 End 2800 AliasConditionState = MOVING RELOADING_A 2801 AliasConditionState = MOVING PREATTACK_A 2802 AliasConditionState = MOVING FIRING_A 2803 AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A 2804 AliasConditionState = MOVING RELOADING_C RELOADING_A 2805 AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 2806 2807 ConditionState = DYING 2808 Animation = UIMOB05_SKL.UIMOB05_DA1 2809 Animation = UIMOB05_SKL.UIMOB05_DA2 2810 AnimationMode = ONCE 2811 TransitionKey = TRANS_Dying 2812 End 2813 2814 2815 ConditionState = SPECIAL_CHEERING 2816 Animation = UIMOB05_SKL.UIMOB05_CHA 2817 AnimationMode = ONCE 2818 End 2819 2820 ;-------------------------------------------------------- 2821 2822 ; TRANSITION FROM PISTOL TO AK47 2823 TransitionState = TRANS_STAND_A TRANS_STAND_AK 2824 Animation = UIMOB05_SKL.UIMOB05_TA-D 2825 AnimationMode = ONCE 2826 End 2827 2828 2829 ; WHILE CARRYING AK47 2830 ;--------------------------------------------------------- 2831 ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung 2832 Model = UIMOB05_SKN 2833 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD1 0 6 2834 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD2 0 6 2835 IdleAnimation = UIMOB05_SKL.UIMOB05_CHD 0 6 2836 IdleAnimation = UIMOB05_SKL.UIMOB05_STD 2837 AnimationMode = ONCE 2838 AnimationSpeedFactorRange 0.9 1.1 2839 TransitionKey = TRANS_STAND_AK 2840 WeaponFireFXBone = SECONDARY MuzzleAK 2841 WeaponMuzzleFlash = SECONDARY MuzzleAKFX 2842 End 2843 2844 ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE 2845 Animation = UIMOB05_SKL.UIMOB05_RND 2846 AnimationMode = LOOP 2847 Flags = RANDOMSTART 2848 TransitionKey = MOVING_AK 2849 End 2850 2851 ConditionState = DYING WEAPONSET_PLAYER_UPGRADE 2852 Animation = UIMOB05_SKL.UIMOB05_DD1 2853 Animation = UIMOB05_SKL.UIMOB05_DD2 2854 AnimationMode = ONCE 2855 TransitionKey = TRANS_Dying 2856 End 2857 2858 ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE 2859 Animation = UIMOB05_SKL.UIMOB05_CHD 2860 AnimationMode = ONCE 2861 End 2862 2863 ; Drawing AK47 2864 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE 2865 Animation = UIMOB05_SKL.UIMOB05_ATD1_ST ; start firing 2866 AnimationMode = ONCE 2867 End 2868 AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE 2869 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 2870 2871 ; Firing Gun 2872 ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE 2873 Animation = UIMOB05_SKL.UIMOB05_ATD1_LP ; looping firing 2874 AnimationMode = LOOP 2875 WeaponFireFXBone = PRIMARY MuzzleAK 2876 WeaponMuzzleFlash = PRIMARY MuzzleAKFX 2877 TransitionKey = TRANS_FIRING_AK 2878 End 2879 AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE 2880 2881 2882 ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE 2883 Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing 2884 AnimationMode = ONCE 2885 End 2886 2887 2888 ; This transition allows him to put his gun away when he's finished attacking. 2889 TransitionState = TRANS_FIRING_AK TRANS_STAND_AK 2890 Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing 2891 AnimationMode = ONCE 2892 End 2893 2894 2895 ; ;Throwing bottle---------------------------------------------------------------- 2896 ; ConditionState = PREATTACK_C 2897 ; Animation = UIMOB05_SKL.UIMOB05_ATCA_BF ; the wind up 2898 ; End 2899 ; AliasConditionState = PREATTACK_C FIRING_A 2900 ; AliasConditionState = PREATTACK_C RELOADING_A 2901 ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 2902 ; 2903 ; ConditionState = FIRING_C 2904 ; Animation = UIMOB05_SKL.UIMOB05_ATCA_AF ; the release and follow-thru 2905 ; TransitionKey = TRANS_THROW 2906 ; End 2907 ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A 2908 ; 2909 ; ConditionState RELOADING_C 2910 ; Animation =UIMOB05_SKL.UIMOB05_IDA1 2911 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru 2912 ; End 2913 ; AliasConditionState = RELOADING_C RELOADING_A 2914 ; AliasConditionState = RELOADING_C FIRING_A 2915 ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A 2916 2917 2918 ; TransitionState = TRANSXXX TRANS_THROW 2919 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway gun and take out bottle 2920 ; End 2921 2922 ; TransitionState = TRANS_THROW TRANS_FIRING_A 2923 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get PISTOL 2924 ; End 2925 2926 ; TransitionState = TRANSXXXAK TRANS_THROW 2927 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway AK and take out bottle 2928 ; End 2929 2930 2931 ; TransitionState = TRANS_THROW TRANS_FIRING_AK 2932 ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get AK 2933 ; End 2934 2935 2936 2937 2938 2939 ;-------------------------------------------------------- 2940 2941 2942 2943 2944 2945 2946 TransitionState = TRANS_Dying TRANS_Flailing 2947 Animation = UIMOB05_SKL.UIMOB05_A_ADTA1 2948 Animation = UIMOB05_SKL.UIMOB05_D_ADTA1 2949 AnimationMode = ONCE 2950 End 2951 2952 ConditionState = DYING EXPLODED_FLAILING 2953 Animation = UIMOB05_SKL.UIMOB05_A_ADTA2 2954 Animation = UIMOB05_SKL.UIMOB05_D_ADTA2 2955 AnimationMode = LOOP 2956 TransitionKey = TRANS_Flailing 2957 End 2958 2959 ConditionState = DYING EXPLODED_BOUNCING 2960 Animation = UIMOB05_SKL.UIMOB05_A_ADTA3 2961 Animation = UIMOB05_SKL.UIMOB05_D_ADTA3 2962 AnimationMode = ONCE 2963 TransitionKey = None 2964 End 2965 2966 2967 End 2968 2969 2970 2971 Geometry = CYLINDER 2972 GeometryMajorRadius = 3.0 ; very thin 2973 GeometryMinorRadius = 3.0 ; very thinD 2974 GeometryHeight = 12.0 2975 GeometryIsSmall = Yes 2976 2977 End 2978 2979 2980 ;------------------------------------------------------------------------------ 2981 ;------------------------------------------------------------------------------ 2982 Object GLAInfantryAngryMobMolotov02 2983 2984 ;**** ART Parameters *** 2985 Draw = W3DModelDraw ModuleTag_01 2986 OkToChangeModelColor = Yes 2987 2988 ; WHILE CARRYING ROCK 2989 ;--------------------------------------------------------- 2990 DefaultConditionState 2991 Model = UIMOB02_SKN 2992 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 2993 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 2994 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 2995 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 2996 AnimationMode = ONCE 2997 AnimationSpeedFactorRange 0.9 1.1 2998 TransitionKey = TRANS_STAND_B 2999 3000 WeaponFireFXBone = SECONDARY "UIMOB02 R HAND" 3001 3002 End 3003 3004 3005 ; Drawing rock 3006 ConditionState = PREATTACK_B 3007 Animation = UIMOB02_SKL.UIMOB02_ATCB_BF ; wind up 3008 AnimationMode = ONCE 3009 End 3010 AliasConditionState = PREATTACK_B FIRING_B 3011 AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B 3012 3013 ; throwing rock 3014 ConditionState = FIRING_B 3015 Animation = UIMOB02_SKL.UIMOB02_ATCB_AF ; throw 3016 AnimationMode = ONCE 3017 TransitionKey = TRANS_FIRING_B 3018 End 3019 3020 ConditionState = BETWEEN_FIRING_SHOTS_B 3021 Animation = UIMOB02_SKL.UIMOB02_STB 3022 AnimationMode = ONCE 3023 ; this is basically a trick: this guy has a nontrivial animation for firing, 3024 ; and a long recycle time between shots. we want him to finish his fire animation 3025 ; (unless he's ordered to do something else), so this is just a handy trick that 3026 ; says, "if the previous state had this transition key, allow it to finish before 3027 ; switching to us, if possible". 3028 WaitForStateToFinishIfPossible = TRANS_FIRING_B 3029 End 3030 AliasConditionState = RELOADING_B 3031 3032 3033 ConditionState = MOVING 3034 Animation = UIMOB02_SKL.UIMOB02_RNB 3035 AnimationMode = LOOP 3036 Flags = RANDOMSTART 3037 TransitionKey = MOVING 3038 ParticleSysBone = None InfantryDustTrails 3039 End 3040 3041 ConditionState = DYING 3042 Animation = UIMOB02_SKL.UIMOB02_DB1 3043 Animation = UIMOB02_SKL.UIMOB02_DB2 3044 AnimationMode = ONCE 3045 TransitionKey = TRANS_Dying 3046 End 3047 3048 ConditionState = SPECIAL_CHEERING 3049 Animation = UIMOB02_SKL.UIMOB02_CHB 3050 Flags = RANDOMSTART 3051 AnimationMode = LOOP 3052 End 3053 3054 3055 3056 3057 3058 3059 TransitionState = TRANS_Dying TRANS_Flailing 3060 Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 3061 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 3062 AnimationMode = ONCE 3063 End 3064 3065 ConditionState = DYING EXPLODED_FLAILING 3066 Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 3067 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 3068 AnimationMode = LOOP 3069 TransitionKey = TRANS_Flailing 3070 End 3071 3072 ConditionState = DYING EXPLODED_BOUNCING 3073 Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 3074 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 3075 AnimationMode = ONCE 3076 TransitionKey = None 3077 End 3078 3079 3080 End 3081 3082 3083 ;**** DESIGN parameters *** 3084 3085 DisplayName = OBJECT:AngryMob 3086 Side = GLA 3087 EditorSorting = INFANTRY 3088 TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) 3089 3090 WeaponSet 3091 Conditions = None 3092 Weapon = PRIMARY GLAAngryMobMolotovCocktailProjectileWeapon ; all she does is throw molotovs 3093 End 3094 3095 ArmorSet 3096 Conditions = None 3097 Armor = HumanArmor 3098 DamageFX = InfantryDamageFX 3099 End 3100 3101 VisionRange = 150 3102 ShroudClearingRange = 150 3103 Prerequisites 3104 Object = GLABarracks 3105 3106 End 3107 BuildCost = 100 3108 BuildTime = 0.0 3109 3110 ExperienceValue = 5 5 5 5 ;Experience point value at each level 3111 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 3112 IsTrainable = Yes ;Can gain experience 3113 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 3114 3115 ; *** AUDIO Parameters *** 3116 VoiceSelect = NoSound 3117 VoiceMove = NoSound 3118 VoiceAttack = NoSound 3119 3120 ;**** ENGINEERING Parameters *** ;MOB02 3121 RadarPriority = UNIT 3122 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables 3123 3124 Body = ActiveBody BodyTag_01 3125 MaxHealth = 50.0 3126 InitialHealth = 50.0 3127 End 3128 3129 Behavior = AIUpdateInterface ModuleTag_03 3130 AutoAcquireEnemiesWhenIdle = Yes 3131 End 3132 3133 Behavior = MobMemberSlavedUpdate ModuleTag_04 3134 MustCatchUpRadius = 40 3135 NoNeedToCatchUpRadius = 15 3136 Squirrelliness = 0.05 3137 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames 3138 End 3139 3140 Locomotor = SET_NORMAL AngryMobNormalLocomotor 3141 Locomotor = SET_WANDER AngryMobWanderLocomotor 3142 Locomotor = SET_PANIC AngryMobPanicLocomotor 3143 3144 Behavior = PhysicsBehavior ModuleTag_05 3145 Mass = 5.0 3146 End 3147 3148 Behavior = SquishCollide ModuleTag_08 3149 ;nothing 3150 End 3151 3152 Behavior = WeaponSetUpgrade UpgradeTag_01 3153 TriggeredBy = Upgrade_GLAArmTheMob 3154 End 3155 3156 3157 ; --- begin Death modules --- 3158 Behavior = SlowDeathBehavior ModuleTag_Death01 3159 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 3160 SinkDelay = 3000 3161 SinkRate = 0.5 ; in Dist/Sec 3162 DestructionDelay = 8000 3163 FX = INITIAL FX_CivilianArabFemaleDie 3164 End 3165 Behavior = SlowDeathBehavior ModuleTag_Death02 3166 DeathTypes = NONE +CRUSHED +SPLATTED 3167 SinkDelay = 3000 3168 SinkRate = 0.5 ; in Dist/Sec 3169 DestructionDelay = 8000 3170 FX = INITIAL FX_GIDieCrushed 3171 End 3172 Behavior = SlowDeathBehavior ModuleTag_Death03 3173 DeathTypes = NONE +EXPLODED 3174 SinkDelay = 3000 3175 SinkRate = 0.5 ; in Dist/Sec 3176 DestructionDelay = 8000 3177 FX = INITIAL FX_CivilianArabFemaleDie 3178 FlingForce = 8 3179 FlingForceVariance = 3 3180 FlingPitch = 60 3181 FlingPitchVariance = 10 3182 End 3183 Behavior = SlowDeathBehavior ModuleTag_Death04 3184 DeathTypes = NONE +BURNED 3185 DestructionDelay = 0 3186 FX = INITIAL FX_GIDie 3187 OCL = INITIAL OCL_FlamingInfantry 3188 End 3189 Behavior = SlowDeathBehavior ModuleTag_Death05 3190 DeathTypes = NONE +POISONED 3191 DestructionDelay = 0 3192 FX = INITIAL FX_DieByToxinGLA 3193 OCL = INITIAL OCL_ToxicInfantry 3194 End 3195 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 3196 DeathTypes = NONE +POISONED_BETA 3197 DestructionDelay = 0 3198 FX = INITIAL FX_DieByToxinGLA 3199 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 3200 End 3201 Behavior = SlowDeathBehavior ModuleTag_Death07 3202 DeathTypes = NONE +POISONED_GAMMA 3203 DestructionDelay = 0 3204 FX = INITIAL FX_DieByToxinGLA 3205 OCL = INITIAL OCL_ToxicInfantryGamma 3206 End 3207 ; --- end Death modules --- 3208 3209 Behavior = PoisonedBehavior ModuleTag_13 3210 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 3211 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 3212 End 3213 3214 Geometry = CYLINDER 3215 GeometryMajorRadius = 4.0 ; very thin 3216 GeometryHeight = 12.0 3217 GeometryIsSmall = Yes 3218 Shadow = SHADOW_DECAL 3219 ShadowSizeX = 14; 3220 ShadowSizeY = 14; 3221 ShadowTexture = ShadowI; 3222 BuildCompletion = APPEARS_AT_RALLY_POINT 3223 3224 End 3225 3226 ;------------------------------------------------------------------------------ 3227 ;------------------------------------------------------------------------------ 3228 3229 3230 3231 ;------------------------------------------------------------------------------ 3232 ;------------------------------------------------------------------------------ 3233 ;------------------------------------------------------------------------------ 3234 Object GLAInfantryHijacker 3235 3236 ; *** ART Parameters *** 3237 SelectPortrait = SUHijacker_L 3238 ButtonImage = SUHijacker 3239 3240 ;UpgradeCameo1 = NONE 3241 ;UpgradeCameo2 = NONE 3242 ;UpgradeCameo3 = NONE 3243 ;UpgradeCameo4 = NONE 3244 ;UpgradeCameo5 = NONE 3245 3246 Draw = W3DModelDraw ModuleTag_01 3247 OkToChangeModelColor = Yes 3248 3249 DefaultConditionState 3250 Model = UIHJCK_SKN 3251 IdleAnimation = UIHJCK_SKL.UIHJCK_STA 0 25 3252 IdleAnimation = UIHJCK_SKL.UIHJCK_IDA 3253 IdleAnimation = UIHJCK_SKL.UIHJCK_IDB 3254 AnimationMode = ONCE 3255 TransitionKey = TRANS_Stand 3256 End 3257 AliasConditionState = REALLYDAMAGED 3258 3259 ConditionState = MOVING 3260 Animation = UIHJCK_SKL.UIHJCK_RUN 3261 AnimationMode = LOOP 3262 Flags = RANDOMSTART 3263 TransitionKey = None 3264 ParticleSysBone = None InfantryDustTrails 3265 End 3266 AliasConditionState = REALLYDAMAGED MOVING 3267 3268 3269 ConditionState = DYING 3270 Animation = UIHJCK_SKL.UIHJCK_DTA 3271 Animation = UIHJCK_SKL.UIHJCK_DTB 3272 AnimationMode = ONCE 3273 TransitionKey = TRANS_Dying 3274 End 3275 3276 TransitionState = TRANS_Dying TRANS_Flailing 3277 Animation = UIHJCK_SKL.UIHJCK_ADTE1 3278 AnimationMode = ONCE 3279 End 3280 3281 ConditionState = DYING EXPLODED_FLAILING 3282 Animation = UIHJCK_SKL.UIHJCK_ADTE2 3283 AnimationMode = LOOP 3284 TransitionKey = TRANS_Flailing 3285 End 3286 3287 ConditionState = DYING EXPLODED_BOUNCING 3288 Animation = UIHJCK_SKL.UIHJCK_ADTE3 3289 AnimationMode = ONCE 3290 TransitionKey = None 3291 End 3292 3293 ConditionState = SPECIAL_CHEERING 3294 Animation = UIHJCK_SKL.UIHJCK_CHA 3295 AnimationMode = LOOP 3296 End 3297 3298 3299 ConditionState = PARACHUTING 3300 Animation = UIHJCK_SKL.UIHJCK_PHG 3301 AnimationMode = LOOP 3302 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 3303 TransitionKey = TRANS_Chute 3304 End 3305 AliasConditionState = PARACHUTING REALLYDAMAGED 3306 AliasConditionState = PARACHUTING DYING 3307 TransitionState = TRANS_Falling TRANS_Chute 3308 Animation = UIHJCK_SKL.UIHJCK_POP 3309 AnimationMode = ONCE 3310 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 3311 End 3312 TransitionState = TRANS_Chute TRANS_Stand 3313 Animation = UIHJCK_SKL.UIHJCK_PTD 3314 AnimationMode = ONCE 3315 End 3316 3317 3318 End 3319 3320 ; ***DESIGN parameters *** 3321 DisplayName = OBJECT:Hijacker 3322 Side = GLA 3323 EditorSorting = INFANTRY 3324 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 3325 3326 3327 3328 ArmorSet 3329 Conditions = None 3330 Armor = HumanArmor 3331 DamageFX = InfantryDamageFX 3332 End 3333 3334 VisionRange = 100 3335 ShroudClearingRange = 200 3336 Prerequisites 3337 Object = GLABarracks 3338 Object = GLAPalace 3339 Science = SCIENCE_Hijacker 3340 End 3341 3342 BuildCost = 400 3343 BuildTime = 10.0 ;in seconds 3344 3345 3346 3347 3348 ExperienceValue = 50 100 150 400 ;Experience point value at each level 3349 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 3350 IsTrainable = No ;Can gain experience 3351 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 3352 CommandSet = GLAInfantryHijackerCommandSet 3353 3354 ; *** AUDIO Parameters *** 3355 VoiceSelect = HijackerVoiceSelect 3356 VoiceMove = HijackerVoiceMove 3357 VoiceGuard = HijackerVoiceMove 3358 VoiceAttack = HijackerVoiceAttack 3359 VoiceFear = HijackerVoiceFear 3360 UnitSpecificSounds 3361 VoiceGarrison = HijackerVoiceGarrison 3362 VoiceCreate = HijackerVoiceCreate 3363 VoiceEnter = HijackerVoiceEnter 3364 VoiceEnterHostile = HijackerVoiceEnterHostile 3365 VoiceGetHealed = HijackerVoiceMove 3366 End 3367 3368 3369 ; *** ENGINEERING Parameters *** 3370 RadarPriority = UNIT 3371 EnterGuard = Yes 3372 HijackGuard = Yes 3373 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE STEALTH_GARRISON 3374 ;STEALTH_GARRISON Added per Dustin, 12/14--ML 3375 3376 3377 Behavior = StealthUpdate ModuleTag_02 3378 StealthDelay = 500 ; half second delay before stealthy 3379 StealthForbiddenConditions = MOVING ; only stealthy while stationary 3380 MoveThresholdSpeed = 3 3381 InnateStealth = Yes 3382 OrderIdleEnemiesToAttackMeUponReveal = Yes 3383 End 3384 3385 Body = ActiveBody ModuleTag_03 3386 MaxHealth = 100.0 3387 InitialHealth = 100.0 3388 End 3389 3390 Behavior = HijackerUpdate ModuleTag_04 3391 ParachuteName = AmericaParachute 3392 End 3393 3394 Behavior = AIUpdateInterface ModuleTag_05 3395 AutoAcquireEnemiesWhenIdle = Yes 3396 End 3397 Behavior = CommandButtonHuntUpdate ModuleTag_CBH01 ; allows use of command button hunt script with this unit. 3398 End 3399 Locomotor = SET_NORMAL JarmenKellLocomotor 3400 3401 Behavior = PhysicsBehavior ModuleTag_06 3402 Mass = 5.0 3403 End 3404 3405 Behavior = ConvertToHijackedVehicleCrateCollide ModuleTag_08 3406 RequiredKindOf = VEHICLE ; This is my car now, infidel! 3407 End 3408 3409 Behavior = SquishCollide ModuleTag_09 3410 ;nothing 3411 End 3412 3413 3414 ; --- begin Death modules --- 3415 Behavior = SlowDeathBehavior ModuleTag_Death01 3416 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 3417 SinkDelay = 3000 3418 SinkRate = 0.5 ; in Dist/Sec 3419 DestructionDelay = 8000 3420 FX = INITIAL FX_HijackerDie 3421 End 3422 Behavior = SlowDeathBehavior ModuleTag_Death02 3423 DeathTypes = NONE +CRUSHED +SPLATTED 3424 SinkDelay = 3000 3425 SinkRate = 0.5 ; in Dist/Sec 3426 DestructionDelay = 8000 3427 FX = INITIAL FX_GIDieCrushed 3428 End 3429 Behavior = SlowDeathBehavior ModuleTag_Death03 3430 DeathTypes = NONE +EXPLODED 3431 SinkDelay = 3000 3432 SinkRate = 0.5 ; in Dist/Sec 3433 DestructionDelay = 8000 3434 FX = INITIAL FX_HijackerDie 3435 FlingForce = 8 3436 FlingForceVariance = 3 3437 FlingPitch = 60 3438 FlingPitchVariance = 10 3439 End 3440 Behavior = SlowDeathBehavior ModuleTag_Death04 3441 DeathTypes = NONE +BURNED 3442 DestructionDelay = 0 3443 FX = INITIAL FX_DieByFireGLA 3444 OCL = INITIAL OCL_FlamingInfantry 3445 End 3446 Behavior = SlowDeathBehavior ModuleTag_Death05 3447 DeathTypes = NONE +POISONED 3448 DestructionDelay = 0 3449 FX = INITIAL FX_DieByToxinGLA 3450 OCL = INITIAL OCL_ToxicInfantry 3451 End 3452 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 3453 DeathTypes = NONE +POISONED_BETA 3454 DestructionDelay = 0 3455 FX = INITIAL FX_DieByToxinGLA 3456 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 3457 End 3458 Behavior = SlowDeathBehavior ModuleTag_Death07 3459 DeathTypes = NONE +POISONED_GAMMA 3460 DestructionDelay = 0 3461 FX = INITIAL FX_DieByToxinGLA 3462 OCL = INITIAL OCL_ToxicInfantryGamma 3463 End 3464 3465 ; --- end Death modules --- 3466 3467 Behavior = PoisonedBehavior ModuleTag_14 3468 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 3469 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 3470 End 3471 3472 Geometry = CYLINDER 3473 GeometryMajorRadius = 10.0 3474 GeometryMinorRadius = 10.0 3475 GeometryHeight = 12.0 3476 GeometryIsSmall = Yes 3477 Shadow = SHADOW_DECAL 3478 ShadowSizeX = 14; 3479 ShadowSizeY = 14; 3480 ShadowTexture = ShadowI; 3481 BuildCompletion = APPEARS_AT_RALLY_POINT 3482 3483 End 3484 3485 3486 3487 3488 3489 ;------------------------------------------------------------------------------ 3490 Object GLAInfantryWorker 3491 3492 ; *** ART Parameters *** 3493 SelectPortrait = SUWorker_L 3494 ButtonImage = SUWorker 3495 3496 UpgradeCameo1 = Upgrade_GLAWorkerShoes 3497 ;UpgradeCameo2 = NONE 3498 ;UpgradeCameo3 = NONE 3499 ;UpgradeCameo4 = NONE 3500 ;UpgradeCameo5 = NONE 3501 3502 Draw = W3DModelDraw ModuleTag_01 3503 OkToChangeModelColor = Yes 3504 3505 DefaultConditionState 3506 Model = UIWRKR_SKN 3507 IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 3508 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA 3509 AnimationMode = ONCE 3510 TransitionKey = TRANS_Stand 3511 End 3512 3513 ConditionState = MOVING 3514 Animation = UIWRKR_SKL.UIWRKR_RNA 16 3515 AnimationMode = LOOP 3516 Flags = RANDOMSTART 3517 TransitionKey = TRANS_Moving 3518 ParticleSysBone = None InfantryDustTrails 3519 End 3520 ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, 3521 ; since we flip the bit once we get pretty close to the target. but it looks 3522 ; funky to do the construction animation while moving. 3523 ; so just use the normal move animation in that case. 3524 AliasConditionState = ACTIVELY_CONSTRUCTING MOVING 3525 3526 ConditionState = ATTACKING 3527 ShowSubObject = MINED_SKIN 3528 Animation = UIWRKR_SKL.UIWRKR_MS 3529 AnimationMode = LOOP 3530 Flags = RANDOMSTART 3531 TransitionKey = TRANS_MetalDetector_Standing 3532 End 3533 3534 ConditionState = MOVING ATTACKING 3535 ShowSubObject = MINED_SKIN 3536 Animation = UIWRKR_SKL.UIWRKR_MSW 50 3537 AnimationMode = LOOP 3538 Flags = RANDOMSTART 3539 TransitionKey = TRANS_MetalDetector_Moving 3540 ParticleSysBone = None InfantryDustTrails 3541 End 3542 AliasConditionState = MOVING ATTACKING CARRYING 3543 3544 TransitionState = TRANS_Stand TRANS_MetalDetector_Standing ;STANDING -> ATTACKING 3545 ShowSubObject = MINED_SKIN 3546 Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing 3547 AnimationMode = ONCE 3548 End 3549 TransitionState = TRANS_MetalDetector_Standing TRANS_Stand ;ATTACKING -> STANDING 3550 ShowSubObject = MINED_SKIN 3551 Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing 3552 AnimationMode = ONCE 3553 End 3554 3555 TransitionState = TRANS_Carry TRANS_MetalDetector_Standing ;CARRYING -> ATTACKING 3556 ShowSubObject = MINED_SKIN 3557 Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing 3558 AnimationMode = ONCE 3559 End 3560 TransitionState = TRANS_MetalDetector_Standing TRANS_Carry ;ATTACKING -> CARRYING 3561 ShowSubObject = MINED_SKIN 3562 Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing 3563 AnimationMode = ONCE 3564 End 3565 TransitionState = TRANS_Carry TRANS_MetalDetector_Moving ;CARRYING -> MOVING ATTACKING 3566 ShowSubObject = MINED_SKIN 3567 Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] 3568 AnimationMode = ONCE 3569 AnimationSpeedFactorRange = 2.0 2.0 3570 End 3571 3572 TransitionState = TRANS_MetalDetector_Moving TRANS_Stand ;MOVING ATTACKING -> STANDING 3573 ShowSubObject = MINED_SKIN 3574 Animation = UIWRKR_SKL.UIWRKR_TRB2;put away moving 3575 AnimationMode = ONCE 3576 End 3577 TransitionState = TRANS_Stand TRANS_MetalDetector_Moving ;STANDING -> MOVING ATTACKING 3578 ShowSubObject = MINED_SKIN 3579 Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] 3580 AnimationMode = ONCE 3581 AnimationSpeedFactorRange = 2.0 2.0 3582 End 3583 3584 TransitionState = TRANS_Moving TRANS_MetalDetector_Standing ;MOVING -> ATTACKING [STANDING] 3585 ShowSubObject = MINED_SKIN 3586 Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing 3587 AnimationMode = ONCE 3588 End 3589 TransitionState = TRANS_MetalDetector_Standing TRANS_Moving ;ATTACKING [STANDING] -> MOVING 3590 ShowSubObject = MINED_SKIN 3591 Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] 3592 AnimationMode = ONCE 3593 AnimationSpeedFactorRange = 2.0 2.0 3594 End 3595 3596 TransitionState = TRANS_Moving TRANS_MetalDetector_Moving ;MOVING -> MOVING ATTACKING 3597 ShowSubObject = MINED_SKIN 3598 Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] 3599 AnimationMode = ONCE 3600 AnimationSpeedFactorRange = 2.0 2.0 3601 End 3602 TransitionState = TRANS_MetalDetector_Moving TRANS_Moving ;MOVING ATTACKING -> MOVING 3603 ShowSubObject = MINED_SKIN 3604 Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] 3605 AnimationMode = ONCE 3606 AnimationSpeedFactorRange = 2.0 2.0 3607 End 3608 3609 3610 ConditionState = MOVING CARRYING 3611 ShowSubObject = BOX 3612 Animation = UIWRKR_SKL.UIWRKR_CARY 12 3613 AnimationMode = LOOP 3614 Flags = RANDOMSTART 3615 TransitionKey = TRANS_Carry 3616 ParticleSysBone = None InfantryDustTrails 3617 End 3618 ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, 3619 ; since we flip the bit once we get pretty close to the target. but it looks 3620 ; funky to do the construction animation while moving. 3621 ; so just use the normal move animation in that case. 3622 AliasConditionState = ACTIVELY_CONSTRUCTING MOVING CARRYING 3623 3624 ConditionState = CARRYING 3625 ShowSubObject = BOX 3626 Animation = UIWRKR_SKL.UIWRKR_CARST 30 3627 AnimationMode = LOOP 3628 Flags = RANDOMSTART 3629 TransitionKey = TRANS_Carry 3630 End 3631 3632 ConditionState = DYING 3633 Animation = UIWRKR_SKL.UIWRKR_DTA 3634 AnimationMode = ONCE 3635 TransitionKey = TRANS_Dying 3636 End 3637 AliasConditionState = DYING CARRYING 3638 3639 TransitionState = TRANS_Dying TRANS_Flailing 3640 Animation = UIWRKR_SKL.UIWRKR_ADTE1 3641 AnimationMode = ONCE 3642 End 3643 3644 ConditionState = DYING EXPLODED_FLAILING 3645 Animation = UIWRKR_SKL.UIWRKR_ADTE2 3646 AnimationMode = LOOP 3647 TransitionKey = TRANS_Flailing 3648 End 3649 3650 ConditionState = DYING EXPLODED_BOUNCING 3651 Animation = UIWRKR_SKL.UIWRKR_ADTE3 3652 AnimationMode = ONCE 3653 TransitionKey = None 3654 End 3655 3656 ConditionState = SPECIAL_CHEERING 3657 Animation = UIWRKR_SKL.UIWRKR_CHA 3658 AnimationMode = ONCE 3659 End 3660 3661 ConditionState = ACTIVELY_CONSTRUCTING 3662 Animation = UIWRKR_SKL.UIWRKR_BDA 3663 AnimationMode = LOOP 3664 TransitionKey = TRANS_Constructing 3665 End 3666 AliasConditionState = ACTIVELY_CONSTRUCTING CARRYING 3667 3668 ; -------------------- 3669 3670 TransitionState = TRANS_Stand TRANS_Carry 3671 ShowSubObject = BOX 3672 Animation = UIWRKR_SKL.UIWRKR_PIK 3673 AnimationMode = ONCE 3674 End 3675 3676 TransitionState = TRANS_Carry TRANS_Stand 3677 ShowSubObject = BOX 3678 Animation = UIWRKR_SKL.UIWRKR_PIK 3679 AnimationMode = ONCE_BACKWARDS 3680 Flags = START_FRAME_LAST 3681 End 3682 3683 TransitionState = TRANS_Stand TRANS_Constructing 3684 Animation = UIWRKR_SKL.UIWRKR_TRA1 3685 AnimationMode = ONCE 3686 End 3687 3688 TransitionState = TRANS_Constructing TRANS_Stand 3689 Animation = UIWRKR_SKL.UIWRKR_TRA2 3690 AnimationMode = ONCE 3691 End 3692 End 3693 3694 ; ***DESIGN parameters *** 3695 DisplayName = OBJECT:Worker 3696 Side = GLA 3697 EditorSorting = INFANTRY 3698 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 3699 3700 3701 WeaponSet 3702 Conditions = None 3703 Weapon = PRIMARY None 3704 End 3705 WeaponSet 3706 Conditions = MINE_CLEARING_DETAIL 3707 Weapon = PRIMARY WorkerMineDisarmingWeapon 3708 End 3709 3710 3711 ArmorSet 3712 Conditions = None 3713 Armor = HumanArmor 3714 DamageFX = InfantryDamageFX 3715 End 3716 VisionRange = 100 3717 ShroudClearingRange = 200 3718 ;Prerequisites 3719 ; Object = GLABarracks GLASupplyStash ;commented out, or else you can't build from Con Yard as Dozer. 3720 ;End 3721 BuildCost = 200 3722 BuildTime = 3.0 ;in seconds 3723 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 3724 CommandSet = GLAWorkerCommandSet 3725 3726 ; *** AUDIO Parameters *** 3727 VoiceSelect = WorkerVoiceSelect 3728 VoiceMove = WorkerVoiceMove 3729 VoiceAttack = WorkerVoiceMove 3730 VoiceGuard = WorkerVoiceMove 3731 VoiceFear = WorkerVoiceFear 3732 VoiceTaskComplete = WorkerVoiceBuildComplete 3733 UnitSpecificSounds 3734 VoiceEnter = WorkerVoiceMoveUpgraded 3735 VoiceEnterHostile = WorkerVoiceMoveUpgraded 3736 VoiceGarrison = WorkerVoiceGarrison 3737 VoiceCreate = WorkerVoiceCreate 3738 VoiceSupply = WorkerVoiceSupply 3739 VoiceNoBuild = WorkerVoiceBuildNot 3740 VoiceRepair = WorkerVoiceRepair 3741 VoiceDisarm = WorkerVoiceClearMine 3742 VoiceBuildResponse = WorkerVoiceBuild 3743 VoiceGetHealed = WorkerVoiceMoveUpgraded 3744 VoiceMoveUpgraded = WorkerVoiceMoveUpgraded 3745 End 3746 3747 ; *** ENGINEERING Parameters *** 3748 RadarPriority = UNIT 3749 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER DOZER HARVESTER SCORE 3750 3751 Body = ActiveBody ModuleTag_02 3752 MaxHealth = 100.0 3753 InitialHealth = 100.0 3754 End 3755 3756 Behavior = WorkerAIUpdate ModuleTag_03 3757 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second 3758 BoredTime = 5000 ; in milliseconds 3759 BoredRange = 150 ; when bored, we look this far away to do something 3760 MaxBoxes = 1 3761 UpgradedSupplyBoost = 8 ; gives this much more cash for every box collected 3762 SupplyCenterActionDelay = 150 ;400 ; ms for whole thing (one transaction) 3763 SupplyWarehouseActionDelay = 150 ;400 ;ms per box (many small transactions) 3764 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) 3765 SuppliesDepletedVoice = WorkerVoiceSuppliesDepleted 3766 ; the only "enemies" that workers can acquire are mines, to be disarmed... 3767 AutoAcquireEnemiesWhenIdle = Yes 3768 End 3769 Locomotor = SET_NORMAL FastHumanLocomotor 3770 Locomotor = SET_NORMAL_UPGRADED WorkerShoesLocomotor 3771 Behavior = PhysicsBehavior ModuleTag_04 3772 Mass = 5.0 3773 End 3774 3775 Behavior = SquishCollide ModuleTag_06 3776 ;nothing 3777 End 3778 Behavior = LocomotorSetUpgrade ModuleTag_07 3779 TriggeredBy = Upgrade_GLAWorkerShoes 3780 End 3781 3782 ; --- begin Death modules --- 3783 Behavior = SlowDeathBehavior ModuleTag_Death01 3784 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 3785 SinkDelay = 3000 3786 SinkRate = 0.5 ; in Dist/Sec 3787 DestructionDelay = 8000 3788 FX = INITIAL FX_WorkerDie 3789 End 3790 Behavior = SlowDeathBehavior ModuleTag_Death02 3791 DeathTypes = NONE +CRUSHED +SPLATTED 3792 SinkDelay = 3000 3793 SinkRate = 0.5 ; in Dist/Sec 3794 DestructionDelay = 8000 3795 FX = INITIAL FX_GIDieCrushed 3796 End 3797 Behavior = SlowDeathBehavior ModuleTag_Death03 3798 DeathTypes = NONE +EXPLODED 3799 SinkDelay = 3000 3800 SinkRate = 0.5 ; in Dist/Sec 3801 DestructionDelay = 8000 3802 FX = INITIAL FX_WorkerDie 3803 FlingForce = 8 3804 FlingForceVariance = 3 3805 FlingPitch = 60 3806 FlingPitchVariance = 10 3807 End 3808 Behavior = SlowDeathBehavior ModuleTag_Death04 3809 DeathTypes = NONE +BURNED 3810 DestructionDelay = 0 3811 FX = INITIAL FX_DieByFireGLA 3812 OCL = INITIAL OCL_FlamingInfantry 3813 End 3814 Behavior = SlowDeathBehavior ModuleTag_Death05 3815 DeathTypes = NONE +POISONED 3816 DestructionDelay = 0 3817 FX = INITIAL FX_DieByToxinGLA 3818 OCL = INITIAL OCL_ToxicInfantry 3819 End 3820 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 3821 DeathTypes = NONE +POISONED_BETA 3822 DestructionDelay = 0 3823 FX = INITIAL FX_DieByToxinGLA 3824 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 3825 End 3826 Behavior = SlowDeathBehavior ModuleTag_Death07 3827 DeathTypes = NONE +POISONED_GAMMA 3828 DestructionDelay = 0 3829 FX = INITIAL FX_DieByToxinGLA 3830 OCL = INITIAL OCL_ToxicInfantryGamma 3831 End 3832 3833 ; --- end Death modules --- 3834 3835 Behavior = StealthDetectorUpdate ModuleTag_12 3836 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 3837 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 3838 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 3839 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 3840 ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things 3841 End 3842 3843 Behavior = PoisonedBehavior ModuleTag_13 3844 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 3845 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 3846 End 3847 3848 Behavior = CommandSetUpgrade ModuleTag_14 3849 TriggeredBy = Upgrade_GLAWorkerFakeCommandSet 3850 RemovesUpgrades = Upgrade_GLAWorkerRealCommandSet 3851 CommandSet = GLAWorkerFakeBuildingsCommandSet 3852 End 3853 3854 Behavior = CommandSetUpgrade ModuleTag_15 3855 TriggeredBy = Upgrade_GLAWorkerRealCommandSet 3856 RemovesUpgrades = Upgrade_GLAWorkerFakeCommandSet Upgrade_GLAWorkerRealCommandSet 3857 CommandSet = GLAWorkerCommandSet 3858 End 3859 3860 Behavior = ProductionUpdate ModuleTag_16 3861 MaxQueueEntries = 1; For the command set switching upgrade 3862 End 3863 3864 Geometry = CYLINDER 3865 GeometryMajorRadius = 10.0 3866 GeometryMinorRadius = 10.0 3867 GeometryHeight = 12.0 3868 GeometryIsSmall = Yes 3869 Shadow = SHADOW_DECAL 3870 ShadowSizeX = 14; 3871 ShadowSizeY = 14; 3872 ShadowTexture = ShadowI; 3873 BuildCompletion = APPEARS_AT_RALLY_POINT 3874 3875 End 3876 3877 ;------------------------------------------------------------------------------ 3878 Object GLAInfantrySaboteur 3879 3880 ; *** ART Parameters *** 3881 SelectPortrait = SUSaboteur_L 3882 ButtonImage = SUSaboteur 3883 3884 ;UpgradeCameo1 = NONE 3885 ;UpgradeCameo2 = NONE 3886 ;UpgradeCameo3 = NONE 3887 ;UpgradeCameo4 = NONE 3888 ;UpgradeCameo5 = NONE 3889 3890 Draw = W3DModelDraw ModuleTag_01 3891 3892 OkToChangeModelColor = Yes 3893 3894 ; this says "we don't use these condition states at all, so completely 3895 ; ignore them for purposes of matchmaking"... this is useful to help 3896 ; reduce the number of AliasConditionState clauses you must add in 3897 ; order to avoid ambiguity in some cases. 3898 IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A 3899 3900 ; ---- standing 3901 DefaultConditionState 3902 Model = UISabotr_SKN 3903 IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 3904 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA 3905 AnimationMode = ONCE 3906 TransitionKey = TRANS_Stand 3907 End 3908 3909 ConditionState = MOVING 3910 Animation = UIWRKR_SKL.UIWRKR_RNA 16 3911 AnimationMode = LOOP 3912 Flags = RANDOMSTART 3913 TransitionKey = TRANS_Moving 3914 ParticleSysBone = None InfantryDustTrails 3915 End 3916 3917 ConditionState = DYING 3918 Animation = UIWRKR_SKL.UIWRKR_DTA 3919 AnimationMode = ONCE 3920 TransitionKey = TRANS_Dying 3921 End 3922 3923 TransitionState = TRANS_Dying TRANS_Flailing 3924 Animation = UIWRKR_SKL.UIWRKR_ADTE1 3925 AnimationMode = ONCE 3926 End 3927 3928 ConditionState = DYING EXPLODED_FLAILING 3929 Animation = UIWRKR_SKL.UIWRKR_ADTE2 3930 AnimationMode = LOOP 3931 TransitionKey = TRANS_Flailing 3932 End 3933 3934 ConditionState = DYING EXPLODED_BOUNCING 3935 Animation = UIWRKR_SKL.UIWRKR_ADTE3 3936 AnimationMode = ONCE 3937 TransitionKey = None 3938 End 3939 3940 ConditionState = SPECIAL_CHEERING 3941 Animation = UIWRKR_SKL.UIWRKR_CHA 3942 AnimationMode = ONCE 3943 End 3944 3945 End 3946 3947 ; ***DESIGN parameters *** 3948 DisplayName = OBJECT:Saboteur 3949 Side = GLA 3950 EditorSorting = INFANTRY 3951 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 3952 3953 ArmorSet 3954 Conditions = None 3955 Armor = HumanArmor 3956 DamageFX = InfantryDamageFX 3957 End 3958 VisionRange = 150 3959 ShroudClearingRange = 300 3960 Prerequisites 3961 Object = GLAPalace 3962 End 3963 BuildCost = 800 3964 BuildTime = 15.0 ;in seconds 3965 3966 ExperienceValue = 15 15 30 40 ;Experience point value at each level 3967 IsTrainable = No ;Can gain experience 3968 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 3969 CommandSet = GLAInfantrySaboteurCommandSet 3970 3971 ; *** AUDIO Parameters *** 3972 VoiceSelect = SaboteurVoiceSelect 3973 VoiceMove = SaboteurVoiceMove 3974 VoiceGuard = SaboteurVoiceMove 3975 VoiceAttack = SaboteurVoiceAttack 3976 SoundStealthOn = StealthOn 3977 SoundStealthOff = StealthOff 3978 VoiceFear = SaboteurVoiceFear 3979 VoiceTaskComplete = NoSound 3980 UnitSpecificSounds 3981 VoiceCreate = SaboteurVoiceCreate 3982 VoiceSubdue = SaboteurVoiceMove 3983 VoiceGarrison = SaboteurVoiceMove 3984 VoiceEnter = SaboteurVoiceMove 3985 VoiceEnterHostile = SaboteurVoiceAttack 3986 VoiceGetHealed = SaboteurVoiceMove 3987 End 3988 3989 ; *** ENGINEERING Parameters *** 3990 RadarPriority = UNIT 3991 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 3992 3993 Body = ActiveBody ModuleTag_02 3994 MaxHealth = 120.0 3995 InitialHealth = 120.0 3996 End 3997 3998 Behavior = AIUpdateInterface ModuleTag_03 3999 AutoAcquireEnemiesWhenIdle = Yes 4000 End 4001 4002 Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. 4003 End 4004 4005 Locomotor = SET_NORMAL SaboteurGroundLocomotor SaboteurCliffLocomotor 4006 4007 Behavior = PhysicsBehavior ModuleTag_05 4008 Mass = 5.0 4009 End 4010 Behavior = StealthUpdate ModuleTag_07 4011 StealthDelay = 2500 ; msec 4012 StealthForbiddenConditions = None 4013 InnateStealth = Yes ;Requires upgrade first 4014 OrderIdleEnemiesToAttackMeUponReveal = Yes 4015 End 4016 4017 Behavior = SquishCollide ModuleTag_11 4018 ;nothing 4019 End 4020 4021 Behavior = SabotagePowerPlantCrateCollide SabotageTag_01 4022 BuildingPickup = Yes 4023 SabotagePowerDuration = 30000 4024 End 4025 ;Behavior = SabotageSupplyDropzoneCrateCollide SabotageTag_02 4026 ; BuildingPickup = Yes 4027 ; StealCashAmount = 800 4028 ;End 4029 Behavior = SabotageSuperweaponCrateCollide SabotageTag_03 4030 BuildingPickup = Yes 4031 End 4032 Behavior = SabotageCommandCenterCrateCollide SabotageTag_04 4033 BuildingPickup = Yes 4034 End 4035 Behavior = SabotageSupplyCenterCrateCollide SabotageTag_05 4036 BuildingPickup = Yes 4037 StealCashAmount = 1000 4038 End 4039 Behavior = SabotageMilitaryFactoryCrateCollide SabotageTag_06 4040 BuildingPickup = Yes 4041 SabotageDuration = 30000 4042 End 4043 Behavior = SabotageFakeBuildingCrateCollide SabotageTag_07 4044 BuildingPickup = Yes 4045 End 4046 Behavior = SabotageInternetCenterCrateCollide SabotageTag_08 4047 BuildingPickup = Yes 4048 SabotageDuration = 15000 4049 End 4050 4051 ; --- begin Death modules --- 4052 Behavior = SlowDeathBehavior ModuleTag_Death01 4053 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 4054 SinkDelay = 3000 4055 SinkRate = 0.5 ; in Dist/Sec 4056 DestructionDelay = 8000 4057 FX = INITIAL FX_SaboteurDie 4058 End 4059 Behavior = SlowDeathBehavior ModuleTag_Death02 4060 DeathTypes = NONE +CRUSHED +SPLATTED 4061 SinkDelay = 3000 4062 SinkRate = 0.5 ; in Dist/Sec 4063 DestructionDelay = 8000 4064 FX = INITIAL FX_GIDieCrushed 4065 End 4066 Behavior = SlowDeathBehavior ModuleTag_Death03 4067 DeathTypes = NONE +EXPLODED 4068 SinkDelay = 3000 4069 SinkRate = 0.5 ; in Dist/Sec 4070 DestructionDelay = 8000 4071 FX = INITIAL FX_SaboteurDie 4072 FlingForce = 8 4073 FlingForceVariance = 3 4074 FlingPitch = 60 4075 FlingPitchVariance = 10 4076 End 4077 Behavior = SlowDeathBehavior ModuleTag_Death04 4078 DeathTypes = NONE +BURNED 4079 DestructionDelay = 0 4080 FX = INITIAL FX_DieByFireGLA 4081 OCL = INITIAL OCL_FlamingInfantry 4082 End 4083 Behavior = SlowDeathBehavior ModuleTag_Death05 4084 DeathTypes = NONE +POISONED 4085 DestructionDelay = 0 4086 FX = INITIAL FX_DieByToxinGLA 4087 OCL = INITIAL OCL_ToxicInfantry 4088 End 4089 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 4090 DeathTypes = NONE +POISONED_BETA 4091 DestructionDelay = 0 4092 FX = INITIAL FX_DieByToxinGLA 4093 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 4094 End 4095 Behavior = SlowDeathBehavior ModuleTag_Death07 4096 DeathTypes = NONE +POISONED_GAMMA 4097 DestructionDelay = 0 4098 FX = INITIAL FX_DieByToxinGLA 4099 OCL = INITIAL OCL_ToxicInfantryGamma 4100 End 4101 4102 ; --- end Death modules --- 4103 4104 Behavior = PoisonedBehavior ModuleTag_16 4105 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 4106 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 4107 End 4108 4109 ; Behavior = SpecialAbility ModuleTag_17 4110 ; SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 4111 ; UpdateModuleStartsAttack = Yes 4112 ; StartsPaused = Yes 4113 ; InitiateSound = RebelVoiceCapture 4114 ; End 4115 ; Behavior = SpecialAbilityUpdate ModuleTag_18 4116 ; SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding 4117 ; StartAbilityRange = 5.0 4118 ; UnpackTime = 3000 ; (changing this will scale anim speed) 4119 ; PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) 4120 ; PackTime = 2000 ; (changing this will scale anim speed) 4121 ; DoCaptureFX = Yes 4122 ; AwardXPForTriggering = 12 4123 ; ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 4124 ; End 4125 4126 Geometry = CYLINDER 4127 GeometryMajorRadius = 10.0 4128 GeometryMinorRadius = 10.0 4129 GeometryHeight = 12.0 4130 GeometryIsSmall = Yes 4131 Shadow = SHADOW_DECAL 4132 ShadowSizeX = 14; 4133 ShadowSizeY = 14; 4134 ShadowTexture = ShadowI; 4135 BuildCompletion = APPEARS_AT_RALLY_POINT 4136 4137 End 4138
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 |