[ Index ] | WAROFGENERALS |
PHP Cross Reference of WAROFGENERALS MODS SOURCES |
[Summary view] [Print] [Text view]
1 2 ;------------------------------------------------------------------------------ 3 Object ChinaInfantryRedguard 4 5 ; *** ART Parameters *** 6 SelectPortrait = SNRedGuard_L 7 ButtonImage = SNRedGuard_L 8 9 UpgradeCameo1 = Upgrade_Nationalism 10 UpgradeCameo2 = Upgrade_InfantryCaptureBuilding 11 ;UpgradeCameo3 = NONE 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-Around Animations 26 27 DefaultConditionState 28 Model = NICNSC_SKN 29 IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35 30 IdleAnimation = NICNSC_SKL.NICNSC_IDA 31 IdleAnimation = NICNSC_SKL.NICNSC_IDB 32 AnimationMode = ONCE 33 WeaponFireFXBone = PRIMARY Muzzle 34 WeaponMuzzleFlash = PRIMARY MuzzleFX 35 TransitionKey = TRANS_Stand 36 End 37 38 ConditionState = REALLYDAMAGED 39 IdleAnimation = NICNSC_SKL.NICNSC_STB 40 AnimationMode = ONCE 41 TransitionKey = TRANS_StandDamaged 42 End 43 44 ; ------- Machine Gun Animations 45 46 ConditionState = USING_WEAPON_A 47 Animation = NICNSC_SKL.NICNSC_ATA 48 AnimationMode = LOOP 49 TransitionKey = TRANS_Firing 50 End 51 52 ConditionState = USING_WEAPON_A REALLYDAMAGED 53 Animation = NICNSC_SKL.NICNSC_ATC 54 AnimationMode = LOOP 55 TransitionKey = TRANS_FiringDamaged 56 End 57 58 59 ; ------- Firing-related Transitions 60 61 TransitionState = TRANS_Firing TRANS_FiringDamaged 62 Animation = NICNSC_SKL.NICNSC_AA2AC 63 AnimationMode = ONCE 64 End 65 66 TransitionState = TRANS_Stand TRANS_Firing 67 Animation = NICNSC_SKL.NICNSC_SA2AA 68 AnimationMode = ONCE 69 End 70 71 TransitionState = TRANS_Firing TRANS_Stand 72 Animation = NICNSC_SKL.NICNSC_AA2SA 73 AnimationMode = ONCE 74 End 75 76 TransitionState = TRANS_StandDamaged TRANS_FiringDamaged 77 Animation = NICNSC_SKL.NICNSC_ATCST 78 AnimationMode = ONCE 79 End 80 81 TransitionState = TRANS_FiringDamaged TRANS_StandDamaged 82 Animation = NICNSC_SKL.NICNSC_ATCED 83 AnimationMode = ONCE 84 End 85 86 87 ; ------------- Damage Transitions -------------------- 88 TransitionState = TRANS_StandDamaged TRANS_RunDamaged 89 Animation = NICNSC_SKL.NICNSC_AA2AC 90 AnimationMode = ONCE 91 AnimationSpeedFactorRange = 2 2 92 End 93 TransitionState = TRANS_RunDamaged TRANS_StandDamaged 94 Animation = NICNSC_SKL.NICNSC_AA2AC 95 AnimationMode = ONCE_BACKWARDS 96 AnimationSpeedFactorRange = 2 2 97 Flags = START_FRAME_LAST 98 End 99 TransitionState = TRANS_Stand TRANS_StandDamaged 100 Animation = NICNSC_SKL.NICNSC_AA2SA 101 AnimationMode = ONCE_BACKWARDS 102 AnimationSpeedFactorRange = 4 5 103 Flags = START_FRAME_LAST 104 End 105 106 107 108 109 ; ------- Bayonet Animations 110 111 ConditionState = PREATTACK_C 112 Animation = NICNSC_SKL.NICNSC_ATB1 113 AnimationMode = ONCE 114 TransitionKey = TRANS_Stab 115 End 116 AliasConditionState = PREATTACK_C MOVING 117 AliasConditionState = PREATTACK_C FIRING_C 118 AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C 119 120 ConditionState = FIRING_C 121 Animation = NICNSC_SKL.NICNSC_ATB2 122 AnimationMode = ONCE 123 ; this is basically a trick: this guy has a nontrivial animation for firing, 124 ; and a long recycle time between shots. we want him to finish his fire animation 125 ; (unless he's ordered to do something else), so this is just a handy trick that 126 ; says, "if the previous state had this transition key, allow it to finish before 127 ; switching to us, if possible". 128 WaitForStateToFinishIfPossible = TRANS_Stab 129 End 130 AliasConditionState = BETWEEN_FIRING_SHOTS_C 131 AliasConditionState = RELOADING_C 132 133 ; ------- Parachuting Animations 134 135 ConditionState = FREEFALL 136 Animation = NICNSC_SKL.NICNSC_POP 137 AnimationMode = MANUAL 138 Flags = START_FRAME_FIRST 139 TransitionKey = TRANS_Falling 140 End 141 AliasConditionState = FREEFALL REALLYDAMAGED 142 AliasConditionState = FREEFALL DYING 143 144 ConditionState = PARACHUTING 145 Animation = NICNSC_SKL.NICNSC_PHG 146 AnimationMode = LOOP 147 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 148 TransitionKey = TRANS_Chute 149 End 150 AliasConditionState = PARACHUTING REALLYDAMAGED 151 AliasConditionState = PARACHUTING DYING 152 153 TransitionState = TRANS_Falling TRANS_Chute 154 Animation = NICNSC_SKL.NICNSC_POP 155 AnimationMode = ONCE 156 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 157 End 158 159 TransitionState = TRANS_Chute TRANS_Stand 160 Animation = NICNSC_SKL.NICNSC_PTD 161 AnimationMode = ONCE 162 End 163 164 ; ------- Movement Animations 165 166 ConditionState = MOVING 167 Animation = NICNSC_SKL.NICNSC_RNA 26 168 AnimationMode = LOOP 169 Flags = RANDOMSTART 170 TransitionKey = None 171 ParticleSysBone = None InfantryDustTrails 172 End 173 AliasConditionState = MOVING ATTACKING 174 175 ConditionState = MOVING REALLYDAMAGED 176 Animation = NICNSC_SKL.NICNSC_RNB 28 177 AnimationMode = LOOP 178 Flags = RANDOMSTART 179 TransitionKey = TRANS_RunDamaged 180 TransitionKey = None 181 End 182 AliasConditionState = MOVING ATTACKING REALLYDAMAGED 183 184 ; ------- Bldg-capture 185 186 ConditionState = UNPACKING 187 Model = NICNSC_F_SKN 188 Animation = NICNSC_F_SKL.NICNSC_F_FDP1 189 AnimationMode = ONCE 190 End 191 AliasConditionState = UNPACKING REALLYDAMAGED 192 193 ConditionState = RAISING_FLAG 194 Model = NICNSC_F_SKN 195 Animation = NICNSC_F_SKL.NICNSC_F_FDP2 196 AnimationMode = ONCE 197 TransitionKey = TRANS_Raising 198 End 199 AliasConditionState = RAISING_FLAG REALLYDAMAGED 200 201 ConditionState = PACKING 202 Model = NICNSC_F_SKN 203 Animation = NICNSC_F_SKL.NICNSC_F_FDP1 204 AnimationMode = ONCE_BACKWARDS 205 Flags = START_FRAME_LAST 206 TransitionKey = TRANS_Packing 207 End 208 AliasConditionState = PACKING REALLYDAMAGED 209 210 TransitionState = TRANS_Raising TRANS_Packing 211 Model = NICNSC_F_SKN 212 Animation = NICNSC_F_SKL.NICNSC_F_FDP2 213 AnimationMode = ONCE_BACKWARDS 214 Flags = START_FRAME_LAST 215 End 216 217 ; ------- Dying Animations 218 219 ConditionState = DYING 220 Animation = NICNSC_SKL.NICNSC_DTA 221 Animation = NICNSC_SKL.NICNSC_DTB 222 AnimationMode = ONCE 223 TransitionKey = TRANS_Dying 224 End 225 226 TransitionState = TRANS_Dying TRANS_Flailing 227 Animation = NICNSC_SKL.NICNSC_ATDE1 228 AnimationMode = ONCE 229 End 230 231 ConditionState = DYING EXPLODED_FLAILING 232 Animation = NICNSC_SKL.NICNSC_ATDE2 233 AnimationMode = LOOP 234 TransitionKey = TRANS_Flailing 235 End 236 237 ConditionState = DYING EXPLODED_BOUNCING 238 Animation = NICNSC_SKL.NICNSC_ATDE3 239 AnimationMode = ONCE 240 TransitionKey = None 241 End 242 243 ; ------- Misc Animations 244 245 ConditionState = SPECIAL_CHEERING 246 Animation = NICNSC_SKL.NICNSC_CHA 247 AnimationMode = LOOP 248 End 249 250 End 251 252 ; ***DESIGN parameters *** 253 DisplayName = OBJECT:Redguard 254 Side = China 255 EditorSorting = INFANTRY 256 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 257 WeaponSet 258 Conditions = None 259 Weapon = PRIMARY RedguardMachineGun 260 End 261 ArmorSet 262 Conditions = None 263 Armor = HumanArmor 264 DamageFX = InfantryDamageFX 265 End 266 VisionRange = 100 267 ShroudClearingRange = 200 268 Prerequisites 269 Object = ChinaBarracks 270 End 271 BuildCost = 300 272 BuildTime = 10.0 ;in seconds 273 274 ExperienceValue = 5 5 10 20 ;Experience point value at each level 275 ExperienceRequired = 0 20 40 80 ;Experience points needed to gain each level 276 IsTrainable = Yes ;Can gain experience 277 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 278 CommandSet = ChinaInfantryRedguardCommandSet 279 280 ; *** AUDIO Parameters *** 281 VoiceSelect = RedGuardVoiceSelect 282 VoiceMove = RedGuardVoiceMove 283 VoiceGuard = RedGuardVoiceMove 284 VoiceAttack = RedGuardVoiceAttack 285 VoiceGroupSelect = BattleCrySound 286 VoiceFear = RedGuardVoiceFear 287 VoiceTaskComplete = RedGuardVoiceCaptureComplete 288 UnitSpecificSounds 289 VoiceMelee = RedGuardVoiceAttackBayonet 290 VoiceGarrison = RedGuardVoiceGarrison 291 VoiceCreate = RedGuardVoiceCreate 292 VoiceSubdue = RedGuardVoiceSubdue 293 VoiceEnter = RedGuardVoiceMove 294 VoiceEnterHostile = RedGuardVoiceMove 295 VoiceGetHealed = RedGuardVoiceMove 296 End 297 298 ; *** ENGINEERING Parameters *** 299 RadarPriority = UNIT 300 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE PARACHUTABLE 301 302 Body = ActiveBody ModuleTag_02 303 MaxHealth = 120.0 304 InitialHealth = 120.0 305 End 306 307 Behavior = VeterancyGainCreate ModuleTag_03 308 StartingLevel = VETERAN 309 ScienceRequired = SCIENCE_RedGuardTraining 310 End 311 312 Behavior = AIUpdateInterface ModuleTag_04 313 AutoAcquireEnemiesWhenIdle = Yes 314 End 315 316 Behavior = CommandButtonHuntUpdate ModuleTag_05 ; allows use of command button hunt script with this unit. 317 End 318 319 Locomotor = SET_NORMAL RedguardLocomotor 320 321 Behavior = HordeUpdate ModuleTag_06 322 RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 323 UpdateRate = 1000 ; how often to recheck horde status (msec) 324 Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 325 KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness 326 AlliesOnly = Yes ; do we only count allies towards horde status? 327 ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) 328 Count = 5 ; how many units must be within Radius to grant us horde-ness 329 Action = HORDE ; when horde-ing, grant us the HORDE bonus 330 End 331 Behavior = PhysicsBehavior ModuleTag_07 332 Mass = 5.0 333 End 334 335 Behavior = SquishCollide ModuleTag_10 336 ;nothing 337 End 338 339 ; --- begin Death modules --- 340 Behavior = SlowDeathBehavior ModuleTag_Death01 341 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 342 SinkDelay = 3000 343 SinkRate = 0.5 ; in Dist/Sec 344 DestructionDelay = 8000 345 FX = INITIAL FX_RedGuardDie 346 End 347 Behavior = SlowDeathBehavior ModuleTag_Death02 348 DeathTypes = NONE +CRUSHED +SPLATTED 349 SinkDelay = 3000 350 SinkRate = 0.5 ; in Dist/Sec 351 DestructionDelay = 8000 352 FX = INITIAL FX_GIDieCrushed 353 End 354 Behavior = SlowDeathBehavior ModuleTag_Death03 355 DeathTypes = NONE +EXPLODED 356 SinkDelay = 3000 357 SinkRate = 0.5 ; in Dist/Sec 358 DestructionDelay = 8000 359 FX = INITIAL FX_RedGuardDie 360 FlingForce = 8 361 FlingForceVariance = 3 362 FlingPitch = 60 363 FlingPitchVariance = 10 364 End 365 Behavior = SlowDeathBehavior ModuleTag_Death04 366 DeathTypes = NONE +BURNED 367 DestructionDelay = 0 368 FX = INITIAL FX_DieByFireChina 369 OCL = INITIAL OCL_FlamingInfantry 370 End 371 Behavior = SlowDeathBehavior ModuleTag_Death05 372 DeathTypes = NONE +POISONED 373 DestructionDelay = 0 374 FX = INITIAL FX_DieByToxinChina 375 OCL = INITIAL OCL_ToxicInfantry 376 End 377 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 378 DeathTypes = NONE +POISONED_BETA 379 DestructionDelay = 0 380 FX = INITIAL FX_DieByToxinChina 381 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 382 End 383 384 Behavior = SlowDeathBehavior ModuleTag_Death07 385 DeathTypes = NONE +POISONED_GAMMA 386 DestructionDelay = 0 387 FX = INITIAL FX_DieByToxinChina 388 OCL = INITIAL OCL_ToxicInfantryGamma 389 End 390 ; --- end Death modules --- 391 392 Behavior = PoisonedBehavior ModuleTag_15 393 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 394 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 395 End 396 397 Behavior = SpecialAbility ModuleTag_16 398 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 399 UpdateModuleStartsAttack = Yes 400 StartsPaused = Yes 401 InitiateSound = RedGuardVoiceCapture 402 End 403 Behavior = SpecialAbilityUpdate ModuleTag_17 404 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 405 StartAbilityRange = 5.0 406 UnpackTime = 3000 ; (changing this will scale anim speed) 407 PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) 408 PackTime = 2000 ; (changing this will scale anim speed) 409 DoCaptureFX = Yes 410 AwardXPForTriggering = 4 411 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 412 End 413 414 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18 415 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding 416 TriggeredBy = Upgrade_InfantryCaptureBuilding 417 End 418 419 Geometry = CYLINDER 420 GeometryMajorRadius = 7.0 421 GeometryMinorRadius = 7.0 422 GeometryHeight = 12.0 423 GeometryIsSmall = Yes 424 Shadow = SHADOW_DECAL 425 ShadowSizeX = 14; 426 ShadowSizeY = 14; 427 ShadowTexture = ShadowI; 428 BuildCompletion = APPEARS_AT_RALLY_POINT 429 430 End 431 432 433 434 435 ;------------------------------------------------------------------------------ 436 Object ChinaInfantryBlackLotus 437 438 ; *** ART Parameters *** 439 SelectPortrait = SNSprLotus_L 440 ButtonImage = SNSprLotus 441 442 ;UpgradeCameo1 = NONE 443 ;UpgradeCameo2 = NONE 444 ;UpgradeCameo3 = NONE 445 ;UpgradeCameo4 = NONE 446 ;UpgradeCameo5 = NONE 447 448 Draw = W3DModelDraw ModuleTag_01 449 450 OkToChangeModelColor = Yes 451 452 ; --- idle 453 DefaultConditionState 454 Model = NIHERO_SKN 455 IdleAnimation = NIHERO_SKL.NIHERO_STA 0 17 456 IdleAnimation = NIHERO_SKL.NIHero_IDA 457 IdleAnimation = NIHERO_SKL.NIHero_IDB 458 AnimationMode = ONCE 459 TransitionKey = TRANS_Stand 460 End 461 462 ConditionState = REALLYDAMAGED 463 IdleAnimation = NIHERO_SKL.NIHERO_ISTA 0 30 464 IdleAnimation = NIHERO_SKL.NIHero_IIDA 465 AnimationMode = ONCE 466 TransitionKey = TRANS_StandInjured 467 End 468 469 TransitionState = TRANS_Stand TRANS_StandInjured 470 Animation = NIHero_SKL.NIHero_ISTAHIT 471 AnimationMode = ONCE 472 End 473 474 ; --- moving 475 ConditionState = MOVING 476 Animation = NIHero_SKL.NIHero_RNA 477 AnimationMode = LOOP 478 Flags = RANDOMSTART 479 TransitionKey = None 480 ParticleSysBone = None InfantryDustTrails 481 End 482 AliasConditionState = MOVING UNPACKING 483 484 ConditionState = MOVING REALLYDAMAGED 485 Animation = NIHero_SKL.NIHero_IRNA 486 AnimationMode = LOOP 487 Flags = RANDOMSTART 488 TransitionKey = None 489 ParticleSysBone = None InfantryDustTrails 490 End 491 AliasConditionState = MOVING UNPACKING REALLYDAMAGED 492 493 ; --- packing states 494 ConditionState = UNPACKING 495 ;Preparing to attack (unpacking gear) 496 Animation = NIHero_SKL.NIHero_ATA1 497 AnimationMode = ONCE 498 End 499 AliasConditionState = UNPACKING FIRING_A 500 501 ConditionState = FIRING_A 502 ;Processing attack (hacking) 503 Animation = NIHero_SKL.NIHero_ATA2 504 AnimationMode = LOOP 505 TransitionKey = TRANS_FiringA 506 End 507 508 ConditionState = PACKING 509 ;Completing attack (packing gear) 510 Animation = NIHero_SKL.NIHero_ATA3 511 AnimationMode = ONCE 512 End 513 AliasConditionState = FIRING_A PACKING 514 515 TransitionState = TRANS_FiringA TRANS_FiringAInjured 516 Animation = NIHero_SKL.NIHero_IATAHIT 517 AnimationMode = ONCE 518 End 519 520 ; --- injured-packing states 521 ConditionState = UNPACKING REALLYDAMAGED 522 ;Preparing to attack (unpacking gear) 523 Animation = NIHero_SKL.NIHero_IATA1 524 AnimationMode = ONCE 525 End 526 AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED 527 528 ConditionState = FIRING_A REALLYDAMAGED 529 ;Processing attack (hacking) 530 Animation = NIHero_SKL.NIHero_IATA2 531 AnimationMode = LOOP 532 TransitionKey = TRANS_FiringAInjured 533 End 534 535 ConditionState = PACKING REALLYDAMAGED 536 ;Completing attack (packing gear) 537 Animation = NIHero_SKL.NIHero_IATA3 538 AnimationMode = ONCE 539 End 540 AliasConditionState = FIRING_A PACKING REALLYDAMAGED 541 542 ; --- packing-dying states 543 ; code doesn't really support this. Oh well. 544 ; ConditionState = DYING RAISING_FLAG 545 ; Animation = NIHero_SKL.NIHero_IDTA 546 ; Animation = NIHero_SKL.NIHero_IDTB 547 ; AnimationMode = ONCE 548 ; End 549 ; AliasConditionState = DYING RAISING_FLAG EXPLODED_FLAILING EXPLODED_BOUNCING 550 551 ; --- normal-dying states 552 ConditionState = DYING 553 Animation = NIHero_SKL.NIHero_DTA 554 Animation = NIHero_SKL.NIHero_DTB 555 AnimationMode = ONCE 556 TransitionKey = TRANS_Dying 557 End 558 559 TransitionState = TRANS_Dying TRANS_Flailing 560 Animation = NIHero_SKL.NIHero_ADTF1 561 AnimationMode = ONCE 562 End 563 564 ConditionState = DYING EXPLODED_FLAILING 565 Animation = NIHero_SKL.NIHero_ADTF2 566 AnimationMode = LOOP 567 TransitionKey = TRANS_Flailing 568 End 569 570 ConditionState = DYING EXPLODED_BOUNCING 571 Animation = NIHero_SKL.NIHero_ADTF3 572 AnimationMode = ONCE 573 TransitionKey = None 574 End 575 576 ; --- cheering states 577 ConditionState = SPECIAL_CHEERING 578 Animation = NIHERO_SKL.NIHERO_CHA 579 AnimationMode = ONCE 580 End 581 582 ConditionState = SPECIAL_CHEERING REALLYDAMAGED 583 Animation = NIHERO_SKL.NIHERO_ICHA 584 AnimationMode = ONCE 585 End 586 587 ; --- falling states 588 ConditionState = FREEFALL 589 Animation = NIHero_SKL.NIHero_PFL 590 AnimationMode = LOOP 591 TransitionKey = TRANS_Falling 592 End 593 AliasConditionState = FREEFALL REALLYDAMAGED 594 AliasConditionState = FREEFALL DYING 595 596 ConditionState = PARACHUTING 597 Animation = NIHero_SKL.NIHero_PHG 598 AnimationMode = LOOP 599 TransitionKey = TRANS_Chute 600 End 601 AliasConditionState = PARACHUTING REALLYDAMAGED 602 AliasConditionState = PARACHUTING DYING 603 604 TransitionState = TRANS_Falling TRANS_Chute 605 Animation = NIHero_SKL.NIHero_POP 606 AnimationMode = ONCE 607 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 608 End 609 610 TransitionState = TRANS_Chute TRANS_Stand 611 Animation = NIHero_SKL.NIHero_PTD 612 AnimationMode = ONCE 613 End 614 615 TransitionState = TRANS_Chute TRANS_StandInjured 616 Animation = NIHero_SKL.NIHero_PTD 617 AnimationMode = ONCE 618 End 619 620 End 621 622 ; ***DESIGN parameters *** 623 DisplayName = OBJECT:BlackLotus 624 Side = China 625 EditorSorting = INFANTRY 626 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 627 WeaponSet 628 Conditions = None 629 Weapon = PRIMARY None 630 End 631 ArmorSet 632 Conditions = None 633 Armor = HumanArmor 634 DamageFX = InfantryDamageFX 635 End 636 VisionRange = 300 637 ShroudClearingRange = 400 638 Prerequisites 639 Object = ChinaBarracks 640 Object = ChinaPropagandaCenter 641 End 642 BuildCost = 1500 643 BuildTime = 20.0 ;in seconds 644 MaxSimultaneousOfType = 1 645 CommandSet = ChinaInfantryBlackLotusCommandSet 646 647 ExperienceValue = 50 100 150 400 ;Experience point value at each level 648 ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level 649 IsTrainable = Yes ;Can gain experience 650 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 651 CommandSet = ChinaInfantryBlackLotusCommandSet 652 653 ; *** AUDIO Parameters *** 654 VoiceSelect = BlackLotusVoiceSelect 655 VoiceMove = BlackLotusVoiceMove 656 VoiceAttack = NoSound ;BlackLotusVoiceAttack 657 VoiceGuard = BlackLotusVoiceMove 658 VoiceFear = BlackLotusVoiceFear 659 VoiceTaskComplete = BlackLotusVoiceCaptureComplete 660 SoundStealthOn = StealthOn 661 SoundStealthOff = StealthOff 662 663 UnitSpecificSounds 664 VoiceCreate = BlackLotusVoiceCreate 665 VoiceGarrison = BlackLotusVoiceMove 666 VoiceEnter = BlackLotusVoiceMove 667 VoiceEnterHostile = BlackLotusVoiceMove 668 VoiceStealCashComplete = BlackLotusVoiceCashComplete 669 VoiceDisableVehicleComplete = BlackLotusVoiceDisableComplete 670 VoiceCaptureBuildingComplete = BlackLotusVoiceCaptureComplete 671 VoiceGetHealed = BlackLotusVoiceMove 672 End 673 674 ; *** ENGINEERING Parameters *** 675 RadarPriority = UNIT 676 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE 677 678 Body = ActiveBody ModuleTag_02 679 MaxHealth = 200.0 680 InitialHealth = 200.0 681 End 682 683 Behavior = CommandButtonHuntUpdate ModuleTag_03 ; allows use of command button hunt script with this unit. 684 End 685 686 Behavior = AIUpdateInterface ModuleTag_04 687 AutoAcquireEnemiesWhenIdle = No 688 End 689 Locomotor = SET_NORMAL BlackLotusLocomotor 690 Locomotor = SET_FREEFALL FreeFallLocomotor 691 Behavior = PhysicsBehavior ModuleTag_05 692 Mass = 5.0 693 End 694 Behavior = StealthUpdate ModuleTag_07 695 StealthDelay = 2500 ; msec 696 StealthForbiddenConditions = USING_ABILITY 697 HintDetectableConditions = USING_ABILITY 698 InnateStealth = Yes 699 OrderIdleEnemiesToAttackMeUponReveal = Yes 700 EnemyDetectionEvaEvent = EnemyBlackLotusDetected 701 OwnDetectionEvaEvent = OwnBlackLotusDetected 702 End 703 704 Behavior = StealthDetectorUpdate ModuleTag_44 705 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) 706 ;DetectionRange = ??? ;Dustin, enable this for independant balancing! 707 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. 708 CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. 709 End 710 711 Behavior = SpecialAbility ModuleTag_08 712 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding 713 UpdateModuleStartsAttack = Yes 714 InitiateSound = BlackLotusVoiceHackBuilding 715 End 716 Behavior = SpecialAbilityUpdate ModuleTag_09 717 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding 718 StartAbilityRange = 150.0 719 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) 720 PackTime = 2800 ;animation time is 5800 (changing this will scale anim speed) 721 PreparationTime = 6000 ;time to complete hack once prepared (unpacked) 722 SpecialObject = BinaryDataStream 723 DoCaptureFX = Yes 724 PackSound = BlackLotusPack 725 UnpackSound = BlackLotusUnpack 726 TriggerSound = BlackLotusTrigger 727 PrepSoundLoop = BlackLotusPrepLoop 728 AwardXPForTriggering = 20 729 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 730 End 731 Behavior = SpecialAbility ModuleTag_10 732 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack 733 UpdateModuleStartsAttack = Yes 734 InitiateSound = BlackLotusVoiceHackVehicle 735 End 736 Behavior = SpecialAbilityUpdate ModuleTag_11 737 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack 738 StartAbilityRange = 150.0 739 UnpackTime = 2000 ;6730 ;animation time is 6730 (changing this will scale anim speed) 740 PackTime = 1000 ;2800 ;animation time is 5800 (changing this will scale anim speed) 741 PreparationTime = 2000 ;time to complete hack once prepared (unpacked) 742 EffectDuration = 15000 ;duration vehicle is disabled (30 seconds) 743 DisableFXParticleSystem = DisabledEffectBinaryShower0 744 SpecialObject = BinaryDataStream 745 PackSound = BlackLotusPack 746 UnpackSound = BlackLotusUnpack 747 TriggerSound = BlackLotusTrigger 748 PrepSoundLoop = BlackLotusPrepLoop 749 AwardXPForTriggering = 0 750 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 751 End 752 Behavior = SpecialAbility ModuleTag_12 753 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack 754 UpdateModuleStartsAttack = Yes 755 InitiateSound = BlackLotusVoiceHackCash 756 End 757 Behavior = SpecialAbilityUpdate ModuleTag_13 758 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack 759 StartAbilityRange = 150.0 760 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) 761 PackTime = 5800 ;animation time is 5800 (changing this will scale anim speed) 762 PreparationTime = 6000 ;time to complete hack once prepared (unpacked) 763 EffectValue = 1000 ;amount of cash stolen 764 SpecialObject = BinaryDataStream 765 PackSound = BlackLotusPack 766 UnpackSound = BlackLotusUnpack 767 TriggerSound = BlackLotusTrigger 768 PrepSoundLoop = BlackLotusPrepLoop 769 AwardXPForTriggering = 20 770 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 771 End 772 773 ;Hero units can't be squished! 774 ;Behavior = SquishCollide ModuleTag_14 775 ; ;nothing 776 ;End 777 778 779 ; --- begin Death modules --- 780 Behavior = SlowDeathBehavior ModuleTag_Death01 781 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 782 SinkDelay = 3000 783 SinkRate = 0.5 ; in Dist/Sec 784 DestructionDelay = 8000 785 FX = INITIAL FX_BlackLotusDie 786 End 787 Behavior = SlowDeathBehavior ModuleTag_Death02 788 DeathTypes = NONE +CRUSHED +SPLATTED 789 SinkDelay = 3000 790 SinkRate = 0.5 ; in Dist/Sec 791 DestructionDelay = 8000 792 FX = INITIAL FX_GIDieCrushed 793 End 794 Behavior = SlowDeathBehavior ModuleTag_Death03 795 DeathTypes = NONE +EXPLODED 796 SinkDelay = 3000 797 SinkRate = 0.5 ; in Dist/Sec 798 DestructionDelay = 8000 799 FX = INITIAL FX_BlackLotusDie 800 FlingForce = 8 801 FlingForceVariance = 3 802 FlingPitch = 60 803 FlingPitchVariance = 10 804 End 805 Behavior = SlowDeathBehavior ModuleTag_Death04 806 DeathTypes = NONE +BURNED 807 DestructionDelay = 0 808 FX = INITIAL FX_DieByFireFemale 809 OCL = INITIAL OCL_FlamingInfantry 810 End 811 Behavior = SlowDeathBehavior ModuleTag_Death05 812 DeathTypes = NONE +POISONED 813 DestructionDelay = 0 814 FX = INITIAL FX_DieByToxinFemale 815 OCL = INITIAL OCL_ToxicInfantry 816 End 817 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 818 DeathTypes = NONE +POISONED_BETA 819 DestructionDelay = 0 820 FX = INITIAL FX_DieByToxinFemale 821 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 822 End 823 824 Behavior = SlowDeathBehavior ModuleTag_Death07 825 DeathTypes = NONE +POISONED_GAMMA 826 DestructionDelay = 0 827 FX = INITIAL FX_DieByToxinFemale 828 OCL = INITIAL OCL_ToxicInfantryGamma 829 End 830 ; --- end Death modules --- 831 832 Behavior = PoisonedBehavior ModuleTag_17 833 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 834 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 835 End 836 837 Geometry = CYLINDER 838 GeometryMajorRadius = 10.0 839 GeometryMinorRadius = 10.0 840 GeometryHeight = 12.0 841 GeometryIsSmall = Yes 842 Shadow = SHADOW_DECAL 843 ShadowSizeX = 14; 844 ShadowSizeY = 14; 845 ShadowTexture = ShadowI; 846 BuildCompletion = APPEARS_AT_RALLY_POINT 847 848 End 849 850 ;------------------------------------------------------------------------------ 851 Object ChinaInfantryTankHunter 852 853 ; *** ART Parameters *** 854 SelectPortrait = SNTankHunter_L 855 ButtonImage = SNTankHunter 856 857 UpgradeCameo1 = Upgrade_Nationalism 858 ;UpgradeCameo2 = NONE 859 ;UpgradeCameo3 = NONE 860 ;UpgradeCameo4 = NONE 861 ;UpgradeCameo5 = NONE 862 863 Draw = W3DModelDraw ModuleTag_01 864 OkToChangeModelColor = Yes 865 866 867 DefaultConditionState 868 Model = NIMSST_SKN 869 IdleAnimation = NIMSST_SKL.NIMSST_STA 0 30 870 IdleAnimation = NIMSST_SKL.NIMSST_IDA 871 IdleAnimation = NIMSST_SKL.NIMSST_IDB 872 AnimationMode = ONCE 873 AnimationSpeedFactorRange = 0.8 1.2 874 TransitionKey = TRANS_Stand 875 WeaponMuzzleFlash = PRIMARY MuzzleFX 876 WeaponFireFXBone = PRIMARY Muzzle 877 WeaponLaunchBone = PRIMARY Muzzle 878 WeaponLaunchBone = SECONDARY Muzzle 879 End 880 AliasConditionState = REALLYDAMAGED 881 882 ConditionState = FIRING_A 883 Animation = NIMSST_SKL.NIMSST_ATA 884 AnimationMode = ONCE 885 TransitionKey = TRANS_START_FIRING 886 End 887 AliasConditionState = REALLYDAMAGED FIRING_A 888 889 ConditionState = BETWEEN_FIRING_SHOTS_A 890 Animation = NIMSST_SKL.NIMSST_STA 891 AnimationMode = ONCE 892 ; this is basically a trick: this guy has a nontrivial animation for firing, 893 ; and a long recycle time between shots. we want him to finish his fire animation 894 ; (unless he's ordered to do something else), so this is just a handy trick that 895 ; says, "if the previous state had this transition key, allow it to finish before 896 ; switching to us, if possible". 897 WaitForStateToFinishIfPossible = TRANS_START_FIRING 898 End 899 AliasConditionState = REALLYDAMAGED BETWEEN_FIRING_SHOTS_A 900 901 ConditionState = MOVING 902 Animation = NIMSST_SKL.NIMSST_RNA 20 903 AnimationMode = LOOP 904 Flags = RANDOMSTART 905 TransitionKey = None 906 ParticleSysBone = None InfantryDustTrails 907 End 908 AliasConditionState = REALLYDAMAGED MOVING 909 AliasConditionState = MOVING ATTACKING 910 AliasConditionState = MOVING ATTACKING REALLYDAMAGED 911 912 ConditionState = RELOADING_A 913 Animation = NIMSST_SKL.NIMSST_ATA 10 914 AnimationMode = ONCE 915 ;WeaponLaunchBone = PRIMARY WeaponA 916 End 917 AliasConditionState = MOVING RELOADING_A 918 AliasConditionState = REALLYDAMAGED MOVING RELOADING_A 919 920 ConditionState = DYING 921 Animation = NIMSST_SKL.NIMSST_DTA 922 Animation = NIMSST_SKL.NIMSST_DTB 923 AnimationSpeedFactorRange = 0.9 1.25 924 AnimationMode = ONCE 925 TransitionKey = TRANS_Dying 926 End 927 AliasConditionState = DYING RUBBLE 928 929 TransitionState = TRANS_Dying TRANS_Flailing 930 Animation = NIMSST_SKL.NIMSST_ADTD1 931 AnimationMode = ONCE 932 End 933 934 ConditionState = DYING EXPLODED_FLAILING 935 Animation = NIMSST_SKL.NIMSST_ADTD2 936 AnimationMode = LOOP 937 TransitionKey = TRANS_Flailing 938 End 939 940 ConditionState = DYING EXPLODED_BOUNCING 941 Animation = NIMSST_SKL.NIMSST_ADTD3 942 AnimationMode = ONCE 943 TransitionKey = None 944 End 945 946 ;PARACHUTING ANIMATIONS 947 ConditionState = FREEFALL 948 Animation = NIMSST_SKL.NIMSST_POP 949 AnimationMode = ONCE 950 TransitionKey = TRANS_Falling 951 End 952 AliasConditionState = FREEFALL REALLYDAMAGED 953 AliasConditionState = FREEFALL DYING 954 955 ConditionState = PARACHUTING 956 Animation = NIMSST_SKL.NIMSST_PHG 957 AnimationMode = LOOP 958 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 959 TransitionKey = TRANS_Chute 960 End 961 AliasConditionState = PARACHUTING REALLYDAMAGED 962 AliasConditionState = PARACHUTING DYING 963 964 ; TransitionState = TRANS_Falling TRANS_Chute 965 ; Animation = NIMSST_SKL.NIMSST_POP 966 ; AnimationMode = ONCE 967 ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 968 ; End 969 970 TransitionState = TRANS_Chute TRANS_Stand 971 Animation = NIMSST_SKL.NIMSST_PDN 972 AnimationMode = ONCE 973 End 974 975 End 976 977 978 ; ***DESIGN parameters *** 979 DisplayName = OBJECT:TankHunter 980 Side = China 981 EditorSorting = INFANTRY 982 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 983 WeaponSet 984 Conditions = None 985 Weapon = PRIMARY ChinaInfantryTankHunterMissileLauncher 986 End 987 ArmorSet 988 Conditions = None 989 Armor = HumanArmor 990 DamageFX = InfantryDamageFX 991 End 992 VisionRange = 150 993 ShroudClearingRange = 400 994 Prerequisites 995 Object = ChinaBarracks 996 End 997 BuildCost = 300 998 BuildTime = 5.0 ;in seconds 999 1000 ExperienceValue = 20 20 40 60 ;Experience point value at each level 1001 ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level 1002 IsTrainable = Yes ;Can gain experience 1003 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1004 CommandSet = ChinaInfantryTankHunterCommandSet 1005 1006 ; *** AUDIO Parameters *** 1007 VoiceSelect = TankHunterVoiceSelect 1008 VoiceMove = TankHunterVoiceMove 1009 VoiceAttack = TankHunterVoiceAttack 1010 VoiceAttackAir = TankHunterVoiceAttack 1011 VoiceGuard = TankHunterVoiceMove 1012 VoiceFear = TankHunterVoiceFear 1013 UnitSpecificSounds 1014 VoiceCreate = TankHunterVoiceCreate 1015 VoiceGarrison = TankHunterVoiceGarrison 1016 VoiceEnter = TankHunterVoiceMove 1017 VoiceEnterHostile = TankHunterVoiceMove 1018 VoiceGetHealed = TankHunterVoiceMove 1019 End 1020 1021 ; *** ENGINEERING Parameters *** 1022 RadarPriority = UNIT 1023 KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE 1024 1025 Body = ActiveBody ModuleTag_02 1026 MaxHealth = 100.0 1027 InitialHealth = 100.0 1028 End 1029 1030 Behavior = AIUpdateInterface ModuleTag_03 1031 AutoAcquireEnemiesWhenIdle = Yes 1032 End 1033 Locomotor = SET_NORMAL MissileDefenderLocomotor 1034 Behavior = HordeUpdate ModuleTag_04 1035 UpdateRate = 1000 ; how often to recheck horde status (msec) 1036 RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman 1037 Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) 1038 KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness 1039 AlliesOnly = Yes ; do we only count allies towards horde status? 1040 ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) 1041 Count = 5 ; how many units must be within Radius to grant us horde-ness 1042 Action = HORDE ; when horde-ing, grant us the HORDE bonus 1043 End 1044 Behavior = PhysicsBehavior ModuleTag_05 1045 Mass = 5.0 1046 End 1047 1048 Behavior = SpecialAbility ModuleTag_07 1049 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack 1050 UpdateModuleStartsAttack = Yes 1051 InitiateSound = TankHunterVoiceTNT 1052 End 1053 Behavior = SpecialAbilityUpdate ModuleTag_08 1054 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack 1055 StartAbilityRange = 5.0 1056 PreparationTime = 0 1057 SpecialObject = TNTStickyBomb 1058 MaxSpecialObjects = 8 1059 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). 1060 SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. 1061 UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. 1062 FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability 1063 End 1064 1065 1066 Behavior = SquishCollide ModuleTag_09 1067 ;nothing 1068 End 1069 1070 1071 ; --- begin Death modules --- 1072 Behavior = SlowDeathBehavior ModuleTag_Death01 1073 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 1074 SinkDelay = 3000 1075 SinkRate = 0.5 ; in Dist/Sec 1076 DestructionDelay = 8000 1077 FX = INITIAL FX_TankHunterDie 1078 End 1079 Behavior = SlowDeathBehavior ModuleTag_Death02 1080 DeathTypes = NONE +CRUSHED +SPLATTED 1081 SinkDelay = 3000 1082 SinkRate = 0.5 ; in Dist/Sec 1083 DestructionDelay = 8000 1084 FX = INITIAL FX_GIDieCrushed 1085 End 1086 Behavior = SlowDeathBehavior ModuleTag_Death03 1087 DeathTypes = NONE +EXPLODED 1088 SinkDelay = 3000 1089 SinkRate = 0.5 ; in Dist/Sec 1090 DestructionDelay = 8000 1091 FX = INITIAL FX_TankHunterDie 1092 FlingForce = 8 1093 FlingForceVariance = 3 1094 FlingPitch = 60 1095 FlingPitchVariance = 10 1096 End 1097 Behavior = SlowDeathBehavior ModuleTag_Death04 1098 DeathTypes = NONE +BURNED 1099 DestructionDelay = 0 1100 FX = INITIAL FX_DieByFireChina 1101 OCL = INITIAL OCL_FlamingInfantry 1102 End 1103 Behavior = SlowDeathBehavior ModuleTag_Death05 1104 DeathTypes = NONE +POISONED 1105 DestructionDelay = 0 1106 FX = INITIAL FX_DieByToxinChina 1107 OCL = INITIAL OCL_ToxicInfantry 1108 End 1109 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 1110 DeathTypes = NONE +POISONED_BETA 1111 DestructionDelay = 0 1112 FX = INITIAL FX_DieByToxinChina 1113 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 1114 End 1115 1116 Behavior = SlowDeathBehavior ModuleTag_Death07 1117 DeathTypes = NONE +POISONED_GAMMA 1118 DestructionDelay = 0 1119 FX = INITIAL FX_DieByToxinChina 1120 OCL = INITIAL OCL_ToxicInfantryGamma 1121 End 1122 ; --- end Death modules --- 1123 1124 Behavior = PoisonedBehavior ModuleTag_12 1125 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 1126 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 1127 End 1128 1129 Geometry = CYLINDER 1130 GeometryMajorRadius = 10.0 1131 GeometryMinorRadius = 10.0 1132 GeometryHeight = 12.0 1133 GeometryIsSmall = Yes 1134 Shadow = SHADOW_DECAL 1135 ShadowSizeX = 14; 1136 ShadowSizeY = 14; 1137 ShadowTexture = ShadowI; 1138 BuildCompletion = APPEARS_AT_RALLY_POINT 1139 1140 End 1141 1142 1143 1144 ;------------------------------------------------------------------------------ 1145 Object ChinaInfantryHacker 1146 1147 ; *** ART Parameters *** 1148 SelectPortrait = SNHacker2_L 1149 ButtonImage = SNHacker2 1150 1151 ;UpgradeCameo1 = NONE 1152 ;UpgradeCameo2 = NONE 1153 ;UpgradeCameo3 = NONE 1154 ;UpgradeCameo4 = NONE 1155 ;UpgradeCameo5 = NONE 1156 1157 Draw = W3DModelDraw ModuleTag_01 1158 OkToChangeModelColor = Yes 1159 1160 ;NORMAL STANDING 1161 DefaultConditionState 1162 Model = NIHCKR_SKN 1163 IdleAnimation = NIHCKR_SKL.NIHCKR_STA 0 25 1164 ;Regular spice animations 1165 IdleAnimation = NIHCKR_SKL.NIHCKR_IDA 1166 IdleAnimation = NIHCKR_SKL.NIHCKR_IDB 1167 AnimationMode = ONCE 1168 WeaponFireFXBone = PRIMARY Bone_SatCom 1169 TransitionKey = TRANS_Stand 1170 End 1171 AliasConditionState = REALLYDAMAGED 1172 1173 ConditionState = MOVING 1174 Animation = NIHCKR_SKL.NIHCKR_RNA 14 1175 AnimationMode = LOOP 1176 Flags = RANDOMSTART 1177 TransitionKey = None 1178 ParticleSysBone = None InfantryDustTrails 1179 End 1180 AliasConditionState = MOVING UNPACKING 1181 AliasConditionState = MOVING UNPACKING REALLYDAMAGED 1182 1183 ConditionState = UNPACKING 1184 Animation = NIHCKR_SKL.NIHCKR_ATB1 1185 AnimationMode = ONCE 1186 End 1187 AliasConditionState = UNPACKING FIRING_A 1188 AliasConditionState = UNPACKING REALLYDAMAGED 1189 AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED 1190 1191 ;HACKING ATTACK 1192 ConditionState = FIRING_A 1193 Animation = NIHCKR_SKL.NIHCKR_ATB2 1194 AnimationMode = LOOP 1195 TransitionKey = TRANS_FiringA 1196 End 1197 AliasConditionState = FIRING_A REALLYDAMAGED 1198 1199 ConditionState = PACKING 1200 Animation = NIHCKR_SKL.NIHCKR_ATB3 1201 AnimationMode = ONCE 1202 End 1203 AliasConditionState = PACKING FIRING_A 1204 AliasConditionState = PACKING REALLYDAMAGED 1205 AliasConditionState = PACKING FIRING_A REALLYDAMAGED 1206 1207 1208 1209 TransitionState = TRANS_FiringA TRANS_Stand ; I was stopped by a stop command, so I get no proper PACKING state 1210 Animation = NIHCKR_SKL.NIHCKR_ATB3 1211 AnimationMode = ONCE 1212 End 1213 1214 1215 ConditionState = FREEFALL 1216 Animation = NIHCKR_SKL.NIHCKR_PFL 1217 AnimationMode = LOOP 1218 TransitionKey = TRANS_Falling 1219 End 1220 AliasConditionState = FREEFALL REALLYDAMAGED 1221 AliasConditionState = FREEFALL DYING 1222 1223 ConditionState = PARACHUTING 1224 Animation = NIHCKR_SKL.NIHCKR_PHG 1225 AnimationMode = LOOP 1226 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 1227 TransitionKey = TRANS_Chute 1228 End 1229 AliasConditionState = PARACHUTING REALLYDAMAGED 1230 AliasConditionState = PARACHUTING DYING 1231 1232 1233 ConditionState = DYING 1234 Animation = NIHCKR_SKL.NIHCKR_DTA 1235 Animation = NIHCKR_SKL.NIHCKR_DTB 1236 AnimationMode = ONCE 1237 TransitionKey = TRANS_Dying 1238 End 1239 1240 TransitionState = TRANS_Dying TRANS_Flailing 1241 Animation = NIHCKR_SKL.NIHCKR_ADTG1 1242 AnimationMode = ONCE 1243 End 1244 1245 ConditionState = DYING EXPLODED_FLAILING 1246 Animation = NIHCKR_SKL.NIHCKR_ADTG2 1247 AnimationMode = LOOP 1248 TransitionKey = TRANS_Flailing 1249 End 1250 1251 ConditionState = DYING EXPLODED_BOUNCING 1252 Animation = NIHCKR_SKL.NIHCKR_ADTG3 1253 AnimationMode = ONCE 1254 TransitionKey = None 1255 End 1256 1257 ConditionState = SPECIAL_CHEERING 1258 Animation = NIHCKR_SKL.NIHCKR_CHA 1259 AnimationMode = LOOP 1260 End 1261 1262 TransitionState = TRANS_Falling TRANS_Chute 1263 Animation = NIHCKR_SKL.NIHCKR_POP 1264 AnimationMode = ONCE 1265 Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first 1266 End 1267 1268 TransitionState = TRANS_Chute TRANS_Stand 1269 Animation = NIHCKR_SKL.NIHCKR_PTD 1270 AnimationMode = ONCE 1271 End 1272 1273 End 1274 1275 ; ***DESIGN parameters *** 1276 DisplayName = OBJECT:Hacker 1277 Side = China 1278 EditorSorting = INFANTRY 1279 TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) 1280 1281 ArmorSet 1282 Conditions = None 1283 Armor = HumanArmor 1284 DamageFX = InfantryDamageFX 1285 End 1286 VisionRange = 150 1287 ShroudClearingRange = 300 1288 Prerequisites 1289 Object = ChinaBarracks 1290 Object = ChinaPropagandaCenter 1291 End 1292 BuildCost = 625 1293 BuildTime = 20.0 ;in seconds 1294 ExperienceValue = 50 100 150 400 ;Experience point value at each level 1295 ExperienceRequired = 0 100 300 500 ;Experience points needed to gain each level 1296 IsTrainable = Yes ;Can gain experience 1297 1298 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles 1299 CommandSet = ChinaInfantryHackerCommandSet 1300 1301 ; *** AUDIO Parameters *** 1302 VoiceSelect = HackerVoiceSelect 1303 VoiceMove = HackerVoiceMove 1304 VoiceAttack = NoSound 1305 VoiceGuard = HackerVoiceMove 1306 VoiceFear = HackerVoiceFear 1307 VoiceTaskComplete = HackerVoiceHackComplete 1308 UnitSpecificSounds 1309 VoiceGarrison = HackerVoiceGarrison 1310 VoiceCreate = HackerVoiceCreate 1311 UnitPack = HackerPack 1312 UnitUnpack = HackerUnpack 1313 UnitCashPing = HackerCashPing 1314 VoiceEnter = HackerVoiceMove 1315 VoiceEnterHostile = HackerVoiceMove 1316 VoiceGetHealed = HackerVoiceMove 1317 VoiceHackInternet = HackerVoiceModeInternet 1318 End 1319 1320 ; *** ENGINEERING Parameters *** 1321 RadarPriority = UNIT 1322 KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE IGNORES_SELECT_ALL MONEY_HACKER 1323 1324 Body = ActiveBody ModuleTag_02 1325 MaxHealth = 100.0 1326 InitialHealth = 100.0 1327 End 1328 1329 Behavior = HackInternetAIUpdate ModuleTag_03 1330 UnpackTime = 7300 ;animation time is 7300 (changing this will scale anim speed) 1331 PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) 1332 CashUpdateDelay = 2000 1333 CashUpdateDelayFast = 1800 ; Fast speed used inside a container (can only hack inside an Internet Center) 1334 RegularCashAmount = 5 1335 VeteranCashAmount = 6 1336 EliteCashAmount = 8 1337 HeroicCashAmount = 10 1338 XpPerCashUpdate = 1 1339 PackUnpackVariationFactor = 0.5 ;Adds + or - 20% to pack and unpack time randomly. 1340 End 1341 Locomotor = SET_NORMAL BasicHumanLocomotor 1342 1343 Behavior = SpecialAbility ModuleTag_04 1344 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding 1345 UpdateModuleStartsAttack = Yes 1346 InitiateSound = HackerVoiceHack 1347 End 1348 1349 Behavior = SpecialAbilityUpdate ModuleTag_05 1350 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding 1351 StartAbilityRange = 150.0 1352 UnpackTime = 7300 ;animation time is 7300 (changing this will scale anim speed) 1353 PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) 1354 PreparationTime = 3000 1355 1356 ;PersistentPrepTime = 500 ; old setting 1357 PersistentPrepTime = 333 ; NOTE! This drives how often the disable effect gets triggered 1358 ; This is also how often a new particle system effect is spawned 1359 EffectDuration = 2000 1360 SpecialObject = BinaryDataStream 1361 DisableFXParticleSystem = DisabledEffectBinaryShower0 1362 PackSound = HackerPack 1363 UnpackSound = HackerUnpack 1364 PrepSoundLoop = HackerPrepLoop 1365 AwardXPForTriggering = 0 ;Careful, this is persistant so it's a DoT xp gain! 1366 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. 1367 End 1368 1369 1370 Behavior = PhysicsBehavior ModuleTag_06 1371 Mass = 5.0 1372 End 1373 1374 Behavior = SquishCollide ModuleTag_08 1375 ;nothing 1376 End 1377 1378 1379 ; --- begin Death modules --- 1380 Behavior = SlowDeathBehavior ModuleTag_Death01 1381 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA 1382 SinkDelay = 3000 1383 SinkRate = 0.5 ; in Dist/Sec 1384 DestructionDelay = 8000 1385 FX = INITIAL FX_HackerDie 1386 End 1387 Behavior = SlowDeathBehavior ModuleTag_Death02 1388 DeathTypes = NONE +CRUSHED +SPLATTED 1389 SinkDelay = 3000 1390 SinkRate = 0.5 ; in Dist/Sec 1391 DestructionDelay = 8000 1392 FX = INITIAL FX_GIDieCrushed 1393 End 1394 Behavior = SlowDeathBehavior ModuleTag_Death03 1395 DeathTypes = NONE +EXPLODED 1396 SinkDelay = 3000 1397 SinkRate = 0.5 ; in Dist/Sec 1398 DestructionDelay = 8000 1399 FX = INITIAL FX_HackerDie 1400 FlingForce = 8 1401 FlingForceVariance = 3 1402 FlingPitch = 60 1403 FlingPitchVariance = 10 1404 End 1405 Behavior = SlowDeathBehavior ModuleTag_Death04 1406 DeathTypes = NONE +BURNED 1407 DestructionDelay = 0 1408 FX = INITIAL FX_DieByFireChina 1409 OCL = INITIAL OCL_FlamingInfantry 1410 End 1411 Behavior = SlowDeathBehavior ModuleTag_Death05 1412 DeathTypes = NONE +POISONED 1413 DestructionDelay = 0 1414 FX = INITIAL FX_DieByToxinChina 1415 OCL = INITIAL OCL_ToxicInfantry 1416 End 1417 Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag 1418 DeathTypes = NONE +POISONED_BETA 1419 DestructionDelay = 0 1420 FX = INITIAL FX_DieByToxinChina 1421 OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones 1422 End 1423 1424 Behavior = SlowDeathBehavior ModuleTag_Death07 1425 DeathTypes = NONE +POISONED_GAMMA 1426 DestructionDelay = 0 1427 FX = INITIAL FX_DieByToxinChina 1428 OCL = INITIAL OCL_ToxicInfantryGamma 1429 End 1430 ; --- end Death modules --- 1431 1432 Behavior = PoisonedBehavior ModuleTag_11 1433 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... 1434 PoisonDuration = 3000 ; ... for this long after last hit by poison damage 1435 End 1436 1437 Geometry = CYLINDER 1438 GeometryMajorRadius = 10.0 1439 GeometryMinorRadius = 10.0 1440 GeometryHeight = 12.0 1441 GeometryIsSmall = Yes 1442 Shadow = SHADOW_DECAL 1443 ShadowSizeX = 14; 1444 ShadowSizeY = 14; 1445 ShadowTexture = ShadowI; 1446 BuildCompletion = APPEARS_AT_RALLY_POINT 1447 1448 End
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sat Mar 28 08:18:23 2009 | Cross-referenced by PHPXref 0.7 |