Tank General

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 395

;--------------------------------------------------------------------------------------------------------Object Tank_ChinaVehicleHelix ; *** ART Parameters *** SelectPortrait = SNHelix_L ButtonImage = SNHelix UpgradeCameo1 = Upgrade_ChinaAircraftArmor Draw = W3DOverlordAircraftDraw ModuleTag_Draw01

OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes DefaultConditionState Model = NVHELIX Animation = NVHELIX.NVHELIX AnimationMode = LOOP HideSubObject = TurretFX03 TURRET HideSubObject = BombWing End ConditionState = MOVING ParticleSysBone = SMOKE01 ParticleSysBone = SMOKE02 ParticleSysBone = SMOKE01 ParticleSysBone = SMOKE02 End HelixExhaust HelixExhaust HeliExhaustHeat HeliExhaustHeat

ConditionState = REALLYDAMAGED Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP HideSubObject = BombWing End AliasConditionState = RUBBLE ConditionState = REALLYDAMAGED MOVING Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP ParticleSysBone = SMOKE01 HelixExhaust ParticleSysBone = SMOKE02 HelixExhaust ParticleSysBone = SMOKE01 HeliExhaustHeat ParticleSysBone = SMOKE02 HeliExhaustHeat HideSubObject = BombWing End AliasConditionState = RUBBLE MOVING ConditionState = RUBBLE SPECIAL_DAMAGED Model = NVHELIX_d HideSubObject = BombWing End End Draw = W3DModelDraw ModuleTag_Draw02 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY DefaultConditionState

Model = NVHelix_RSL WeaponFireFXBone = PRIMARY MISSLE WeaponLaunchBone = PRIMARY MISSLE End ConditionState = RELOADING_A Model = NVHelix_RSL Animation = NVHelix_RSL.NVHelix_RSL AnimationMode = ONCE End ConditionState = REALLYDAMAGED Model = NVHelix_RSL_D End ConditionState = REALLYDAMAGED RELOADING_A Model = NVHelix_RSL_D Animation = NVHelix_RSL_D.NVHelix_RSL_D AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Helix EditorSorting = VEHICLE Side = ChinaTankGeneral TransportSlotCount = 0 VisionRange = 200.0 ShroudClearingRange = 400 BuildCost = 2400 BuildTime = 24.0 Prerequisites Object = Tank_ChinaAirfield Object = Tank_ChinaPropagandaCenter End ExperienceValue ExperienceRequired IsTrainable CommandSet ArmorSet Conditions Armor DamageFX End ArmorSet Conditions Armor DamageFX End = = = = 106 253 224 322 0 317 460 673 Yes Tank_ChinaVehicleHelixCommandSet

= None = ChinookArmor = None = PLAYER_UPGRADE = ChinookArmorWithRadar = None

Behavior = ArmorUpgrade ModuleTag_Armor02 TriggeredBy = Upgrade_ChinaOverlordRadar End WeaponSet Conditions Weapon PreferredAgainst AutoChooseSources = = = = None PRIMARY PRIMARY PRIMARY

HelixMissileWeapon INFANTRY FROM_PLAYER FROM_SCRIPT FROM_AI

End ; *** AUDIO Parameters *** VoiceSelect = HelixVoiceSelect VoiceMove = HelixVoiceMove VoiceAttack = HelixVoiceAttack SoundAmbient = HelixAmbientLoop SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = HelixVoiceCreate VoiceUnload = HelixVoiceUnload VoiceGarrison = HelixVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AI RCRAFT SCORE PRODUCED_AT_HELIPAD CAN_ATTACK Body = ActiveBody ModuleTag_03 MaxHealth = 600.0 InitialHealth = 600.0 SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallCont inuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTran sition End Behavior = ChinookAIUpdate ModuleTag_07 AutoAcquireEnemiesWhenIdle = Yes RotorWashParticleSystem = HelixRotorWashRing Turret TurretTurnRate = 0 TurretPitchRate = 0 ControlledWeaponSlots = PRIMARY SECONDARY End End Locomotor = SET_NORMAL Locomotor = SET_TAXIING HelixLocomotor BasicHelicopterTaxiLocomotor

Behavior = PhysicsBehavior ModuleTag_09 Mass = 100.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 80.0 ; in degrees per second, bi gger # = tighter spiral

SpiralOrbitForwardSpeed = SpiralOrbitForwardSpeedDamping = faster MaxBraking = h spiral (lower num = wilder spiral) SoundDeathLoop = MinSelfSpin = cond MaxSelfSpin = econd SelfSpinUpdateDelay = SelfSpinUpdateAmount = FallHowFast = ty, lower = take longer to fall MinBladeFlyOffDelay = MaxBladeFlyOffDelay = AttachParticle = AttachParticleBone = BladeObjectName = BladeBoneName = FXBlade = OCLBlade = FXHitGround = OCLHitGround = FXFinalBlowUp = OCLFinalBlowUp = DelayFromGroundToFinalDeath = FinalRubbleObject = End

110.0 .9999 210

; bigger # = larger spiral ; smaller #'s = slow down ; max braking we can use during deat ; in degrees per se ; in degrees per s ; in milliseconds ; in degrees ; fraction of gravi

HelixDamagedLoop 40 120 300 5 8.0%

1000 ; in milliseconds 1000 ; in milliseconds SootySmokeTrail Propeller02 HelixBlades Propeller01 FX_HelicopterBladeExplosion OCL_HelicopterBladeExplosion FX_HelicopterHitGround OCL_HelicopterHitGround FX_HelixHelicopterBlowUpBig OCL_HelixBlades 30 HelixRubbleHull

Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = ProductionUpdate ModuleTag_25A MaxQueueEntries = 1 End Behavior = ObjectCreationUpgrade ModuleTag_22 UpgradeObject = OCL_HelixGattlingCannon TriggeredBy = Upgrade_ChinaOverlordGattlingCannon ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBa ttleBunker Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordRadar End Behavior = ObjectCreationUpgrade ModuleTag_23 UpgradeObject = OCL_HelixPropagandaTower TriggeredBy = Upgrade_ChinaOverlordPropagandaTower ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBat tleBunker Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordRadar End Behavior = ObjectCreationUpgrade ModuleTag_24 UpgradeObject = OCL_HelixBattleBunker TriggeredBy = Upgrade_ChinaOverlordBattleBunker ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPro pagandaTower Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordRadar End Behavior = ObjectCreationUpgrade ModuleTag_25 UpgradeObject = OCL_HelixECM

TriggeredBy = Upgrade_ChinaOverlordECM ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPro pagandaTower Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordRadar End Behavior = ObjectCreationUpgrade ModuleTag_Addon05 UpgradeObject = OCL_HelixRadar TriggeredBy = Upgrade_ChinaOverlordRadar ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPro pagandaTower Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordECM End Behavior = PassengersFireUpgrade ModuleTag_34 TriggeredBy = Upgrade_ChinaOverlordBattleBunker End Behavior = CommandSetUpgrade ModuleTag_26 CommandSet = ChinaHelixCommandSetUpgraded TriggeredBy = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPropa gandaTower Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordECM Upgrade_Ch inaOverlordRadar End Behavior = HelixContain ModuleTag_29 Slots = 5 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY VEHICLE PORTABLE_STRUCTURE ForbidInsideKindOf = AIRCRAFT ExitDelay = 100 NumberOfExitPaths = 1 PassengersAllowedToFire = No End Behavior TriggeredBy AddMaxHealth ChangeType RRENT_HEALTH_TOO, End = MaxHealthUpgrade ModuleTag_Armor01 = Upgrade_ChinaAircraftArmor = 150.0 = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CU and SAME_CURRENTHEALTH = = = = = = CYLINDER 35.0 30.0 No SHADOW_VOLUME 89

Geometry GeometryMajorRadius GeometryHeight GeometryIsSmall Shadow ShadowSizeX End

;-----------------------------------------------------------------------------Object Tank_ChinaJetMIG ; *** ART Parameters *** SelectPortrait = SNJ10_L ButtonImage = SNJ10 UpgradeCameo1 = Upgrade_ChinaAircraftArmor UpgradeCameo2 = Upgrade_ChinaBlackNapalm Draw = W3DModelDraw ModuleTag_01 ParticlesAttachedToAnimatedBones = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY OkToChangeModelColor = Yes

DefaultConditionState Model = NVJ10 HideSubObject = BurnerFX01 WeaponLaunchBone = PRIMARY MISSILE End ConditionState = JETEXHAUST ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ParticleSysBone = Engine01 JetExhaustHeat End ConditionState = JETEXHAUST JETAFTERBURNER ShowSubObject = BurnerFX01 ParticleSysBone = Exhaust01 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ParticleSysBone = Engine01 JetExhaustHeat End ConditionState = REALLYDAMAGED Model = NVJ10_D ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ParticleSysBone = Engine01 JetExhaustHeat End ConditionState Model End = RUBBLE = NVJ10_E

ConditionState = REALLYDAMAGED JETEXHAUST Model = NVJ10_D ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ParticleSysBone = Engine01 JetExhaustHeat End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = NVJ10_D ShowSubObject = BurnerFX01 ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ParticleSysBone = Engine01 JetExhaustHeat End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = NVJ10_E ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ParticleSysBone = Engine01 JetExhaustHeat End End ; ***DESIGN parameters *** DisplayName = OBJECT:J10 EditorSorting = VEHICLE

Side = ChinaTankGeneral TransportSlotCount = 0 VisionRange = 200.0 ShroudClearingRange = 400.0 BuildCost = 1900 BuildTime = 19 ExperienceValue = 66 96 140 201 ExperienceRequired = 0 198 287 420 IsTrainable = Yes CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehic les CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GenericCommandSet Prerequisites Object End WeaponSet Conditions Weapon End ArmorSet Conditions Armor DamageFX End = Tank_ChinaAirfield

= None = PRIMARY NapalmMissileWeapon

= None = AirplaneArmor = None *** = J10VoiceSelect = J10VoiceMove = J10VoiceAttack = J10VoiceAttack = J10VoiceMove = MigAmbientLoop = J10VoiceCreate = RaptorAfterburner = J10VoiceMove

; *** AUDIO Parameters VoiceSelect VoiceMove VoiceAttack VoiceAttackAir VoiceGuard SoundAmbient UnitSpecificSounds VoiceCreate Afterburner VoiceGarrison End

; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCO RE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 SubdualDamageCap = 400 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = JetSlowDeathBehavior ModuleTag_03 DeathTypes = ALL -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_J10DeathFinalBlowUp

DestructionDelay e RollRate RollRateDelta * rollrateDelta PitchRate FallHowFast 00%,it's a fraction of gravity) FXInitialDeath OCLInitialDeath DelaySecondaryFromInitialDeath FXSecondary OCLSecondary FXHitGround OCLHitGround DelayFinalBlowUpFromHitGround FXFinalBlowUp OCLFinalBlowUp End

= 99999999 ; destruction will happen when w = 0.2 = 100% = 0.0 = 110.0% = = = = = = = = = = ;each frame, rollrate = rollrate ;Bigger is faster (can be over 1

FX_MigDeathInitial OCL_MIGDeathInitial 500 FX_JetDeathSecondary OCL_MIGDeathSecondary FX_JetDeathHitGround OCL_MIGDeathHitGround 200 FX_JetDeathFinalBlowUp OCL_J10DeathFinalBlowUp

Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 100 OCL = FINAL OCL_J10DeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = JetAIUpdate ModuleTag_06 OutOfAmmoDamagePerSecond = 0% TakeoffDistForMaxLift = 0% TakeoffPause = 500 MinHeight = 5 ReturnToBaseIdleTime = 10000 End Locomotor = SET_NORMAL MIGLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallCont inuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransitio n End Behavior TriggeredBy AddMaxHealth ChangeType RRENT_HEALTH_TOO, End = MaxHealthUpgrade ModuleTag_10 = Upgrade_ChinaAircraftArmor = 50.0 = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CU and SAME_CURRENTHEALTH

Scale = 1.05 Geometry GeometryIsSmall GeometryMajorRadius GeometryMinorRadius GeometryHeight End

= = = = =

Box Yes 14.0 7.0 5.0

;-----------------------------------------------------------------------------Object Tank_ChinaInfantryRedguard ; *** ART Parameters *** SelectPortrait = SNRedGuard_L ButtonImage = SNRedGuard_L UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_InfantryCaptureBuilding UpgradeCameo3 = Upgrade_APBullets Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADIN G_A PREATTACK_B FIRING_B BETWEEN_FIRING_SHOTS_B RELOADING_B ; ------- Standing-Around Animations DefaultConditionState Model = NICNSC_SKN IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35 IdleAnimation = NICNSC_SKL.NICNSC_IDA IdleAnimation = NICNSC_SKL.NICNSC_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX TransitionKey = TRANS_Stand End ConditionState IdleAnimation AnimationMode TransitionKey End ; ------- Machine Gun ConditionState = Animation = AnimationMode = TransitionKey = End AliasConditionState = ConditionState Animation AnimationMode = = = = REALLYDAMAGED NICNSC_SKL.NICNSC_STB ONCE TRANS_StandDamaged

Animations USING_WEAPON_A NICNSC_SKL.NICNSC_ATA LOOP TRANS_Firing USING_WEAPON_B

= USING_WEAPON_A REALLYDAMAGED = NICNSC_SKL.NICNSC_ATC = LOOP

TransitionKey = TRANS_FiringDamaged End AliasConditionState = USING_WEAPON_B REALLYDAMAGED ; ------- Firing-related Transitions TransitionState = TRANS_Firing TRANS_FiringDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE End TransitionState Animation AnimationMode End TransitionState Animation AnimationMode End = TRANS_Firing TRANS_Stand = NICNSC_SKL.NICNSC_AA2SA = ONCE = TRANS_FiringDamaged TRANS_StandDamaged = NICNSC_SKL.NICNSC_ATCED = ONCE

; ------------- Damage Transitions -------------------TransitionState = TRANS_StandDamaged TRANS_RunDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE AnimationSpeedFactorRange = 2 2 End TransitionState = TRANS_RunDamaged TRANS_StandDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2 2 Flags = START_FRAME_LAST End TransitionState = TRANS_Stand TRANS_StandDamaged Animation = NICNSC_SKL.NICNSC_AA2SA AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 4 5 Flags = START_FRAME_LAST End ; ------- Bayonet Animations ConditionState = PREATTACK_C Animation = NICNSC_SKL.NICNSC_ATB1 AnimationMode = ONCE TransitionKey = TRANS_Stab End AliasConditionState = PREATTACK_C MOVING AliasConditionState = PREATTACK_C FIRING_C AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C ConditionState = FIRING_C Animation = NICNSC_SKL.NICNSC_ATB2 AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_Stab End AliasConditionState = BETWEEN_FIRING_SHOTS_C AliasConditionState = RELOADING_C ; ------- Parachuting Animations ConditionState = FREEFALL Animation = NICNSC_SKL.NICNSC_POP

AnimationMode = Flags = TransitionKey = End AliasConditionState AliasConditionState

MANUAL START_FRAME_FIRST TRANS_Falling = FREEFALL REALLYDAMAGED = FREEFALL DYING

ConditionState = PARACHUTING Animation = NICNSC_SKL.NICNSC_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions s hould come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = NICNSC_SKL.NICNSC_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions s hould come from the last frame, rather than the first End TransitionState Animation AnimationMode End = TRANS_Chute TRANS_Stand = NICNSC_SKL.NICNSC_PTD = ONCE

; ------- Movement Animations ConditionState = MOVING Animation = NICNSC_SKL.NICNSC_RNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = NICNSC_SKL.NICNSC_RNB 28 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_RunDamaged TransitionKey = None End AliasConditionState = MOVING ATTACKING REALLYDAMAGED ; ------- Bldg-capture ConditionState = UNPACKING Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState Model Animation AnimationMode = = = = RAISING_FLAG NICNSC_F_SKN NICNSC_F_SKL.NICNSC_F_FDP2 ONCE

TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState Model Animation AnimationMode Flags TransitionKey End AliasConditionState TransitionState Model Animation AnimationMode Flags End = = = = = = PACKING NICNSC_F_SKN NICNSC_F_SKL.NICNSC_F_FDP1 ONCE_BACKWARDS START_FRAME_LAST TRANS_Packing

= PACKING REALLYDAMAGED = = = = = TRANS_Raising TRANS_Packing NICNSC_F_SKN NICNSC_F_SKL.NICNSC_F_FDP2 ONCE_BACKWARDS START_FRAME_LAST

; ------- Dying Animations ConditionState = DYING Animation = NICNSC_SKL.NICNSC_DTA Animation = NICNSC_SKL.NICNSC_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState Animation AnimationMode End ConditionState Animation AnimationMode TransitionKey ParticleSysBone End ConditionState Animation AnimationMode TransitionKey ParticleSysBone End = TRANS_Dying TRANS_Flailing = NICNSC_SKL.NICNSC_ATDE1 = ONCE = = = = = = = = = = DYING EXPLODED_FLAILING NICNSC_SKL.NICNSC_ATDE2 LOOP TRANS_Flailing NONE BloodTrailBig DYING EXPLODED_BOUNCING NICNSC_SKL.NICNSC_ATDE3 ONCE None None BloodPoolGrowing00

; ------- Misc Animations ConditionState = SPECIAL_CHEERING Animation = NICNSC_SKL.NICNSC_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:Redguard Side = ChinaTankGeneral EditorSorting = INFANTRY TransportSlotCount = 1

VisionRange = 150 ShroudClearingRange = 200 BuildCost = 250 BuildTime = 2.5 WeaponSet Conditions = None Weapon = PRIMARY RedguardMachineGun End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY RedguardAdvancedMachineGun Weapon = SECONDARY RedguardAdvancedMachineGunAir PreferredAgainst = SECONDARY AIRCRAFT End Behavior = WeaponSetUpgrade ModuleTag_Weapon01 TriggeredBy = Upgrade_APBullets End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End Prerequisites Object = Tank_ChinaBarracks End ExperienceValue = 8 11 16 23 ExperienceRequired = 0 23 33 48 IsTrainable = Yes CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaInfantryRedguardCommandSet ; *** AUDIO Parameters *** VoiceSelect = RedGuardVoiceSelect VoiceMove = RedGuardVoiceMove VoiceGuard = RedGuardVoiceMove VoiceAttack = RedGuardVoiceAttack VoiceGroupSelect = BattleCrySound VoiceFear = RedGuardVoiceFear VoiceTaskComplete = RedGuardVoiceCaptureComplete UnitSpecificSounds VoiceMelee = RedGuardVoiceAttackBayonet VoiceGarrison = RedGuardVoiceGarrison VoiceCreate = RedGuardVoiceCreate VoiceSubdue = RedGuardVoiceSubdue VoiceEnter = RedGuardVoiceMove VoiceEnterHostile = RedGuardVoiceMove VoiceGetHealed = RedGuardVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REF LECTIONS INFANTRY SCORE PARACHUTABLE

Body = ActiveBody ModuleTag_02 MaxHealth = 150.0 InitialHealth = 150.0 End Behavior = VeterancyGainCreate ModuleTag_Veteran StartingLevel = VETERAN ScienceRequired = SCIENCE_RedGuardTraining End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_05 End Locomotor = SET_NORMAL RedguardLocomotor Behavior = HordeUpdate ModuleTag_06 RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman UpdateRate = 1000 ; how often to recheck horde status (msec) Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness AlliesOnly = Yes ; do we only count allies towards horde status? ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) Count = 5 ; how many units must be within Radius to grant us hord e-ness Action = HORDE ; when horde-ing, grant us the HORDE bonus End Behavior = PhysicsBehavior ModuleTag_07 Mass = 24.0 End Behavior = SquishCollide ModuleTag_10 End ; --- begin Death modules --Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -PO ISONED_BETA -POISONED_GAMMA -SUICIDED -EXTRA_5 -EXTRA_6 -EXTRA_7 -EXTRA_2 -EXTRA _3 -EXTRA_4 SinkDelay = 3000 SinkRate = 0.1 ; in Dist/Sec DestructionDelay = 20000 FX = INITIAL FX_RedGuardDie OCL = INITIAL OCL_BloodPool End Behavior = SlowDeathBehavior ModuleTag_DeathGib DeathTypes = NONE +SUICIDED +EXTRA_5 DestructionDelay = 1 FX = INITIAL FX_InfantryDieGib OCL = INITIAL OCL_InfantryGibExplode End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000

SinkRate = 0.1 ; in Dist/Sec DestructionDelay = 1 FX = INITIAL FX_GIDieCrushed OCL = INITIAL OCL_InfantryGibCrush End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.1 ; in Dist/Sec DestructionDelay = 20000 FX = INITIAL FX_RedGuardDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireChina OCL = INITIAL OCL_FlamingInfantryChina End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new , unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create t his OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryGamma End Behavior = SlowDeathBehavior ModuleTag_Death08 DeathTypes = NONE +EXTRA_6 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_RadiationInfantry End Behavior = SlowDeathBehavior ModuleTag_Death09 DeathTypes = NONE +EXTRA_7 DestructionDelay = 1 FX = INITIAL FX_InfantryDieGib OCL = INITIAL OCL_InfantryMineExplode FX = FINAL FX_RedGuardDie End Behavior = SlowDeathBehavior ModuleTag_Death15 DeathTypes = NONE +EXTRA_2 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryFrightening

End Behavior = SlowDeathBehavior ModuleTag_Death16 DeathTypes = NONE +EXTRA_3 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryFrighteningBeta End Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +EXTRA_4 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryFrighteningGamma End ; --- end Death modules --Behavior = PoisonedBehavior ModuleTag_15 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison dam age End Behavior = SpecialAbility ModuleTag_16 SpecialPowerTemplate = SpecialAbilityInfantryCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes InitiateSound = RedGuardVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_17 SpecialPowerTemplate = SpecialAbilityInfantryCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changin g this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 8 End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18 SpecialPowerTemplate = SpecialAbilityInfantryCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = AutoFindHealingUpdate ModuleTag_Heal ScanRate = 1000 ScanRange = 300 NeverHeal = 0.85 AlwaysHeal = 0.25 End Scale = 0.95 Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14;

ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;-----------------------------------------------------------------------------Object Tank_ChinaInfantryBlackLotus ; *** ART Parameters *** SelectPortrait = SNBlkLotus_L ButtonImage = SNBlkLotus UpgradeCameo1 = Upgrade_ChinaECMPower Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; --- idle DefaultConditionState Model = IdleAnimation = IdleAnimation = IdleAnimation = AnimationMode = TransitionKey = End ConditionState IdleAnimation IdleAnimation AnimationMode TransitionKey End TransitionState Animation AnimationMode End ; --- moving ConditionState Animation AnimationMode Flags TransitionKey ParticleSysBone End AliasConditionState ConditionState Animation AnimationMode Flags TransitionKey ParticleSysBone End AliasConditionState = = = = =

NIHERO_SKN NIHERO_SKL.NIHERO_STA 0 17 NIHERO_SKL.NIHero_IDA NIHERO_SKL.NIHero_IDB ONCE TRANS_Stand REALLYDAMAGED NIHERO_SKL.NIHERO_ISTA 0 30 NIHERO_SKL.NIHero_IIDA ONCE TRANS_StandInjured

= TRANS_Stand TRANS_StandInjured = NIHero_SKL.NIHero_ISTAHIT = ONCE

= = = = = =

MOVING NIHero_SKL.NIHero_RNA LOOP RANDOMSTART None None InfantryDustTrails

= MOVING UNPACKING = = = = = = MOVING REALLYDAMAGED NIHero_SKL.NIHero_IRNA LOOP RANDOMSTART None None InfantryDustTrails

= MOVING UNPACKING REALLYDAMAGED

; --- packing states ConditionState = UNPACKING

;Preparing to attack (unpacking gear) Animation = NIHero_SKL.NIHero_ATA1 AnimationMode = ONCE End AliasConditionState = UNPACKING FIRING_A ConditionState = FIRING_A ;Processing attack (hacking) Animation = NIHero_SKL.NIHero_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringA End ConditionState = PACKING ;Completing attack (packing gear) Animation = NIHero_SKL.NIHero_ATA3 AnimationMode = ONCE End AliasConditionState = FIRING_A PACKING TransitionState Animation AnimationMode End = TRANS_FiringA TRANS_FiringAInjured = NIHero_SKL.NIHero_IATAHIT = ONCE

; --- injured-packing states ConditionState = UNPACKING REALLYDAMAGED ;Preparing to attack (unpacking gear) Animation = NIHero_SKL.NIHero_IATA1 AnimationMode = ONCE End AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED ConditionState = FIRING_A REALLYDAMAGED ;Processing attack (hacking) Animation = NIHero_SKL.NIHero_IATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringAInjured End ConditionState = PACKING REALLYDAMAGED ;Completing attack (packing gear) Animation = NIHero_SKL.NIHero_IATA3 AnimationMode = ONCE End AliasConditionState = FIRING_A PACKING REALLYDAMAGED ; --- normal-dying ConditionState Animation Animation AnimationMode TransitionKey End TransitionState Animation AnimationMode End states = DYING = NIHero_SKL.NIHero_DTA = NIHero_SKL.NIHero_DTB = ONCE = TRANS_Dying = TRANS_Dying TRANS_Flailing = NIHero_SKL.NIHero_ADTF1 = ONCE

ConditionState Animation AnimationMode TransitionKey ParticleSysBone End ConditionState Animation AnimationMode TransitionKey ParticleSysBone End

= = = = = = = = = =

DYING EXPLODED_FLAILING NIHero_SKL.NIHero_ADTF2 LOOP TRANS_Flailing NONE BloodTrailBig DYING EXPLODED_BOUNCING NIHero_SKL.NIHero_ADTF3 ONCE None None BloodPoolGrowing00

; --- cheering states ConditionState = SPECIAL_CHEERING Animation = NIHERO_SKL.NIHERO_CHA AnimationMode = ONCE End ConditionState Animation AnimationMode End = SPECIAL_CHEERING REALLYDAMAGED = NIHERO_SKL.NIHERO_ICHA = ONCE

; --- falling states ConditionState = Animation = AnimationMode = TransitionKey = End AliasConditionState = AliasConditionState = ConditionState Animation AnimationMode TransitionKey End AliasConditionState AliasConditionState = = = =

FREEFALL NIHero_SKL.NIHero_PFL LOOP TRANS_Falling FREEFALL REALLYDAMAGED FREEFALL DYING PARACHUTING NIHero_SKL.NIHero_PHG LOOP TRANS_Chute

= PARACHUTING REALLYDAMAGED = PARACHUTING DYING

TransitionState = TRANS_Falling TRANS_Chute Animation = NIHero_SKL.NIHero_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState Animation AnimationMode End TransitionState Animation AnimationMode End End = TRANS_Chute TRANS_Stand = NIHero_SKL.NIHero_PTD = ONCE = TRANS_Chute TRANS_StandInjured = NIHero_SKL.NIHero_PTD = ONCE

; ***DESIGN parameters *** DisplayName = OBJECT:BlackLotus Side = ChinaTankGeneral EditorSorting = INFANTRY TransportSlotCount = 1 VisionRange = 300 ShroudClearingRange = 300 BuildCost = 2000 BuildTime = 20.0 MaxSimultaneousOfType = 1 WeaponSet Conditions Weapon End ArmorSet Conditions Armor DamageFX End = None = PRIMARY None

= None = HumanArmor = InfantryDamageFX

Prerequisites Object = Tank_ChinaBarracks Object = Tank_ChinaPropagandaCenter Science = SCIENCE_TANK SCIENCE_FLAM SCIENCE_NUKE SCIENCE_INFA End ExperienceValue = ExperienceRequired = IsTrainable CrushableLevel , 2 = general vehicles CommandSet 52 69 92 122 0 155 206 275 = Yes = 2 ;What am I?:

0 = for infantry, 1 = for trees

= Tank_ChinaInfantryBlackLotusCommandSet

; *** AUDIO Parameters *** VoiceSelect = BlackLotusVoiceSelect VoiceMove = BlackLotusVoiceMove VoiceAttack = NoSound VoiceGuard = BlackLotusVoiceMove VoiceFear = BlackLotusVoiceFear VoiceTaskComplete = BlackLotusVoiceCaptureComplete SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = BlackLotusVoiceCreate VoiceGarrison = BlackLotusVoiceMove VoiceEnter = BlackLotusVoiceMove VoiceEnterHostile = BlackLotusVoiceMove VoiceStealCashComplete = BlackLotusVoiceCashComplete VoiceDisableVehicleComplete = BlackLotusVoiceDisableComplete VoiceCaptureBuildingComplete = BlackLotusVoiceCaptureComplete VoiceGetHealed = BlackLotusVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE HER

O CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 750.0 InitialHealth = 750.0 End Behavior = CommandButtonHuntUpdate ModuleTag_03 ; allows use of command butto n hunt script with this unit. End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL BlackLotusLocomotor Locomotor = SET_FREEFALL FreeFallLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 24.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2500 ; msec StealthForbiddenConditions = USING_ABILITY HintDetectableConditions = USING_ABILITY InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyBlackLotusDetected OwnDetectionEvaEvent = OwnBlackLotusDetected End Behavior = StealthDetectorUpdate ModuleTag_44 ;+ DetectionRate = 500 CanDetectWhileGarrisoned = No CanDetectWhileContained = No End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding UpdateModuleStartsAttack = Yes InitiateSound = BlackLotusVoiceHackBuilding End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding StartAbilityRange = 150.0 UnpackTime = 6730 ;animation time is 6730 (changing this will sca le anim speed) PackTime = 2800 ;animation time is 5800 (changing this will sca le anim speed) PreparationTime = 6000 ;time to complete hack once prepared (unpacked) SpecialObject = BinaryDataStream DoCaptureFX = Yes PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop AwardXPForTriggering = 25 End Behavior = SpecialAbility ModuleTag_10 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack UpdateModuleStartsAttack = Yes InitiateSound = BlackLotusVoiceHackVehicle

End Behavior = SpecialAbilityUpdate ModuleTag_11 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack StartAbilityRange = 150.0 UnpackTime = 2000 ;6730 ;animation time is 6730 (changing this will scale anim speed) PackTime = 1000 ;2800 ;animation time is 5800 (changing this will scale anim speed) PreparationTime = 2000 ;time to complete hack once prepared (unpacke d) EffectDuration = 15000 ;duration vehicle is disabled (15 seconds) DisableFXParticleSystem = DisabledEffectBinaryShower0 SpecialObject = BinaryDataStream PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop AwardXPForTriggering = 25 End Behavior = SpecialAbility ModuleTag_12 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack UpdateModuleStartsAttack = Yes InitiateSound = BlackLotusVoiceHackCash End Behavior = SpecialAbilityUpdate ModuleTag_13 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack StartAbilityRange = 150.0 UnpackTime = 6730 ;animation time is 6730 (changing this will sca le anim speed) PackTime = 5800 ;animation time is 5800 (changing this will sca le anim speed) PreparationTime = 6000 ;time to complete hack once prepared (unpacked) EffectValue = 2000 ;amount of cash stolen SpecialObject = BinaryDataStream PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop PersistentPrepTime = 1000 PersistenceRequiresRecharge = Yes AwardXPForTriggering = 25 End Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = SpecialAbilityBLECMField UpdateModuleStartsAttack = Yes StartsPaused = Yes InitiateSound = BlackLotusVoiceModeVehicle End Behavior = SpecialAbilityUpdate ModuleTag_33 SpecialPowerTemplate = SpecialAbilityBLECMField StartAbilityRange = 3.0 UnpackTime = 6730 PackTime = 5800 PreparationTime = 0 PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop SpecialObject = BlackLotusECMFieldCreationObject

MaxSpecialObjects = 1 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes UniqueSpecialObjectTargets = No FlipOwnerAfterUnpacking = No FleeRangeAfterCompletion = 0.0 LoseStealthOnTrigger = Yes ApproachRequiresLOS = No NeedToFaceTarget = No AwardXPForTriggering = 25 End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_38 SpecialPowerTemplate = SpecialAbilityBLECMField TriggeredBy = Upgrade_ChinaECMPower End ; --- begin Death modules --Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -PO ISONED_BETA -POISONED_GAMMA -SUICIDED -EXTRA_5 -EXTRA_6 -EXTRA_7 -EXTRA_2 -EXTRA _3 -EXTRA_4 SinkDelay = 3000 SinkRate = 0.1 ; in Dist/Sec DestructionDelay = 20000 FX = INITIAL FX_BlackLotusDie OCL = INITIAL OCL_BloodPool End Behavior = SlowDeathBehavior ModuleTag_DeathGib DeathTypes = NONE +SUICIDED +EXTRA_5 DestructionDelay = 1 FX = INITIAL FX_InfantryDieGib OCL = INITIAL OCL_InfantryGibExplode End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.1 ; in Dist/Sec DestructionDelay = 1 FX = INITIAL FX_GIDieCrushed OCL = INITIAL OCL_InfantryGibCrush End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.1 ; in Dist/Sec DestructionDelay = 20000 FX = INITIAL FX_BlackLotusDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireFemale OCL = INITIAL OCL_FlamingInfantryFemale End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED

DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new , unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create t his OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_ToxicInfantryGamma End Behavior = SlowDeathBehavior ModuleTag_Death08 DeathTypes = NONE +EXTRA_6 DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_RadiationInfantry End Behavior = SlowDeathBehavior ModuleTag_Death09 DeathTypes = NONE +EXTRA_7 DestructionDelay = 1 FX = INITIAL FX_InfantryDieGib OCL = INITIAL OCL_InfantryMineExplode FX = FINAL FX_BlackLotusDie End Behavior = SlowDeathBehavior ModuleTag_Death15 DeathTypes = NONE +EXTRA_2 DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_ToxicInfantryFrightening End Behavior = SlowDeathBehavior ModuleTag_Death16 DeathTypes = NONE +EXTRA_3 DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_ToxicInfantryFrighteningBeta End Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +EXTRA_4 DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_ToxicInfantryFrighteningGamma End ; --- end Death modules --Behavior = PoisonedBehavior ModuleTag_17 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poi son damage End Behavior = AutoFindHealingUpdate ModuleTag_Heal ; This update will have the unit go to a healing station if injured. jba

ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Behavior = VeterancyGainCreate ModuleTag_Veteran StartingLevel = VETERAN ScienceRequired = SCIENCE_HackerTraining End Scale = 0.95 Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;-----------------------------------------------------------------------------Object Tank_ChinaInfantryTankHunter ; *** ART Parameters *** SelectPortrait = SNTankHunter_L ButtonImage = SNTankHunter UpgradeCameo1 = Upgrade_Nationalism Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NIMSST_SKN IdleAnimation = NIMSST_SKL.NIMSST_STA 0 30 IdleAnimation = NIMSST_SKL.NIMSST_IDA IdleAnimation = NIMSST_SKL.NIMSST_IDB AnimationMode = ONCE AnimationSpeedFactorRange = 0.8 1.2 TransitionKey = TRANS_Stand WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End AliasConditionState = REALLYDAMAGED ConditionState Animation AnimationMode TransitionKey End AliasConditionState ConditionState = = = = FIRING_A NIMSST_SKL.NIMSST_ATA ONCE TRANS_START_FIRING

= REALLYDAMAGED FIRING_A = BETWEEN_FIRING_SHOTS_A

Animation = NIMSST_SKL.NIMSST_STA AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = REALLYDAMAGED BETWEEN_FIRING_SHOTS_A ConditionState Animation AnimationMode Flags TransitionKey ParticleSysBone End AliasConditionState AliasConditionState AliasConditionState ConditionState Animation AnimationMode ;WeaponLaunchBone End AliasConditionState AliasConditionState = = = = = = MOVING NIMSST_SKL.NIMSST_RNA 20 LOOP RANDOMSTART None None InfantryDustTrails

= REALLYDAMAGED MOVING = MOVING ATTACKING = MOVING ATTACKING REALLYDAMAGED = = = = RELOADING_A NIMSST_SKL.NIMSST_ATA 10 ONCE PRIMARY WeaponA

= MOVING RELOADING_A = REALLYDAMAGED MOVING RELOADING_A

ConditionState = DYING Animation = NIMSST_SKL.NIMSST_DTA Animation = NIMSST_SKL.NIMSST_DTB AnimationSpeedFactorRange = 0.9 1.25 AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = DYING RUBBLE TransitionState Animation AnimationMode End ConditionState Animation AnimationMode TransitionKey ParticleSysBone End ConditionState Animation AnimationMode TransitionKey ParticleSysBone End = TRANS_Dying TRANS_Flailing = NIMSST_SKL.NIMSST_ADTD1 = ONCE = = = = = = = = = = DYING EXPLODED_FLAILING NIMSST_SKL.NIMSST_ADTD2 LOOP TRANS_Flailing NONE BloodTrailBig DYING EXPLODED_BOUNCING NIMSST_SKL.NIMSST_ADTD3 ONCE None None BloodPoolGrowing00

;PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = NIMSST_SKL.NIMSST_POP AnimationMode = ONCE TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED

AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NIMSST_SKL.NIMSST_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING ; TransitionState = TRANS_Falling TRANS_Chute ; Animation = NIMSST_SKL.NIMSST_POP ; AnimationMode = ONCE ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone position s should come from the last frame, rather than the first ; End TransitionState Animation AnimationMode End End ; ***DESIGN parameters *** DisplayName = OBJECT:TankHunter Side = ChinaTankGeneral EditorSorting = INFANTRY TransportSlotCount = 1 VisionRange = 190 ShroudClearingRange = 200 BuildCost = 500 BuildTime = 0.1 WeaponSet Conditions = None Weapon = PRIMARY ChinaTANKTankHunterMissileLauncher End ArmorSet Conditions Armor DamageFX End = None = HumanArmor = InfantryDamageFX = TRANS_Chute TRANS_Stand = NIMSST_SKL.NIMSST_PDN = ONCE

Prerequisites Object = Tank_ChinaBarracks End ExperienceValue = 13 18 27 38 ExperienceRequired = 0 38 55 80 IsTrainable = Yes CrushableLevel = 0 ;What am I?: general vehicles CommandSet = GenericCommandSet ; *** AUDIO Parameters *** VoiceSelect = TankHunterVoiceSelect

0 = for infantry, 1 = for trees, 2 =

VoiceMove = TankHunterVoiceMove VoiceAttack = TankHunterVoiceAttack VoiceAttackAir = TankHunterVoiceAttack VoiceGuard = TankHunterVoiceMove VoiceFear = TankHunterVoiceFear UnitSpecificSounds VoiceCreate = TankHunterVoiceCreate VoiceGarrison = TankHunterVoiceGarrison VoiceEnter = TankHunterVoiceMove VoiceEnterHostile = TankHunterVoiceMove VoiceGetHealed = TankHunterVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REF LECTIONS INFANTRY SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = HordeUpdate ModuleTag_04 UpdateRate = 1000 ; how often to recheck horde status (msec) RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness AlliesOnly = Yes ; do we only count allies towards horde status? ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) Count = 5 ; how many units must be within Radius to grant us hord e-ness Action = HORDE ; when horde-ing, grant us the HORDE bonus End Behavior = PhysicsBehavior ModuleTag_05 Mass = 24.0 End Behavior = SquishCollide ModuleTag_09 End Behavior = VeterancyGainCreate ModuleTag_Veteran StartingLevel = VETERAN ScienceRequired = SCIENCE_RedGuardTraining End ; --- begin Death modules --Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -PO ISONED_BETA -POISONED_GAMMA -SUICIDED -EXTRA_5 -EXTRA_6 -EXTRA_7 -EXTRA_2 -EXTRA _3 -EXTRA_4 SinkDelay = 3000 SinkRate = 0.1 ; in Dist/Sec

DestructionDelay = 20000 FX = INITIAL FX_TankHunterDie OCL = INITIAL OCL_BloodPool End Behavior = SlowDeathBehavior ModuleTag_DeathGib DeathTypes = NONE +SUICIDED +EXTRA_5 DestructionDelay = 1 FX = INITIAL FX_InfantryDieGib OCL = INITIAL OCL_InfantryGibExplode End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.1 ; in Dist/Sec DestructionDelay = 1 FX = INITIAL FX_GIDieCrushed OCL = INITIAL OCL_InfantryGibCrush End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.1 ; in Dist/Sec DestructionDelay = 20000 FX = INITIAL FX_TankHunterDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireChina OCL = INITIAL OCL_FlamingInfantryChina End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new , unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create t his OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryGamma End Behavior = SlowDeathBehavior ModuleTag_Death08 DeathTypes = NONE +EXTRA_6 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_RadiationInfantry

End Behavior = SlowDeathBehavior ModuleTag_Death09 DeathTypes = NONE +EXTRA_7 DestructionDelay = 1 FX = INITIAL FX_InfantryDieGib OCL = INITIAL OCL_InfantryMineExplode FX = FINAL FX_TankHunterDie End Behavior = SlowDeathBehavior ModuleTag_Death15 DeathTypes = NONE +EXTRA_2 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryFrightening End Behavior = SlowDeathBehavior ModuleTag_Death16 DeathTypes = NONE +EXTRA_3 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryFrighteningBeta End Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +EXTRA_4 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryFrighteningGamma End ; --- end Death modules --Behavior = PoisonedBehavior ModuleTag_12 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison dam age End Behavior = AutoFindHealingUpdate ModuleTag_Heal ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Scale = 0.95 Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;-----------------------------------------------------------------------------Object Tank_ChinaInfantryHacker ; *** ART Parameters ***

SelectPortrait ButtonImage

= SNHacker2_L = SNHacker2

Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;NORMAL STANDING DefaultConditionState Model = NIHCKR_SKN IdleAnimation = NIHCKR_SKL.NIHCKR_STA 0 25 ;Regular spice animations IdleAnimation = NIHCKR_SKL.NIHCKR_IDA IdleAnimation = NIHCKR_SKL.NIHCKR_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Bone_SatCom TransitionKey = TRANS_Stand End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = NIHCKR_SKL.NIHCKR_RNA 14 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING UNPACKING AliasConditionState = MOVING UNPACKING REALLYDAMAGED ConditionState = UNPACKING Animation = NIHCKR_SKL.NIHCKR_ATB1 AnimationMode = ONCE End AliasConditionState = UNPACKING FIRING_A AliasConditionState = UNPACKING REALLYDAMAGED AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED ;HACKING ATTACK ConditionState = FIRING_A Animation = NIHCKR_SKL.NIHCKR_ATB2 AnimationMode = LOOP TransitionKey = TRANS_FiringA End AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = PACKING Animation = NIHCKR_SKL.NIHCKR_ATB3 AnimationMode = ONCE End AliasConditionState = PACKING FIRING_A AliasConditionState = PACKING REALLYDAMAGED AliasConditionState = PACKING FIRING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_Stand ; I was stopped by a stop comman d, so I get no proper PACKING state Animation = NIHCKR_SKL.NIHCKR_ATB3 AnimationMode = ONCE End ConditionState = FREEFALL

Animation = NIHCKR_SKL.NIHCKR_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NIHCKR_SKL.NIHCKR_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING ConditionState = DYING Animation = NIHCKR_SKL.NIHCKR_DTA Animation = NIHCKR_SKL.NIHCKR_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NIHCKR_SKL.NIHCKR_ADTG1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NIHCKR_SKL.NIHCKR_ADTG2 AnimationMode = LOOP TransitionKey = TRANS_Flailing ParticleSysBone = NONE BloodTrailBig End ConditionState = DYING EXPLODED_BOUNCING Animation = NIHCKR_SKL.NIHCKR_ADTG3 AnimationMode = ONCE TransitionKey = None ParticleSysBone = None BloodPoolGrowing00 End ConditionState = SPECIAL_CHEERING Animation = NIHCKR_SKL.NIHCKR_CHA AnimationMode = LOOP End TransitionState = TRANS_Falling TRANS_Chute Animation = NIHCKR_SKL.NIHCKR_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NIHCKR_SKL.NIHCKR_PTD AnimationMode = ONCE End

End ; ***DESIGN parameters *** DisplayName = OBJECT:Hacker Side = ChinaTankGeneral EditorSorting = INFANTRY VisionRange = 150 ShroudClearingRange = 200 BuildCost = 625 BuildTime = 0.1 TransportSlotCount = 1 ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End Prerequisites Object = Tank_ChinaBarracks End ExperienceValue ExperienceRequired IsTrainable CrushableLevel = general vehicles CommandSet = = = = 20 30 43 62 0 130 400 650 Yes 0 ;What am I?:

0 = for infantry, 1 = for trees, 2

= Tank_ChinaInfantryHackerCommandSet

; *** AUDIO Parameters *** VoiceSelect = HackerVoiceSelect VoiceMove = HackerVoiceMove VoiceAttack = NoSound VoiceGuard = HackerVoiceMove VoiceFear = HackerVoiceFear VoiceTaskComplete = HackerVoiceHackComplete UnitSpecificSounds VoiceGarrison = HackerVoiceGarrison VoiceCreate = HackerVoiceCreate UnitPack = HackerPack UnitUnpack = HackerUnpack UnitCashPing = HackerCashPing VoiceEnter = HackerVoiceMove VoiceEnterHostile = HackerVoiceMove VoiceGetHealed = HackerVoiceMove VoiceHackInternet = HackerVoiceModeInternet End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE IGN ORES_SELECT_ALL MONEY_HACKER Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = HackInternetAIUpdate ModuleTag_03

UnpackTime = 7300 ;animation time is 7300 (changing this will scale anim speed) PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) CashUpdateDelay = 2000 CashUpdateDelayFast = 2000 ; Fast speed used inside a container (can only h ack inside an Internet Center) RegularCashAmount = 50 VeteranCashAmount = 60 EliteCashAmount = 80 HeroicCashAmount = 100 XpPerCashUpdate = 100 PackUnpackVariationFactor = 0.5 ;Adds + or - 20% to pack and unpack time ran domly. End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 24.0 End Behavior = SquishCollide ModuleTag_08 End ; --- begin Death modules --Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -PO ISONED_BETA -POISONED_GAMMA -SUICIDED -EXTRA_5 -EXTRA_6 -EXTRA_7 -EXTRA_2 -EXTRA _3 -EXTRA_4 SinkDelay = 3000 SinkRate = 0.1 ; in Dist/Sec DestructionDelay = 20000 FX = INITIAL FX_HackerDie OCL = INITIAL OCL_BloodPool End Behavior = SlowDeathBehavior ModuleTag_DeathGib DeathTypes = NONE +SUICIDED +EXTRA_5 DestructionDelay = 1 FX = INITIAL FX_InfantryDieGib OCL = INITIAL OCL_InfantryGibExplode End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.1 ; in Dist/Sec DestructionDelay = 1 FX = INITIAL FX_GIDieCrushed OCL = INITIAL OCL_InfantryGibCrush End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.1 ; in Dist/Sec DestructionDelay = 20000 FX = INITIAL FX_HackerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End

Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireChina OCL = INITIAL OCL_FlamingInfantryChina End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new , unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create t his OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryGamma End Behavior = SlowDeathBehavior ModuleTag_Death08 DeathTypes = NONE +EXTRA_6 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_RadiationInfantry End Behavior = SlowDeathBehavior ModuleTag_Death09 DeathTypes = NONE +EXTRA_7 DestructionDelay = 1 FX = INITIAL FX_InfantryDieGib OCL = INITIAL OCL_InfantryMineExplode FX = FINAL FX_HackerDie End Behavior = SlowDeathBehavior ModuleTag_Death15 DeathTypes = NONE +EXTRA_2 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryFrightening End Behavior = SlowDeathBehavior ModuleTag_Death16 DeathTypes = NONE +EXTRA_3 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryFrighteningBeta End Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +EXTRA_4 DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryFrighteningGamma End ; --- end Death modules --Behavior = PoisonedBehavior ModuleTag_11

PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison dam age End Behavior = AutoFindHealingUpdate ModuleTag_Heal ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Behavior = VeterancyGainCreate ModuleTag_Veteran StartingLevel = VETERAN ScienceRequired = SCIENCE_HackerTraining End Scale = 0.95 Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;-----------------------------------------------------------------------------Object Tank_ChinaTankBattleMaster ; *** ART Parameters *** SelectPortrait = SNNapMaster_L ButtonImage = SNNapMaster UpgradeCameo1 UpgradeCameo2 UpgradeCameo3 UpgradeCameo4 = = = = Upgrade_Nationalism Upgrade_ChinaUraniumShells Upgrade_ChinaNuclearTanks Tank_Upgrade_ChinaTankAutoLoader

Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVZTZ104 Turret = Turret WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle TransitionKey = TRANS_default End ConditionState = PREATTACK_A TransitionKey = TRANS_firing End

TransitionState = TRANS_firing TRANS_default ParticleSysBone = MUZZLE TankCannonSmokeSmall End ConditionState = REALLYDAMAGED RUBBLE Model = NVZTZ104_D TransitionKey = TRANS_default_d End ConditionState = REALLYDAMAGED RUBBLE PREATTACK_A Model = NVZTZ104_D TransitionKey = TRANS_firing_d End TransitionState = TRANS_firing_d TRANS_default_d Model = NVZTZ104_D ParticleSysBone = MUZZLE TankCannonSmokeSmall End ConditionState = USING_WEAPON_B Model = NVZTZ104 WeaponFireFXBone = SECONDARY WeaponRecoilBone = SECONDARY WeaponMuzzleFlash = SECONDARY WeaponLaunchBone = SECONDARY TransitionKey = TRANS_default End

Muzzle Barrel MuzzleFX Muzzle

ConditionState = USING_WEAPON_B REALLYDAMAGED Model = NVZTZ104_D WeaponFireFXBone = SECONDARY Muzzle WeaponRecoilBone = SECONDARY Barrel WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponLaunchBone = SECONDARY Muzzle TransitionKey = TRANS_default_d End ConditionState = USING_WEAPON_B AFLAME Model = NVZTZ104 WeaponFireFXBone = SECONDARY Muzzle WeaponRecoilBone = SECONDARY Barrel WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponLaunchBone = SECONDARY Muzzle TransitionKey = TRANS_default_AFLAME ParticleSysBone = Turret TankFireContinious End ConditionState = USING_WEAPON_B REALLYDAMAGED AFLAME Model = NVZTZ104_D WeaponFireFXBone = SECONDARY Muzzle WeaponRecoilBone = SECONDARY Barrel WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponLaunchBone = SECONDARY Muzzle TransitionKey = TRANS_default_d_AFLAME ParticleSysBone = Turret TankFireContinious End ConditionState = AFLAME Model = NVZTZ104

Turret = Turret WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle TransitionKey = TRANS_default_AFLAME ParticleSysBone = Turret TankFireContinious End ConditionState = PREATTACK_A AFLAME TransitionKey = TRANS_firing_AFLAME ParticleSysBone = Turret TankFireContinious End TransitionState = TRANS_firing_AFLAME TRANS_default_AFLAME ParticleSysBone = MUZZLE TankCannonSmokeSmall ParticleSysBone = Turret TankFireContinious End ConditionState = Model = TransitionKey = ParticleSysBone End ConditionState = Model = TransitionKey = ParticleSysBone End TransitionState = Model = ParticleSysBone ParticleSysBone End REALLYDAMAGED RUBBLE AFLAME NVZTZ104_D TRANS_default_d_AFLAME = Turret TankFireContinious REALLYDAMAGED RUBBLE PREATTACK_A AFLAME NVZTZ104_D TRANS_firing_d_AFLAME = Turret TankFireContinious TRANS_firing_d_AFLAME TRANS_default_d_AFLAME NVZTZ104_D = MUZZLE TankCannonSmokeSmall = Turret TankFireContinious = EXTnkTrack.tga = 4.0 ; amount of tread texture to move per second = 0.3 ; fraction of locomotor speed below which tre = 0.6 ; fraction of locomotor speed below which we

TrackMarks TreadAnimationRate TreadDriveSpeedFraction ads stop moving. TreadPivotSpeedFraction allow pivoting. End

; ***DESIGN parameters *** DisplayName = OBJECT:WarMaster Side = ChinaTankGeneral EditorSorting = VEHICLE BuildCost = 800 BuildTime = 8.0 VisionRange = 150 ShroudClearingRange = 300 TransportSlotCount = 3 WeaponSet Conditions = None Weapon = PRIMARY WarMasterTankGun Weapon = SECONDARY WarMasterTankGunLongRange ShareWeaponReloadTime = Yes

WeaponLockSharedAcrossSets = Yes End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY WarMasterTankGunUpgraded Weapon = SECONDARY WarMasterTankGunUpgradedLongRange ShareWeaponReloadTime = Yes WeaponLockSharedAcrossSets = Yes End Behavior = LockWeaponCreate ModuleTag_20AAA SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weap ons equaling no attack. End ArmorSet Conditions Armor DamageFX End = None = TankArmor = TankDamageFX

Prerequisites Object = Tank_ChinaWarFactory End ExperienceValue = 37 50 66 90 ExperienceRequired = 0 112 150 200 IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = v ehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for tree s, 2 = general vehicles CommandSet = ChinaZTZ104CommandSet ; *** AUDIO Parameters *** VoiceSelect = BattleMasterTankVoiceSelect VoiceMove = BattleMasterTankVoiceMove VoiceGuard = BattleMasterTankVoiceMove VoiceAttack = BattleMasterTankVoiceAttack SoundMoveStart = BattleMasterTankMoveStart SoundMoveStartDamaged = BattleMasterTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLook upINIs VoiceCreate = BattleMasterTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceCrush = BattleMasterTankVoiceCrush VoiceEnter = BattleMasterTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REF LECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 500.0 InitialHealth = 500.0

SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 120 ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = Yes End Behavior = VeterancyGainCreate ModuleTag_Veteran StartingLevel = VETERAN ScienceRequired = SCIENCE_TankTraining End Behavior = HordeUpdate ModuleTag_04 RubOffRadius = 150 ; if I am this close to a real hordesman, I will get t o be an honorary hordesman UpdateRate = 1000 ; how often to recheck horde status (msec) Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) KindOf = VEHICLE ; what KindOf's must match to count towards horde-ness AlliesOnly = Yes ; do we only count allies towards horde status? ExactMatch = No ; do we only count units of our exact same type toward s horde status? (overrides kindof) Count = 5 ; how many units must be within Radius to grant us hor de-ness Action = HORDE ; when horde-ing, grant us the HORDE bonus End Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Locomotor = SET_NORMAL BattleMasterLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearBattleMasterLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = WeaponSetUpgrade ModuleTag_17 TriggeredBy = Tank_Upgrade_ChinaTankAutoLoader End Behavior = DestroyDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED +POISONED +POISONED_BETA +POISONED_GAMM A +EXTRA_6 End Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush

End Behavior = CreateObjectDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED +POISONED +POISONED_BETA +POISONED_GAMM A +EXTRA_6 CreationList = OCL_ChinaTankZTZ104DeathEffectSimple End Behavior = CreateCrateDie ModuleTag_11 CrateData = SalvageCrateData End Behavior = SlowDeathBehavior ModuleTag_12 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 200 DestructionDelayVariance = 100 OCL = FINAL OCL_ChinaTankZTZ104Debris FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = TransitionDamageFX ModuleTag_13 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallCont inuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransiti on End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 9.0 GeometryHeight = 10 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaTankEmperor ; *** ART Parameters *** SelectPortrait = SNEmpTank_L ButtonImage = SNEmpTank UpgradeCameo1 = Upgrade_ChinaUraniumShells UpgradeCameo2 = Upgrade_ChinaNuclearTanks UpgradeCameo3 = Upgrade_ChinaSubliminalMessaging Draw = W3DOverlordTankDraw ModuleTag_01 ParticlesAttachedToAnimatedBones = Yes DefaultConditionState Model Animation AnimationMode Turret = = = = NVOvrlrdT NVOvrlrdT.NVOvrlrdT LOOP Turret01

WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle TransitionKey = TRANS_default ShowSubObject = REDLIGHT01 End AliasConditionState = SNOW AliasConditionState = NIGHT AliasConditionState = SNOW NIGHT ConditionState = PREATTACK_A ParticleSysBone = MUZZLE01 TankCannonSmokeSmall ParticleSysBone = MUZZLE02 TankCannonSmokeSmall TransitionKey = TRANS_firing End AliasConditionState = SNOW PREATTACK_A AliasConditionState = NIGHT PREATTACK_A AliasConditionState = SNOW NIGHT PREATTACK_A ConditionState = REALLYDAMAGED Model = NVOvrlrdT_D Animation = NVOvrlrdT_D.NVOvrlrdT_D AnimationMode = LOOP TransitionKey = TRANS_default_d HideSubObject = REDLIGHT01 End AliasConditionState = SNOW REALLYDAMAGED AliasConditionState = NIGHT REALLYDAMAGED AliasConditionState = SNOW NIGHT REALLYDAMAGED ConditionState = REALLYDAMAGED PREATTACK_A Model = NVOvrlrdT_D Animation = NVOvrlrdT_D.NVOvrlrdT_D AnimationMode = LOOP ParticleSysBone = MUZZLE01 TankCannonSmokeSmall ParticleSysBone = MUZZLE02 TankCannonSmokeSmall TransitionKey = TRANS_firing_d End AliasConditionState = SNOW REALLYDAMAGED PREATTACK_A AliasConditionState = NIGHT REALLYDAMAGED PREATTACK_A AliasConditionState = SNOW NIGHT REALLYDAMAGED PREATTACK_A ConditionState = RUBBLE Model = NVOvrlrdT_D1 TransitionKey = TRANS_default_d1 HideSubObject = REDLIGHT01 End AliasConditionState = SNOW RUBBLE AliasConditionState = NIGHT RUBBLE AliasConditionState = SNOW NIGHT RUBBLE TransitionState = Model = Animation = AnimationMode = ParticleSysBone ParticleSysBone End TransitionState = TRANS_firing TRANS_default NVOvrlrdT NONE ONCE = MUZZLE01 TankCannonSmokeSmall = MUZZLE02 TankCannonSmokeSmall TRANS_firing_d TRANS_default_d

Model = Animation = AnimationMode = ParticleSysBone ParticleSysBone End

NVOvrlrdT_D NONE ONCE = MUZZLE01 TankCannonSmokeSmall = MUZZLE02 TankCannonSmokeSmall

;--------------ConditionState = AFLAME TransitionKey = TRANS_default_AFLAME ShowSubObject = REDLIGHT01 ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE02 TankFireContinious ParticleSysBone = SMOKE05 TankFireContinious End AliasConditionState = SNOW AFLAME AliasConditionState = NIGHT AFLAME AliasConditionState = SNOW NIGHT AFLAME ConditionState = PREATTACK_A AFLAME ParticleSysBone = MUZZLE01 TankCannonSmokeSmall ParticleSysBone = MUZZLE02 TankCannonSmokeSmall TransitionKey = TRANS_firing_AFLAME ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE02 TankFireContinious ParticleSysBone = SMOKE05 TankFireContinious End AliasConditionState = SNOW PREATTACK_A AFLAME AliasConditionState = NIGHT PREATTACK_A AFLAME AliasConditionState = SNOW NIGHT PREATTACK_A AFLAME ConditionState = REALLYDAMAGED AFLAME Model = NVOvrlrdT_D Animation = NVOvrlrdT_D.NVOvrlrdT_D AnimationMode = LOOP TransitionKey = TRANS_default_d_AFLAME HideSubObject = REDLIGHT01 ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE02 TankFireContinious ParticleSysBone = SMOKE05 TankFireContinious End AliasConditionState = SNOW REALLYDAMAGED AFLAME AliasConditionState = NIGHT REALLYDAMAGED AFLAME AliasConditionState = SNOW NIGHT REALLYDAMAGED AFLAME ConditionState = REALLYDAMAGED PREATTACK_A AFLAME Model = NVOvrlrdT_D Animation = NVOvrlrdT_D.NVOvrlrdT_D AnimationMode = LOOP ParticleSysBone = MUZZLE01 TankCannonSmokeSmall ParticleSysBone = MUZZLE02 TankCannonSmokeSmall TransitionKey = TRANS_firing_d_AFLAME ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE02 TankFireContinious ParticleSysBone = SMOKE05 TankFireContinious End AliasConditionState = SNOW REALLYDAMAGED PREATTACK_A AFLAME AliasConditionState = NIGHT REALLYDAMAGED PREATTACK_A AFLAME AliasConditionState = SNOW NIGHT REALLYDAMAGED PREATTACK_A AFLAME

ConditionState = RUBBLE AFLAME Model = NVOvrlrdT_D1 TransitionKey = TRANS_default_d1_AFLAME HideSubObject = REDLIGHT01 ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE02 TankFireContinious ParticleSysBone = SMOKE05 TankFireContinious End AliasConditionState = SNOW RUBBLE AFLAME AliasConditionState = NIGHT RUBBLE AFLAME AliasConditionState = SNOW NIGHT RUBBLE AFLAME TransitionState = Model = Animation = AnimationMode = ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End TransitionState = Model = Animation = AnimationMode = ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End TRANS_firing_AFLAME TRANS_default_AFLAME NVOvrlrdT NONE ONCE = MUZZLE01 TankCannonSmokeSmall = MUZZLE02 TankCannonSmokeSmall = SMOKE01 TankFireContinious = SMOKE02 TankFireContinious = SMOKE05 TankFireContinious TRANS_firing_d_AFLAME TRANS_default_d_AFLAME NVOvrlrdT_D NONE ONCE = MUZZLE01 TankCannonSmokeSmall = MUZZLE02 TankCannonSmokeSmall = SMOKE01 TankFireContinious = SMOKE02 TankFireContinious = SMOKE05 TankFireContinious

TrackMarks = EXTnkTrack.tga OkToChangeModelColor = Yes TreadAnimationRate = 3.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which tre ads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. End ; ***DESIGN parameters *** DisplayName = OBJECT:Tank_Overlord Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 0 BuildCost = 2300 BuildTime = 23.0 VisionRange = 150 ShroudClearingRange = 300 WeaponSet Conditions Weapon End ArmorSet Conditions Armor = None = PRIMARY EmperorTankGun

= None = TankArmor

DamageFX End ArmorSet Conditions Armor DamageFX End

= TankDamageFX = PLAYER_UPGRADE = TankTopArmor = TankDamageFX

Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_ChinaOverlordArmor End Prerequisites Object = Tank_ChinaWarFactory Object = Tank_ChinaPropagandaCenter End ExperienceValue = 101 147 215 308 ExperienceRequired = 0 304 441 645 IsTrainable = Yes CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehic les CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Tank_ChinaTankEmperorCommandSet ; *** AUDIO Parameters *** VoiceSelect = EmperorTankVoiceSelect SoundMoveLoop = HeavyTankMoveLoop SoundMoveLoopDamaged = HeavyTankMoveLoop VoiceMove = EmperorTankVoiceMove VoiceGuard = EmperorTankVoiceMove VoiceAttack = OverlordTankVoiceAttack UnitSpecificSounds VoiceCreate = OverlordTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NewTurretMoveLoop2 VoiceCrush = OverlordTankVoiceCrush VoiceEnter = EmperorTankVoiceMove VoiceUnload = OverlordTankVoiceUnload End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REF LECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 1300.0 InitialHealth = 1300.0 SubdualDamageCap = 2700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_03 Turret TurretTurnRate = 60 ControlledWeaponSlots = PRIMARY End

AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL OverlordLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearOverlordLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = Nuke_NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = OverlordContain ModuleTag_06 Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes PassengersInTurret = Yes ExperienceSinkForRider = Yes End Behavior = ObjectCreationUpgrade ModuleTag_Addon01 UpgradeObject = OCL_OverlordBattleBunker TriggeredBy = Upgrade_ChinaOverlordBattleBunker ConflictsWith = Upgrade_ChinaOverlordFlamethrower Upgrade_ChinaOverlordSnipe r Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordRadar Upgrade_ChinaOverlordArmor End Behavior = ObjectCreationUpgrade ModuleTag_Addon02 UpgradeObject = OCL_OverlordFlamethrower TriggeredBy = Upgrade_ChinaOverlordFlamethrower ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordSnipe r Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordRadar Upgrade_ChinaOverlordArmor End Behavior = ObjectCreationUpgrade ModuleTag_Addon03 UpgradeObject = OCL_OverlordSniperCannon TriggeredBy = Upgrade_ChinaOverlordSniper ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordFlame thrower Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordRadar Upgrade_ChinaOverlor dArmor End Behavior = ObjectCreationUpgrade ModuleTag_Addon04 UpgradeObject = OCL_OverlordECM TriggeredBy = Upgrade_ChinaOverlordECM ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordFlame thrower Upgrade_ChinaOverlordSniper Upgrade_ChinaOverlordRadar Upgrade_ChinaOver lordArmor End Behavior = ObjectCreationUpgrade ModuleTag_Addon05 UpgradeObject = OCL_ChinaTankOverlordRadar TriggeredBy = Upgrade_ChinaOverlordRadar ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordFlame thrower Upgrade_ChinaOverlordSniper Upgrade_ChinaOverlordECM Upgrade_ChinaOverlo rdArmor End Behavior = ObjectCreationUpgrade ModuleTag_Addon06 UpgradeObject = OCL_ChinaTankOverlordArmor TriggeredBy = Upgrade_ChinaOverlordArmor

ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordFlame thrower Upgrade_ChinaOverlordSniper Upgrade_ChinaOverlordECM Upgrade_ChinaOverlo rdRadar End Behavior = CommandSetUpgrade ModuleTag_12A CommandSet = GenericCommandSet TriggeredBy = Upgrade_ChinaOverlordFlamethrower Upgrade_ChinaOverlordSnipe r Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordArmor ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordRadar End Behavior = CommandSetUpgrade ModuleTag_13A CommandSet = ChinaTankOverlordBattleBunkerCommandSet TriggeredBy = Upgrade_ChinaOverlordBattleBunker ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordFla methrower Upgrade_ChinaOverlordSniper Upgrade_ChinaOverlordECM Upgrade_ChinaOver lordRadar Upgrade_ChinaOverlordArmor End Behavior = CommandSetUpgrade ModuleTag_14A CommandSet = ChinaTankOverlordCommandSetWithRadar TriggeredBy = Upgrade_ChinaOverlordRadar ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordFla methrower Upgrade_ChinaOverlordSniper Upgrade_ChinaOverlordECM Upgrade_ChinaOver lordBattleBunker Upgrade_ChinaOverlordArmor End Behavior = ProductionUpdate ModuleTag_11 MaxQueueEntries = 1 End Behavior = PhysicsBehavior ModuleTag_14 Mass = 120.0 End Behavior = PropagandaTowerBehavior ModulePropaganda_04 Radius = 150.0 DelayBetweenUpdates = 2000 ; in milliseconds HealPercentEachSecond = 1% ; get this % of max health every second PulseFX = FX_OverlordPropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates UpgradeRequired = Upgrade_ChinaSubliminalMessaging UpgradedHealPercentEachSecond = 1.5% ; get this % of max health every seco nd UpgradedPulseFX = FX_OverlordPropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates AffectsSelf = Yes ; Needs this since Tower is not seperate object for Emperor End Behavior = SlowDeathBehavior ModuleTag_16 DeathTypes = ALL -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 200 DestructionDelayVariance = 100 OCL = FINAL OCL_ChinaTankOverlordDebris FX = FINAL FX_OverlordExplosionOneFinal End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 0

OCL = FINAL End

OCL_ChinaTankOverlordDeathEffectSimple

Behavior = CreateCrateDie ModuleTag_17 CrateData = SalvageCrateData End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallCont inuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_OverlordDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = VeterancyGainCreate ModuleTag_Veteran StartingLevel = VETERAN ScienceRequired = SCIENCE_TankTraining End Geometry = BOX GeometryMajorRadius = 26.0 GeometryMinorRadius = 13.0 GeometryHeight = 15.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaTankDragon ; *** ART Parameters *** SelectPortrait = SNDragonTank_L ButtonImage = SNDragonTank UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_ChinaBlackNapalm UpgradeCameo3 = Upgrade_ChinaNuclearTanks Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes ConditionState = NONE Model = NVDragon Turret = Turret TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA ParticleSysBone = WeaponA01 FireDragonContinuous End ConditionState = WEAPONSET_PLAYER_UPGRADE

Model = NVDragon Turret = Turret TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA ParticleSysBone = WeaponA01 FireDragonUpgradedContinuous End ConditionState = REALLYDAMAGED Model = NVDragon_D Turret = Turret TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA ParticleSysBone = WeaponA01 FireDragonContinuous End AliasConditionState = RUBBLE ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = NVDragon_D Turret = Turret TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA ParticleSysBone = WeaponA01 FireDragonUpgradedContinuous End AliasConditionState = WEAPONSET_PLAYER_UPGRADE RUBBLE TrackMarks TreadAnimationRate TreadDriveSpeedFraction ads stop moving. TreadPivotSpeedFraction allow pivoting. End = EXTnkTrack.tga = 4.0 ; amount of tread texture to move per second = 0.3 ; fraction of locomotor speed below which tre = 0.6 ; fraction of locomotor speed below which we

; ***DESIGN parameters *** DisplayName = OBJECT:Dragon Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 2 BuildCost = 800 BuildTime = 8.0 VisionRange = 100 ShroudClearingRange = 300 WeaponSet Conditions = None Weapon = PRIMARY DragonTankFlameWeapon Weapon = SECONDARY DragonTankFireWallWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI DEFAULT_SWITCH_W EAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI ShareWeaponReloadTime = Yes

End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY DragonTankFlameWeaponUpgraded Weapon = SECONDARY DragonTankFireWallWeaponUpgraded AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI DEFAULT_SWITCH_W EAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI ShareWeaponReloadTime = Yes WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End ArmorSet Conditions Armor DamageFX End = None = DragonTankArmor = TankDamageFX

Prerequisites Object = Tank_ChinaWarFactory End ExperienceValue = 45 65 96 137 ExperienceRequired = 0 135 196 287 IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = v ehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for tree s, 2 = general vehicles CommandSet = ChinaTankDragonCommandSet ; *** AUDIO Parameters *** VoiceSelect = DragonTankVoiceSelect VoiceMove = DragonTankVoiceMove VoiceGuard = DragonTankVoiceMove VoiceAttack = DragonTankVoiceAttack SoundMoveStart = DragonTankMoveStart SoundMoveStartDamaged = DragonTankMoveStart UnitSpecificSounds VoiceCreate = DragonTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceEnter = DragonTankVoiceMove VoiceFlameLocation = DragonTankVoiceFireStorm End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REF LECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50

End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 120 TurretPitchRate = 120 AllowsPitch = Yes MinPhysicalPitch = -15 TurretFireAngleSweep = SECONDARY 60 TurretSweepSpeedModifier = SECONDARY 1.0 ControlledWeaponSlots = PRIMARY SECONDARY FiresWhileTurning = Yes End MoodAttackCheckRate = 100 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL NuclearBattleMasterLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearBattleMasterLocomotor2 Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = WeaponSetUpgrade ModuleTag_05 TriggeredBy = Upgrade_ChinaBlackNapalm End Behavior = DestroyDie ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED +POISONED +POISONED_BETA +POISONED_GAMM A +EXTRA_6 End Behavior = FXListDie ModuleTag_07 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED +POISONED +POISONED_BETA +POISONED_GAMM A +EXTRA_6 CreationList = OCL_DragonDeathEffectSimple End Behavior = CreateCrateDie ModuleTag_09 CrateData = SalvageCrateData End Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 1500 DestructionDelayVariance = 1000 FX = INITIAL FX_DragonNapalmSpill OCL = FINAL OCL_DragonDebris Weapon = FINAL DragonTankDeathCreationWeapon FX = FINAL FX_DragonTankDeathExplosionFinal End Behavior = HordeUpdate ModuleTag_11 RubOffRadius = 150 ; if I am this close to a real hordesman, I will get t o be an honorary hordesman UpdateRate = 1000 ; how often to recheck horde status (msec)

Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) KindOf = VEHICLE ; what KindOf's must match to count towards horde-ness AlliesOnly = Yes ; do we only count allies towards horde status? ExactMatch = No ; do we only count units of our exact same type toward s horde status? (overrides kindof) Count = 5 ; how many units must be within Radius to grant us hor de-ness Action = HORDE ; when horde-ing, grant us the HORDE bonus End Behavior = TransitionDamageFX ModuleTag_13 ReallyDamagedParticleSystem2 = Bone:Smoke RandomBone:Yes Psys:DragonTransiti onFire ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_DragonDamageTransition End Behavior = VeterancyGainCreate ModuleTag_14 StartingLevel = VETERAN ScienceRequired = SCIENCE_TankTraining End Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LockWeaponCreate ModuleTag_21 SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weap ons equaling no attack. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 11.0 ; Height set to allow clear clipping of projectile str eam GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaVehicleTroopCrawler ; *** ART Parameters *** SelectPortrait = SNTransport_L ButtonImage = SNTransport UpgradeCameo1 = Upgrade_ChinaNuclearTanks Draw = W3DTruckDraw ModuleTag_Draw01 OkToChangeModelColor = Yes ConditionState = NONE Model = NVTCrawler

End ConditionState = REALLYDAMAGED Model = NVTCrawler_D End AliasConditionState = RUBBLE ConditionState = AFLAME Model = NVTCrawler ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = REALLYDAMAGED AFLAME Model = NVTCrawler_D ParticleSysBone = FIREPOINT01 TankFireContinious End AliasConditionState = RUBBLE AFLAME TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray LeftFrontTireBone RightFrontTireBone LeftRearTireBone RightRearTireBone MidLeftFrontTireBone MidRightFrontTireBone MidLeftRearTireBone MidRightRearTireBone = = = = = = = = Wheel01 Wheel08 Wheel03 Wheel05 Wheel02 Wheel07 Wheel04 Wheel06

TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. End ; ***DESIGN parameters *** DisplayName = OBJECT:TroopCrawler Side = ChinaTankGeneral EditorSorting = VEHICLE BuildCost = 700 BuildTime = 7.0 VisionRange = 150 ShroudClearingRange = 300 TransportSlotCount = 4 WeaponSet Conditions = None Weapon = PRIMARY TroopCrawlerDeployWeapon End ArmorSet Conditions Armor DamageFX End = None = TankArmor = TankDamageFX

Prerequisites Object = Tank_ChinaWarFactory

End ExperienceValue = 19 28 41 59 ExperienceRequired = 0 58 84 123 IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehic les CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Tank_ChinaTroopCrawlerCommandSet ; *** AUDIO Parameters *** VoiceSelect = TroopCrawlerVoiceSelect VoiceMove = TroopCrawlerVoiceMove VoiceGuard = TroopCrawlerVoiceMove VoiceAttack = TroopCrawlerVoiceAttack SoundMoveStart = TroopCrawlerMoveStart SoundMoveStartDamaged = TroopCrawlerMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = TroopCrawlerVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = TroopCrawlerVoiceCrush VoiceUnload = TroopCrawlerVoiceUnload VoiceEnter = TroopCrawlerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTA CK_NEEDS_LINE_OF_SIGHT TRANSPORT HEAL_PAD Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_NewAI End Locomotor = SET_NORMAL TroopCrawlerLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearTroopCrawlerLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End

Behavior = PhysicsBehavior ModuleTag_05 Mass = 60.0 End Behavior = ReplaceObjectUpgrade ModuleTag_Addon01 ReplaceObject = Tank_ChinaVehicleTroopCrawlerGattling TriggeredBy = Upgrade_ChinaOverlordGattlingCannon End Behavior = ReplaceObjectUpgrade ModuleTag_Addon02 ReplaceObject = Tank_ChinaVehicleTroopCrawlerPropaganda TriggeredBy = Upgrade_ChinaOverlordPropagandaTower End Behavior = ReplaceObjectUpgrade ModuleTag_Addon03 ReplaceObject = Tank_ChinaVehicleTroopCrawlerBunker TriggeredBy = Upgrade_ChinaOverlordBattleBunker End Behavior = ReplaceObjectUpgrade ModuleTag_Addon04 ReplaceObject = Tank_ChinaVehicleTroopCrawlerSniper TriggeredBy = Upgrade_ChinaOverlordSniper End Behavior = ReplaceObjectUpgrade ModuleTag_Addon05 ReplaceObject = Tank_ChinaVehicleTroopCrawlerECM TriggeredBy = Upgrade_ChinaOverlordECM End Behavior = ReplaceObjectUpgrade ModuleTag_Addon06 ReplaceObject = Tank_ChinaVehicleTroopCrawlerEnginering TriggeredBy = Upgrade_ChinaOverlordEnginering End Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1 End Behavior = SlowDeathBehavior ModuleTag_27 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 1 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalTroopCrawlerDebris End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 100 OCL = FINAL OCL_FinalTroopCrawlerDeathEffectSimple End Behavior = TransitionDamageFX ModuleTag_28 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmok eColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_30 DeathTypes = NONE +CRUSHED +SPLATTED

DeathFX = FX_CarCrush End Behavior = FXListDie ModuleTag_31 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_32 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_34 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Scale = 0.95 Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaVehicleTroopCrawlerPropaganda ; *** ART Parameters *** SelectPortrait = SNTCProp_L ButtonImage = SNTCProp UpgradeCameo1 = Upgrade_ChinaNuclearTanks UpgradeCameo2 = Upgrade_ChinaSubliminalMessaging Draw = W3DTruckDraw ModuleTag_Draw01 OkToChangeModelColor = Yes ConditionState = NONE Model = NVTCrawler End ConditionState = REALLYDAMAGED Model = NVTCrawler_D End AliasConditionState = RUBBLE ConditionState = AFLAME Model = NVTCrawler ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = REALLYDAMAGED AFLAME Model = NVTCrawler_D ParticleSysBone = FIREPOINT01 TankFireContinious End

AliasConditionState = RUBBLE AFLAME TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Wheel01 RightFrontTireBone = Wheel08 LeftRearTireBone = Wheel03 RightRearTireBone = Wheel05 MidLeftFrontTireBone = Wheel02 MidRightFrontTireBone = Wheel07 MidLeftRearTireBone = Wheel04 MidRightRearTireBone = Wheel06 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. End ;-----------------------------------------Draw = W3DModelDraw ModuleTag_Draw02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = FIREPOINT01 ExtraPublicBone = LASERBONE ConditionState = NONE Model = NVTCrawler_S Animation = NVTCrawler_S.NVTCrawler_S AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = NVTCrawler_SD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; night ConditionState = NIGHT Model = NVTCrawler_S Animation = NVTCrawler_S.NVTCrawler_S AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:TroopCrawler Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 4 BuildCost = 1000 BuildTime = 10.0 VisionRange = 175 ShroudClearingRange = 400

WeaponSet Conditions = None Weapon = PRIMARY Infa_ChinaVehicleTroopCrawlerDummyWeapon End ArmorSet Conditions Armor DamageFX End = None = TankArmor = TankDamageFX

Prerequisites Object = Tank_ChinaWarFactory End ExperienceValue = 19 28 41 59 ExperienceRequired = 0 58 84 123 IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehic les CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Tank_ChinaTroopCrawlerCommandSetUpgraded ; *** AUDIO Parameters *** VoiceSelect = TroopCrawlerVoiceSelect VoiceMove = TroopCrawlerVoiceMove VoiceGuard = TroopCrawlerVoiceMove VoiceAttack = TroopCrawlerVoiceAttack SoundMoveStart = TroopCrawlerMoveStart SoundMoveStartDamaged = TroopCrawlerMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = TroopCrawlerVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = TroopCrawlerVoiceCrush VoiceUnload = TroopCrawlerVoiceUnload VoiceEnter = TroopCrawlerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTA CK_NEEDS_LINE_OF_SIGHT TRANSPORT HEAL_PAD Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_NewAI AutoAcquireEnemiesWhenIdle = Yes

End Locomotor = SET_NORMAL TroopCrawlerLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearTroopCrawlerLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = PhysicsBehavior ModuleTag_05 Mass = 60.0 End Behavior = TransportContain ModuleTag_06 Slots = 4 ScatterNearbyOnExit = No HealthRegen%PerSec = 10 DamagePercentToUnits = 10% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressi ve on exiting End Behavior = SlowDeathBehavior ModuleTag_27 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 1 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalTroopCrawlerDebris End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 100 OCL = FINAL OCL_FinalTroopCrawlerDeathEffectSimple End Behavior = TransitionDamageFX ModuleTag_28 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmok eColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = PropagandaTowerBehavior ModuleTag_04 Radius = 150.0 DelayBetweenUpdates = 2000 ; in milliseconds HealPercentEachSecond = 1% ; get this % of max health every second PulseFX = FX_OverlordPropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates UpgradeRequired = Upgrade_ChinaSubliminalMessaging UpgradedHealPercentEachSecond = 1.5% ; get this % of max health every seco

nd UpgradedPulseFX = FX_OverlordPropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates AffectsSelf = Yes ; Needs this since Tower is not seperate object for Emperor End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_30 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = FXListDie ModuleTag_31 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_32 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_34 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Scale = 0.95 Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaVehicleTroopCrawlerBunker ; *** ART Parameters *** SelectPortrait = SNTransport_L ButtonImage = SSOLBunker UpgradeCameo1 = Upgrade_ChinaNuclearTanks Draw = W3DTruckDraw ModuleTag_Draw01 OkToChangeModelColor = Yes ConditionState = NONE Model = NVTCrawler_B End ConditionState = REALLYDAMAGED Model = NVTCrawler_BD End

AliasConditionState = RUBBLE ConditionState = AFLAME Model = NVTCrawler_B ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = REALLYDAMAGED AFLAME Model = NVTCrawler_BD ParticleSysBone = FIREPOINT01 TankFireContinious End AliasConditionState = RUBBLE AFLAME TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray LeftFrontTireBone RightFrontTireBone LeftRearTireBone RightRearTireBone MidLeftFrontTireBone MidRightFrontTireBone MidLeftRearTireBone MidRightRearTireBone = = = = = = = = Wheel01 Wheel08 Wheel03 Wheel05 Wheel02 Wheel07 Wheel04 Wheel06

TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. End ; ***DESIGN parameters *** DisplayName = OBJECT:TroopCrawler Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 8 ExperienceValue = 19 28 41 59 ExperienceRequired = 0 58 84 123 IsTrainable = Yes BuildCost = 1000 BuildTime = 10.0 VisionRange = 175 ShroudClearingRange = 400 WeaponSet Conditions Weapon End WeaponSet Conditions Weapon End ArmorSet Conditions Armor DamageFX = None = PRIMARY NONE = PLAYER_UPGRADE = PRIMARY Infa_ChinaVehicleTroopCrawlerDummyWeapon

= None = TankArmor = TankDamageFX

End Prerequisites Object = Tank_ChinaWarFactory End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehic les CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Tank_ChinaTroopCrawlerCommandSetBunker ; *** AUDIO Parameters *** VoiceSelect = TroopCrawlerVoiceSelect VoiceMove = TroopCrawlerVoiceMove VoiceGuard = TroopCrawlerVoiceMove VoiceAttack = TroopCrawlerVoiceAttack SoundMoveStart = TroopCrawlerMoveStart SoundMoveStartDamaged = TroopCrawlerMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = TroopCrawlerVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = TroopCrawlerVoiceCrush VoiceUnload = TroopCrawlerVoiceUnload VoiceEnter = TroopCrawlerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTA CK_NEEDS_LINE_OF_SIGHT TRANSPORT HEAL_PAD Body = ActiveBody ModuleTag_02 MaxHealth = 400.0 InitialHealth = 400.0 SubdualDamageCap = 800 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_CorrectAI End Locomotor = SET_NORMAL TroopCrawlerLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearTroopCrawlerLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End

Behavior = PhysicsBehavior ModuleTag_05 Mass = 60.0 End Behavior = TransportContain ModuleTag_06 Slots = 8 DamagePercentToUnits = 30% AllowInsideKindOf = INFANTRY PassengersAllowedToFire = Yes ScatterNearbyOnExit = Yes HealthRegen%PerSec = 10 ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressi ve on exiting ArmedRidersUpgradeMyWeaponSet = Yes End Behavior = SlowDeathBehavior ModuleTag_27 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 1 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalTroopCrawlerDebris End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 100 OCL = FINAL OCL_FinalTroopCrawlerDeathEffectSimple End Behavior = TransitionDamageFX ModuleTag_28 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmok eColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_30 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = FXListDie ModuleTag_31 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_32 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_34 AflameDuration = 8000 ; If I catch fire, I'll burn for this long...

AflameDamageAmount = 1 AflameDamageDelay = 500 End Scale = 0.95 Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End

; taking this much damage... ; this often.

;-----------------------------------------------------------------------------Object Tank_ChinaVehicleTroopCrawlerGattling ; *** ART Parameters *** SelectPortrait = SNTransport_L ButtonImage = SSOLGattling UpgradeCameo1 = Upgrade_ChinaNuclearTanks UpgradeCameo2 = Upgrade_ChinaChainGuns Draw = W3DTruckDraw ModuleTag_Draw01 OkToChangeModelColor = Yes DefaultConditionState Model = NVTCrawler_G Turret = TURRET01 TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_SLOW Model = NVTCrawler_G Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y WeaponLaunchBone = PRIMARY Muzzle End ConditionState = CONTINUOUS_FIRE_MEAN Model = NVTCrawler_G Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fas t WeaponLaunchBone = PRIMARY Muzzle End ConditionState = CONTINUOUS_FIRE_FAST Model = NVTCrawler_G Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke WeaponLaunchBone = PRIMARY Muzzle End

ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End AliasConditionState =

= = = = = = =

REALLYDAMAGED NVTCrawler_GD Smoke01 SmokeFactionMedium Smoke02 SmokeFactionMedium Smoke03 SmokeFactionMedium SparkM01 SparksMedium SparkM02 SparksMedium

RUBBLE

ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED Model = NVTCrawler_GD Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED Model = NVTCrawler_GD Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fas t End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED Model = NVTCrawler_GD Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = USING_WEAPON_B WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = USING_WEAPON_B CONTINUOUS_FIRE_SLOW Model = NVTCrawler_G Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = USING_WEAPON_B CONTINUOUS_FIRE_MEAN Model = NVTCrawler_G Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fas t WeaponFireFXBone WeaponLaunchBone WeaponMuzzleFlash End ConditionState = SECONDARY Muzzle = SECONDARY Muzzle = SECONDARY MuzzleFX = USING_WEAPON_B CONTINUOUS_FIRE_FAST

Model = NVTCrawler_G Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = USING_WEAPON_B REALLYDAMAGED Model = NVTCrawler_GD WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ConditionState = USING_WEAPON_B CONTINUOUS_FIRE_SLOW REALLYDAMAGED Model = NVTCrawler_GD Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = USING_WEAPON_B CONTINUOUS_FIRE_MEAN REALLYDAMAGED Model = NVTCrawler_GD Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fas t WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = USING_WEAPON_B CONTINUOUS_FIRE_FAST REALLYDAMAGED Model = NVTCrawler_GD Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = AFLAME Model = NVTCrawler_G ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_SLOW AFLAME Model = NVTCrawler_G

Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y WeaponLaunchBone = PRIMARY Muzzle ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_MEAN AFLAME Model = NVTCrawler_G Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fas t WeaponLaunchBone = PRIMARY Muzzle ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_FAST AFLAME Model = NVTCrawler_G Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke WeaponLaunchBone = PRIMARY Muzzle ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = REALLYDAMAGED AFLAME Model = NVTCrawler_GD ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium ParticleSysBone = FIREPOINT01 TankFireContinious End AliasConditionState = RUBBLE AFLAME ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED AFLAME Model = NVTCrawler_GD Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED AFLAME Model = NVTCrawler_GD Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fas t ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED AFLAME Model = NVTCrawler_GD Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke

ParticleSysBone = Muzzle02 GattlingMuzzleSmoke ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = USING_WEAPON_B AFLAME WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = USING_WEAPON_B CONTINUOUS_FIRE_SLOW AFLAME Model = NVTCrawler_G Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = USING_WEAPON_B CONTINUOUS_FIRE_MEAN AFLAME Model = NVTCrawler_G Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fas t WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = USING_WEAPON_B CONTINUOUS_FIRE_FAST AFLAME Model = NVTCrawler_G Animation = NVTCrawler_G.NVTCrawler_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = USING_WEAPON_B REALLYDAMAGED AFLAME Model = NVTCrawler_GD WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = USING_WEAPON_B CONTINUOUS_FIRE_SLOW REALLYDAMAGED A FLAME Model = NVTCrawler_GD

Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = USING_WEAPON_B CONTINUOUS_FIRE_MEAN REALLYDAMAGED AF LAME Model = NVTCrawler_GD Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fas t WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = USING_WEAPON_B CONTINUOUS_FIRE_FAST REALLYDAMAGED A FLAME Model = NVTCrawler_GD Animation = NVTCrawler_GD.NVTCrawler_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = FIREPOINT01 TankFireContinious End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray LeftFrontTireBone RightFrontTireBone LeftRearTireBone RightRearTireBone MidLeftFrontTireBone MidRightFrontTireBone MidLeftRearTireBone MidRightRearTireBone = = = = = = = = Wheel01 Wheel08 Wheel03 Wheel05 Wheel02 Wheel07 Wheel04 Wheel06

TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. End ; ***DESIGN parameters *** DisplayName = OBJECT:TroopCrawler Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 4 BuildCost = 1200

BuildTime = 12.0 VisionRange = 175 ShroudClearingRange = 400 WeaponSet Conditions Weapon Weapon PreferredAgainst End ArmorSet Conditions Armor DamageFX End = = = = None PRIMARY GattlingBuildingGun SECONDARY GattlingBuildingGunAir SECONDARY BALLISTIC_MISSILE AIRCRAFT

= None = TankArmor = TankDamageFX

Prerequisites Object = Tank_ChinaWarFactory End ExperienceValue = 38 55 81 116 ExperienceRequired = 0 114 166 243 IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehic les CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Tank_ChinaTroopCrawlerCommandSetUpgraded ; *** AUDIO Parameters *** VoiceSelect = TroopCrawlerVoiceSelect VoiceMove = TroopCrawlerVoiceMove VoiceGuard = TroopCrawlerVoiceMove VoiceAttack = TroopCrawlerVoiceAttack SoundMoveStart = TroopCrawlerMoveStart SoundMoveStartDamaged = TroopCrawlerMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = TroopCrawlerVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = TroopCrawlerVoiceCrush VoiceUnload = TroopCrawlerVoiceUnload VoiceEnter = TroopCrawlerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTA CK_NEEDS_LINE_OF_SIGHT TRANSPORT HEAL_PAD Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 SubdualDamageCap = 600

SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_07 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 360 TurretPitchRate = 360 MinPhysicalPitch = -30 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = Yes End Behavior = WeaponBonusUpgrade ModuleTag_08 TriggeredBy = Upgrade_ChinaChainGuns End Locomotor = SET_NORMAL TroopCrawlerLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearTroopCrawlerLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = PhysicsBehavior ModuleTag_05 Mass = 60.0 End Behavior = TransportContain ModuleTag_06 Slots = 4 ScatterNearbyOnExit = No HealthRegen%PerSec = 10 DamagePercentToUnits = 10% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressi ve on exiting End Behavior = SlowDeathBehavior ModuleTag_27 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 1 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalTroopCrawlerDebris End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 100

OCL = FINAL OCL_FinalTroopCrawlerDeathEffectSimple End Behavior = TransitionDamageFX ModuleTag_28 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmok eColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_30 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = FXListDie ModuleTag_31 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_32 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_34 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Scale = 0.95 Geometry = BOX GeometryMajorRadius = 22.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaVehicleTroopCrawlerEnginering ; *** ART Parameters *** SelectPortrait = SNTCEng_L ButtonImage = SNTCEng UpgradeCameo1 = Upgrade_ChinaNuclearTanks Draw = W3DOverlordTruckDraw ModuleTag_Draw01 OkToChangeModelColor = Yes ConditionState = NONE Model = NVTCrawler End ConditionState = REALLYDAMAGED

Model = NVTCrawler_D End AliasConditionState = RUBBLE ConditionState = AFLAME Model = NVTCrawler ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = REALLYDAMAGED AFLAME Model = NVTCrawler_D ParticleSysBone = FIREPOINT01 TankFireContinious End AliasConditionState = RUBBLE AFLAME TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray LeftFrontTireBone RightFrontTireBone LeftRearTireBone RightRearTireBone MidLeftFrontTireBone MidRightFrontTireBone MidLeftRearTireBone MidRightRearTireBone = = = = = = = = Wheel01 Wheel08 Wheel03 Wheel05 Wheel02 Wheel07 Wheel04 Wheel06

TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. End ;----------------------------------Draw = W3DModelDraw ModuleTag_Draw02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = BOX01 DefaultConditionState Model = Turret = WeaponFireFXBone = WeaponLaunchBone = End AliasConditionState = End NVTCrawler_Eng TURRET PRIMARY WEAPONA PRIMARY WEAPONA REALLYDAMAGED

; ***DESIGN parameters *** DisplayName = OBJECT:TroopCrawler Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 4 BuildCost = 900 BuildTime = 9.0 VisionRange = 250 ShroudClearingRange = 300

WeaponSet Conditions = None Weapon = PRIMARY BioHazardTechCleanHazardWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions Armor DamageFX End = None = TankArmorMineProof = TankDamageFX

Prerequisites Object = Tank_ChinaWarFactory End ExperienceValue = 38 55 81 116 ExperienceRequired = 0 114 166 243 IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehic les CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Tank_ChinaTroopCrawlerCommandSetUpgradedMineClearer ; *** AUDIO Parameters *** VoiceSelect = TroopCrawlerVoiceSelect VoiceMove = TroopCrawlerVoiceMove VoiceGuard = TroopCrawlerVoiceMove VoiceAttack = TroopCrawlerVoiceAttack SoundMoveStart = TroopCrawlerMoveStart SoundMoveStartDamaged = TroopCrawlerMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = TroopCrawlerVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceCrush = TroopCrawlerVoiceCrush VoiceUnload = TroopCrawlerVoiceUnload VoiceEnter = TroopCrawlerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTA CK_NEEDS_LINE_OF_SIGHT TRANSPORT HEAL_PAD DOZER CAN_SEE_THROUGH_STRUCTURE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = DozerAIUpdate ModuleTag_07 RepairHealthPercentPerSecond = 2%

BoredTime = 500 BoredRange = 250 AutoAcquireEnemiesWhenIdle = Yes Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 360 AllowsPitch = no End End Locomotor = SET_NORMAL TroopCrawlerLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearTroopCrawlerLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = PhysicsBehavior ModuleTag_05 Mass = 60.0 End Behavior = SlowDeathBehavior ModuleTag_27 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 1 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalTroopCrawlerDebris End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 10 OCL = FINAL OCL_FinalTroopCrawlerDeathEffectSimple End Behavior = TransitionDamageFX ModuleTag_28 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmok eColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_30 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = FXListDie ModuleTag_31 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End

Behavior = CreateCrateDie ModuleTag_32 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_34 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = StealthDetectorUpdate ModuleTag_05AA ;+ DetectionRate = 500 CanDetectWhileGarrisoned = No CanDetectWhileContained = No ExtraForbiddenKindOf = VEHICLE INFANTRY STRUCTURE AIRCRAFT End Behavior = CleanupHazardUpdate ModuleTag_Clean01 WeaponSlot = PRIMARY ScanRate = 250 ScanRange = 300.0 End Behavior = CleanupAreaPower ModuleTag_Clean02 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea MaxMoveDistanceFromLocation = 300.0 End Behavior = HelixContain ModuleTag_299 Slots = 4 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY PORTABLE_STRUCTURE ForbidInsideKindOf = AIRCRAFT VEHICLE ExitDelay = 250 NumberOfExitPaths = 3 PassengersAllowedToFire = No PayloadTemplateName = MineDetonatorDecalObject End Behavior = FireWeaponUpdate ModuleTag_03B Weapon = MineDetonationFieldWeapon End Scale = 0.95 Geometry = BOX GeometryMajorRadius = 22.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaVehicleTroopCrawlerSniper ; *** ART Parameters *** SelectPortrait = SNTCSnip_L ButtonImage = SNTCSnip

UpgradeCameo1 = Upgrade_ChinaNuclearTanks UpgradeCameo2 = Upgrade_ChinaUraniumShells Draw = W3DTruckDraw ModuleTag_Draw01 OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes DefaultConditionState Model = NVTCrawler_C Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY MUZZLE WeaponRecoilBone = PRIMARY BARREL WeaponMuzzleFlash = PRIMARY MUZZLEFX WeaponLaunchBone = PRIMARY MUZZLE TransitionKey = TRANS_default HideSubObject = ARM01 ARM02 ARM03 ARM04 End ConditionState = REALLYDAMAGED Model = NVTCrawler_CD HideSubObject = ARM01 ARM02 ARM03 ARM04 End AliasConditionState = RUBBLE TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray LeftFrontTireBone RightFrontTireBone LeftRearTireBone RightRearTireBone MidLeftFrontTireBone MidRightFrontTireBone MidLeftRearTireBone MidRightRearTireBone = = = = = = = = Wheel01 Wheel08 Wheel03 Wheel05 Wheel02 Wheel07 Wheel04 Wheel06

TireRotationMultiplier = 0.2 PowerslideRotationAddition = 0 End Draw = W3DTruckDraw ModuleTag_Draw02 DefaultConditionState Model = NONE End ConditionState = AFLAME Model = NONE ParticleSysBone = NONE TankFireContinious End End ; ***DESIGN parameters *** DisplayName = OBJECT:TroopCrawler Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 4

BuildCost = 1400 BuildTime = 14.0 VisionRange = 175 ShroudClearingRange = 400 WeaponSet Conditions Weapon End = None = PRIMARY

EmperorSniperGun

ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End Prerequisites Object = Tank_ChinaWarFactory End ExperienceValue = 47 68 99 142 ExperienceRequired = 0 141 204 298 IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = g eneral vehicles CommandSet = Tank_ChinaVehicleTroopCrawlerSniperCommandSet ; *** AUDIO Parameters *** VoiceSelect = TroopCrawlerVoiceSelect VoiceMove = TroopCrawlerVoiceMove VoiceGuard = TroopCrawlerVoiceMove VoiceAttack = TroopCrawlerVoiceAttack SoundMoveStart = TroopCrawlerMoveStart SoundMoveStartDamaged = TroopCrawlerMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = TroopCrawlerVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = TroopCrawlerVoiceCrush VoiceUnload = TroopCrawlerVoiceUnload VoiceEnter = TroopCrawlerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REF LECTIONS VEHICLE SCORE TRANSPORT HEAL_PAD Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End

Behavior = DeployStyleAIUpdate ModuleTag_04 Turret TurretTurnRate = 90 TurretPitchRate = 90 AllowsPitch = yes MinPhysicalPitch = -20 RecenterTime = 5000 ControlledWeaponSlots = PRIMARY SECONDARY InitiallyDisabled = Yes End AutoAcquireEnemiesWhenIdle = Yes PackTime = 100 UnpackTime = 100 TurretsFunctionOnlyWhenDeployed = Yes TurretsMustCenterBeforePacking = Yes ManualDeployAnimations = Yes End Locomotor = SET_NORMAL TroopCrawlerLocomotorSlow Locomotor = SET_NORMAL_UPGRADED TroopCrawlerLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = PhysicsBehavior ModuleTag_05 Mass = 60.0 End Behavior = SlowDeathBehavior ModuleTag_27 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 1 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalTroopCrawlerDebris End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 100 OCL = FINAL OCL_FinalTroopCrawlerDeathEffectSimple End Behavior = TransitionDamageFX ModuleTag_28 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmok eColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End

Behavior = FXListDie ModuleTag_30 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = FXListDie ModuleTag_31 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_32 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_34 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Scale = 0.95 Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaVehicleTroopCrawlerECM ; *** ART Parameters *** SelectPortrait = SNTCECM_L ButtonImage = SNTCECM UpgradeCameo1 = Upgrade_ChinaNuclearTanks UpgradeCameo2 = Upgrade_ChinaECMPower Draw = W3DOverlordTruckDraw ModuleTag_Draw01 OkToChangeModelColor = Yes ConditionState = NONE Model = NVTCrawler End ConditionState = REALLYDAMAGED Model = NVTCrawler_D End AliasConditionState = RUBBLE ConditionState = AFLAME Model = NVTCrawler ParticleSysBone = FIREPOINT01 TankFireContinious End ConditionState = REALLYDAMAGED AFLAME Model = NVTCrawler_D

ParticleSysBone = FIREPOINT01 TankFireContinious End AliasConditionState = RUBBLE AFLAME TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray LeftFrontTireBone RightFrontTireBone LeftRearTireBone RightRearTireBone MidLeftFrontTireBone MidRightFrontTireBone MidLeftRearTireBone MidRightRearTireBone = = = = = = = = Wheel01 Wheel08 Wheel03 Wheel05 Wheel02 Wheel07 Wheel04 Wheel06

TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. End ;----------------------------------------------Draw = W3DModelDraw ModuleTag_Draw02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = FIREPOINT01 ExtraPublicBone = WEAPONA01 DefaultConditionState Model = NVOvrlrd_MW Turret = TURRET01 End AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE End ; ***DESIGN parameters *** DisplayName = OBJECT:TroopCrawler Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 4 ExperienceValue = 38 55 81 116 ExperienceRequired = 0 114 166 243 IsTrainable = Yes BuildCost = 1000 BuildTime = 10.0 VisionRange = 175 ShroudClearingRange = 400 WeaponSet Conditions Weapon End WeaponSet Conditions Weapon Weapon End = None = PRIMARY ECMTankVehicleDisabler = PLAYER_UPGRADE = PRIMARY ECMTankVehicleDisablerUpgraded = SECONDARY ECMTankBuildingDisablerUpgraded

Behavior = WeaponSetUpgrade ModuleTag_35A TriggeredBy = Upgrade_ChinaECMPower End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End Prerequisites Object = Tank_ChinaWarFactory End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = g eneral vehicles CommandSet = Tank_ChinaTroopCrawlerCommandSetUpgraded ; *** AUDIO Parameters *** VoiceSelect = TroopCrawlerVoiceSelect VoiceMove = TroopCrawlerVoiceMove VoiceGuard = TroopCrawlerVoiceMove VoiceAttack = TroopCrawlerVoiceAttack SoundMoveStart = TroopCrawlerMoveStart SoundMoveStartDamaged = TroopCrawlerMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = TroopCrawlerVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = TroopCrawlerVoiceCrush VoiceUnload = TroopCrawlerVoiceUnload VoiceEnter = TroopCrawlerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTA CK_NEEDS_LINE_OF_SIGHT TRANSPORT HEAL_PAD Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_04 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 180 FiresWhileTurning = No MinIdleScanInterval = 0 ; in milliseconds MaxIdleScanInterval = 0 ; in milliseconds RecenterTime = 0

MinIdleScanAngle = 180 ; in degrees off the natural turret angle MaxIdleScanAngle = 180 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL TroopCrawlerLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearTroopCrawlerLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = PhysicsBehavior ModuleTag_05 Mass = 60.0 End Behavior = HelixContain ModuleTag_29 Slots = 4 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY PORTABLE_STRUCTURE ForbidInsideKindOf = AIRCRAFT VEHICLE ExitDelay = 250 NumberOfExitPaths = 1 PassengersAllowedToFire = No PayloadTemplateName = ECMDecalObject End Behavior = SlowDeathBehavior ModuleTag_27 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 1 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalTroopCrawlerDebris End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 100 OCL = FINAL OCL_FinalTroopCrawlerDeathEffectSimple End Behavior = TransitionDamageFX ModuleTag_28 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmok eColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_29A DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_30 DeathTypes = NONE +CRUSHED +SPLATTED

DeathFX = FX_CarCrush End ; A crushing defeat Behavior = FXListDie ModuleTag_31 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_32 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_34 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = FireWeaponUpdate ModuleTag_23 Weapon = ECMTankMissileJammer End Scale = 0.95 Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaTankGattling ; *** ART Parameters *** SelectPortrait = SNTnkGattTnk_L ButtonImage = SNTnkGattTnk UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_ChinaChainGuns UpgradeCameo3 = Upgrade_ChinaNuclearTanks Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model Animation AnimationMode Turret TurretPitch WeaponMuzzleFlash WeaponFireFXBone WeaponLaunchBone End ConditionState Model = = = = = = = = TGGattTank TGGattTank.TGGattTank MANUAL TURRET01 TURRETEL01 PRIMARY MuzzleFX PRIMARY Muzzle PRIMARY Muzzle

= REALLYDAMAGED RUBBLE = TGGattTank_D

End ConditionState = USING_WEAPON_B WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED USING_WEAPON_B Model = TGGattTank_D WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End ;-----pristine attacking---------------------ConditionState = ATTACKING Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING USING_WEAPON_B Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y WeaponMuzzleFlash WeaponFireFXBone WeaponLaunchBone End = SECONDARY MuzzleFX = SECONDARY Muzzle = SECONDARY Muzzle

ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING USING_WEAPON_B Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y WeaponMuzzleFlash WeaponFireFXBone WeaponLaunchBone End = SECONDARY MuzzleFX = SECONDARY Muzzle = SECONDARY Muzzle

ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t

End ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING USING_WEAPON_B Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t WeaponMuzzleFlash WeaponFireFXBone WeaponLaunchBone End = SECONDARY MuzzleFX = SECONDARY Muzzle = SECONDARY Muzzle

ConditionState = CONTINUOUS_FIRE_FAST ATTACKING Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst End ConditionState = CONTINUOUS_FIRE_FAST ATTACKING USING_WEAPON_B Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End ;-----damaged attacking---------------------ConditionState REALLYDAMAGED ATTACKING Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely s loowly End ConditionState = REALLYDAMAGED ATTACKING USING_WEAPON_B Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely s loowly WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING USING_WEAPON_B Model = TGGattTank_D

Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y WeaponMuzzleFlash WeaponFireFXBone WeaponLaunchBone End = SECONDARY MuzzleFX = SECONDARY Muzzle = SECONDARY Muzzle

ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING USING_WEAPON_B Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t WeaponMuzzleFlash WeaponFireFXBone WeaponLaunchBone End = SECONDARY MuzzleFX = SECONDARY Muzzle = SECONDARY Muzzle

ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING USING_WEAPON_B Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End ;-----------------------------------ConditionState = AFLAME ParticleSysBone = TURRET01 TankFireContinious End ConditionState = REALLYDAMAGED RUBBLE AFLAME Model = TGGattTank_D ParticleSysBone = TURRET01 TankFireContinious End ConditionState = USING_WEAPON_B AFLAME WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle

WeaponLaunchBone = SECONDARY Muzzle ParticleSysBone = TURRET01 TankFireContinious End ConditionState = REALLYDAMAGED USING_WEAPON_B AFLAME Model = TGGattTank_D WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle ParticleSysBone = TURRET01 TankFireContinious End ;-----pristine attacking---------------------ConditionState = ATTACKING AFLAME Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y ParticleSysBone = TURRET01 TankFireContinious End ConditionState = ATTACKING USING_WEAPON_B AFLAME Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle ParticleSysBone = TURRET01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING AFLAME Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y ParticleSysBone = TURRET01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING USING_WEAPON_B AFLAME Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle ParticleSysBone = TURRET01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING AFLAME Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas

t ParticleSysBone = TURRET01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING USING_WEAPON_B AFLAME Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle ParticleSysBone = TURRET01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_FAST ATTACKING AFLAME Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = TURRET01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_FAST ATTACKING USING_WEAPON_B AFLAME Model = TGGattTank Animation = TGGattTank.TGGattTank AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle ParticleSysBone = TURRET01 TankFireContinious End ;-----damaged attacking---------------------ConditionState REALLYDAMAGED ATTACKING AFLAME Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely s loowly ParticleSysBone = TURRET01 TankFireContinious End ConditionState = REALLYDAMAGED ATTACKING USING_WEAPON_B AFLAME Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely s loowly WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle ParticleSysBone = TURRET01 TankFireContinious End ConditionState Model = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING AFLAME = TGGattTank_D

Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y ParticleSysBone = TURRET01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING USING_WEAPON_B AFLAME Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle ParticleSysBone = TURRET01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING AFLAME Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t ParticleSysBone = TURRET01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING USING_WEAPON_B AFLAME Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle ParticleSysBone = TURRET01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING AFLAME Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = TURRET01 TankFireContinious End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING USING_WEAPON_B AFLAME Model = TGGattTank_D Animation = TGGattTank_D.TGGattTank_D AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle

WeaponLaunchBone = SECONDARY Muzzle ParticleSysBone = TURRET01 TankFireContinious End TrackMarks TreadAnimationRate TreadDriveSpeedFraction ads stop moving. TreadPivotSpeedFraction allow pivoting. End = EXTnkTrack.tga = 4.0 ; amount of tread texture to move per second = 0.3 ; fraction of locomotor speed below which tre = 0.6 ; fraction of locomotor speed below which we

; ***DESIGN parameters *** DisplayName = OBJECT:GattlingTank Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 3 BuildCost = 800 BuildTime = 8.0 VisionRange = 250 ShroudClearingRange = 300 WeaponSet Conditions = None Weapon = PRIMARY GattlingTankGun Weapon = SECONDARY GattlingTankGunAir End ArmorSet Conditions Armor DamageFX End = None = GattlingTankArmor = TankDamageFX

Prerequisites Object = Tank_ChinaWarFactory End ExperienceValue = 37 50 66 90 ExperienceRequired = 0 112 150 200 IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = v ehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for tree s, 2 = general vehicles CommandSet = GenericCommandSet ; *** AUDIO Parameters *** VoiceSelect = GattlingTankVoiceSelect VoiceMove = GattlingTankVoiceMove VoiceGuard = GattlingTankVoiceMove VoiceAttack = GattlingTankVoiceAttack SoundMoveStart = GattlingTankMoveStart SoundMoveStartDamaged = GattlingTankMoveStart UnitSpecificSounds VoiceCreate = TurretMoveStart = TurretMoveLoop = VoiceCrush = GattlingTankVoiceCreate NoSound TurretMoveLoopLoud GattlingTankVoiceCrush

VoiceEnter = GattlingTankVoiceMove VoiceRapidFire = GattlingTankVoiceRapid End ; *** ENGINEERING RadarPriority KindOf AN_CAST_REFLECTIONS Parameters *** = UNIT = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT C VEHICLE SCORE

Body = ActiveBody ModuleTag_02 MaxHealth = 400.0 InitialHealth = 400.0 SubdualDamageCap = 800 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 45 End MoodAttackCheckRate = 100 AutoAcquireEnemiesWhenIdle = Yes End Behavior Mass End = PhysicsBehavior ModuleTag_04 = 40.0

Locomotor = SET_NORMAL BattleMasterLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearBattleMasterLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 200 DestructionDelayVariance = 100 OCL = FINAL OCL_ChinaTankGattlingDebris FX = FINAL FX_GattlingExplosionOneFinal End Behavior = DestroyDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED +POISONED +POISONED_BETA +POISONED_GAMM A +EXTRA_6 End Behavior = FXListDie ModuleTag_10

DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED +POISONED +POISONED_BETA +POISONED_GAMM A +EXTRA_6 CreationList = OCL_ChinaTankGattlingDeathEffectSimple End Behavior = VeterancyGainCreate ModuleTag_Veteran StartingLevel = VETERAN ScienceRequired = SCIENCE_TankTraining End Behavior = CreateCrateDie ModuleTag_06 CrateData = SalvageCrateData End Behavior = TransitionDamageFX ModuleTag_07 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallCont inuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransiti on End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = WeaponBonusUpgrade ModuleTag_22 TriggeredBy = Upgrade_ChinaChainGuns End Behavior = HordeUpdate ModuleTag_Horge RubOffRadius = 150 ; if I am this close to a real hordesman, I will get t o be an honorary hordesman UpdateRate = 1000 ; how often to recheck horde status (msec) Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) KindOf = VEHICLE ; what KindOf's must match to count towards horde-ness AlliesOnly = Yes ; do we only count allies towards horde status? ExactMatch = No ; do we only count units of our exact same type toward s horde status? (overrides kindof) Count = 5 ; how many units must be within Radius to grant us hor de-ness Action = HORDE ; when horde-ing, grant us the HORDE bonus End Geometry GeometryMajorRadius GeometryMinorRadius GeometryHeight GeometryIsSmall Shadow ShadowSizeX = 45 End = = = = = = BOX 15.0 10.0 15.0 Yes SHADOW_VOLUME

;------------------------------------------------------------------------------

Object Tank_ChinaVehicleSupplyTruck ; *** ART Parameters *** SelectPortrait = SNTSupplyTruck_L ButtonImage = SNTSupplyTruck Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVTSupplyTk HideSubObject = Cargo01 Turret = TURRET WeaponFireFXBone = PRIMARY MUZZLEFX01 WeaponLaunchBone = PRIMARY MUZZLEFX01 End ConditionState Model End ConditionState Model End ConditionState ShowSubObject End ConditionState Model ShowSubObject End ConditionState Model ShowSubObject End = REALLYDAMAGED = NVTSupplyTk_D = RUBBLE = NVTSupplyTk_D = CARRYING = Cargo01 = REALLYDAMAGED CARRYING = NVTSupplyTk_D = Cargo01 = RUBBLE CARRYING = NVTSupplyTk_D = Cargo01

ConditionState = AFLAME ParticleSysBone = CHASSIS TankFireContinious End ConditionState = REALLYDAMAGED AFLAME Model = NVTSupplyTk_D ParticleSysBone = CHASSIS TankFireContinious End ConditionState = RUBBLE AFLAME Model = NVTSupplyTk_D ParticleSysBone = CHASSIS TankFireContinious End ConditionState = CARRYING AFLAME ShowSubObject = Cargo01 ParticleSysBone = CHASSIS TankFireContinious End ConditionState Model = REALLYDAMAGED CARRYING AFLAME = NVTSupplyTk_D

ParticleSysBone = CHASSIS TankFireContinious ShowSubObject = Cargo01 End ConditionState Model ParticleSysBone ShowSubObject End = = = = RUBBLE CARRYING AFLAME NVTSupplyTk_D CHASSIS TankFireContinious Cargo01 = EXTireTrack.tga = 4.0 ; amount of tread texture to move per second = 0.3 ; fraction of locomotor speed below which tre = 0.6 ; fraction of locomotor speed below which we

TrackMarks TreadAnimationRate TreadDriveSpeedFraction ads stop moving. TreadPivotSpeedFraction allow pivoting. End

; ***DESIGN parameters *** DisplayName = OBJECT:SupplyTruck Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 2 BuildCost = 600 BuildTime = 6.0 VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Tank_ChinaSupplyCenter End WeaponSet Conditions = None Weapon = PRIMARY SupplyTruckGun End ArmorSet Conditions Armor DamageFX End = None = TruckArmor = TankDamageFX 0 0 0 ;Experience point value at each level = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = = 2 ;What am I?: 0 = for infantry, 1 = for tre

ExperienceValue = 0 CrusherLevel vehicles CrushableLevel es, 2 = general vehicles CommandSet

= StopOnlyGenericCommandSet

; *** AUDIO Parameters *** VoiceSelect = SupplyTruckVoiceSelect VoiceMove = SupplyTruckVoiceMove VoiceAttack = NoSound SoundMoveStart = SupplyTruckMoveStart SoundMoveStartDamaged = SupplyTruckMoveStart UnitSpecificSounds VoiceCreate = SupplyTruckVoiceCreate TruckLandingSound = NoSound TruckPowerslideSound = NoSound

VoiceSupply VoiceCrush VoiceEnter End

= SupplyTruckVoiceSupply = SupplyTruckVoiceCrush = SupplyTruckVoiceMove

; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REF LECTIONS VEHICLE HARVESTER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 450.0 InitialHealth = 450.0 SubdualDamageCap = 900 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = SupplyTruckAIUpdate ModuleTag_03 MaxBoxes = 4 SupplyCenterActionDelay = 400 SupplyWarehouseActionDelay = 1000 SupplyWarehouseScanDistance = 700 SuppliesDepletedVoice = SupplyTruckVoiceSuppliesDepleted Turret TurretTurnRate = 180 TurretPitchRate = 0 ControlledWeaponSlots = PRIMARY RecenterTime = 100 End MoodAttackCheckRate = 100 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL TrackedSupplyTruckLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 8.0 End ExperienceValue = 50 50 50 50 ;Experience point value at each level

Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 200 DestructionDelayVariance = 100 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_ChinaSupplyTankDeathEffect End Behavior = FXListDie ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_07 DeathTypes = NONE +CRUSHED +SPLATTED +POISONED +POISONED_BETA +POISONED_GAMM A +EXTRA_6 CreationList = OCL_ChinaSupplyTankDeathEffectSimple End

Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmok eColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTr ansition End Behavior = FlammableUpdate ModuleTag_10 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED +POISONED +POISONED_BETA +POISONED_GAMM A +EXTRA_6 End Behavior CrateData End = CreateCrateDie ModuleTag_12 = SalvageCrateData

Geometry = BOX GeometryMajorRadius = 17.0 GeometryMinorRadius = 7.0 GeometryHeight = 14.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaVehicleDozer ; *** ART Parameters *** SelectPortrait = SNDozer_L ButtonImage = SNDozer UpgradeCameo1 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes

DefaultConditionState Model = NVCONSTDOZ_A ParticleSysBone = EXHAUST01 DozerSmokeLight ParticleSysBone = EXHAUST02 DozerSmokeLight End ConditionState = MOVING ParticleSysBone = EXHAUST01 DozerSmokeHeavy End ConditionState = FIRING_A MOVING PREATTACK_A Model = NVCONSTDOZ_A Animation = NVCONSTDOZ_A.NVCONSTDOZ_A AnimationMode = ONCE ParticleSysBone = EXHAUST01 DozerSmokeHeavy ParticleSysBone = EXHAUST02 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall

End AliasConditionState = ATTACKING FIRING_A MOVING ConditionState = REALLYDAMAGED RUBBLE Model = NVCONSTDOZ_AD End ConditionState = MOVING REALLYDAMAGED RUBBLE Model = NVCONSTDOZ_AD ParticleSysBone = EXHAUST01 DozerSmokeHeavy ParticleSysBone = EXHAUST02 DozerSmokeHeavy End ConditionState = FIRING_A MOVING PREATTACK_A REALLYDAMAGED RUBBLE Model = NVCONSTDOZ_AD Animation = NVCONSTDOZ_AD.NVCONSTDOZ_AD AnimationMode = ONCE ParticleSysBone = EXHAUST01 DozerSmokeHeavy ParticleSysBone = EXHAUST02 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall End AliasConditionState = ATTACKING FIRING_A MOVING REALLYDAMAGED RUBBLE ConditionState = AFLAME Model = NVCONSTDOZ_A ParticleSysBone = EXHAUST01 DozerSmokeLight ParticleSysBone = EXHAUST02 DozerSmokeLight ParticleSysBone = CHASSIS TankFireContinious End ConditionState = MOVING AFLAME ParticleSysBone = EXHAUST01 DozerSmokeHeavy ParticleSysBone = EXHAUST02 DozerSmokeHeavy ParticleSysBone = CHASSIS TankFireContinious End ConditionState = FIRING_A MOVING PREATTACK_A AFLAME Model = NVCONSTDOZ_A Animation = NVCONSTDOZ_A.NVCONSTDOZ_A AnimationMode = ONCE ParticleSysBone = EXHAUST01 DozerSmokeHeavy ParticleSysBone = EXHAUST02 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall ParticleSysBone = CHASSIS TankFireContinious End AliasConditionState = ATTACKING FIRING_A MOVING AFLAME ConditionState Model ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone = REALLYDAMAGED RUBBLE AFLAME = NVCONSTDOZ_AD = CHASSIS TankFireContinious = = = = = = = = = = = = MOVING REALLYDAMAGED RUBBLE AFLAME NVCONSTDOZ_AD EXHAUST01 DozerSmokeHeavy EXHAUST02 DozerSmokeHeavy CHASSIS TankFireContinious FIRING_A MOVING PREATTACK_A REALLYDAMAGED RUBBLE AFLAME NVCONSTDOZ_AD NVCONSTDOZ_AD.NVCONSTDOZ_AD ONCE EXHAUST01 DozerSmokeHeavy EXHAUST02 DozerSmokeHeavy DIRTFX01 DozerDirtFall

ParticleSysBone = CHASSIS TankFireContinious End AliasConditionState = ATTACKING FIRING_A MOVING REALLYDAMAGED RUBBLE AFLAME TrackMarks TreadAnimationRate End = EXTnkTrack.tga = 4.0 ; amount of tread texture to move per second

; ***DESIGN parameters *** DisplayName = OBJECT:Dozer Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 1 BuildCost = 1000 BuildTime = 1 VisionRange = 150 ShroudClearingRange = 300 WeaponSet Conditions = None Weapon = PRIMARY None End ArmorSet Conditions Armor DamageFX End ExperienceValue CrusherLevel cles CrushableLevel 2 = general vehicles CommandSet = None = DozerArmor = TankDamageFX = 0 0 0 0 ;Experience point value at each level = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehi = 2 ;What am I?: 0 = for infantry, 1 = for trees,

= Tank_ChinaDozerCommandSet

; *** AUDIO Parameters *** VoiceSelect = DozerChinaVoiceSelect VoiceMove = DozerChinaVoiceMove VoiceEnter = DozerChinaVoiceMove VoiceTaskComplete = DozerChinaVoiceBuildComplete SoundMoveStart = DozerChinaMoveStart SoundMoveStartDamaged = DozerChinaMoveStart UnitSpecificSounds VoiceCreate = DozerChinaVoiceCreate VoiceCrush = DozerChinaVoiceCrush VoiceNoBuild = DozerChinaVoiceBuildNot VoiceRepair = DozerChinaVoiceRepair VoiceDisarm = DozerChinaVoiceClearMine VoiceEnter = DozerChinaVoiceMove VoiceBuildResponse = DozerChinaVoiceBuild End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DO ZER Body = ActiveBody ModuleTag_02

MaxHealth = 250.0 InitialHealth = 250.0 SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = MaxHealthUpgrade ModuleTag_09Arm TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 125.0 ChangeType = PRESERVE_RATIO End Behavior = DozerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 70% d BoredTime BoredRange do something AutoAcquireEnemiesWhenIdle End = 5000 ; in milliseconds = 150 ; when bored, we look this far away to = Yes ; % of max health to repair each secon

Locomotor = SET_NORMAL ChinaVehicleDozerLocomotor Behavior Mass End = PhysicsBehavior ModuleTag_04 = 75.0

Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmok eColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransiti on End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 1500 DestructionDelayVariance = 600 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_ChinaDozerExplode FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 100 OCL = FINAL OCL_ChinaDozerExplodePoisoned End Behavior = CreateCrateDie ModuleTag_09 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End

Behavior = FXListDie ModuleTag_22 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = DestroyDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CommandSetUpgrade ModuleTag_14D TriggeredBy = Upgrade_SwitchCommandSet RemovesUpgrades = Upgrade_SwitchBackCommandSet CommandSet = Tank_ChinaDozerCommandSetMassProduction End Behavior = CommandSetUpgrade ModuleTag_15D TriggeredBy = Upgrade_SwitchBackCommandSet RemovesUpgrades = Upgrade_SwitchCommandSet Upgrade_SwitchBackCommandSet CommandSet = Tank_ChinaDozerCommandSet End Behavior = ProductionUpdate ModuleTag_38D MaxQueueEntries = 1; For the command set switching upgrade End Geometry GeometryMajorRadius GeometryMinorRadius GeometryHeight GeometryIsSmall Shadow ShadowSizeX = 45 End = = = = = = BOX 18.0 10.0 15.0 NO SHADOW_VOLUME

;-----------------------------------------------------------------------------Object Tank_ChinaTankECM ; *** ART Parameters *** SelectPortrait = SNHvyECM_L ButtonImage = SNHvyECM UpgradeCameo1 = Upgrade_ChinaNuclearTanks UpgradeCameo2 = Upgrade_ChinaECMPower Draw = W3DOverlordTankDraw ModuleTag_Draw01 OkToChangeModelColor = Yes DefaultConditionState Model Turret WeaponFireFXBone WeaponLaunchBone WeaponMuzzleFlash End ConditionState Model End AliasConditionState = = = = = NVHvyECM Turret SECONDARY Muzzle SECONDARY Muzzle SECONDARY MuzzleFX

= REALLYDAMAGED = NVHvyECM_D = RUBBLE

ConditionState Model ParticleSysBone = ParticleSysBone = ParticleSysBone = End ConditionState Model ParticleSysBone = ParticleSysBone = ParticleSysBone = End AliasConditionState

= AFLAME = NVHvyECM SMOKE01 TankFireContinious SMOKE05 TankFireContinious TURRET TankFireContinious = REALLYDAMAGED AFLAME = NVHvyECM_D SMOKE01 TankFireContinious SMOKE05 TankFireContinious TURRET TankFireContinious = RUBBLE AFLAME

TrackMarks = EXTnkTrack.tga OkToChangeModelColor = Yes TreadAnimationRate = 3.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which tre ads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. End ; ***DESIGN parameters *** DisplayName = Side = EditorSorting = TransportSlotCount = BuildCost = 2300 BuildTime = 23.0 VisionRange = 150 ShroudClearingRange = 300 WeaponSet Conditions Weapon Weapon End WeaponSet Conditions Weapon Weapon End OBJECT:Banshee ChinaTankGeneral VEHICLE 0

= None = SECONDARY TunnelNetworkGun = PRIMARY ECMTankVehicleDisabler = PLAYER_UPGRADE = SECONDARY TunnelNetworkGun = PRIMARY ECMTankBuildingDisablerUpgraded

Behavior = WeaponSetUpgrade ModuleTag_35A TriggeredBy = Upgrade_ChinaECMPower End ArmorSet Conditions Armor DamageFX End Prerequisites Object Object End ExperienceValue = None = TankArmor = TankDamageFX

= Tank_ChinaWarFactory = Tank_ChinaPropagandaCenter = 117 170 248 356

ExperienceRequired = 0 351 509 744 IsTrainable = Yes CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Tank_ChinaTankBansheeCommandSet ; *** AUDIO Parameters *** VoiceSelect = BansheeTankVoiceSelect VoiceMove = BansheeTankVoiceMove VoiceGuard = BansheeTankVoiceMove VoiceAttack = BansheeTankVoiceAttack SoundMoveLoop = HeavyTankMoveLoop SoundMoveLoopDamaged = HeavyTankMoveLoop UnitSpecificSounds VoiceCreate = BansheeTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud VoiceCrush = NoSound VoiceEnter = BansheeTankVoiceMove End ; *** ENGINEERING RadarPriority KindOf AN_CAST_REFLECTIONS Parameters *** = UNIT = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT C VEHICLE SCORE CANNOT_RETALIATE

Body = ActiveBody ModuleTag_02 MaxHealth = 900.0 InitialHealth = 900.0 SubdualDamageCap = 2000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 180 FiresWhileTurning = Yes MinIdleScanInterval = 0 ; in milliseconds MaxIdleScanInterval = 0 ; in milliseconds RecenterTime = 0 MinIdleScanAngle = 180 ; in degrees off the natural turret angle MaxIdleScanAngle = 180 ; in degrees off the natural turret angle FiresWhileTurning = Yes End MoodAttackCheckRate = 100 AutoAcquireEnemiesWhenIdle = Yes End Behavior Mass End = PhysicsBehavior ModuleTag_04 = 100.0

Locomotor = SET_NORMAL OverlordLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearOverlordLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = Nuke_NuclearTankDeathWeapon

StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = SlowDeathBehavior ModuleTag_16 DeathTypes = ALL -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 600 DestructionDelayVariance = 300 FX = INITIAL WeaponFX_ECMBombImpact OCL = INITIAL OCL_ECMBombLightning Weapon = INITIAL ECMShellDetonationWeapon1 OCL = FINAL OCL_ChinaTankBansheeDebris FX = FINAL FX_OverlordExplosionOneFinal End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 0 OCL = FINAL OCL_ChinaTankBansheeDeathEffectSimple End Behavior = CreateCrateDie ModuleTag_06 CrateData = SalvageCrateData End Behavior = OverlordContain ModuleTag_OverlordContain Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes ExperienceSinkForRider = Yes PassengersInTurret = Yes PayloadTemplateName = ChinaVehicleECMTankSecondTurret End Behavior = TransitionDamageFX ModuleTag_07 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallCont inuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransiti on End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = FireWeaponUpdate ModuleTag_23 Weapon = Tank_ECMTankMissileJammer End Behavior = ProductionUpdate ModuleTag_Drone05 MaxQueueEntries = 1 End Geometry = BOX

GeometryMajorRadius = 26.0 GeometryMinorRadius = 13.0 GeometryHeight = 15.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;---------------------------------------------------------------------------Object ChinaVehicleECMTankSecondTurret ; *** ART Parameters *** Draw = W3DDependencyModelDraw ModuleTag_Draw01 OkToChangeModelColor = Yes AttachToBoneInContainer = FIREPOINT01 DefaultConditionState Model = NVHvyECMTur Turret = TURRET01 End ConditionState = REALLYDAMAGED Model = NVHvyECMTur_D End AliasConditionState = RUBBLE End Draw = W3DModelDraw ModuleTag_Draw02 DefaultConditionState Model = EXDecalR150 End End ; ***DESIGN parameters *** Side = ChinaTankGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY ECMTankVehicleDisabler End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY ECMTankVehicleDisablerUpgraded End Behavior = WeaponSetUpgrade ModuleTag_35A TriggeredBy = Upgrade_ChinaECMPower End ArmorSet Conditions Armor End VisionRange = None = InvulnerableAllArmor = 200

; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceRapidFire = NoSound End

; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF _SIGHT CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 180 MinIdleScanInterval = 0 ; in milliseconds MaxIdleScanInterval = 0 ; in milliseconds RecenterTime = 0 MinIdleScanAngle = 180 MaxIdleScanAngle = 180 End AutoAcquireEnemiesWhenIdle = Yes End Behavior = DestroyDie ModuleTag_04 End Geometry GeometryMajorRadius GeometryMinorRadius GeometryHeight GeometryIsSmall ; Shadow ; ShadowSizeX = 45 = = = = = BOX 8.0 8.0 9.0 No = SHADOW_VOLUME

Shadow = SHADOW_DECAL ShadowSizeX = 430 ShadowSizeY = 430 ShadowTexture = decal_ecm End ;-----------------------------------------------------------------------------Object Tank_ChinaVehicleListeningOutpost ; *** ART Parameters *** SelectPortrait = NVLOutpost_L ButtonImage = NVLOutpost Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = IRFX ConditionState = NONE Model = NVLOUTPOST End ConditionState = REALLYDAMAGED Model = NVLOUTPOST_D End AliasConditionState = RUBBLE

ConditionState = AFLAME Model = NVLOUTPOST ParticleSysBone = CHASSIS TankFireContinious End ConditionState Model ParticleSysBone = End AliasConditionState = REALLYDAMAGED AFLAME = NVLOUTPOST_D CHASSIS TankFireContinious = RUBBLE AFLAME

TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray LeftFrontTireBone = TIRE01 RightFrontTireBone = TIRE02 LeftRearTireBone = TIRE03 RightRearTireBone = TIRE04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. End Draw = W3DModelDraw ModuleTag_33 OkToChangeModelColor = Yes ConditionState = NONE Model = NVLOUTPOST_B Animation = NVLOUTPOST_B.NVLOUTPOST_B AnimationMode = LOOP TransitionKey = Trans_Deployed End ConditionState = REALLYDAMAGED Model = NVLOUTPOST_BD Animation = NVLOUTPOST_BD.NVLOUTPOST_BD AnimationMode = LOOP TransitionKey = Trans_Deployed_ReallyDamaged End ConditionState = MOVING Model = NVLOUTPOST_A Animation = NVLOUTPOST_A.NVLOUTPOST_A AnimationMode = LOOP TransitionKey = Trans_Moving End ConditionState = REALLYDAMAGED MOVING Model = NVLOUTPOST_AD Animation = NVLOUTPOST_AD.NVLOUTPOST_AD AnimationMode = LOOP TransitionKey = Trans_Moving_ReallyDamaged End ConditionState = RUBBLE Model = NONE End AliasConditionState = RUBBLE MOVING ;**** PACKING AND UNPACKING MODES *** TransitionState = Trans_Moving Trans_Deployed Model = NVLOUTPOST_C

Animation = NVLOUTPOST_C.NVLOUTPOST_C AnimationMode = ONCE End TransitionState = Trans_Moving_ReallyDamaged Trans_Deployed_ReallyDamage d Model = NVLOUTPOST_CD Animation = NVLOUTPOST_CD.NVLOUTPOST_CD AnimationMode = ONCE End TransitionState = Trans_Deployed Trans_Moving Model = NVLOUTPOST_C Animation = NVLOUTPOST_C.NVLOUTPOST_C AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Deployed_ReallyDamaged Trans_Moving_ReallyDamage d Model = NVLOUTPOST_CD Animation = NVLOUTPOST_CD.NVLOUTPOST_CD AnimationMode = ONCE_BACKWARDS End End ; ***DESIGN parameters *** DisplayName = OBJECT:ListeningOutpost Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 5 BuildCost = 700 BuildTime = 1.0 VisionRange = 550 ShroudClearingRange = 500 WeaponSet Conditions = None Weapon = PRIMARY TroopCrawlerAssault End ArmorSet Conditions Armor DamageFX End = None = RadarTruckArmor = TankDamageFX

Prerequisites Object = Tank_ChinaWarFactory End ExperienceValue = 27 39 58 83 ExperienceRequired = 0 81 118 173 IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = v ehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for tree s, 2 = general vehicles CommandSet = ChinaListeningOutpostCommandSet ; *** AUDIO Parameters *** VoiceSelect = ListeningOutpostVoiceSelect VoiceMove = ListeningOutpostVoiceMove

VoiceGuard = ListeningOutpostVoiceMove VoiceAttack = ListeningOutpostVoiceAttack SoundMoveStart = RadarVanMoveStart SoundMoveStartDamaged = RadarVanMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit SoundStealthOn = USStealthOn SoundStealthOff = USStealthOff UnitSpecificSounds VoiceCreate = ListeningOutpostVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = NoSound VoiceUnload = NoSound VoiceEnter = ListeningOutpostVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS TRANSPORT VEHICLE SCORE REVEALS_ENEMY_PATHS CANNOT_RETALIATE HEAL_PAD Body = ActiveBody ModuleTag_02 MaxHealth = 250.0 InitialHealth = 250.0 SubdualDamageCap = 800 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = StealthDetectorUpdate ModuleTag_StealthDetector ;+ DetectionRate = 1000 DetectionRange = 1000 CanDetectWhileGarrisoned = No CanDetectWhileContained = No IRBeaconParticleSysName = IRLenzflare IRParticleSysBone = IRFX ExtraForbiddenKindOf = MINE DEMOTRAP End Behavior = TransportAIUpdate ModuleTag_NewAI AutoAcquireEnemiesWhenIdle = No End Behavior = StealthUpdate ModuleTag_04 StealthDelay = 2000 ; msec StealthForbiddenConditions = MOVING RIDERS_ATTACKING FriendlyOpacityMin = 20.0% FriendlyOpacityMax = 80.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Locomotor = SET_NORMAL ListeningOutpostLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 90.0 End

Behavior = TransportContain ModuleTag_06 PassengersAllowedToFire = Yes Slots = 2 ScatterNearbyOnExit = No HealthRegen%PerSec = 10 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressi ve on exiting End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 1789 FX = INITIAL FX_SupplyTruckExplosionOneFinal OCL = INITIAL OCL_InitialListeningOutpostDebris FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalListeningOutpostDebris End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 0 OCL = FINAL OCL_FinalListeningOutpostDeathEffectSimple End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmok eColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End ; A crushing defeat Behavior = FXListDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_12 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End

Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaNuclearMissileLauncher ; *** ART Parameters *** SelectPortrait = SNNukeMisl_L ButtonImage = SNNukeMisl SelectPortrait = SNNukeMisl_L ButtonImage = SNNukeMisl Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBNMissle End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState Model End ConditionState Model End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone = SOLD NIGHT = NONE = SOLD NIGHT SNOW = NONE = = = = = = = = = = = = = = = = = = = = = DAMAGED NBNMissle_D Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire REALLYDAMAGED RUBBLE NBNMissle_E Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire

ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B EING_CONSTRUCTED Model = NBNMissle Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B EING_CONSTRUCTED DAMAGED Model = NBNMissle_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B EING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = NBNMissle_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING Model = NBNMissle_A2 Animation = NBNMissle_A2.NBNMissle_A2 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN Model = NBNMissle_A2 Animation = NBNMissle_A2.NBNMissle_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE Model = NBNMissle_A3 Animation = NBNMissle_A3.NBNMissle_A3 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING Model = NBNMissle_A3 Animation = NBNMissle_A3.NBNMissle_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED Model = NBNMissle_A2D Animation = NBNMissle_A2D.NBNMissle_A2D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= = = = = = =

Smoke06 Smoke01 Smoke02 Smoke03 Smoke04 Smoke05 Smoke06

SmolderingSmoke SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire

= Steam01 BigMissileSteam = Steam02 BigMissileSteam = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = DOOR_1_WAITING_OPEN DAMAGED NBNMissle_A2D NBNMissle_A2D.NBNMissle_A2D MANUAL START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_TO_CLOSE DAMAGED NBNMissle_A3D NBNMissle_A3D.NBNMissle_A3D MANUAL START_FRAME_FIRST PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire DOOR_1_CLOSING DAMAGED NBNMissle_A3D NBNMissle_A3D.NBNMissle_A3D ONCE MAINTAIN_FRAME_ACROSS_STATES2 Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Smoke05 Smoke06 Smoke01 Smoke02 Smoke03 Smoke04 Smoke05 Smoke06

SmolderingSmoke SmolderingSmoke SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire

DOOR_1_OPENING REALLYDAMAGED RUBBLE NBNMissle_A2E NBNMissle_A2E.NBNMissle_A2E ONCE MAINTAIN_FRAME_ACROSS_STATES Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NBNMissle_A2E NBNMissle_A2E.NBNMissle_A2E MANUAL START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NBNMissle_A3E NBNMissle_A3E.NBNMissle_A3E MANUAL START_FRAME_FIRST PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ; night ConditionState Model End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model

= = = = = = = = = = = = = = = = = = = = = = = = =

Smoke05 Smoke06 Smoke01 Smoke02 Smoke03 Smoke04 Smoke05 Smoke06

SmolderingSmoke SmolderingSmoke SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire

DOOR_1_CLOSING REALLYDAMAGED RUBBLE NBNMissle_A3E NBNMissle_A3E.NBNMissle_A3E ONCE MAINTAIN_FRAME_ACROSS_STATES2 Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire

= NIGHT = NBNMissle_N = = = = = = = = = = = = = = = = = = = = = = = = DAMAGED NIGHT NBNMissle_DN Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire REALLYDAMAGED RUBBLE NIGHT NBNMissle_EN Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire

= AWAITING_CONSTRUCTION NIGHT = None

End ConditionState EING_CONSTRUCTED NIGHT Model Flags END ConditionState EING_CONSTRUCTED NIGHT Model Flags END ConditionState EING_CONSTRUCTED NIGHT Model Flags END ConditionState Model Animation AnimationMode Flags End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone End ConditionState Model Animation AnimationMode Flags End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B = NBNMissle_N = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B DAMAGED = NBNMissle_DN = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B REALLYDAMAGED = NBNMissle_EN = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = DOOR_1_OPENING NIGHT NBNMissle_A2N NBNMissle_A2N.NBNMissle_A2N ONCE MAINTAIN_FRAME_ACROSS_STATES DOOR_1_WAITING_OPEN NIGHT NBNMissle_A2N NBNMissle_A2N.NBNMissle_A2N MANUAL START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME PRIMARY RockPos Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_TO_CLOSE NIGHT NBNMissle_A3N NBNMissle_A3N.NBNMissle_A3N MANUAL START_FRAME_FIRST PRIMARY RockPos DOOR_1_CLOSING NIGHT NBNMissle_A3N NBNMissle_A3N.NBNMissle_A3N ONCE MAINTAIN_FRAME_ACROSS_STATES2 DOOR_1_OPENING DAMAGED NIGHT NBNMissle_A2DN NBNMissle_A2DN.NBNMissle_A2DN ONCE MAINTAIN_FRAME_ACROSS_STATES Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire

ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= Smoke06 SmolderingFire = Steam01 BigMissileSteam = Steam02 BigMissileSteam = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = DOOR_1_WAITING_OPEN DAMAGED NIGHT NBNMissle_A2DN NBNMissle_A2DN.NBNMissle_A2DN MANUAL START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT NBNMissle_A3DN NBNMissle_A3DN.NBNMissle_A3DN MANUAL START_FRAME_FIRST PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire DOOR_1_CLOSING DAMAGED NIGHT NBNMissle_A3DN NBNMissle_A3DN.NBNMissle_A3DN ONCE MAINTAIN_FRAME_ACROSS_STATES2 Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire

ParticleSysBone End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= Smoke06 SmolderingFire = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT NBNMissle_A2EN NBNMissle_A2EN.NBNMissle_A2EN ONCE MAINTAIN_FRAME_ACROSS_STATES Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT NBNMissle_A2EN NBNMissle_A2EN.NBNMissle_A2EN MANUAL START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT NBNMissle_A3EN NBNMissle_A3EN.NBNMissle_A3EN MANUAL START_FRAME_FIRST PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire

ParticleSysBone End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

= Smoke06 SmolderingFire = = = = = = = = = = = = = = = = = DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT NBNMissle_A3EN NBNMissle_A3EN.NBNMissle_A3EN ONCE MAINTAIN_FRAME_ACROSS_STATES2 Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire

;-------------- SNOW! -------------------ConditionState = SNOW Model = NBNMissle_S End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model End ConditionState EING_CONSTRUCTED SNOW Model Flags = = = = = = = = = = = = = = = = = = = = = = = = DAMAGED SNOW NBNMissle_DS Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire REALLYDAMAGED RUBBLE SNOW NBNMissle_ES Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire

= AWAITING_CONSTRUCTION SNOW = None = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B = NBNMissle_S = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B EING_CONSTRUCTED SNOW DAMAGED Model = NBNMissle_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B EING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBNMissle_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING SNOW Model = NBNMissle_A2S Animation = NBNMissle_A2S.NBNMissle_A2S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN SNOW Model = NBNMissle_A2S Animation = NBNMissle_A2S.NBNMissle_A2S AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE SNOW Model = NBNMissle_A3S Animation = NBNMissle_A3S.NBNMissle_A3S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING SNOW Model = NBNMissle_A3S Animation = NBNMissle_A3S.NBNMissle_A3S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED SNOW Model = NBNMissle_A2DS Animation = NBNMissle_A2DS.NBNMissle_A2DS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED SNOW

Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

NBNMissle_A2DS NBNMissle_A2DS.NBNMissle_A2DS MANUAL START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_TO_CLOSE DAMAGED SNOW NBNMissle_A3DS NBNMissle_A3DS.NBNMissle_A3DS MANUAL START_FRAME_FIRST PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire DOOR_1_CLOSING DAMAGED SNOW NBNMissle_A3DS NBNMissle_A3DS.NBNMissle_A3DS ONCE MAINTAIN_FRAME_ACROSS_STATES2 Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire

= DOOR_1_OPENING REALLYDAMAGED RUBBLE SNOW = NBNMissle_A2ES = NBNMissle_A2ES.NBNMissle_A2ES

AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

ONCE MAINTAIN_FRAME_ACROSS_STATES Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE SNOW NBNMissle_A2ES NBNMissle_A2ES.NBNMissle_A2ES MANUAL START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE SNOW NBNMissle_A3ES NBNMissle_A3ES.NBNMissle_A3ES MANUAL START_FRAME_FIRST PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire

= DOOR_1_CLOSING REALLYDAMAGED RUBBLE SNOW = NBNMissle_A3ES = NBNMissle_A3ES.NBNMissle_A3ES

AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ; night ConditionState Model End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model End ConditionState EING_CONSTRUCTED NIGHT Model Flags END ConditionState EING_CONSTRUCTED NIGHT Model Flags END ConditionState

= = = = = = = = = = = = = =

ONCE MAINTAIN_FRAME_ACROSS_STATES2 Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire

= NIGHT SNOW = NBNMissle_NS = = = = = = = = = = = = = = = = = = = = = = = = DAMAGED NIGHT SNOW NBNMissle_DNS Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire REALLYDAMAGED RUBBLE NIGHT SNOW NBNMissle_ENS Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire

= AWAITING_CONSTRUCTION NIGHT SNOW = None = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B SNOW = NBNMissle_NS = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B SNOW DAMAGED = NBNMissle_DNS = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_B

EING_CONSTRUCTED NIGHT Model Flags END ConditionState Model Animation AnimationMode Flags End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone End ConditionState Model Animation AnimationMode Flags End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone

SNOW REALLYDAMAGED = NBNMissle_ENS = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = DOOR_1_OPENING NIGHT SNOW NBNMissle_A2NS NBNMissle_A2NS.NBNMissle_A2NS ONCE MAINTAIN_FRAME_ACROSS_STATES DOOR_1_WAITING_OPEN NIGHT SNOW NBNMissle_A2NS NBNMissle_A2NS.NBNMissle_A2NS MANUAL START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME PRIMARY RockPos Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_TO_CLOSE NIGHT SNOW NBNMissle_A3NS NBNMissle_A3NS.NBNMissle_A3NS MANUAL START_FRAME_FIRST PRIMARY RockPos DOOR_1_CLOSING NIGHT SNOW NBNMissle_A3NS NBNMissle_A3NS.NBNMissle_A3NS ONCE MAINTAIN_FRAME_ACROSS_STATES2 DOOR_1_OPENING DAMAGED NIGHT SNOW NBNMissle_A2DNS NBNMissle_A2DNS.NBNMissle_A2DNS ONCE MAINTAIN_FRAME_ACROSS_STATES Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire Steam01 BigMissileSteam Steam02 BigMissileSteam DOOR_1_WAITING_OPEN DAMAGED NIGHT SNOW NBNMissle_A2DNS NBNMissle_A2DNS.NBNMissle_A2DNS MANUAL START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Smoke03 Smoke04 Smoke05 Smoke06 Smoke01 Smoke02 Smoke03 Smoke04 Smoke05 Smoke06 Steam01 Steam02

SmolderingSmoke SmolderingSmoke SmolderingSmoke SmolderingSmoke SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire BigMissileSteam BigMissileSteam

DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT SNOW NBNMissle_A3DNS NBNMissle_A3DNS.NBNMissle_A3DNS MANUAL START_FRAME_FIRST PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire DOOR_1_CLOSING DAMAGED NIGHT SNOW NBNMissle_A3DNS NBNMissle_A3DNS.NBNMissle_A3DNS ONCE MAINTAIN_FRAME_ACROSS_STATES2 Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT SNOW NBNMissle_A2ENS NBNMissle_A2ENS.NBNMissle_A2ENS ONCE MAINTAIN_FRAME_ACROSS_STATES Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState W Model Animation AnimationMode Flags WeaponLaunchBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Smoke06 Smoke01 Smoke02 Smoke03 Smoke04 Smoke05 Smoke06 Steam01 Steam02

SmolderingSmoke SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire BigMissileSteam BigMissileSteam

DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT SNOW NBNMissle_A2ENS NBNMissle_A2ENS.NBNMissle_A2ENS MANUAL START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire Steam01 BigMissileSteam Steam02 BigMissileSteam

= DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT SNO = = = = = = = = = = = = = = = = = = = = = = = = = = NBNMissle_A3ENS NBNMissle_A3ENS.NBNMissle_A3ENS MANUAL START_FRAME_FIRST PRIMARY RockPos Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Smoke01 SmolderingFire Smoke02 SmolderingFire Smoke03 SmolderingFire Smoke04 SmolderingFire Smoke05 SmolderingFire Smoke06 SmolderingFire DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT SNOW NBNMissle_A3ENS NBNMissle_A3ENS.NBNMissle_A3ENSS ONCE MAINTAIN_FRAME_ACROSS_STATES2 Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End End

= = = = = = = =

Smoke05 Smoke06 Smoke01 Smoke02 Smoke03 Smoke04 Smoke05 Smoke06

SmolderingSmoke SmolderingSmoke SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire SmolderingFire

; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBNMissle_A4 Animation = NBNMissle_A4.NBNMissle_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBNMissle_A4N Animation = NBNMissle_A4N.NBNMissle_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBNMissle_A4S Animation = NBNMissle_A4S.NBNMissle_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A4SN Animation = NBNMissle_A4SN.NBNMissle_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST

TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBNMissle_A4 Animation = NBNMissle_A4.NBNMissle_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBNMissle_A4N Animation = NBNMissle_A4N.NBNMissle_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBNMissle_A4S Animation = NBNMissle_A4S.NBNMissle_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBNMissle_A4SN Animation = NBNMissle_A4SN.NBNMissle_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBNMissle_A4 Animation = NBNMissle_A4.NBNMissle_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBNMissle_A4N Animation = NBNMissle_A4N.NBNMissle_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBNMissle_A4S Animation = NBNMissle_A4S.NBNMissle_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBNMissle_A4SN Animation = NBNMissle_A4SN.NBNMissle_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly

Flags End End

= START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBNMissle_A6 Animation = NBNMissle_A6.NBNMissle_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBNMissle_A6N Animation = NBNMissle_A6N.NBNMissle_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBNMissle_A6S Animation = NBNMissle_A6S.NBNMissle_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke

ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBNMissle_A6SN Animation = NBNMissle_A6SN.NBNMissle_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBNMissle_A6 Animation = NBNMissle_A6.NBNMissle_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBNMissle_A6N Animation = NBNMissle_A6N.NBNMissle_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBNMissle_A6S Animation = NBNMissle_A6S.NBNMissle_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBNMissle_A6SN Animation = NBNMissle_A6SN.NBNMissle_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBNMissle_A6 Animation = NBNMissle_A6.NBNMissle_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBNMissle_A6N Animation = NBNMissle_A6N.NBNMissle_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End = START_FRAME_LAST

TransitionState = UP_SNOW DOWN_DEFAULT Model = NBNMissle_A6S Animation = NBNMissle_A6S.NBNMissle_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBNMissle_A6SN Animation = NBNMissle_A6SN.NBNMissle_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState Model Animation AnimationMode TransitionKey End ConditionState Model Animation AnimationMode TransitionKey End ConditionState Model Animation AnimationMode TransitionKey End = = = = = = = = = = = = = = = ACTIVELY_BEING_CONSTRUCTED NBNMissle_A5 NBNMissle_A5.NBNMissle_A5 LOOP UP_DAY NIGHT ACTIVELY_BEING_CONSTRUCTED NBNMissle_A5N NBNMissle_A5N.NBNMissle_A5N LOOP UP_NIGHT SNOW ACTIVELY_BEING_CONSTRUCTED NBNMissle_A5S NBNMissle_A5S.NBNMissle_A5S LOOP UP_SNOW

ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A5SN Animation = NBNMissle_A5SN.NBNMissle_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBNMissle_AB Animation = NBNMissle_AB.NBNMissle_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBNMissle_ABN Animation = NBNMissle_ABN.NBNMissle_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBNMissle_ABS Animation = NBNMissle_ABS.NBNMissle_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBNMissle_ABSN Animation = NBNMissle_ABSN.NBNMissle_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBNMissle_AB Animation = NBNMissle_AB.NBNMissle_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBNMissle_ABN Animation = NBNMissle_ABN.NBNMissle_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBNMissle_ABS Animation = NBNMissle_ABS.NBNMissle_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT

Model = NBNMissle_ABSN Animation = NBNMissle_ABSN.NBNMissle_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; Blinking lights Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBNMissle_AC Animation = NONE End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBNMissle_AC Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End ConditionState = DOOR_1_OPENING Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_FIRST End ConditionState = DOOR_1_WAITING_OPEN Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_TO_CLOSE Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_FIRST ;WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_FIRST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:NuclearMissile Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 6000 BuildTime = 100.0

EnergyProduction = -15 VisionRange = 200 ShroudClearingRange = 200 Prerequisites Object = Tank_ChinaPropagandaCenter Science = SCIENCE_TANK SCIENCE_FLAM SCIENCE_NUKE SCIENCE_INFA Science = SCIENCE_Rank5 End ShroudRevealToAllRange = 60 ; Reveals shroud to all players at a specific amo unt which can be different. ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead! CommandSet = Tank_ChinaNuclearMissileCommandSet ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 178 258 377 540 MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimite d, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA S CUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = NuclearMissileSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TE CHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON Body = StructureBody ModuleTag_06 MaxHealth = 4000.0 InitialHealth = 4000.0 SubdualDamageCap = 8000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = SuperweaponNeutronMissile OCL = SUPERWEAPON_NeutronMissile End Behavior = SpecialPowerCreate ModuleTag_08 End Behavior = MissileLauncherBuildingUpdate ModuleTag_09 SpecialPowerTemplate = SuperweaponNeutronMissile DoorOpenTime = 8000 DoorWaitOpenTime = 2000 DoorCloseTime = 8000 DoorOpeningFX = ChinaNuclearMissileLauncherDoorOpen

DoorWaitingToCloseFX = ChinaNuclearMissileLauncherLaunch DoorOpenIdleAudio = BuildingNeutronMissileHiss End Behavior = ProductionUpdate ModuleTag_10 DisabledTypesToProcess = DISABLED_HELD DISABLED_UNDERPOWERED End Behavior = DestroyDie ModuleTag_11 End Behavior = GenerateMinefieldBehavior ModuleTag_13 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionMediumShockwave End Behavior = CreateObjectDie ModuleTag_20 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_21 ExemptStatus = UNDER_CONSTRUCTION DeathFX = FX_NukeGLA End Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = ChinaPowerPlantDeathWeapon StartsActive = Yes End ;Behavior = CommandSetUpgrade ModuleTag_25 ; CommandSet = Tank_ChinaNuclearMissileCommandSetUpgrade ; TriggeredBy = Upgrade_ChinaMines ;End

;Behavior = ArmorUpgrade ModuleTag_26 ; TriggeredBy = Upgrade_ChinaEMPMines ;End Geometry = BOX GeometryMajorRadius = 45.0 GeometryMinorRadius = 55.0 GeometryHeight = 64.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;-----------------------------------------------------------------------------Object Tank_ChinaSpeakerTower ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker UpgradeCameo1 = Upgrade_ChinaSubliminalMessaging Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBPTower Animation = NBPTower.NBPTower AnimationMode = LOOP End ConditionState = DAMAGED Model = NBPTower_D Animation = NBPTower_D.NBPTower_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE Model = NBPTower_E Animation = NBPTower_E.NBPTower_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; day Snow ConditionState = Model = Animation = AnimationMode = End ConditionState = Model = Animation = AnimationMode = ParticleSysBone SNOW NBPTower_S NBPTower_S.NBPTower_S LOOP DAMAGED SNOW NBPTower_DS NBPTower_DS.NBPTower_DS LOOP = Smoke01 SmolderingSmoke

End ConditionState = Model = Animation = AnimationMode = ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

REALLYDAMAGED RUBBLE SNOW NBPTower_ES NBPTower_ES.NBPTower_ES LOOP = Smoke01 SmolderingSmoke = Smoke02 SmolderingSmoke = Flame01 SmolderingFire = Flame01 SmolderingFlameCore = Spark01 LiveWireSparks

; night ConditionState = NIGHT Model = NBPTower_N Animation = NBPTower_N.NBPTower_N AnimationMode = LOOP End ConditionState = NIGHT DAMAGED Model = NBPTower_DN Animation = NBPTower_DN.NBPTower_DN AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE Model = NBPTower_EN Animation = NBPTower_EN.NBPTower_EN AnimationMode = LOOP End ;Snow Night ConditionState = NIGHT SNOW Model = NBPTower_NS Animation = NBPTower_NS.NBPTower_NS AnimationMode = LOOP End ConditionState = NIGHT SNOW DAMAGED Model = NBPTower_DNS Animation = NBPTower_DNS.NBPTower_DNS AnimationMode = LOOP End ConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE Model = NBPTower_ENS Animation = NBPTower_ENS.NBPTower_ENS AnimationMode = LOOP End ;This block handles every possible case with construction process, selling p rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED Model = NBPTower Animation = NBPTower.NBPTower AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBPTower_D Animation = NBPTower_D.NBPTower_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBPTower_E Animation = NBPTower_E.NBPTower_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBPTower_N Animation = NBPTower_N.NBPTower_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBPTower_DN Animation = NBPTower_DN.NBPTower_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBPTower_EN Animation = NBPTower_EN.NBPTower_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBPTower_S Animation = NBPTower_S.NBPTower_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBPTower_DS Animation = NBPTower_DS.NBPTower_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBPTower_ES Animation = NBPTower_ES.NBPTower_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBPTower_NS

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

Animation AnimationMode Flags End ConditionState BEING_CONSTRUCTED NIGHT Model Animation AnimationMode Flags End ConditionState BEING_CONSTRUCTED NIGHT Model Animation AnimationMode Flags End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState

= NBPTower_NS.NBPTower_NS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ SNOW DAMAGED = NBPTower_DNS = NBPTower_DNS.NBPTower_DNS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ SNOW REALLYDAMAGED = NBPTower_ENS = NBPTower_ENS.NBPTower_ENS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

End ; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT

End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBPTower_A4 Animation = NBPTower_A4.NBPTower_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBPTower_A4N Animation = NBPTower_A4N.NBPTower_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBPTower_A4S Animation = NBPTower_A4S.NBPTower_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBPTower_A4SN Animation = NBPTower_A4SN.NBPTower_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPTower_A4 Animation = NBPTower_A4.NBPTower_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPTower_A4N Animation = NBPTower_A4N.NBPTower_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPTower_A4S Animation = NBPTower_A4S.NBPTower_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0

Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPTower_A4SN Animation = NBPTower_A4SN.NBPTower_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPTower_A4 Animation = NBPTower_A4.NBPTower_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPTower_A4N Animation = NBPTower_A4N.NBPTower_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPTower_A4S Animation = NBPTower_A4S.NBPTower_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPTower_A4SN Animation = NBPTower_A4SN.NBPTower_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT

Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBPTower_A6 Animation = NBPTower_A6.NBPTower_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBPTower_A6N Animation = NBPTower_A6N.NBPTower_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBPTower_A6S Animation = NBPTower_A6S.NBPTower_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBPTower_A6SN Animation = NBPTower_A6SN.NBPTower_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPTower_A6 Animation = NBPTower_A6.NBPTower_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPTower_A6N Animation = NBPTower_A6N.NBPTower_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPTower_A6S Animation = NBPTower_A6S.NBPTower_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPTower_A6SN Animation = NBPTower_A6SN.NBPTower_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End

TransitionState = UP_DAY DOWN_DEFAULT Model = NBPTower_A6 Animation = NBPTower_A6.NBPTower_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPTower_A6N Animation = NBPTower_A6N.NBPTower_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPTower_A6S Animation = NBPTower_A6S.NBPTower_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPTower_A6SN Animation = NBPTower_A6SN.NBPTower_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState Model Animation = ACTIVELY_BEING_CONSTRUCTED = NBPTower_A5 = NBPTower_A5.NBPTower_A5

AnimationMode TransitionKey End

= LOOP = UP_DAY

ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A5N Animation = NBPTower_A5N.NBPTower_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A5S Animation = NBPTower_A5S.NBPTower_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A5SN Animation = NBPTower_A5SN.NBPTower_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPTower_AB Animation = NBPTower_AB.NBPTower_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPTower_ABN Animation = NBPTower_ABN.NBPTower_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPTower_ABS Animation = NBPTower_ABS.NBPTower_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPTower_ABSN Animation = NBPTower_ABSN.NBPTower_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPTower_AB Animation = NBPTower_AB.NBPTower_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End TransitionState = START_FRAME_LAST = UP_NIGHT DOWN_DEFAULT

Model = NBPTower_ABN Animation = NBPTower_ABN.NBPTower_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPTower_ABS Animation = NBPTower_ABS.NBPTower_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPTower_ABSN Animation = NBPTower_ABSN.NBPTower_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End PlacementViewAngle = START_FRAME_LAST

= -45

; ***DESIGN parameters *** DisplayName = OBJECT:SpeakerTower Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 10 EnergyProduction = -1 VisionRange = 200 ShroudClearingRange = 200 ArmorSet Conditions Armor DamageFX End = None = StructureArmor = StructureDamageFXNoShake

Prerequisites Object = Tank_ChinaBarracks End CommandSet ExperienceValue = ChinaSpeakerTowerCommandSet = 50 50 50 50 ; Experience point value at each level

; *** AUDIO Parameters *** VoiceSelect = SpeakerTowerSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters ***

RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE FS_BASE_DEFENSE POWERED IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_05 MaxHealth = 300.0 InitialHealth = 300.0 SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PropagandaTowerBehavior ModuleTag_06 Radius = 1050.0 DelayBetweenUpdates = 1000 ; in milliseconds HealPercentEachSecond = 20% ; get this % of max health every second PulseFX = FX_PropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates UpgradeRequired = Upgrade_ChinaSubliminalMessaging UpgradedHealPercentEachSecond = 40% ; get this % of max health every secon d UpgradedPulseFX DelayBetweenUpdates End Behavior StructuralIntegrity StructuralDecay DamageFXTypes CrushingWeaponName End = FX_PropagandaTowerSubliminalPulse ;plays as often as

= = = = =

StructureToppleUpdate ModuleTag_16 0.5 1.0 ALL -WATER ToppledStructureWeaponSmall

Behavior = SlowDeathBehavior ModuleTag_17 DeathTypes = ALL DestructionDelay = 2700 OCL = FINAL OCL_ABPowerPlantExplode FX = FINAL FX_StructureTinyDeath End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionTinySmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionTinyShockwave End ;Behavior = CommandSetUpgrade ModuleTag_25

; CommandSet = ChinaSpeakerTowerCommandSetUpgrade ; TriggeredBy = Upgrade_ChinaMines ;End ;Behavior = ArmorUpgrade ModuleTag_26 ; TriggeredBy = Upgrade_ChinaEMPMines ;End Geometry GeometryMajorRadius GeometryMinorRadius GeometryHeight GeometryIsSmall Shadow BuildCompletion End = = = = = = = BOX 6.0 6.0 51.0 No SHADOW_VOLUME PLACED_BY_PLAYER

;----------------------------------------------------------------------------;China Nuclear Reactor Object Tank_ChinaPowerPlant ; *** ART Parameters *** SelectPortrait = SNReactor_L ButtonImage = SNReactor ;day Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = NBPwrPlant ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED Model = NBPwrPlant_D ParticleSysBone = Smoke01 SteamLarge ParticleSysBone = Smoke02 SteamMedium ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 FireFactionLarge ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = NBPwrPlant_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksMedium ParticleSysBone = Spark03 SparksSmall ParticleSysBone = Spark04 LiveWireSparks End ; day overcharge ConditionState = POWER_PLANT_UPGRADED Model = NBPwrPlant

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ; Snow-Day ConditionState Model ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Smoke01 Smoke02 Spark01 Spark02 Spark03 Spark04 Spark05 Spark06 Spark07

SteamVent SteamVent SparksLarge SparksLarge SparksMedium SparksMedium SparksSmall SparksSmall SparksSmall

DAMAGED POWER_PLANT_UPGRADED NBPwrPlant_D Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire Spark01 SparksLarge Spark02 SparksLarge Spark03 SparksMedium Spark04 SparksMedium Spark05 SparksMedium Spark06 SparksSmall Spark07 SparksSmall REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED NBPwrPlant_E Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire Fire02 SmolderingFire Spark01 SparksLarge Spark02 SparksLarge Spark03 SparksLarge Spark04 SparksLarge Spark05 SparksMedium Spark06 SparksMedium Spark07 SparksSmall

= = = = = = = = = =

SNOW NBPwrPlant_S Smoke01 SteamVent Smoke02 SteamVent DAMAGED SNOW NBPwrPlant_DS Smoke01 SteamLarge Smoke02 SteamMedium Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke

ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ; day overcharge ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= Smoke05 SmolderingSmoke = Smoke06 FireFactionLarge = Fire01 SmolderingFire = = = = = = = = = = = = = = REALLYDAMAGED RUBBLE SNOW NBPwrPlant_ES Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire Fire02 SmolderingFire Spark01 SparksLarge Spark02 SparksMedium Spark03 SparksSmall Spark04 LiveWireSparks

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

POWER_PLANT_UPGRADED SNOW NBPwrPlant_S Smoke01 SteamVent Smoke02 SteamVent Spark01 SparksLarge Spark02 SparksLarge Spark03 SparksMedium Spark04 SparksMedium Spark05 SparksSmall Spark06 SparksSmall Spark07 SparksSmall DAMAGED POWER_PLANT_UPGRADED SNOW NBPwrPlant_DS Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire Spark01 SparksLarge Spark02 SparksLarge Spark03 SparksMedium Spark04 SparksMedium Spark05 SparksMedium Spark06 SparksSmall Spark07 SparksSmall REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW NBPwrPlant_ES Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire Fire02 SmolderingFire

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ;night snow ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

= = = = = = =

Spark01 Spark02 Spark03 Spark04 Spark05 Spark06 Spark07

SparksLarge SparksLarge SparksLarge SparksLarge SparksMedium SparksMedium SparksSmall

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

NIGHT SNOW NBPwrPlant_NS NBPwrPlant_NS.NBPwrPlant_NS LOOP Smoke01 SteamVent Smoke02 SteamVent NIGHT DAMAGED SNOW NBPwrPlant_DNS NBPwrPlant_DNS.NBPwrPlant_DNS LOOP Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire REALLYDAMAGED RUBBLE NIGHT SNOW NBPwrPlant_ENS NBPwrPlant_ENS.NBPwrPlant_ENS LOOP Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire Fire02 SmolderingFire Spark01 LiveWireSparks Spark02 LiveWireSparks Spark03 LiveWireSparks Spark04 LiveWireSparks

; night overcharge ConditionState = Model = Animation = AnimationMode = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone =

NIGHT POWER_PLANT_UPGRADED SNOW NBPwrPlant_NS NBPwrPlant_NS.NBPwrPlant_NS LOOP Smoke01 SteamVent Smoke02 SteamVent Spark01 SparksLarge Spark02 SparksLarge Spark03 SparksMedium Spark04 SparksMedium Spark05 SparksSmall

ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ;night ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= Spark06 SparksSmall = Spark07 SparksSmall = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = NIGHT DAMAGED POWER_PLANT_UPGRADED SNOW NBPwrPlant_DNS NBPwrPlant_DNS.NBPwrPlant_DNS LOOP Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire Spark01 SparksLarge Spark02 SparksLarge Spark03 SparksMedium Spark04 SparksMedium Spark05 SparksMedium Spark06 SparksSmall Spark07 SparksSmall REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED SNOW NBPwrPlant_ENS NBPwrPlant_ENS.NBPwrPlant_ENS LOOP Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire Fire02 SmolderingFire Spark01 SparksLarge Spark02 SparksLarge Spark03 SparksLarge Spark04 SparksLarge Spark05 SparksMedium Spark06 SparksMedium Spark07 SparksSmall

= = = = = = = = = = = = = =

NIGHT NBPwrPlant_N NBPwrPlant_N.NBPwrPlant_N LOOP Smoke01 SteamVent Smoke02 SteamVent NIGHT DAMAGED NBPwrPlant_DN NBPwrPlant_DN.NBPwrPlant_DN LOOP Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke

ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

= Smoke05 SmolderingSmoke = Smoke06 SmolderingSmoke = Fire01 SmolderingFire = = = = = = = = = = = = = = = = REALLYDAMAGED RUBBLE NIGHT NBPwrPlant_EN NBPwrPlant_EN.NBPwrPlant_EN LOOP Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire Fire02 SmolderingFire Spark01 LiveWireSparks Spark02 LiveWireSparks Spark03 LiveWireSparks Spark04 LiveWireSparks

; night overcharge ConditionState = Model = Animation = AnimationMode = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = End ConditionState = Model = Animation = AnimationMode = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = ParticleSysBone = End ConditionState = Model = Animation = AnimationMode =

NIGHT POWER_PLANT_UPGRADED NBPwrPlant_N NBPwrPlant_N.NBPwrPlant_N LOOP Smoke01 SteamVent Smoke02 SteamVent Spark01 SparksLarge Spark02 SparksLarge Spark03 SparksMedium Spark04 SparksMedium Spark05 SparksSmall Spark06 SparksSmall Spark07 SparksSmall NIGHT DAMAGED POWER_PLANT_UPGRADED NBPwrPlant_DN NBPwrPlant_DN.NBPwrPlant_DN LOOP Smoke01 SteamVent Smoke02 SteamVent Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire Spark01 SparksLarge Spark02 SparksLarge Spark03 SparksMedium Spark04 SparksMedium Spark05 SparksMedium Spark06 SparksSmall Spark07 SparksSmall REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED NBPwrPlant_EN NBPwrPlant_EN.NBPwrPlant_EN LOOP

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

= = = = = = = = = = = = = = =

Smoke01 Smoke02 Smoke03 Smoke04 Smoke05 Smoke06 Fire01 Fire02 Spark01 Spark02 Spark03 Spark04 Spark05 Spark06 Spark07

SteamVent SteamVent SmolderingSmoke SmolderingSmoke SmolderingSmoke SmolderingSmoke SmolderingFire SmolderingFire SparksLarge SparksLarge SparksLarge SparksLarge SparksMedium SparksMedium SparksSmall

;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBPwrPlant Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBPwrPlant_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBPwrPlant_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBPwrPlant_N Animation = NBPwrPlant_N.NBPwrPlant_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBPwrPlant_DN Animation = NBPwrPlant_DN.NBPwrPlant_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBPwrPlant_EN Animation = NBPwrPlant_EN.NBPwrPlant_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBPwrPlant_S

selling p ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBPwrPlant_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBPwrPlant_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBPwrPlant_NS Animation = NBPwrPlant_NS.NBPwrPlant_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBPwrPlant_DNS Animation = NBPwrPlant_DNS.NBPwrPlant_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBPwrPlant_ENS Animation = NBPwrPlant_ENS.NBPwrPlant_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = =

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= = = = = = = = = = = =

SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD

POWER_PLANT_UPGRADED DAMAGED POWER_PLANT_UPGRADED REALLYDAMAGED POWER_PLANT_UPGRADED NIGHT POWER_PLANT_UPGRADED NIGHT DAMAGED POWER_PLANT_UPGRADED NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED SNOW POWER_PLANT_UPGRADED SNOW DAMAGED POWER_PLANT_UPGRADED SNOW REALLYDAMAGED POWER_PLANT_UPGRADED NIGHT SNOW POWER_PLANT_UPGRADED NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED

; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBPwrPlant_A4 Animation = NBPwrPlant_A4.NBPwrPlant_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBPwrPlant_A4N Animation = NBPwrPlant_A4N.NBPwrPlant_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBPwrPlant_A4S Animation = NBPwrPlant_A4S.NBPwrPlant_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A

CTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A4SN Animation = NBPwrPlant_A4SN.NBPwrPlant_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPwrPlant_A4 Animation = NBPwrPlant_A4.NBPwrPlant_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPwrPlant_A4N Animation = NBPwrPlant_A4N.NBPwrPlant_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPwrPlant_A4S Animation = NBPwrPlant_A4S.NBPwrPlant_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPwrPlant_A4SN Animation = NBPwrPlant_A4SN.NBPwrPlant_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPwrPlant_A4 Animation = NBPwrPlant_A4.NBPwrPlant_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPwrPlant_A4N Animation = NBPwrPlant_A4N.NBPwrPlant_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPwrPlant_A4S Animation = NBPwrPlant_A4S.NBPwrPlant_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End = START_FRAME_LAST

TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPwrPlant_A4SN Animation = NBPwrPlant_A4SN.NBPwrPlant_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6 Animation = NBPwrPlant_A6.NBPwrPlant_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6N Animation = NBPwrPlant_A6N.NBPwrPlant_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6S Animation = NBPwrPlant_A6S.NBPwrPlant_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW

ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6SN Animation = NBPwrPlant_A6SN.NBPwrPlant_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPwrPlant_A6 Animation = NBPwrPlant_A6.NBPwrPlant_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPwrPlant_A6N Animation = NBPwrPlant_A6N.NBPwrPlant_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPwrPlant_A6S Animation = NBPwrPlant_A6S.NBPwrPlant_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPwrPlant_A6SN Animation = NBPwrPlant_A6SN.NBPwrPlant_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPwrPlant_A6 Animation = NBPwrPlant_A6.NBPwrPlant_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPwrPlant_A6N Animation = NBPwrPlant_A6N.NBPwrPlant_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly

Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPwrPlant_A6S Animation = NBPwrPlant_A6S.NBPwrPlant_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPwrPlant_A6SN Animation = NBPwrPlant_A6SN.NBPwrPlant_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5 Animation = NBPwrPlant_A5.NBPwrPlant_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5N Animation = NBPwrPlant_A5N.NBPwrPlant_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5S Animation = NBPwrPlant_A5S.NBPwrPlant_A5S AnimationMode = LOOP

TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5SN Animation = NBPwrPlant_A5SN.NBPwrPlant_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPwrPlant_AB Animation = NBPwrPlant_AB.NBPwrPlant_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPwrPlant_ABN Animation = NBPwrPlant_ABN.NBPwrPlant_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPwrPlant_ABS Animation = NBPwrPlant_ABS.NBPwrPlant_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPwrPlant_ABSN Animation = NBPwrPlant_ABSN.NBPwrPlant_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPwrPlant_AB Animation = NBPwrPlant_AB.NBPwrPlant_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPwrPlant_ABN Animation = NBPwrPlant_ABN.NBPwrPlant_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPwrPlant_ABS Animation = NBPwrPlant_ABS.NBPwrPlant_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST

End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPwrPlant_ABSN Animation = NBPwrPlant_ABSN.NBPwrPlant_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:NuclearReactor Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 1000 BuildTime = 2 EnergyProduction = 50 EnergyBonus = 50 VisionRange = 200 ShroudClearingRange = 200 ExperienceValue = 75 75 75 75 ArmorSet Conditions Armor DamageFX End = None = StructureArmor = StructureDamageFXNoShake

WeaponSet Conditions = None Weapon = TERTIARY SlowSelfdestructWeapon End Behavior = AIUpdateInterface ModuleTag_AI End CommandSet ExperienceValue = ChinaPowerPlantCommandSet = 100 100 100 100

; *** AUDIO Parameters *** VoiceSelect = NuclearReactorSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE F S_POWER MP_COUNT_FOR_VICTORY Body MaxHealth InitialHealth SubdualDamageCap = StructureBody ModuleTag_05 = 2000.0 = 2000.0 = 2000

SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = OverchargeBehavior ModuleTag_06 HealthPercentToDrainPerSecond = 2% ;% of max health to drain per second NotAllowedWhenHealthBelowPercent = 5% ;When currHealth below this, it turns off automatically End Behavior End = DestroyDie ModuleTag_07

Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = CreateObjectDie ModuleTag_Die3 CreationList = OCL_PowerPlantDeathLightning ExemptStatus = UNDER_CONSTRUCTION End Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 DeathWeapon = ChinaPowerPlantDeathWeapon StartsActive = Yes End Behavior = ProductionUpdate ModuleTag_10 End Behavior = PowerPlantUpdate ModuleTag_11 RodsExtendTime = 1 End Behavior = GenerateMinefieldBehavior ModuleTag_12 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionSmallSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionSmallExplosion

ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionSmallShockwave End Behavior DeathFX End Behavior DeathFX ExemptStatus End = FXListDie ModuleTag_16 = FX_BuildingDie = FXListDie ModuleTag_Die4 = FX_PowerPlantDeathLightning = UNDER_CONSTRUCTION

;Behavior = CommandSetUpgrade ModuleTag_25 ; CommandSet = ChinaPowerPlantCommandSetUpgrade ; TriggeredBy = Upgrade_ChinaMines ;End ;Behavior = ArmorUpgrade ModuleTag_26 ; TriggeredBy = Upgrade_ChinaEMPMines ;End Geometry GeometryMajorRadius GeometryMinorRadius GeometryHeight GeometryIsSmall Shadow BuildCompletion End = = = = = = = BOX 27.0 34.0 40.0 No SHADOW_VOLUME PLACED_BY_PLAYER

;-----------------------------------------------------------------------------Object Tank_ChinaSupplyCenter ; *** ART Parameters *** SelectPortrait = SNSupplyCenter_L ButtonImage = SNSupplyCenter Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;day ConditionState = NONE Model = NBSupCent ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP End ConditionState = DAMAGED Model = NBSupCent_D ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = NBSupCent_E ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP End ConditionState = SNOW Model = NBSupCent_S ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP End

ConditionState = DAMAGED SNOW Model = NBSupCent_DS ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBSupCent_ES ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP End ConditionState = SNOW NIGHT Model = NBSupCent_NS ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP End ConditionState = DAMAGED SNOW NIGHT Model = NBSupCent_DNS ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = NBSupCent_ENS ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP End ConditionState = Model ;Animation ;AnimationMode End ConditionState = Model NIGHT = NBSupCent_N = NBSupCent_N.NBSupCent_N = LOOP NIGHT DAMAGED = NBSupCent_DN

;Animation = NBSupCent_N.NBSupCent_N ;AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE Model = NBSupCent_EN ;Animation = NBSupCent_N.NBSupCent_N ;AnimationMode = LOOP End

;This block handles every possible case with construction process, selling p rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED Model = NBSupCent ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED DAMAGED

Model = NBSupCent_D ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBSupCent_E ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBSupCent_N ;Animation = NBSupCent_N.NBSupCent_N ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBSupCent_DN ;Animation = NBSupCent_DN.NBSupCent_DN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBSupCent_EN ;Animation = NBSupCent_EN.NBSupCent_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBSupCent_S ;Animation = NBSupCent_S.NBSupCent_S ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBSupCent_DS ;Animation = NBSupCent_DS.NBSupCent_DS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBSupCent_ES ;Animation = NBSupCent_ES.NBSupCent_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBSupCent_NS ;Animation = NBSupCent_NS.NBSupCent_NS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

End ConditionState BEING_CONSTRUCTED NIGHT Model ;Animation ;AnimationMode Flags End ConditionState BEING_CONSTRUCTED NIGHT Model ;Animation ;AnimationMode Flags End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ SNOW DAMAGED = NBSupCent_DNS = NBSupCent_DNS.NBSupCent_DNS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ SNOW REALLYDAMAGED = NBSupCent_ENS = NBSupCent_ENS.NBSupCent_ENS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End

ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN

AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBSupCent_A6

Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N

AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT

Model TransitionKey End ConditionState Model TransitionKey End ConditionState Model TransitionKey End ConditionState Model End

= None = DOWN_DEFAULT = SNOW = None = DOWN_DEFAULT = SNOW NIGHT = None = DOWN_DEFAULT = SOLD = NONE

ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5 Animation = NBSupCent_A5.NBSupCent_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5N Animation = NBSupCent_A5N.NBSupCent_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5S Animation = NBSupCent_A5S.NBSupCent_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5SN Animation = NBSupCent_A5SN.NBSupCent_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0

Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyCenter Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 1500 RefundValue = 450 ; With nothing (or zero) listed, we sell for half price . BuildTime = 24.0 ; in seconds EnergyProduction = -1 CommandSet = Tank_ChinaSupplyCenterCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ExperienceValue = 75 75 75 75 Prerequisites

Object = Tank_ChinaPowerPlant End ArmorSet Conditions Armor DamageFX End = None = StructureArmor = StructureDamageFXNoShake

WeaponSet Conditions = None Weapon = TERTIARY SlowSelfdestructWeapon End Behavior = AIUpdateInterface ModuleTag_AI End ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR SCO RE CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY CANNOT_BUILD_NEAR_SUPPLIES FS _SUPPLY_CENTER Body = StructureBody ModuleTag_05 MaxHealth = 1500.0 InitialHealth = 1500.0 SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = SupplyCenterCreate ModuleTag_06 End Behavior = DestroyDie ModuleTag_07 End Behavior CreationList End Behavior DeathFX End = CreateObjectDie ModuleTag_08 = OCL_SmallStructureDebris = FXListDie ModuleTag_09 = FX_StructureSmallDeath

Behavior = ProductionUpdate ModuleTag_10 End Behavior = SupplyCenterProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 52.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End

Behavior = SpawnBehavior ModuleTag_12 SpawnNumber = 1 SpawnReplaceDelay = 9999 SpawnTemplateName = Tank_ChinaVehicleSupplyTruck OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = SupplyCenterDockUpdate ModuleTag_13 AllowsPassthrough = No ;You can't drive through this guy while docking. Use this when the dock points are all outside NumberApproachPositions = -1 ; This is a Boneless dock, so this means infini te can approach End Behavior = GenerateMinefieldBehavior ModuleTag_14 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable UpgradedTriggeredBy UpgradedMineName End = Yes = Upgrade_ChinaEMPMines = ChinaEMPMine

Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionSmallSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionSmallShockwave End ;Behavior = CommandSetUpgrade ModuleTag_25 ; CommandSet = Tank_ChinaSupplyCenterCommandSetUpgrade ; TriggeredBy = Upgrade_ChinaMines ;End ;Behavior = ArmorUpgrade ModuleTag_26 ; TriggeredBy = Upgrade_ChinaEMPMines ;End Geometry = BOX GeometryMajorRadius = 52.0 GeometryMinorRadius = 47.0

GeometryHeight GeometryIsSmall Shadow BuildCompletion End

= = = =

30.0 No SHADOW_VOLUME PLACED_BY_PLAYER

;-----------------------------------------------------------------------------Object Tank_ChinaBarracks ; *** ART Parameters *** SelectPortrait = SNBarracks_L ButtonImage = SNBarracks Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBBarracks ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks.NBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = NBBarracks_D ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_D.NBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = NBBarracks_E ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_E.NBBarracks_E AnimationMode = LOOP End ; day SNOW ConditionState = SNOW Model = NBBarracks_S ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_S.NBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBBarracks_DS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DS.NBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBBarracks_ES ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_ES.NBBarracks_ES AnimationMode = LOOP End

; night ConditionState = NIGHT Model = NBBarracks_N ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_N.NBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = NBBarracks_DN ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DN.NBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBBarracks_EN ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_EN.NBBarracks_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = NBBarracks_NS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_NS.NBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = NBBarracks_DNS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DNS.NBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBBarracks_ENS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_ENS.NBBarracks_ENS AnimationMode = LOOP End

;This block handles every possible case with construction process, selling p rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED Model = NBBarracks Animation = NBBarracks.NBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED DAMAGED Model = NBBarracks_D

Animation = NBBarracks_D.NBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBBarracks_E Animation = NBBarracks_E.NBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBBarracks_N Animation = NBBarracks_N.NBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBBarracks_DN Animation = NBBarracks_DN.NBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBBarracks_EN Animation = NBBarracks_EN.NBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBBarracks_S Animation = NBBarracks_S.NBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBBarracks_DS Animation = NBBarracks_DS.NBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBBarracks_ES Animation = NBBarracks_ES.NBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBBarracks_NS Animation = NBBarracks_NS.NBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ConditionState BEING_CONSTRUCTED NIGHT Model Animation AnimationMode Flags End ConditionState BEING_CONSTRUCTED NIGHT Model Animation AnimationMode Flags End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ SNOW DAMAGED = NBBarracks_DNS = NBBarracks_DNS.NBBarracks_DNS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ SNOW REALLYDAMAGED = NBBarracks_ENS = NBBarracks_ENS.NBBarracks_ENS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT

Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = ONCE

AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6

AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = ONCE

AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None

TransitionKey End ConditionState Model TransitionKey End ConditionState Model TransitionKey End ConditionState Model End

= DOWN_DEFAULT = SNOW = None = DOWN_DEFAULT = SNOW NIGHT = None = DOWN_DEFAULT = SOLD = NONE

ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5 Animation = NBBarracks_A5.NBBarracks_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5N Animation = NBBarracks_A5N.NBBarracks_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5S Animation = NBBarracks_A5S.NBBarracks_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5SN Animation = NBBarracks_A5SN.NBBarracks_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_AB Animation = NBBarracks_AB.NBBarracks_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_ABN Animation = NBBarracks_ABN.NBBarracks_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_ABS Animation = NBBarracks_ABS.NBBarracks_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST

End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_ABSN Animation = NBBarracks_ABSN.NBBarracks_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_AB Animation = NBBarracks_AB.NBBarracks_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_ABN Animation = NBBarracks_ABN.NBBarracks_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_ABS Animation = NBBarracks_ABS.NBBarracks_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_ABSN Animation = NBBarracks_ABSN.NBBarracks_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 800 BuildTime = 16 EnergyProduction = 0 CommandSet = Tank_ChinaBarracksCommandSet VisionRange = 200 ShroudClearingRange = 200 ExperienceValue = 75 75 75 75 ArmorSet Conditions Armor DamageFX = None = StructureArmor = StructureDamageFXNoShake

End ; *** AUDIO Parameters *** VoiceSelect = BarracksChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD SCORE CAPTURA BLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_BARRACKS Body = StructureBody ModuleTag_05 MaxHealth = 1600.0 InitialHealth = 1600.0 SubdualDamageCap = 1600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = HealContain ModuleTag_06 ContainMax = 10 ;way bigger than the # of objects we can have TimeForFullHeal = 2000 ;(in milliseconds) AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No End Behavior = DestroyDie ModuleTag_07 End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior DeathFX End = FXListDie ModuleTag_09 = FX_StructureSmallDeath

Behavior = ProductionUpdate ModuleTag_10 End Behavior = QueueProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: -25.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: -25.0 Z:0.0;NaturalRallyPointX must alway s match GeometryMajorRadius! -ML ExitDelay = 300 ; Mainly for the multiple produced Red Guard. Make them com e out one at a time. End Behavior = GenerateMinefieldBehavior ModuleTag_12 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes

Upgradable UpgradedTriggeredBy UpgradedMineName End

= Yes = Upgrade_ChinaEMPMines = ChinaEMPMine

Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionSmallSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionSmallShockwave End ;Behavior = CommandSetUpgrade ModuleTag_25 ; CommandSet = Tank_ChinaBarracksCommandSetUpgrade ; TriggeredBy = Upgrade_ChinaMines ;End ;Behavior = ArmorUpgrade ModuleTag_26 ; TriggeredBy = Upgrade_ChinaEMPMines ;End Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 44.0 GeometryHeight = 30.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;-----------------------------------------------------------------------------Object Tank_ChinaAirfield ; *** ART Parameters *** SelectPortrait = SNAirfield_L ButtonImage = SNAirfield Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone ExtraPublicBone ExtraPublicBone ExtraPublicBone ExtraPublicBone ExtraPublicBone = = = = = = Runway1Parking1 Runway1Parking2 Runway2Parking1 Runway2Parking2 Runway1Park1Han Runway1Park2Han

ExtraPublicBone ExtraPublicBone ExtraPublicBone ExtraPublicBone ExtraPublicBone ExtraPublicBone ExtraPublicBone ExtraPublicBone ExtraPublicBone ExtraPublicBone

= = = = = = = = = =

Runway2Park1Han Runway2Park2Han Runway1Prep1 Runway1Prep2 Runway2Prep1 Runway2Prep2 RunwayStart1 RunwayStart2 RunwayEnd1 RunwayEnd2

ExtraPublicBone = HeliPark01 ; ------------- DAY -----------------DefaultConditionState Model = NBAirfield Animation = NBAirfield.NBAirfield AnimationMode = LOOP End ConditionState = DAMAGED Model = NBAirfield_D Animation = NBAirfield_D.NBAirfield_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = NBAirfield_E Animation = NBAirfield_E.NBAirfield_E AnimationMode = LOOP End ; ------------- SNOW -----------------ConditionState = SNOW Model = NBAirfield_S Animation = NBAirfield_S.NBAirfield_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBAirfield_DS Animation = NBAirfield_DS.NBAirfield_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBAirfield_ES Animation = NBAirfield_ES.NBAirfield_ES AnimationMode = LOOP End ; ------------- NIGHT -----------------ConditionState = NIGHT Model = NBAirfield_N Animation = NBAirfield_N.NBAirfield_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = NBAirfield_DN Animation = NBAirfield_DN.NBAirfield_DN AnimationMode = LOOP End

ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBAirfield_EN Animation = NBAirfield_EN.NBAirfield_EN AnimationMode = LOOP End ; ------------- NIGHT SNOW-----------------ConditionState = NIGHT SNOW Model = NBAirfield_NS Animation = NBAirfield_NS.NBAirfield_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = NBAirfield_DNS Animation = NBAirfield_DNS.NBAirfield_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBAirfield_ENS Animation = NBAirfield_ENS.NBAirfield_ENS AnimationMode = LOOP End ;This block handles every possible case with construction process, selling p rocess, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield Animation = NBAirfield.NBAirfield AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAM AGED Model = NBAirfield_D Animation = NBAirfield_D.NBAirfield_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REA LLYDAMAGED Model = NBAirfield_E Animation = NBAirfield_E.NBAirfield_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIG HT Model = NBAirfield_N Animation = NBAirfield_N.NBAirfield_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIG HT DAMAGED Model = NBAirfield_DN Animation = NBAirfield_DN.NBAirfield_DN AnimationMode = LOOP

Flags End ConditionState HT REALLYDAMAGED Model Animation AnimationMode Flags End ConditionState W Model Animation AnimationMode Flags End ConditionState W DAMAGED Model Animation AnimationMode Flags End ConditionState W REALLYDAMAGED Model Animation AnimationMode Flags End ConditionState HT SNOW Model Animation AnimationMode Flags End ConditionState HT SNOW DAMAGED Model Animation AnimationMode Flags End ConditionState HT SNOW REALLYDAMAGED Model Animation AnimationMode Flags End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState

= ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIG = = = = NBAirfield_EN NBAirfield_EN.NBAirfield_EN LOOP ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

= PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNO = = = = NBAirfield_S NBAirfield_S.NBAirfield_S LOOP ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

= PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNO = = = = NBAirfield_DS NBAirfield_DS.NBAirfield_DS LOOP ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

= PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNO = = = = NBAirfield_ES NBAirfield_ES.NBAirfield_ES LOOP ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

= PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIG = = = = NBAirfield_NS NBAirfield_NS.NBAirfield_NS LOOP ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

= PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIG = = = = NBAirfield_DNS NBAirfield_DNS.NBAirfield_DNS LOOP ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

= PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIG = = = = NBAirfield_ENS NBAirfield_ENS.NBAirfield_ENS LOOP ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

= AWAITING_CONSTRUCTION = NONE = = = = = AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION DAMAGED REALLYDAMAGED NIGHT NIGHT DAMAGED NIGHT REALLYDAMAGED

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= = = = = = = = = = = = = = = = = =

AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = None End End ; ----------------- door #1 ------------------Draw = W3DModelDraw ModuleTag_03 DefaultConditionState Model = NBAirfield_A9 Animation = NBAirfield_A9.NBAirfield_A9 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState DOOR_1_OPENING NBAirfield_A9 NBAirfield_A9.NBAirfield_A9 ONCE START_FRAME_FIRST = = = = = = = = = NIGHT DOOR_1_OPENING SNOW DOOR_1_OPENING SNOW NIGHT DOOR_1_OPENING NIGHT DAMAGED DOOR_1_OPENING SNOW DAMAGED DOOR_1_OPENING SNOW NIGHT DAMAGED DOOR_1_OPENING NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING

ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState

DOOR_1_CLOSING NBAirfield_A9 NBAirfield_A9.NBAirfield_A9 ONCE_BACKWARDS START_FRAME_LAST = = = = = = = = = NIGHT DOOR_1_CLOSING SNOW DOOR_1_CLOSING SNOW NIGHT DOOR_1_CLOSING NIGHT DAMAGED DOOR_1_CLOSING SNOW DAMAGED DOOR_1_CLOSING SNOW NIGHT DAMAGED DOOR_1_CLOSING NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING

DOOR_1_WAITING_OPEN NBAirfield_A9 NBAirfield_A9.NBAirfield_A9 MANUAL START_FRAME_LAST = = = = = = = = = NIGHT DOOR_1_WAITING_OPEN SNOW DOOR_1_WAITING_OPEN SNOW NIGHT DOOR_1_WAITING_OPEN NIGHT DAMAGED DOOR_1_WAITING_OPEN SNOW DAMAGED DOOR_1_WAITING_OPEN SNOW NIGHT DAMAGED DOOR_1_WAITING_OPEN NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN selling p ACTIVELY_

;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBAirfield_A9 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBAirfield_A9 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT SNOW

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_

ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBAirfield_A9 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = =

ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_

AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ----------------- door #2 ------------------; this one has no door #2... (srj) ; Draw = W3DModelDraw ; DefaultConditionState ; Model = NBAirfield_A10 ; Animation = NBAirfield_A10.NBAirfield_A10 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ; End ; ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BE ING_CONSTRUCTED ; Model = NBAirfield_A10 ; Flags = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = DOOR_2_OPENING ; Model = NBAirfield_A10 ; Animation = NBAirfield_A10.NBAirfield_A10 ; AnimationMode = ONCE

; Flags ; End ; ConditionState ; Model ; Animation ; AnimationMode ; Flags ; End ; ConditionState ; Model ; Animation ; AnimationMode ; Flags ; End ; End

= START_FRAME_FIRST = = = = = = = = = = DOOR_2_CLOSING NBAirfield_A10 NBAirfield_A10.NBAirfield_A10 ONCE_BACKWARDS START_FRAME_LAST DOOR_2_WAITING_OPEN NBAirfield_A10 NBAirfield_A10.NBAirfield_A10 MANUAL START_FRAME_LAST

; ----------------- door #3 ------------------Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = NBAirfield_A10 Animation = NBAirfield_A10.NBAirfield_A10 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState DOOR_3_OPENING NBAirfield_A10 NBAirfield_A10.NBAirfield_A10 ONCE START_FRAME_FIRST = = = = = = = = = NIGHT DOOR_3_OPENING SNOW DOOR_3_OPENING SNOW NIGHT DOOR_3_OPENING NIGHT DAMAGED DOOR_3_OPENING SNOW DAMAGED DOOR_3_OPENING SNOW NIGHT DAMAGED DOOR_3_OPENING NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING

DOOR_3_CLOSING NBAirfield_A10 NBAirfield_A10.NBAirfield_A10 ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_3_CLOSING = SNOW DOOR_3_CLOSING = SNOW NIGHT DOOR_3_CLOSING

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState

= = = = = =

NIGHT DAMAGED DOOR_3_CLOSING SNOW DAMAGED DOOR_3_CLOSING SNOW NIGHT DAMAGED DOOR_3_CLOSING NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING

DOOR_3_WAITING_OPEN NBAirfield_A10 NBAirfield_A10.NBAirfield_A10 MANUAL START_FRAME_LAST = = = = = = = = = NIGHT DOOR_3_WAITING_OPEN SNOW DOOR_3_WAITING_OPEN SNOW NIGHT DOOR_3_WAITING_OPEN NIGHT DAMAGED DOOR_3_WAITING_OPEN SNOW DAMAGED DOOR_3_WAITING_OPEN SNOW NIGHT DAMAGED DOOR_3_WAITING_OPEN NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN selling p ACTIVELY_

;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBAirfield_A10 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBAirfield_A10 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT SNOW

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_

ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED REALLYDAMAGED Model = NBAirfield_A10 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED REALLYDAMAGED SNOW

AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

End ; ----------------- door #4 ------------------Draw = W3DModelDraw ModuleTag_05 DefaultConditionState Model = NBAirfield_A8 Animation = NBAirfield_A8.NBAirfield_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState DOOR_4_OPENING NBAirfield_A8 NBAirfield_A8.NBAirfield_A8 ONCE START_FRAME_FIRST = NIGHT DOOR_4_OPENING = SNOW DOOR_4_OPENING

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState

= = = = = = =

SNOW NIGHT DOOR_4_OPENING NIGHT DAMAGED DOOR_4_OPENING SNOW DAMAGED DOOR_4_OPENING SNOW NIGHT DAMAGED DOOR_4_OPENING NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING

DOOR_4_CLOSING NBAirfield_A8 NBAirfield_A8.NBAirfield_A8 ONCE_BACKWARDS START_FRAME_LAST = = = = = = = = = NIGHT DOOR_4_CLOSING SNOW DOOR_4_CLOSING SNOW NIGHT DOOR_4_CLOSING NIGHT DAMAGED DOOR_4_CLOSING SNOW DAMAGED DOOR_4_CLOSING SNOW NIGHT DAMAGED DOOR_4_CLOSING NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING

DOOR_4_WAITING_OPEN NBAirfield_A8 NBAirfield_A8.NBAirfield_A8 MANUAL START_FRAME_LAST = = = = = = = = = NIGHT DOOR_4_WAITING_OPEN SNOW DOOR_4_WAITING_OPEN SNOW NIGHT DOOR_4_WAITING_OPEN NIGHT DAMAGED DOOR_4_WAITING_OPEN SNOW DAMAGED DOOR_4_WAITING_OPEN SNOW NIGHT DAMAGED DOOR_4_WAITING_OPEN NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN

;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBAirfield_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW

selling p ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_

ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED DAMAGED Model = NBAirfield_A8

Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBAirfield_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End ; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_

End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBAirfield_A4 Animation = NBAirfield_A4.NBAirfield_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBAirfield_A4N Animation = NBAirfield_A4N.NBAirfield_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBAirfield_A4S Animation = NBAirfield_A4S.NBAirfield_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A4SN Animation = NBAirfield_A4SN.NBAirfield_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBAirfield_A4 Animation = NBAirfield_A4.NBAirfield_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBAirfield_A4N Animation = NBAirfield_A4N.NBAirfield_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBAirfield_A4S Animation = NBAirfield_A4S.NBAirfield_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0

Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBAirfield_A4SN Animation = NBAirfield_A4SN.NBAirfield_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBAirfield_A4 Animation = NBAirfield_A4.NBAirfield_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBAirfield_A4N Animation = NBAirfield_A4N.NBAirfield_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBAirfield_A4S Animation = NBAirfield_A4S.NBAirfield_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBAirfield_A4SN Animation = NBAirfield_A4SN.NBAirfield_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT

Model TransitionKey End ConditionState Model Animation AnimationMode Flags TransitionKey ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags TransitionKey ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags TransitionKey ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags TransitionKey ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End TransitionState Model Animation AnimationMode

= None = DOWN_DEFAULT = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = PARTIALLY_CONSTRUCTED NBAirfield_A6 NBAirfield_A6.NBAirfield_A6 MANUAL START_FRAME_LAST UP_DAY Dust01 BuildingDustChina Smoke01 BuildUpSmokeChina Smoke02 BuildUpSmokeChina Smoke03 BuildUpSmokeChina Smoke04 BuildUpSmokeChina Smoke05 BuildUpSmokeChina NIGHT PARTIALLY_CONSTRUCTED NBAirfield_A6N NBAirfield_A6N.NBAirfield_A6N MANUAL START_FRAME_LAST UP_NIGHT Dust01 BuildingDustChina Smoke01 BuildUpSmokeChina Smoke02 BuildUpSmokeChina Smoke03 BuildUpSmokeChina Smoke04 BuildUpSmokeChina Smoke05 BuildUpSmokeChina SNOW PARTIALLY_CONSTRUCTED NBAirfield_A6S NBAirfield_A6S.NBAirfield_A6S MANUAL START_FRAME_LAST UP_SNOW Dust01 BuildingSnowDust Smoke01 BuildUpSnowSmoke Smoke02 BuildUpSnowSmoke Smoke03 BuildUpSnowSmoke Smoke04 BuildUpSnowSmoke Smoke05 BuildUpSnowSmoke SNOW NIGHT PARTIALLY_CONSTRUCTED NBAirfield_A6SN NBAirfield_A6SN.NBAirfield_A6SN MANUAL START_FRAME_LAST UP_SNOWNIGHT Dust01 BuildingNightSnowDust Smoke01 BuildUpNightSnowSmoke Smoke02 BuildUpNightSnowSmoke Smoke03 BuildUpNightSnowSmoke Smoke04 BuildUpNightSnowSmoke Smoke05 BuildUpNightSnowSmoke

= DOWN_DEFAULT UP_DAY = NBAirfield_A6 = NBAirfield_A6.NBAirfield_A6 = ONCE

AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBAirfield_A6N Animation = NBAirfield_A6N.NBAirfield_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBAirfield_A6S Animation = NBAirfield_A6S.NBAirfield_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBAirfield_A6SN Animation = NBAirfield_A6SN.NBAirfield_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBAirfield_A6 Animation = NBAirfield_A6.NBAirfield_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBAirfield_A6N Animation = NBAirfield_A6N.NBAirfield_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBAirfield_A6S Animation = NBAirfield_A6S.NBAirfield_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBAirfield_A6SN Animation = NBAirfield_A6SN.NBAirfield_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ being-constructed crane -----------------

Draw = W3DModelDraw ModuleTag_08 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5 Animation = NBAirfield_A5.NBAirfield_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5N Animation = NBAirfield_A5N.NBAirfield_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5S Animation = NBAirfield_A5S.NBAirfield_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5SN Animation = NBAirfield_A5SN.NBAirfield_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBAirfield_AB Animation = NBAirfield_AB.NBAirfield_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState Model Animation = DOWN_DEFAULT UP_NIGHT = NBAirfield_ABN = NBAirfield_ABN.NBAirfield_ABN

AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBAirfield_ABS Animation = NBAirfield_ABS.NBAirfield_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBAirfield_ABSN Animation = NBAirfield_ABSN.NBAirfield_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBAirfield_AB Animation = NBAirfield_AB.NBAirfield_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End = START_FRAME_LAST

TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBAirfield_ABN Animation = NBAirfield_ABN.NBAirfield_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBAirfield_ABS Animation = NBAirfield_ABS.NBAirfield_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBAirfield_ABSN Animation = NBAirfield_ABSN.NBAirfield_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Airfield Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 1500

BuildTime = 30 EnergyProduction = -1 CommandSet = Tank_ChinaAirfieldCommandSet VisionRange = 200 ShroudClearingRange = 200 ExperienceValue = 100 100 100 100 Prerequisites Object = Tank_ChinaSupplyCenter Science = SCIENCE_Rank3 End ArmorSet Conditions Armor DamageFX End = None = StructureArmor = StructureDamageFXNoShake

; *** AUDIO Parameters *** VoiceSelect = AirfieldChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TE CHNOLOGY MP_COUNT_FOR_VICTORY FS_FACTORY FS_AIRFIELD AUTO_RALLYPOINT Body = StructureBody ModuleTag_09 MaxHealth = 3000.0 InitialHealth = 3000.0 SubdualDamageCap = 3000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ParkingPlaceBehavior ModuleTag_10 HealAmountPerSecond = 10 NumRows = 2 NumCols = 2 HasRunways = Yes ApproachHeight = 50 ParkInHangars = Yes End Behavior = ProductionUpdate ModuleTag_11 NumDoorAnimations = 4 DoorOpeningTime = 2000 ;in DoorWaitOpenTime = 3000 ;in DoorCloseTime = 2000 ;in ConstructionCompleteDuration = 1000 ;in End Behavior = DestroyDie ModuleTag_12 End Behavior = CreateObjectDie ModuleTag_13

mSeconds mSeconds mSeconds mSeconds

CreationList = OCL_ABPowerPlantExplode End Behavior DeathFX End = FXListDie ModuleTag_14 = FX_StructureMediumDeath

Behavior = GenerateMinefieldBehavior ModuleTag_15 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_17 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionMediumShockwave End ;Behavior = CommandSetUpgrade ModuleTag_25 ; CommandSet = Tank_ChinaAirfieldCommandSetUpgrade ; TriggeredBy = Upgrade_ChinaMines ;End ;Behavior = ArmorUpgrade ModuleTag_26 ; TriggeredBy = Upgrade_ChinaEMPMines ;End Geometry = BOX GeometryMajorRadius = 83.0 GeometryMinorRadius = 76.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;-----------------------------------------------------------------------------Object Tank_ChinaWarFactory ; *** ART Parameters *** SelectPortrait = SNWarFact_L

ButtonImage

= SNWarFact

; ------------ the main factory itself ----------------Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day DefaultConditionState Model = NBWarFact ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED Model = NBWarFact_D ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ConditionState = SNOW Model = NBWarFact_S ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED SNOW Model = NBWarFact_DS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBWarFact_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

= = = = = = = = = =

Smoke04 Smoke05 Smoke06 Smoke07 Fire01 Fire01 Fire02 Fire02 Fire03 Fire03

SmolderingSmoke SmolderingSmoke SmolderingSmoke SmolderingSmoke SmolderingFire SmolderingFlameCore SmolderingFire SmolderingFlameCore SmolderingFire SmolderingFlameCore

; night ********************************************** ConditionState = NIGHT Model = NBWarFact_N ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED NIGHT Model = NBWarFact_DN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBWarFact_EN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ; night SNOW ConditionState = NIGHT SNOW Model = NBWarFact_NS ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED NIGHT SNOW Model = NBWarFact_DNS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore

ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBWarFact_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBWarFact ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBWarFact_D ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_E ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBWarFact_N ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBWarFact_DN ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBWarFact_EN ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED selling p ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

BEING_CONSTRUCTED SNOW Model = NBWarFact_S ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBWarFact_DS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBWarFact_ES ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBWarFact_NS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBWarFact_DNS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBWarFact_ENS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = =

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW

AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED End ; ------------------ the construction crane -----------Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = None Model = NBWarFact_A1 Animation = NBWarFact_A1.NBWarFact_A1 AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = DAMAGED Model = NBWarFact_A1D Animation = NBWarFact_A1D.NBWarFact_A1D AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_A1E Animation = NBWarFact_A1E.NBWarFact_A1E AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING Model = NBWarFact_A2 Animation = NBWarFact_A2.NBWarFact_A2 AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = NBWarFact_A2D Animation = NBWarFact_A2D.NBWarFact_A2D AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = NBWarFact_A2E Animation = NBWarFact_A2E.NBWarFact_A2E AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED Model = NBWarFact_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = SOLD DAMAGED REALLYDAMAGED RUBBLE Model = NONE End End ; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End

ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End

TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End = START_FRAME_LAST

End ; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke

End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End TransitionState Model = START_FRAME_LAST = UP_SNOW DOWN_DEFAULT = NBWarFact_A6S

Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------------ the construction conveyor belt -----------Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes DefaultConditionState Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP ; Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = ACTIVELY_CONSTRUCTING Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP ; Flags = START_FRAME_FIRST End AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = SNOW ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = SNOW DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING AliasConditionState = SNOW REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING ;This block handles every possible case with construction process, selling p rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP

Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End ; ----------------- the factory door ------------------Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = =

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState DAMAGED NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D MANUAL START_FRAME_FIRST = NIGHT DAMAGED = SNOW DAMAGED = NIGHT SNOW DAMAGED REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E MANUAL START_FRAME_FIRST = NIGHT REALLYDAMAGED RUBBLE = SNOW REALLYDAMAGED RUBBLE = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING = SNOW DOOR_1_OPENING = NIGHT SNOW DOOR_1_OPENING

ConditionState = DOOR_1_OPENING DAMAGED Model = NBWarFact_A8D Animation = NBWarFact_A8D.NBWarFact_A8D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState Model Animation AnimationMode = = = = DOOR_1_OPENING REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE DOOR_1_CLOSING NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 ONCE_BACKWARDS

Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState

START_FRAME_LAST = NIGHT DOOR_1_CLOSING = SNOW DOOR_1_CLOSING = NIGHT SNOW DOOR_1_CLOSING DOOR_1_CLOSING DAMAGED NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING DAMAGED = SNOW DOOR_1_CLOSING DAMAGED = NIGHT SNOW DOOR_1_CLOSING DAMAGED DOOR_1_CLOSING REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN = SNOW DOOR_1_WAITING_OPEN = NIGHT SNOW DOOR_1_WAITING_OPEN DOOR_1_WAITING_OPEN DAMAGED NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN DAMAGED = SNOW DOOR_1_WAITING_OPEN DAMAGED = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE

;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBWarFact_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBWarFact_A8D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_A8E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED

selling p ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_

ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState

= AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED DAMAGED REALLYDAMAGED NIGHT NIGHT DAMAGED NIGHT REALLYDAMAGED SNOW SNOW DAMAGED SNOW REALLYDAMAGED NIGHT SNOW NIGHT SNOW DAMAGED NIGHT SNOW REALLYDAMAGED

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= = = = = = =

SOLD SOLD SOLD SOLD SOLD SOLD SOLD

NIGHT REALLYDAMAGED SNOW SNOW DAMAGED SNOW REALLYDAMAGED NIGHT SNOW NIGHT SNOW DAMAGED NIGHT SNOW REALLYDAMAGED

; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5 Animation = NBWarFact_A5.NBWarFact_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5N Animation = NBWarFact_A5N.NBWarFact_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState Model Animation AnimationMode TransitionKey End ConditionState Model Animation AnimationMode TransitionKey End TransitionState Model = SNOW ACTIVELY_BEING_CONSTRUCTED = NBWarFact_A5S = NBWarFact_A5S.NBWarFact_A5S = LOOP = UP_SNOW = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED = NBWarFact_A5SN = NBWarFact_A5SN.NBWarFact_A5SN = LOOP = UP_SNOWNIGHT = DOWN_DEFAULT UP_DAY = NBWarFact_AB

Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:WarFactory Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 40 EnergyProduction = -1 CommandSet = Tank_ChinaWarFactoryCommandSet VisionRange = 200 ShroudClearingRange = 200 ExperienceValue = 100 100 100 100 Prerequisites Object = Tank_ChinaSupplyCenter End ArmorSet Conditions Armor DamageFX End = None = StructureArmor = StructureDamageFXNoShake

; *** AUDIO Parameters *** VoiceSelect = WarFactoryChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTU RABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY Body = StructureBody ModuleTag_08 MaxHealth = 4000.0 InitialHealth = 4000.0 SubdualDamageCap = 4000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = DestroyDie ModuleTag_09 End Behavior = CreateObjectDie ModuleTag_10 CreationList = OCL_LargeStructureDebris End Behavior DeathFX End = FXListDie ModuleTag_11 = FX_StructureMediumDeath

Behavior = ProductionUpdate ModuleTag_12 NumDoorAnimations = 1

DoorOpeningTime = 4000 ;in mSeconds DoorWaitOpenTime = 2000 ;in mSeconds DoorCloseTime = 5000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_13 UnitCreatePoint = X: 0.0 Y:-27.0 Z:0.0 NaturalRallyPoint = X: 57.0 Y:-27.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_14 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = GenerateMinefieldBehavior ModuleTag_22 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable UpgradedTriggeredBy UpgradedMineName End = Yes = Upgrade_ChinaEMPMines = ChinaEMPMine

Behavior = TransitionDamageFX ModuleTag_23 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionMediumShockwave End Behavior = CommandSetUpgrade ModuleTag_ComSet01 CommandSet = Tank_ChinaWarFactoryCommandSetBTR TriggeredBy = Upgrade_SwitchCommandSet ConflictsWith = Upgrade_SwitchBackCommandSet RemovesUpgrades = Upgrade_SwitchCommandSet Upgrade_SwitchBackCommandSet End Behavior = CommandSetUpgrade ModuleTag_ComSet02 CommandSet = Tank_ChinaWarFactoryCommandSet TriggeredBy = Upgrade_SwitchBackCommandSet ConflictsWith = Upgrade_SwitchCommandSet RemovesUpgrades = Upgrade_SwitchCommandSet Upgrade_SwitchBackCommandSet End

Geometry = BOX GeometryMajorRadius = 57.0 GeometryMinorRadius = 61.0 GeometryHeight = 30.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;-----------------------------------------------------------------------------Object Tank_ChinaBunker ; *** ART Parameters *** SelectPortrait = ButtonImage = Draw = OkToChangeModelColor = ;day ConditionState Model End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone SNBunker_L SNBunker W3DModelDraw ModuleTag_01 Yes

= NONE = NBBunker = DAMAGED = NBBunker_D = Fire01 = Smoke01 = Fire01 = Fire02 = Smoke02 = Fire02

SmolderingFire SmolderingSmoke SmolderingFlameCore SmolderingFire SmolderingSmoke SmolderingFlameCore

= REALLYDAMAGED RUBBLE = NBBunker_E = Fire01 SmolderingFire = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Fire02 SmolderingFlameCore = Fire03 SmolderingFire = Fire03 SmolderingFlameCore = Fire04 SmolderingFire = Fire04 SmolderingFlameCore = Fire05 SmolderingFire = Fire05 SmolderingFlameCore = Smoke01 SmolderingSmoke = Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = Smoke04 SmolderingSmoke = Smoke05 SmolderingSmoke = GARRISONED = NBBunker_G = DAMAGED GARRISONED = NBBunker_DG = Fire01 SmolderingFire = Smoke01 SmolderingSmoke = Fire01 SmolderingFlameCore = Fire02 SmolderingFire

ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

= Smoke02 SmolderingSmoke = Fire02 SmolderingFlameCore = REALLYDAMAGED RUBBLE GARRISONED = NBBunker_EG = Fire01 SmolderingFire = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Fire02 SmolderingFlameCore = Fire03 SmolderingFire = Fire03 SmolderingFlameCore = Fire04 SmolderingFire = Fire04 SmolderingFlameCore = Fire05 SmolderingFire = Fire05 SmolderingFlameCore = Smoke01 SmolderingSmoke = Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = Smoke04 SmolderingSmoke = Smoke05 SmolderingSmoke

ConditionState Model End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model End ConditionState

= SNOW = NBBunker_S = DAMAGED SNOW = NBBunker_DS = Fire01 SmolderingFire = Smoke01 SmolderingSmoke = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Smoke02 SmolderingSmoke = Fire02 SmolderingFlameCore = REALLYDAMAGED RUBBLE SNOW = NBBunker_ES = Fire01 SmolderingFire = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Fire02 SmolderingFlameCore = Fire03 SmolderingFire = Fire03 SmolderingFlameCore = Fire04 SmolderingFire = Fire04 SmolderingFlameCore = Fire05 SmolderingFire = Fire05 SmolderingFlameCore = Smoke01 SmolderingSmoke = Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = Smoke04 SmolderingSmoke = Smoke05 SmolderingSmoke

= SNOW GARRISONED = NBBunker_SG = DAMAGED SNOW GARRISONED

Model = NBBunker_DSG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE SNOW GARRISONED Model = NBBunker_ESG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ;night ConditionState Model End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ;night = NIGHT = NBBunker_N = DAMAGED NIGHT = NBBunker_DN = Fire01 SmolderingFire = Smoke01 SmolderingSmoke = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Smoke02 SmolderingSmoke = Fire02 SmolderingFlameCore = REALLYDAMAGED RUBBLE NIGHT = NBBunker_EN = Fire01 SmolderingFire = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Fire02 SmolderingFlameCore = Fire03 SmolderingFire = Fire03 SmolderingFlameCore = Fire04 SmolderingFire = Fire04 SmolderingFlameCore = Fire05 SmolderingFire = Fire05 SmolderingFlameCore = Smoke01 SmolderingSmoke = Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = Smoke04 SmolderingSmoke = Smoke05 SmolderingSmoke

ConditionState Model End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ;night snow ConditionState Model End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= NIGHT GARRISONED = NBBunker_NG = DAMAGED NIGHT GARRISONED = NBBunker_DNG = Fire01 SmolderingFire = Smoke01 SmolderingSmoke = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Smoke02 SmolderingSmoke = Fire02 SmolderingFlameCore = REALLYDAMAGED RUBBLE NIGHT GARRISONED = NBBunker_ENG = Fire01 SmolderingFire = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Fire02 SmolderingFlameCore = Fire03 SmolderingFire = Fire03 SmolderingFlameCore = Fire04 SmolderingFire = Fire04 SmolderingFlameCore = Fire05 SmolderingFire = Fire05 SmolderingFlameCore = Smoke01 SmolderingSmoke = Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = Smoke04 SmolderingSmoke = Smoke05 SmolderingSmoke

= NIGHT SNOW = NBBunker_NS = DAMAGED NIGHT SNOW = NBBunker_DNS = Fire01 SmolderingFire = Smoke01 SmolderingSmoke = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Smoke02 SmolderingSmoke = Fire02 SmolderingFlameCore = REALLYDAMAGED RUBBLE NIGHT SNOW = NBBunker_ENS = Fire01 SmolderingFire = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Fire02 SmolderingFlameCore = Fire03 SmolderingFire = Fire03 SmolderingFlameCore = Fire04 SmolderingFire = Fire04 SmolderingFlameCore = Fire05 SmolderingFire = Fire05 SmolderingFlameCore = Smoke01 SmolderingSmoke = Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = Smoke04 SmolderingSmoke

ParticleSysBone End ;night snow ConditionState Model End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

= Smoke05 SmolderingSmoke

= NIGHT SNOW GARRISONED = NBBunker_NSG = DAMAGED NIGHT SNOW GARRISONED = NBBunker_DNSG = Fire01 SmolderingFire = Smoke01 SmolderingSmoke = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Smoke02 SmolderingSmoke = Fire02 SmolderingFlameCore = REALLYDAMAGED RUBBLE NIGHT SNOW GARRISONED = NBBunker_ENSG = Fire01 SmolderingFire = Fire01 SmolderingFlameCore = Fire02 SmolderingFire = Fire02 SmolderingFlameCore = Fire03 SmolderingFire = Fire03 SmolderingFlameCore = Fire04 SmolderingFire = Fire04 SmolderingFlameCore = Fire05 SmolderingFire = Fire05 SmolderingFlameCore = Smoke01 SmolderingSmoke = Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = Smoke04 SmolderingSmoke = Smoke05 SmolderingSmoke

;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBBunker ;Animation = NBBunker.NBBunker ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBBunker_D ;Animation = NBBunker_D.NBBunker_D ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBBunker_E ;Animation = NBBunker_E.NBBunker_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

selling p ACTIVELY_

ACTIVELY_

ACTIVELY_

End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBBunker_N ;Animation = NBBunker_N.NBBunker_N ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBBunker_DN ;Animation = NBBunker_DN.NBBunker_DN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBBunker_EN ;Animation = NBBunker_EN.NBBunker_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBBunker_S ;Animation = NBBunker_S.NBBunker_S ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBBunker_DS ;Animation = NBBunker_DS.NBBunker_DS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBBunker_ES ;Animation = NBBunker_ES.NBBunker_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBBunker_NS ;Animation = NBBunker_NS.NBBunker_NS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBBunker_DNS ;Animation = NBBunker_DNS.NBBunker_DNS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBBunker_ENS

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

; Animation ; AnimationMode Flags End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState

= NBBunker_ENS.NBBunker_ENS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED SOLD GARRISONED SOLD DAMAGED GARRISONED SOLD REALLYDAMAGED GARRISONED SOLD NIGHT GARRISONED SOLD NIGHT DAMAGED GARRISONED SOLD NIGHT REALLYDAMAGED GARRISONED SOLD SNOW GARRISONED SOLD SNOW DAMAGED GARRISONED SOLD SNOW REALLYDAMAGED GARRISONED SOLD NIGHT SNOW GARRISONED SOLD NIGHT SNOW DAMAGED GARRISONED SOLD NIGHT SNOW REALLYDAMAGED GARRISONED

End ; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW

Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBBunker_A4 Animation = NBBunker_A4.NBBunker_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBBunker_A4N Animation = NBBunker_A4N.NBBunker_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBBunker_A4S Animation = NBBunker_A4S.NBBunker_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBBunker_A4SN Animation = NBBunker_A4SN.NBBunker_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBunker_A4 Animation = NBBunker_A4.NBBunker_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBunker_A4N Animation = NBBunker_A4N.NBBunker_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBunker_A4S Animation = NBBunker_A4S.NBBunker_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End

TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBunker_A4SN Animation = NBBunker_A4SN.NBBunker_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBunker_A4 Animation = NBBunker_A4.NBBunker_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBunker_A4N Animation = NBBunker_A4N.NBBunker_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBunker_A4S Animation = NBBunker_A4S.NBBunker_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBunker_A4SN Animation = NBBunker_A4SN.NBBunker_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT

End ConditionState = PARTIALLY_CONSTRUCTED Model = NBBunker_A6 Animation = NBBunker_A6.NBBunker_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBBunker_A6N Animation = NBBunker_A6N.NBBunker_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBBunker_A6S Animation = NBBunker_A6S.NBBunker_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBBunker_A6SN Animation = NBBunker_A6SN.NBBunker_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBunker_A6 Animation = NBBunker_A6.NBBunker_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBunker_A6N Animation = NBBunker_A6N.NBBunker_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW

Model = NBBunker_A6S Animation = NBBunker_A6S.NBBunker_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBunker_A6SN Animation = NBBunker_A6SN.NBBunker_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBunker_A6 Animation = NBBunker_A6.NBBunker_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBunker_A6N Animation = NBBunker_A6N.NBBunker_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBunker_A6S Animation = NBBunker_A6S.NBBunker_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBunker_A6SN Animation = NBBunker_A6SN.NBBunker_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None

TransitionKey End ConditionState Model TransitionKey End ConditionState Model End

= DOWN_DEFAULT = SNOW NIGHT = None = DOWN_DEFAULT = SOLD = NONE

ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5 Animation = NBBunker_A5.NBBunker_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5N Animation = NBBunker_A5N.NBBunker_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5S Animation = NBBunker_A5S.NBBunker_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5SN Animation = NBBunker_A5SN.NBBunker_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBunker_AB Animation = NBBunker_AB.NBBunker_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBunker_ABN Animation = NBBunker_ABN.NBBunker_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBunker_ABS Animation = NBBunker_ABS.NBBunker_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBunker_ABSN Animation = NBBunker_ABSN.NBBunker_ABSN

AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBunker_AB Animation = NBBunker_AB.NBBunker_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBunker_ABN Animation = NBBunker_ABN.NBBunker_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBunker_ABS Animation = NBBunker_ABS.NBBunker_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBunker_ABSN Animation = NBBunker_ABSN.NBBunker_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End PlacementViewAngle = START_FRAME_LAST

= -135

; ***DESIGN parameters *** DisplayName = OBJECT:Bunker Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 1.0 EnergyProduction = 0 VisionRange = 300 ShroudClearingRange = 200 Prerequisites Object = Tank_ChinaBarracks End ArmorSet Conditions Armor DamageFX End CommandSet = None = StructureArmor = StructureDamageFXNoShake = ChinaBunkerCommandSet

; *** AUDIO Parameters *** VoiceSelect = BunkerSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters *** KindOf = PRELOAD STRUCTURE SELECTABLE STICK_TO_TERRAIN_SLOPE IMMOBI LE SCORE FS_BASE_DEFENSE GARRISONABLE_UNTIL_DESTROYED IMMUNE_TO_CAPTURE HEAL_PAD Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End ExperienceValue = 39 56 82 118

Behavior = GarrisonContain ModuleTag_08 ContainMax = 10 EnterSound = GarrisonEnter ExitSound = GarrisonExit ImmuneToClearBuildingAttacks = Yes End Behavior = GenerateMinefieldBehavior ModuleTag_09 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable UpgradedTriggeredBy UpgradedMineName End = Yes = Upgrade_ChinaEMPMines = ChinaEMPMine

Behavior = ProductionUpdate ModuleTag_10 End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureSmallDeath End Behavior = DestroyDie ModuleTag_06 End Behavior = TransitionDamageFX ModuleTag_15

;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionSmallSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionSmallShockwave End Geometry GeometryMajorRadius GeometryMinorRadius GeometryHeight GeometryIsSmall Shadow BuildCompletion End = = = = = = = BOX 16.0 16.0 20.0 No SHADOW_VOLUME PLACED_BY_PLAYER

;-----------------------------------------------------------------------------Object Tank_ChinaPropagandaCenter ; *** ART Parameters *** SelectPortrait = SNPropCentr_L ButtonImage = SNPropCentr UpgradeCameo1 = Upgrade_ChinaSubliminalMessaging Draw OkToChangeModelColor ;day ConditionState Model Animation AnimationMode End ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ; ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone = W3DModelDraw ModuleTag_01 = Yes = = = = = = = = = = = = = = = = = = NONE NBPCenter NBPCenter.NBPCenter LOOP DAMAGED NBPCenter_D NBPCenter_D.NBPCenter_D LOOP Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Fire01 SmolderingFire

REALLYDAMAGED RUBBLE NBPCenter_E NBPCenter_E.NBPCenter_E LOOP Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = Smoke04 SmolderingSmoke = Smoke05 SmolderingSmoke = Smoke06 SmolderingSmoke = Fire01 SmolderingFire

ParticleSysBone ParticleSysBone ParticleSysBone End ;night ConditionState Model Animation AnimationMode End ;damaged ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ;reallydamaged ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode End ;damaged ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ;reallydamaged ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone

= Fire02 SmolderingFire = Fire03 SmolderingFire = Spark01

= = = = = = = = = = = = = = = = = =

NIGHT NBPCenter_N NBPCenter_N.NBPCenter_N LOOP DAMAGED NIGHT NBPCenter_DN NBPCenter_DN.NBPCenter_DN LOOP Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Fire01 SmolderingFire

REALLYDAMAGED RUBBLE NIGHT NBPCenter_EN NBPCenter_EN.NBPCenter_EN LOOP Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = Smoke04 SmolderingSmoke = Smoke05 SmolderingSmoke = Smoke06 SmolderingSmoke = Fire01 SmolderingFire = Fire02 SmolderingFire = Fire03 SmolderingFire = Spark01 = = = = = = = = = = = = = = = = = = SNOW NBPCenter_S NBPCenter_S.NBPCenter_S LOOP DAMAGED SNOW NBPCenter_DS NBPCenter_DS.NBPCenter_DS LOOP Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Fire01 SmolderingFire REALLYDAMAGED RUBBLE SNOW NBPCenter_ES NBPCenter_ES.NBPCenter_ES LOOP Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ;night ConditionState Model Animation AnimationMode End ;damaged ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ;reallydamaged ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

= = = = = =

= Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmolderingSmoke Smoke06 SmolderingSmoke Fire01 SmolderingFire Fire02 SmolderingFire Fire03 SmolderingFire = Spark01

= = = = = = = = = = = = = = = = = =

NIGHT SNOW NBPCenter_NS NBPCenter_NS.NBPCenter_NS LOOP DAMAGED NIGHT SNOW NBPCenter_DNS NBPCenter_DNS.NBPCenter_DNS LOOP Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Fire01 SmolderingFire

REALLYDAMAGED RUBBLE NIGHT SNOW NBPCenter_ENS NBPCenter_ENS.NBPCenter_ENS LOOP Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = Smoke04 SmolderingSmoke = Smoke05 SmolderingSmoke = Smoke06 SmolderingSmoke = Fire01 SmolderingFire = Fire02 SmolderingFire = Fire03 SmolderingFire = Spark01

;This block handles every possible case with construction process, selling p rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED Model = NBPCenter Animation = NBPCenter.NBPCenter AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED DAMAGED Model = NBPCenter_D Animation = NBPCenter_D.NBPCenter_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBPCenter_E Animation = NBPCenter_E.NBPCenter_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBPCenter_N Animation = NBPCenter_N.NBPCenter_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBPCenter_DN Animation = NBPCenter_DN.NBPCenter_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBPCenter_EN Animation = NBPCenter_EN.NBPCenter_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBPCenter_S Animation = NBPCenter_S.NBPCenter_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBPCenter_DS Animation = NBPCenter_DS.NBPCenter_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBPCenter_ES Animation = NBPCenter_ES.NBPCenter_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBPCenter_NS Animation = NBPCenter_NS.NBPCenter_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBPCenter_DNS

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

Animation AnimationMode Flags End ConditionState BEING_CONSTRUCTED NIGHT Model Animation AnimationMode Flags End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= NBPCenter_DNS.NBPCenter_DNS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ SNOW REALLYDAMAGED = NBPCenter_ENS = NBPCenter_ENS.NBPCenter_ENS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ----------------- the factory door ------------------Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = NBPCenter_A1 Animation = NBPCenter_A1.NBPCenter_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED AliasConditionState = SNOW REALLYDAMAGED AliasConditionState = NIGHT SNOW REALLYDAMAGED

ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState

= AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED RUBBLE SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBPCenter_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTI VELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIV ELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUC TED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCT ED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CON STRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION PARTIALLY_CO NSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW REALLYDAMAGED AWAITING_CONSTRUCTION PARTIALLY_CON STRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW REALLYDAMAGED AWAITING_CONSTRUCTION PARTIAL LY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState DOOR_1_OPENING NBPCenter_A1 NBPCenter_A1.NBPCenter_A1 ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING = SNOW DOOR_1_OPENING = NIGHT SNOW DOOR_1_OPENING

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState ; ; ; ; ; ; ; ; ; ; ; ; End ConditionState Model Animation AnimationMode Flags End ConditionState Model Animation AnimationMode Flags End = = = = = = = = = =

= = = = = =

NIGHT DAMAGED DOOR_1_OPENING SNOW DAMAGED DOOR_1_OPENING NIGHT SNOW DAMAGED DOOR_1_OPENING NIGHT REALLYDAMAGED DOOR_1_OPENING SNOW REALLYDAMAGED DOOR_1_OPENING NIGHT SNOW REALLYDAMAGED DOOR_1_OPENING

DOOR_1_CLOSING NBPCenter_A1 NBPCenter_A1.NBPCenter_A1 ONCE_BACKWARDS START_FRAME_LAST = = = = = = = = = NIGHT DOOR_1_CLOSING SNOW DOOR_1_CLOSING NIGHT SNOW DOOR_1_CLOSING NIGHT DAMAGED DOOR_1_CLOSING SNOW DAMAGED DOOR_1_CLOSING NIGHT SNOW DAMAGED DOOR_1_CLOSING NIGHT REALLYDAMAGED DOOR_1_CLOSING SNOW REALLYDAMAGED DOOR_1_CLOSING NIGHT SNOW REALLYDAMAGED DOOR_1_CLOSING

DOOR_1_WAITING_OPEN NBPCenter_A1 NBPCenter_A1.NBPCenter_A1 MANUAL START_FRAME_LAST = = = = = = = = = NIGHT DOOR_1_WAITING_OPEN SNOW DOOR_1_WAITING_OPEN NIGHT SNOW DOOR_1_WAITING_OPEN NIGHT DAMAGED DOOR_1_WAITING_OPEN SNOW DAMAGED DOOR_1_WAITING_OPEN NIGHT SNOW DAMAGED DOOR_1_WAITING_OPEN NIGHT REALLYDAMAGED DOOR_1_WAITING_OPEN SNOW REALLYDAMAGED DOOR_1_WAITING_OPEN NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_OPEN DOOR_1_WAITING_OPEN DAMAGED NBPCenter_A1D NBPCenter_A1D.NBPCenter_A1D MANUAL START_FRAME_LAST DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NBPCenter_A1E NBPCenter_A1E.NBPCenter_A1E MANUAL START_FRAME_LAST

; -------- spreading propaganda flashing lights ---------Draw = W3DModelDraw ModuleTag_03 DefaultConditionState Model = None End ConditionState = SOLD Model = NONE

End ConditionState Model End ConditionState Model End ConditionState Model End ConditionState Model Animation AnimationMode Flags End End

= SOLD SNOW = NONE = SOLD NIGHT = NONE = SOLD NIGHT SNOW = NONE = = = = = CONSTRUCTION_COMPLETE NBPCenter_A2 NBPCenter_A2.NBPCenter_A2 LOOP START_FRAME_FIRST

; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBPCenter_A4 Animation = NBPCenter_A4.NBPCenter_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBPCenter_A4N Animation = NBPCenter_A4N.NBPCenter_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBPCenter_A4S Animation = NBPCenter_A4S.NBPCenter_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW

End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A4SN Animation = NBPCenter_A4SN.NBPCenter_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPCenter_A4 Animation = NBPCenter_A4.NBPCenter_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPCenter_A4N Animation = NBPCenter_A4N.NBPCenter_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPCenter_A4S Animation = NBPCenter_A4S.NBPCenter_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPCenter_A4SN Animation = NBPCenter_A4SN.NBPCenter_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPCenter_A4 Animation = NBPCenter_A4.NBPCenter_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPCenter_A4N Animation = NBPCenter_A4N.NBPCenter_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPCenter_A4S Animation = NBPCenter_A4S.NBPCenter_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly

Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPCenter_A4SN Animation = NBPCenter_A4SN.NBPCenter_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBPCenter_A6 Animation = NBPCenter_A6.NBPCenter_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBPCenter_A6N Animation = NBPCenter_A6N.NBPCenter_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBPCenter_A6S Animation = NBPCenter_A6S.NBPCenter_A6S AnimationMode = MANUAL

Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBPCenter_A6SN Animation = NBPCenter_A6SN.NBPCenter_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPCenter_A6 Animation = NBPCenter_A6.NBPCenter_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPCenter_A6N Animation = NBPCenter_A6N.NBPCenter_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPCenter_A6S Animation = NBPCenter_A6S.NBPCenter_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPCenter_A6SN Animation = NBPCenter_A6SN.NBPCenter_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPCenter_A6 Animation = NBPCenter_A6.NBPCenter_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End TransitionState Model Animation AnimationMode = START_FRAME_LAST = = = = UP_NIGHT DOWN_DEFAULT NBPCenter_A6N NBPCenter_A6N.NBPCenter_A6N ONCE_BACKWARDS

AnimationSpeedFactorRange = 2.0 2.0 kly

; play teardown animations more quic

Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPCenter_A6S Animation = NBPCenter_A6S.NBPCenter_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPCenter_A6SN Animation = NBPCenter_A6SN.NBPCenter_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5 Animation = NBPCenter_A5.NBPCenter_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5N Animation = NBPCenter_A5N.NBPCenter_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5S

Animation = NBPCenter_A5S.NBPCenter_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5SN Animation = NBPCenter_A5SN.NBPCenter_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPCenter_AB Animation = NBPCenter_AB.NBPCenter_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPCenter_ABN Animation = NBPCenter_ABN.NBPCenter_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPCenter_ABS Animation = NBPCenter_ABS.NBPCenter_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPCenter_ABSN Animation = NBPCenter_ABSN.NBPCenter_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPCenter_AB Animation = NBPCenter_AB.NBPCenter_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPCenter_ABN Animation = NBPCenter_ABN.NBPCenter_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPCenter_ABS Animation = NBPCenter_ABS.NBPCenter_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic

kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPCenter_ABSN Animation = NBPCenter_ABSN.NBPCenter_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:PropagandaCenter Side = ChinaTankGeneral EditorSorting = STRUCTURE MaxSimultaneousOfType = DeterminedBySuperweaponRestriction BuildCost = 2500 BuildTime = 50 EnergyProduction = -2 VisionRange = 200 ShroudClearingRange = 200 ExperienceValue = 100 100 100 100 Prerequisites Object = Tank_ChinaWarFactory Science = SCIENCE_Rank3 End ArmorSet Conditions Armor DamageFX End CommandSet = None = StructureArmor = StructureDamageFXNoShake = Tank_ChinaPropagandaCenterCommandSet

; *** AUDIO Parameters *** VoiceSelect = PropagandaCenterSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters *** KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_ADVANCED_TECH POWERED Body = StructureBody ModuleTag_07 MaxHealth = 2500.0 InitialHealth = 2500.0 SubdualDamageCap = 2500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_10

End Behavior = DestroyDie ModuleTag_12 End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureMediumDeath End Behavior TriggeredBy MineName SmartBorder AlwaysCircular Upgradable UpgradedTriggeredBy UpgradedMineName End = = = = = GenerateMinefieldBehavior ModuleTag_15 Upgrade_ChinaMines ChinaStandardMine Yes Yes

= Yes = Upgrade_ChinaEMPMines = ChinaEMPMine

Behavior = FlammableUpdate ModuleTag_17 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionMediumShockwave End Behavior = CommandSetUpgrade ModuleTag_ComSet02 CommandSet = Tank_ChinaPropagandaCenterCommandSetRepair TriggeredBy = Upgrade_EmergencyRepair2 End Behavior = PropagandaTowerBehavior ModuleTag_06Prop Radius = 150.0 DelayBetweenUpdates = 2000 ; in milliseconds HealPercentEachSecond = 2% ; get this % of max health every second PulseFX = FX_PropagandaCenterPropagandaPulse ;plays as often a s DelayBetweenUpdates UpgradeRequired = Upgrade_ChinaSubliminalMessaging UpgradedHealPercentEachSecond = 4% ; get this % of max health every second UpgradedPulseFX s DelayBetweenUpdates End Geometry = FX_PropagandaCenterSubliminalPulse ;plays as often a

= BOX

GeometryMajorRadius GeometryMinorRadius GeometryHeight GeometryIsSmall Shadow BuildCompletion End

= = = = = =

33.0 57.0 40.0 No SHADOW_VOLUME PLACED_BY_PLAYER

;-----------------------------------------------------------------------------Object Tank_ChinaGattlingCannon ; *** ART Parameters *** SelectPortrait = SNGauss_L ButtonImage = SNGauss UpgradeCameo1 = Upgrade_ChinaChainGuns

Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; DAY DefaultConditionState Model Turret TurretPitch WeaponFireFXBone WeaponMuzzleFlash WeaponRecoilBone WeaponLaunchBone End

= = = = = = =

NBTnkGatt TURRET TURRETEL PRIMARY Muzzle PRIMARY MuzzleFX PRIMARY Barrel PRIMARY Muzzle

ConditionState = USING_WEAPON_B Model = NBTnkGatt Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY WeaponMuzzleFlash = SECONDARY WeaponRecoilBone = SECONDARY WeaponLaunchBone = SECONDARY End

Muzzle MuzzleFX Barrel Muzzle

ConditionState = DAMAGED Model = NBTnkGatt_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = PRIMARY Muzzle ParticleSysBone = SmokeM01 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium End ConditionState = USING_WEAPON_B DAMAGED Model = NBTnkGatt_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel WeaponLaunchBone = SECONDARY Muzzle

End ConditionState = REALLYDAMAGED RUBBLE Model = NBTnkGatt_E Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = PRIMARY Muzzle ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ConditionState = USING_WEAPON_B REALLYDAMAGED RUBBLE Model = NBTnkGatt_E Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel WeaponLaunchBone = SECONDARY Muzzle End ; NIGHT --------------------------------------------------------------ConditionState = NIGHT Model = NBTnkGatt Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = PRIMARY Muzzle End ConditionState = USING_WEAPON_B NIGHT Model = NBTnkGatt Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel WeaponLaunchBone = SECONDARY Muzzle End ConditionState = DAMAGED NIGHT Model = NBTnkGatt_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = PRIMARY Muzzle ParticleSysBone = SmokeM01 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium End ConditionState = USING_WEAPON_B DAMAGED NIGHT Model = NBTnkGatt_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY Muzzle

WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel WeaponLaunchBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBTnkGatt_E Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = PRIMARY Muzzle ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ConditionState = USING_WEAPON_B REALLYDAMAGED RUBBLE NIGHT Model = NBTnkGatt_E Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel WeaponLaunchBone = SECONDARY Muzzle End ;SNOW --------------------------------------------------------------ConditionState = SNOW Model = NBTnkGatt_S Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = PRIMARY Muzzle End ConditionState = USING_WEAPON_B SNOW Model = NBTnkGatt_S Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel WeaponLaunchBone = SECONDARY Muzzle End ConditionState Model Turret TurretPitch WeaponFireFXBone WeaponMuzzleFlash WeaponRecoilBone WeaponLaunchBone ParticleSysBone ParticleSysBone End = = = = = = = = = = DAMAGED SNOW NBTnkGatt_DS TURRET TURRETEL PRIMARY Muzzle PRIMARY MuzzleFX PRIMARY Barrel PRIMARY Muzzle SmokeM01 SmokeFactionMedium SparkM01 SparksMedium

ConditionState = USING_WEAPON_B DAMAGED SNOW Model = NBTnkGatt_DS Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel WeaponLaunchBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBTnkGatt_ES Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = PRIMARY Muzzle ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ConditionState = USING_WEAPON_B REALLYDAMAGED RUBBLE SNOW Model = NBTnkGatt_ES Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel WeaponLaunchBone = SECONDARY Muzzle End ; NIGHT SNOW --ConditionState = NIGHT SNOW Model = NBTnkGatt_S Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = PRIMARY Muzzle End ConditionState = USING_WEAPON_B NIGHT SNOW Model = NBTnkGatt_S Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel WeaponLaunchBone = SECONDARY Muzzle End ConditionState Model Turret TurretPitch WeaponFireFXBone = = = = = DAMAGED NIGHT SNOW NBTnkGatt_DS TURRET TURRETEL PRIMARY Muzzle ------------------------------------------------------------

WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = PRIMARY Muzzle ParticleSysBone = SmokeM01 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium End ConditionState = USING_WEAPON_B DAMAGED NIGHT SNOW Model = NBTnkGatt_DS Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel WeaponLaunchBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBTnkGatt_ES Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = PRIMARY Muzzle ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ConditionState = USING_WEAPON_B REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBTnkGatt_ES Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel WeaponLaunchBone = SECONDARY Muzzle End ;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBTnkGatt Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBTnkGatt_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBTnkGatt_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT selling p ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

Model = NBTnkGatt Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBTnkGatt_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBTnkGatt_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBTnkGatt_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBTnkGatt_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBTnkGatt_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBTnkGatt_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBTnkGatt_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBTnkGatt_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION SOLD SOLD DAMAGED

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

DAMAGED REALLYDAMAGED NIGHT NIGHT DAMAGED NIGHT REALLYDAMAGED SNOW SNOW DAMAGED SNOW REALLYDAMAGED NIGHT SNOW NIGHT SNOW DAMAGED NIGHT SNOW REALLYDAMAGED

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= = = = = = = = = =

SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD

REALLYDAMAGED NIGHT NIGHT DAMAGED NIGHT REALLYDAMAGED SNOW SNOW DAMAGED SNOW REALLYDAMAGED NIGHT SNOW NIGHT SNOW DAMAGED NIGHT SNOW REALLYDAMAGED

; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBGattling_A4 Animation = NBGattling_A4.NBGattling_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBGattling_A4N Animation = NBGattling_A4N.NBGattling_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBGattling_A4S Animation = NBGattling_A4S.NBGattling_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBGattling_A4SN Animation = NBGattling_A4SN.NBGattling_A4SN

AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBGattling_A4 Animation = NBGattling_A4.NBGattling_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBGattling_A4N Animation = NBGattling_A4N.NBGattling_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBGattling_A4S Animation = NBGattling_A4S.NBGattling_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBGattling_A4SN Animation = NBGattling_A4SN.NBGattling_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBGattling_A4 Animation = NBGattling_A4.NBGattling_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBGattling_A4N Animation = NBGattling_A4N.NBGattling_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBGattling_A4S Animation = NBGattling_A4S.NBGattling_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End TransitionState Model Animation AnimationMode = START_FRAME_LAST = = = = UP_SNOWNIGHT DOWN_DEFAULT NBGattling_A4SN NBGattling_A4SN.NBGattling_A4SN ONCE_BACKWARDS

AnimationSpeedFactorRange = 2.0 2.0 kly Flags End End = START_FRAME_LAST

; play teardown animations more quic

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBGattling_A6 Animation = NBGattling_A6.NBGattling_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBGattling_A6N Animation = NBGattling_A6N.NBGattling_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBGattling_A6S Animation = NBGattling_A6S.NBGattling_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBGattling_A6SN Animation = NBGattling_A6SN.NBGattling_A6SN AnimationMode = MANUAL

Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBGattling_A6 Animation = NBGattling_A6.NBGattling_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBGattling_A6N Animation = NBGattling_A6N.NBGattling_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBGattling_A6S Animation = NBGattling_A6S.NBGattling_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBGattling_A6SN Animation = NBGattling_A6SN.NBGattling_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBGattling_A6 Animation = NBGattling_A6.NBGattling_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBGattling_A6N Animation = NBGattling_A6N.NBGattling_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBGattling_A6S Animation = NBGattling_A6S.NBGattling_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End TransitionState Model = START_FRAME_LAST = UP_SNOWNIGHT DOWN_DEFAULT = NBGattling_A6SN

Animation = NBGattling_A6SN.NBGattling_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:GaussGun Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 1000 BuildTime = 2.0 EnergyProduction = 0 ExperienceValue = 72 105 153 220 VisionRange = 360.0 ShroudClearingRange = 360 Prerequisites Object = Tank_ChinaPowerPlant End WeaponSet Conditions Weapon AutoChooseSources Weapon AutoChooseSources PreferredAgainst End ArmorSet Conditions Armor DamageFX End CommandSet = = = = = = None PRIMARY Tank_GattlingBuildingGun PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT SECONDARY Tank_GattlingBuildingGunAir SECONDARY FROM_PLAYER FROM_AI FROM_SCRIPT SECONDARY BALLISTIC_MISSILE AIRCRAFT

= None = BaseDefenseArmor = StructureDamageFXNoShake = Tank_ChinaGattlingCannonCommandSet

; *** AUDIO Parameters *** VoiceSelect = GattlingCannonSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction VoiceRapidFire End = UnderConstructionLoop = NoSound

UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_ OF_SIGHT IMMOBILE SCORE FS_BASE_DEFENSE POWERED IMMUNE_TO_CAPTURE

Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 SubdualDamageCap = 1500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = GenerateMinefieldBehavior ModuleTag_04 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = AIUpdateInterface ModuleTag_06 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 360 TurretPitchRate = 360 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 45 ; this keeps it aimed half way between land and s ky MinIdleScanInterval = 250 ; in milliseconds MaxIdleScanInterval = 250 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon MoodAttackCheckRate = 250 End Behavior = ProductionUpdate ModuleTag_07 End Behavior End Behavior DeathFX End = DestroyDie ModuleTag_08 = FXListDie ModuleTag_09 = FX_StructureTinyDeath

Behavior = ProductionUpdate ModuleTag_10 End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_LargeStructureDebris End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End

Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionTinySmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionTinyShockwave End Behavior = WeaponBonusUpgrade ModuleTag_15 TriggeredBy = Upgrade_ChinaChainGuns End ;Behavior = CommandSetUpgrade ModuleTag_25 ; CommandSet = Tank_ChinaGattlingCannonCommandSetUpgrade ; TriggeredBy = Upgrade_ChinaMines ;End ;Behavior = ArmorUpgrade ModuleTag_26 ; TriggeredBy = Upgrade_ChinaEMPMines ;End Geometry GeometryMajorRadius GeometryMinorRadius GeometryHeight GeometryIsSmall Shadow BuildCompletion End = = = = = = = BOX 8.0 8.0 20.0 No SHADOW_VOLUME PLACED_BY_PLAYER

;-----------------------------------------------------------------------------Object Tank_ChinaInternetCenter ; *** ART Parameters *** ; ------------ the main building itself ----------------SelectPortrait = SNIntCnt_L ButtonImage = SNIntCnt UpgradeCameo1 = Upgrade_ChinaSatelliteHackOne UpgradeCameo2 = Upgrade_ChinaSatelliteHackTwo UpgradeCameo3 = Upgrade_ChinaSatelliteHackThree Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; DAY ************************************ DefaultConditionState Model = NBINTCNT Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = USER_1 opening Model = NBINTCNT_A2 ; User 1 is set by an upgrade module. First doors

Animation = NBINTCNT_A2.NBINTCNT_A2 AnimationMode = ONCE End ConditionState = USER_1 USER_2 ; Second doors opening (Can't get the secon d without the first) Model = NBINTCNT_A2F Animation = NBINTCNT_A2F.NBINTCNT_A2F AnimationMode = ONCE End ConditionState Model End = DAMAGED = NBINTCNT_D

ConditionState = DAMAGED USER_1 ; User 1 is set by an upgrade module. Fir st doors opening Model = NBINTCNT_A2D Animation = NBINTCNT_A2D.NBINTCNT_A2D AnimationMode = ONCE End ConditionState = DAMAGED USER_1 USER_2 ; Second doors opening (Can't get t he second without the first) Model = NBINTCNT_A2FD Animation = NBINTCNT_A2FD.NBINTCNT_A2FD AnimationMode = ONCE End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End AliasConditionState = = = = = = = = = = = REALLYDAMAGED NBINTCNT_E Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmokeFactionLarge Smoke06 SmokeFactionLarge Fire01 SmolderingFire Fire02 SmolderingFire Fire03 FireFactionLarge

= RUBBLE

ConditionState = REALLYDAMAGED USER_1 ; User 1 is set by an upgrade module . First doors opening Model = NBINTCNT_A2E Animation = NBINTCNT_A2E.NBINTCNT_A2E AnimationMode = ONCE End AliasConditionState = RUBBLE USER_1 ConditionState = REALLYDAMAGED USER_1 USER_2 get the second without the first) Model = NBINTCNT_A2FE Animation = NBINTCNT_A2FE.NBINTCNT_A2FE AnimationMode = ONCE End AliasConditionState = RUBBLE USER_1 USER_2 ;NIGHT *********************************** ; Second doors opening (Can't

ConditionState Model End

= NIGHT = NBINTCNT_N

ConditionState = NIGHT USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2N Animation = NBINTCNT_A2N.NBINTCNT_A2N AnimationMode = ONCE End ConditionState = NIGHT USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FN Animation = NBINTCNT_A2FN.NBINTCNT_A2FN AnimationMode = ONCE End ConditionState Model End = DAMAGED NIGHT = NBINTCNT_DN

ConditionState = DAMAGED NIGHT USER_1 ; User 1 is set by an upgrade module . First doors opening Model = NBINTCNT_A2DN Animation = NBINTCNT_A2DN.NBINTCNT_A2DN AnimationMode = ONCE End ConditionState = DAMAGED NIGHT USER_1 USER_2 get the second without the first) Model = NBINTCNT_A2FDN Animation = NBINTCNT_A2FDN.NBINTCNT_A2FDN AnimationMode = ONCE End ConditionState = Model = ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End AliasConditionState ; Second doors opening (Can't

REALLYDAMAGED NIGHT NBINTCNT_EN = Smoke01 SmolderingSmoke = Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = Smoke04 SmolderingSmoke = Smoke05 SmokeFactionLarge = Smoke06 SmokeFactionLarge = Fire01 SmolderingFire = Fire02 SmolderingFire = Fire03 FireFactionLarge = RUBBLE NIGHT ; User 1 is set by an upgrade

ConditionState = REALLYDAMAGED NIGHT USER_1 module. First doors opening Model = NBINTCNT_A2EN Animation = NBINTCNT_A2EN.NBINTCNT_A2EN AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT USER_1

ConditionState = REALLYDAMAGED NIGHT USER_1 USER_2 (Can't get the second without the first)

; Second doors opening

Model = NBINTCNT_A2FEN Animation = NBINTCNT_A2FEN.NBINTCNT_A2FEN AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT USER_1 USER_2 ;SNOW ************************************* ConditionState = SNOW Model = NBINTCNT_S End ConditionState = SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2S Animation = NBINTCNT_A2S.NBINTCNT_A2S AnimationMode = ONCE End ConditionState = SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FS Animation = NBINTCNT_A2FS.NBINTCNT_A2FS AnimationMode = ONCE End ConditionState Model End = DAMAGED SNOW = NBINTCNT_DS

ConditionState = DAMAGED SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2DS Animation = NBINTCNT_A2DS.NBINTCNT_A2DS AnimationMode = ONCE End ConditionState = DAMAGED SNOW USER_1 USER_2 get the second without the first) Model = NBINTCNT_A2FDS Animation = NBINTCNT_A2FDS.NBINTCNT_A2FDS AnimationMode = ONCE End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End AliasConditionState = = = = = = = = = = = ; Second doors opening (Can't

REALLYDAMAGED SNOW NBINTCNT_ES Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke Smoke04 SmolderingSmoke Smoke05 SmokeFactionLarge Smoke06 SmokeFactionLarge Fire01 SmolderingFire Fire02 SmolderingFire Fire03 FireFactionLarge

= RUBBLE SNOW ; User 1 is set by an upgrade m

ConditionState = REALLYDAMAGED SNOW USER_1 odule. First doors opening Model = NBINTCNT_A2ES

Animation = NBINTCNT_A2ES.NBINTCNT_A2ES AnimationMode = ONCE End AliasConditionState = RUBBLE SNOW USER_1 ConditionState = REALLYDAMAGED SNOW USER_1 USER_2 Can't get the second without the first) Model = NBINTCNT_A2FES Animation = NBINTCNT_A2FES.NBINTCNT_A2FES AnimationMode = ONCE End AliasConditionState = RUBBLE SNOW USER_1 USER_2 ;NIGHT SNOW ***************************** ConditionState = NIGHT SNOW Model = NBINTCNT_NS End ConditionState = NIGHT SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2NS Animation = NBINTCNT_A2NS.NBINTCNT_A2NS AnimationMode = ONCE End ConditionState = NIGHT SNOW USER_1 USER_2 ; Second doors opening (Can't ge t the second without the first) Model = NBINTCNT_A2FNS Animation = NBINTCNT_A2FNS.NBINTCNT_A2FNS AnimationMode = ONCE End ConditionState Model End = DAMAGED NIGHT SNOW = NBINTCNT_DNS ; Second doors opening (

ConditionState = DAMAGED NIGHT SNOW USER_1 ; User 1 is set by an upgrade m odule. First doors opening Model = NBINTCNT_A2DNS Animation = NBINTCNT_A2DNS.NBINTCNT_A2DNS AnimationMode = ONCE End ConditionState = DAMAGED NIGHT SNOW USER_1 USER_2 Can't get the second without the first) Model = NBINTCNT_A2FDNS Animation = NBINTCNT_A2FDNS.NBINTCNT_A2FDNS AnimationMode = ONCE End ConditionState = REALLYDAMAGED NIGHT SNOW Model = NBINTCNT_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ; Second doors opening (

ParticleSysBone = Fire03 FireFactionLarge End AliasConditionState = RUBBLE NIGHT SNOW ConditionState = REALLYDAMAGED NIGHT SNOW USER_1 rade module. First doors opening Model = NBINTCNT_A2ENS Animation = NBINTCNT_A2ENS.NBINTCNT_A2ENS AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT SNOW USER_1 ; User 1 is set by an upg

ConditionState = REALLYDAMAGED NIGHT SNOW USER_1 USER_2 ning (Can't get the second without the first) Model = NBINTCNT_A2FENS Animation = NBINTCNT_A2FENS.NBINTCNT_A2FENS AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT SNOW USER_1 USER_2

; Second doors ope

;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBINTCNT Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBINTCNT_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBINTCNT_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBINTCNT_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBINTCNT_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBINTCNT_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBINTCNT_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED

selling p ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

BEING_CONSTRUCTED SNOW DAMAGED Model = NBINTCNT_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBINTCNT_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBINTCNT_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBINTCNT_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBINTCNT_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState _2 = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = = = = = =

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED AWAITING_CONSTRUCTION DAMAGED USER_1 USER_2 AWAITING_CONSTRUCTION REALLYDAMAGED USER_1 USER_2 AWAITING_CONSTRUCTION NIGHT USER_1 USER_2 AWAITING_CONSTRUCTION NIGHT DAMAGED USER_1 USER_2 AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED USER_1 USER

AliasConditionState = AWAITING_CONSTRUCTION SNOW USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED USER_1 USER_

2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED USER_1 USER_ 2 AliasConditionState USER_2 AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End ; ------------ Fan in back -------------Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = NBINTCNT_F Animation = NBINTCNT_F.NBINTCNT_F AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End End ; ------------- First Satellite ----------Draw = W3DModelDraw ModuleTag_03 ConditionState = NONE Model = None TransitionKey = Trans_Down End AliasConditionState = SOLD AliasConditionState = AWAITING_CONSTRUCTION AliasConditionState = ACTIVELY_BEING_CONSTRUCTED AliasConditionState = AWAITING_CONSTRUCTION USER_1 AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 ConditionState = DAMAGED Model = None TransitionKey = Trans_Down_Damaged End AliasConditionState = SOLD DAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 DAMAGED ConditionState = REALLYDAMAGED Model = None TransitionKey = Trans_Down_Really_Damaged End AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED USER_1 = = = = = = = = = = = = SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD USER_1 USER_2 DAMAGED USER_1 USER_2 REALLYDAMAGED USER_1 USER_2 NIGHT USER_1 USER_2 NIGHT DAMAGED USER_1 USER_2 NIGHT REALLYDAMAGED USER_1 USER_2 SNOW USER_1 USER_2 SNOW DAMAGED USER_1 USER_2 SNOW REALLYDAMAGED USER_1 USER_2 NIGHT SNOW USER_1 USER_2 NIGHT SNOW DAMAGED USER_1 USER_2 NIGHT SNOW REALLYDAMAGED USER_1 USER_2

AliasConditionState = ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 REALLYDAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 REALLYDAMAGED TransitionState = Trans_Down Trans_Up Model = NBINTCNT_AB Animation = NBINTCNT_AB.NBINTCNT_AB AnimationMode = ONCE End TransitionState = Trans_Down_Damaged Trans_Up_Damaged Model = NBINTCNT_DAB Animation = NBINTCNT_DAB.NBINTCNT_DAB AnimationMode = ONCE End TransitionState = Trans_Down_Really_Damaged Trans_Up_Really_Damaged Model = NBINTCNT_EAB Animation = NBINTCNT_EAB.NBINTCNT_EAB AnimationMode = ONCE End ConditionState = USER_1 Model = NBINTCNT_AC Animation = NBINTCNT_AC.NBINTCNT_AC AnimationMode = LOOP TransitionKey = Trans_Up Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = USER_1 DAMAGED Model = NBINTCNT_DAC Animation = NBINTCNT_DAC.NBINTCNT_DAC AnimationMode = LOOP TransitionKey = Trans_Up_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = USER_1 REALLYDAMAGED Model = NBINTCNT_EAC Animation = NBINTCNT_EAC.NBINTCNT_EAC AnimationMode = LOOP TransitionKey = Trans_Up_Really_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = Trans_Up Trans_Down Model = NBINTCNT_AB Animation = NBINTCNT_AB.NBINTCNT_AB AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Damaged Trans_Down_Damaged Model = NBINTCNT_DAB Animation = NBINTCNT_DAB.NBINTCNT_DAB AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Really_Damaged Trans_Down_Really_Damaged Model = NBINTCNT_EAB Animation = NBINTCNT_EAB.NBINTCNT_EAB

AnimationMode = ONCE_BACKWARDS End End ; ------------- Second Satellite ----------Draw = W3DModelDraw ModuleTag_04 ConditionState = NONE Model = None TransitionKey = Trans_Down End AliasConditionState = SOLD AliasConditionState = AWAITING_CONSTRUCTION AliasConditionState = ACTIVELY_BEING_CONSTRUCTED AliasConditionState = AWAITING_CONSTRUCTION USER_1 AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 ConditionState = DAMAGED Model = None TransitionKey = Trans_Down_Damaged End AliasConditionState = SOLD DAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 DAMAGED ConditionState = REALLYDAMAGED Model = None TransitionKey = Trans_Down_Really_Damaged End AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 REALLYDAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 REALLYDAMAGED TransitionState = Trans_Down Trans_Up Model = NBINTCNT_AF Animation = NBINTCNT_AF.NBINTCNT_AF AnimationMode = ONCE End TransitionState = Trans_Down_Damaged Trans_Up_Damaged Model = NBINTCNT_DAF Animation = NBINTCNT_DAF.NBINTCNT_DAF AnimationMode = ONCE End TransitionState = Trans_Down_Really_Damaged Trans_Up_Really_Damaged Model = NBINTCNT_EAF Animation = NBINTCNT_EAF.NBINTCNT_EAF AnimationMode = ONCE End ConditionState = USER_2 Model = NBINTCNT_AG Animation = NBINTCNT_AG.NBINTCNT_AG AnimationMode = LOOP TransitionKey = Trans_Up Flags = MAINTAIN_FRAME_ACROSS_STATES End

ConditionState = USER_2 DAMAGED Model = NBINTCNT_DAG Animation = NBINTCNT_DAG.NBINTCNT_DAG AnimationMode = LOOP TransitionKey = Trans_Up_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = USER_2 REALLYDAMAGED Model = NBINTCNT_EAG Animation = NBINTCNT_EAG.NBINTCNT_EAG AnimationMode = LOOP TransitionKey = Trans_Up_Really_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = Trans_Up Trans_Down Model = NBINTCNT_AF Animation = NBINTCNT_AF.NBINTCNT_AF AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Damaged Trans_Down_Damaged Model = NBINTCNT_DAF Animation = NBINTCNT_DAF.NBINTCNT_DAF AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Really_Damaged Trans_Down_Really_Damaged Model = NBINTCNT_EAF Animation = NBINTCNT_EAF.NBINTCNT_EAF AnimationMode = ONCE_BACKWARDS End End ; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End

ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End

TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED

Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT

Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE

End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5 Animation = NBSupCent_A5.NBSupCent_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5N Animation = NBSupCent_A5N.NBSupCent_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5S Animation = NBSupCent_A5S.NBSupCent_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5SN Animation = NBSupCent_A5SN.NBSupCent_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE_BACKWARDS

AnimationSpeedFactorRange = 2.0 2.0 kly

; play teardown animations more quic

Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:InternetCenter Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 1250 BuildTime = 25.0 EnergyProduction = -1 CommandSet = ChinaInternetCenterCommandSet VisionRange = 200 ShroudClearingRange = 200 ExperienceValue = 75 75 75 75 ArmorSet Conditions Armor DamageFX End = None = StructureArmor = StructureDamageFXNoShake

Prerequisites Object = Tank_ChinaWarFactory End ; *** AUDIO Parameters *** VoiceSelect = CommandCenterChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop

End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE IMMUNE_TO_CAPT URE MP_COUNT_FOR_VICTORY CAN_ATTACK FS_INTERNET_CENTER Behavior = AIUpdateInterface ModuleTag_AI End Body = StructureBody ModuleTag_08 MaxHealth = 2250.0 InitialHealth = 2250.0 SubdualDamageCap = 5000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = InternetHackContain ModuleTag_10 ; Contain module that gives aiHack Internet command to passengers PassengersAllowedToFire = No Slots = 4 ScatterNearbyOnExit = No HealthRegen%PerSec = 10 DamagePercentToUnits = 50% AllowInsideKindOf = MONEY_HACKER ExitDelay = 500 NumberOfExitPaths = 1 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = No ; AI Will tell people to set their mood to Aggressiv e on exiting End Behavior End = DestroyDie ModuleTag_12

Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior DeathFX End = FXListDie ModuleTag_14 = FX_StructureMediumDeath

Behavior = ProductionUpdate ModuleTag_22 End Behavior = GenerateMinefieldBehavior ModuleTag_23 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_24 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage...

AflameDamageDelay = 500 End

; this often.

Behavior = TransitionDamageFX ModuleTag_25 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionMediumShockwave End Behavior NeedsUpgrade SelfPowered SpyOnKindof TriggeredBy End = = = = = SpyVisionUpdate ModuleTag_Hack01 Yes Yes COMMANDCENTER Upgrade_ChinaSatelliteHackOne

Behavior = OCLSpecialPower ModuleTag_SpecialPower04 SpecialPowerTemplate = SuperweaponSatelliteHackTwo OCL = SUPERWEAPON_SatelliteHackTwo CreateLocation = CREATE_AT_LOCATION End Behavior = SpecialPowerCreate ModuleTag_Hack05 End Behavior = ModelConditionUpgrade ModuleTag_18 ConditionFlag = USER_1 TriggeredBy = Upgrade_ChinaSatelliteHackOne End Behavior = ModelConditionUpgrade ModuleTag_19 ConditionFlag = USER_2 TriggeredBy = Upgrade_ChinaSatelliteHackTwo End Behavior = GrantScienceUpgrade ModuleTag_Science_1 GrantScience = SCIENCE_SatelliteHackTwo TriggeredBy = Upgrade_ChinaSatelliteHackTwo End Behavior = GrantScienceUpgrade ModuleTag_Science_2 GrantScience = SCIENCE_SatelliteHackThree TriggeredBy = Upgrade_ChinaSatelliteHackThree End Behavior = CommandSetUpgrade ComSet_02 CommandSet = ChinaInternetCenterCommandSetOne TriggeredBy = Upgrade_ChinaSatelliteHackOne ConflictsWith = Upgrade_ChinaSatelliteHackTwo Upgrade_ChinaSatelliteHackThre e End Behavior = CommandSetUpgrade ComSet_04 CommandSet = ChinaInternetCenterCommandSetTwo

TriggeredBy = Upgrade_ChinaSatelliteHackTwo ConflictsWith = Upgrade_ChinaSatelliteHackThree End Behavior = CommandSetUpgrade ComSet_06 CommandSet = ChinaInternetCenterCommandSetThree TriggeredBy = Upgrade_ChinaSatelliteHackThree End Behavior = ObjectCreationUpgrade ModuleTag_Addon00 UpgradeObject = OCL_SatHack3Launcher TriggeredBy = Upgrade_ChinaSatelliteHackThree End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death DeathWeapon = InternetCenterDeathWeapon StartsActive = Yes End Geometry GeometryMajorRadius GeometryMinorRadius GeometryHeight GeometryIsSmall Shadow BuildCompletion End = = = = = = = BOX 50.0 50.0 36.0 No SHADOW_VOLUME PLACED_BY_PLAYER

;-----------------------------------------------------------------------------Object Tank_ChinaCommandCenter ; *** ART Parameters *** SelectPortrait ButtonImage = SNComCentr_L = SNComCentr

UpgradeCameo1 = Upgrade_EmergencyRepair2 UpgradeCameo2 = Upgrade_EmergencyRepair3 ; ------------ the main building itself ----------------Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; DAY ************************************ DefaultConditionState Model = NBConYardT Animation = NBConYardT.NBConYardT AnimationMode = LOOP End ConditionState = DAMAGED Model = NBConYardT_D Animation = NBConYardT_D.NBConYardT_D AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE Model = NBConYardT_E

Animation = NBConYardT_E.NBConYardT_E AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ;NIGHT *********************************** ConditionState = NIGHT Model = NBConYardT_N Animation = NBConYardT_N.NBConYardT_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = NBConYardT_DN Animation = NBConYardT_DN.NBConYardT_DN AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBConYardT_EN Animation = NBConYardT_EN.NBConYardT_EN AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ;SNOW ************************************* ConditionState = SNOW Model = NBConYardT_S Animation = NBConYardT_S.NBConYardT_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBConYardT_DS Animation = NBConYardT_DS.NBConYardT_DS AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire

ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

= Smoke01 SmolderingSmoke = Smoke02 SmolderingSmoke = Smoke03 SmolderingSmoke = = = = = = = = = = = = = = REALLYDAMAGED RUBBLE SNOW NBConYardT_ES NBConYardT_ES.NBConYardT_ES LOOP Fire01 SmolderingFire Fire02 SmolderingFire Fire03 SmolderingFire Fire04 SmolderingFire Fire05 SmolderingFire Fire06 SmolderingFire Fire07 SmolderingFire Smoke01 SmolderingSmoke Smoke02 SmolderingSmoke Smoke03 SmolderingSmoke

;NIGHT SNOW ***************************** ConditionState = NIGHT SNOW Model = NBConYardT_NS Animation = NBConYardT_NS.NBConYardT_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = NBConYardT_DNS Animation = NBConYardT_DNS.NBConYardT_DNS AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBConYardT_ENS Animation = NBConYardT_ENS.NBConYardT_ENS AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ;This block handles every possible case with construction process, selling p rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED Model = NBConYardT

Animation = NBConYardT.NBConYardT AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBConYardT_D Animation = NBConYardT_D.NBConYardT_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBConYardT_E Animation = NBConYardT_E.NBConYardT_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBConYardT_N Animation = NBConYardT_N.NBConYardT_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBConYardT_DN Animation = NBConYardT_DN.NBConYardT_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBConYardT_EN Animation = NBConYardT_EN.NBConYardT_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBConYardT_S Animation = NBConYardT_S.NBConYardT_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBConYardT_DS Animation = NBConYardT_DS.NBConYardT_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBConYardT_ES Animation = NBConYardT_ES.NBConYardT_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ConditionState BEING_CONSTRUCTED NIGHT Model Animation AnimationMode Flags End ConditionState BEING_CONSTRUCTED NIGHT Model Animation AnimationMode Flags End ConditionState BEING_CONSTRUCTED NIGHT Model Animation AnimationMode Flags End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ SNOW = NBConYardT_NS = NBConYardT_NS.NBConYardT_NS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ SNOW DAMAGED = NBConYardT_DNS = NBConYardT_DNS.NBConYardT_DNS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ SNOW REALLYDAMAGED = NBConYardT_ENS = NBConYardT_ENS.NBConYardT_ENS = LOOP = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ------------ Radar Extending ----------------Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED RUBBLE

ConditionState Model Animation AnimationMode Flags End ConditionState Model Animation AnimationMode Flags End ConditionState Model Animation AnimationMode Flags End ConditionState Model Animation AnimationMode Flags End ConditionState Model Animation AnimationMode Flags End ConditionState Model Animation AnimationMode Flags End

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

RADAR_EXTENDING RADAR_UPGRADED NBConYard_A2 NBConYard_A2.NBConYard_A2 ONCE START_FRAME_FIRST RADAR_EXTENDING DAMAGED RADAR_UPGRADED NBConYard_A2D NBConYard_A2D.NBConYard_A2D ONCE START_FRAME_FIRST RADAR_EXTENDING REALLYDAMAGED RUBBLE RADAR_UPGRADED NBConYard_A2E NBConYard_A2E.NBConYard_A2E ONCE START_FRAME_FIRST RADAR_UPGRADED NBConYard_A2 NBConYard_A2.NBConYard_A2 MANUAL START_FRAME_LAST RADAR_UPGRADED DAMAGED NBConYard_A2D NBConYard_A2D.NBConYard_A2D MANUAL START_FRAME_LAST RADAR_UPGRADED REALLYDAMAGED RUBBLE NBConYard_A2E NBConYard_A2E.NBConYard_A2E MANUAL START_FRAME_LAST

ConditionState = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRU CTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRU CTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBConYard_A2D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRU CTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = NBConYard_A2E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End

End PlacementViewAngle = -135 ; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBConYard_A4 Animation = NBConYard_A4.NBConYard_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBConYard_A4N Animation = NBConYard_A4N.NBConYard_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBConYard_A4S Animation = NBConYard_A4S.NBConYard_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED

Model = NBConYard_A4SN Animation = NBConYard_A4SN.NBConYard_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBConYard_A4 Animation = NBConYard_A4.NBConYard_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBConYard_A4N Animation = NBConYard_A4N.NBConYard_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBConYard_A4S Animation = NBConYard_A4S.NBConYard_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBConYard_A4SN Animation = NBConYard_A4SN.NBConYard_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_DAY DOWN_DEFAULT Model = NBConYard_A4 Animation = NBConYard_A4.NBConYard_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly

Flags = START_FRAME_LAST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBConYard_A4N Animation = NBConYard_A4N.NBConYard_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBConYard_A4S Animation = NBConYard_A4S.NBConYard_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBConYard_A4SN Animation = NBConYard_A4SN.NBConYard_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End End = = = = = START_FRAME_LAST Pit SmolderingFire Pit01 SmolderingFire Pit SmolderingSmoke Pit01 SmolderingSmoke

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End

ConditionState Model TransitionKey End ConditionState Model Animation AnimationMode Flags TransitionKey ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags TransitionKey ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags TransitionKey ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model Animation AnimationMode Flags TransitionKey ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone

= SNOW NIGHT = None = DOWN_DEFAULT = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = PARTIALLY_CONSTRUCTED NBConYard_A6 NBConYard_A6.NBConYard_A6 MANUAL START_FRAME_LAST UP_DAY Dust01 BuildingDustChina SmokeM01 BuildUpSmokeChina SmokeS02 BuildUpSmokeChina SparksM01 BuildUpSmokeChina SparksM02 BuildUpSmokeChina SparksS01 BuildUpSmokeChina SparksS02 BuildUpSmokeChina NIGHT PARTIALLY_CONSTRUCTED NBConYard_A6N NBConYard_A6N.NBConYard_A6N MANUAL START_FRAME_LAST UP_NIGHT Dust01 BuildingDustChina SmokeM01 BuildUpSmokeChina SmokeS02 BuildUpSmokeChina SparksM01 BuildUpSmokeChina SparksM02 BuildUpSmokeChina SparksS01 BuildUpSmokeChina SparksS02 BuildUpSmokeChina SNOW PARTIALLY_CONSTRUCTED NBConYard_A6S NBConYard_A6S.NBConYard_A6S MANUAL START_FRAME_LAST UP_SNOW Dust01 BuildingSnowDust SmokeM01 BuildUpSnowSmoke SmokeS02 BuildUpSnowSmoke SparksM01 BuildUpSnowSmoke SparksM02 BuildUpSnowSmoke SparksS01 BuildUpSnowSmoke SparksS02 BuildUpSnowSmoke SNOW NIGHT PARTIALLY_CONSTRUCTED NBConYard_A6SN NBConYard_A6SN.NBConYard_A6SN MANUAL START_FRAME_LAST UP_SNOWNIGHT Dust01 BuildingNightSnowDust SmokeM01 BuildUpNightSnowSmoke SmokeS02 BuildUpNightSnowSmoke SparksM01 BuildUpNightSnowSmoke SparksM02 BuildUpNightSnowSmoke SparksS01 BuildUpNightSnowSmoke SparksS02 BuildUpNightSnowSmoke

End TransitionState = DOWN_DEFAULT UP_DAY Model = NBConYard_A6 Animation = NBConYard_A6.NBConYard_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBConYard_A6N Animation = NBConYard_A6N.NBConYard_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBConYard_A6S Animation = NBConYard_A6S.NBConYard_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBConYard_A6SN Animation = NBConYard_A6SN.NBConYard_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBConYard_A6 Animation = NBConYard_A6.NBConYard_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBConYard_A6N Animation = NBConYard_A6N.NBConYard_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBConYard_A6S Animation = NBConYard_A6S.NBConYard_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBConYard_A6SN Animation = NBConYard_A6SN.NBConYard_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST

End End ; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5 Animation = NBConYard_A5.NBConYard_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5N Animation = NBConYard_A5N.NBConYard_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5S Animation = NBConYard_A5S.NBConYard_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5SN Animation = NBConYard_A5SN.NBConYard_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBConYard_AB Animation = NBConYard_AB.NBConYard_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState Model Animation AnimationMode = DOWN_DEFAULT UP_NIGHT = NBConYard_ABN = NBConYard_ABN.NBConYard_ABN = ONCE

AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBConYard_ABS Animation = NBConYard_ABS.NBConYard_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBConYard_ABSN Animation = NBConYard_ABSN.NBConYard_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBConYard_AB Animation = NBConYard_AB.NBConYard_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBConYard_ABN Animation = NBConYard_ABN.NBConYard_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBConYard_ABS Animation = NBConYard_ABS.NBConYard_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBConYard_ABSN Animation = NBConYard_ABSN.NBConYard_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ----------------- the factory door ------------------Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = NBConYard_A7 Animation = NBConYard_A7.NBConYard_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT

AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState DAMAGED NBConYard_A7D NBConYard_A7D.NBConYard_A7D MANUAL START_FRAME_FIRST = NIGHT DAMAGED = SNOW DAMAGED = NIGHT SNOW DAMAGED REALLYDAMAGED RUBBLE NBConYard_A7D NBConYard_A7D.NBConYard_A7D MANUAL START_FRAME_FIRST = NIGHT REALLYDAMAGED RUBBLE = SNOW REALLYDAMAGED RUBBLE = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING NBConYard_A7 NBConYard_A7.NBConYard_A7 ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING = SNOW DOOR_1_OPENING = NIGHT SNOW DOOR_1_OPENING DOOR_1_OPENING DAMAGED NBConYard_A7D NBConYard_A7D.NBConYard_A7D ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING DAMAGED = SNOW DOOR_1_OPENING DAMAGED = NIGHT SNOW DOOR_1_OPENING DAMAGED DOOR_1_OPENING REALLYDAMAGED RUBBLE NBConYard_A7D NBConYard_A7D.NBConYard_A7D ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE DOOR_1_CLOSING NBConYard_A7 NBConYard_A7.NBConYard_A7 ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING

AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState DOOR_1_CLOSING DAMAGED NBConYard_A7D NBConYard_A7D.NBConYard_A7D ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING DAMAGED = SNOW DOOR_1_CLOSING DAMAGED = NIGHT SNOW DOOR_1_CLOSING DAMAGED DOOR_1_CLOSING REALLYDAMAGED RUBBLE NBConYard_A7D NBConYard_A7D.NBConYard_A7D ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN NBConYard_A7 NBConYard_A7.NBConYard_A7 MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN = SNOW DOOR_1_WAITING_OPEN = NIGHT SNOW DOOR_1_WAITING_OPEN DOOR_1_WAITING_OPEN DAMAGED NBConYard_A7D NBConYard_A7D.NBConYard_A7D MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN DAMAGED = SNOW DOOR_1_WAITING_OPEN DAMAGED = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NBConYard_A7D NBConYard_A7D.NBConYard_A7D MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE

;This block handles every possible case with construction process, selling p rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ BEING_CONSTRUCTED Model = NBConYard_A7

Flags End AliasConditionState BEING_CONSTRUCTED NIGHT AliasConditionState BEING_CONSTRUCTED SNOW AliasConditionState BEING_CONSTRUCTED NIGHT

= ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ SNOW ACTIVELY_

ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBConYard_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBConYard_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = =

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_

AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = ChinaTankGeneral EditorSorting = STRUCTURE

BuildCost = 2500 BuildTime = 50.0 EnergyProduction = 0 CommandSet = Tank_ChinaCommandCenterCommandSet VisionRange = 300.0 ShroudClearingRange = 300 MaxSimultaneousOfType = DeterminedBySuperweaponRestriction Prerequisites Science = SCIENCE_TANK End ArmorSet Conditions Armor DamageFX End = None = StructureArmorTough = StructureDamageFXNoShake

ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER SCORE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY IMMUNE_TO_CAPTURE Body = StructureBody ModuleTag_07 MaxHealth = 5000.0 InitialHealth = 5000.0 SubdualDamageCap = 5000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_08 NumDoorAnimations = 1 DoorOpeningTime = 3000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 3000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_09 UnitCreatePoint = X:-18.0 Y: 40.0 Z:0.0 NaturalRallyPoint = X: 60.0 Y: 40.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RadarUpdate ModuleTag_10 RadarExtendTime = 4000 ;in mSeconds End Behavior End Behavior = DestroyDie ModuleTag_11 = CreateObjectDie ModuleTag_12

CreationList = OCL_LargeStructureDebris End Behavior DeathFX End Behavior TriggeredBy End = FXListDie ModuleTag_13 = FX_StructureMediumDeath = RadarUpgrade ModuleTag_14 = Upgrade_Radar

Behavior = GenerateMinefieldBehavior ModuleTag_15 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = OCLSpecialPower ModuleTag_SpecialPower01 SpecialPowerTemplate = SuperweaponArtilleryBarrage UpgradeOCL = SCIENCE_ArtilleryBarrage3 Tank_SUPERWEAPON_ArtilleryB arrage3 UpgradeOCL = SCIENCE_ArtilleryBarrage2 Tank_SUPERWEAPON_ArtilleryB arrage2 OCL = Tank_SUPERWEAPON_ArtilleryBarrage1 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET End Behavior = OCLSpecialPower ModuleTag_SpecialPower02 SpecialPowerTemplate = SuperweaponClusterMines OCL = SUPERWEAPON_ClusterMines CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_SpecialPower05 SpecialPowerTemplate = SuperweaponEmergencyRepair UpgradeOCL = SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairEverything 3 UpgradeOCL = SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairEverything 2 OCL = SUPERWEAPON_RepairEverything1 CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_SpecialPower06 SpecialPowerTemplate = SuperweaponEarlyEmergencyRepair UpgradeOCL = SCIENCE_EmergencyRepairUpgrade3 SUPERWEAPON_RepairEve rything3 UpgradeOCL = SCIENCE_EmergencyRepairUpgrade2 SUPERWEAPON_RepairEve rything2 OCL = SUPERWEAPON_RepairEverything1 CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_SpecialPower07 SpecialPowerTemplate = SuperweaponCarpetBomb OCL = SUPERWEAPON_ChinaCarpetBomb CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_SpecialPower08 SpecialPowerTemplate = SuperweaponECMBomb

OCL = SUPERWEAPON_ChinaECMBomb CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_SpecialPower09 SpecialPowerTemplate = SuperweaponFrenzy UpgradeOCL = SCIENCE_Frenzy3 SUPERWEAPON_Frenzy3 UpgradeOCL = SCIENCE_Frenzy2 SUPERWEAPON_Frenzy2 OCL = SUPERWEAPON_Frenzy1 CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_SpecialPower10 SpecialPowerTemplate = Tank_SuperweaponTankParadrop UpgradeOCL = SCIENCE_TankParadrop3 Tank_SUPERWEAPON_TankParadrop3 UpgradeOCL = SCIENCE_TankParadrop2 Tank_SUPERWEAPON_TankParadrop2 OCL = Tank_SUPERWEAPON_TankParadrop1 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell s o we don't land in water and on cliffs. End Behavior = OCLSpecialPower ModuleTag_SpecialPower11 SpecialPowerTemplate = SuperweaponWFDrop OCL = OCL_Tank_ChinaWarFactorySpawner CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_SpecialPower12 SpecialPowerTemplate = SuperweaponSignalMines OCL = SUPERWEAPON_SignalMines CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_SpecialPower13 SpecialPowerTemplate = SpecialPowerEmperorDrop OCL = SUPERWEAPON_EmperorDrop CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell s o we don't land in water and on cliffs. End Behavior = FlammableUpdate ModuleTag_23 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_24 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionMediumShockwave End ;Behavior = CommandSetUpgrade ModuleTag_28 ; CommandSet = Tank_ChinaCommandCenterCommandSetUpgrade

; TriggeredBy = Upgrade_ChinaMines ;End ;Behavior = ArmorUpgrade ModuleTag_29 ; TriggeredBy = Upgrade_ChinaEMPMines ;End ;Upgrade for Emergency repair Behavior = GrantScienceUpgrade ModuleTag_Science5 GrantScience = SCIENCE_EmergencyRepairUpgrade2 TriggeredBy = Upgrade_EmergencyRepair2 End Behavior = GrantScienceUpgrade ModuleTag_Science6 GrantScience = SCIENCE_EmergencyRepairUpgrade3 TriggeredBy = Upgrade_EmergencyRepair3 End Geometry FactoryExitWidth GeometryMajorRadius GeometryMinorRadius GeometryHeight GeometryIsSmall Shadow BuildCompletion End = = = = = = = = BOX 25 60.0 63.0 36.0 No SHADOW_VOLUME PLACED_BY_PLAYER

;-----------------------------------------------------------------------------Object Tank_ChinaTankEarthShaker ; *** ART Parameters *** SelectPortrait = SSSeismicTank_L ButtonImage = SSSeismicTank UpgradeCameo1 = Upgrade_ChinaNuclearTanks Draw = W3DOverlordTankDraw ModuleTag_Draw01 DefaultConditionState Model = NVShaker Turret = TURRET TurretPitch = Box01 WeaponRecoilBone = PRIMARY BARREL01 WeaponFireFXBone = PRIMARY FIREFX WeaponLaunchBone = PRIMARY FIREFX End ConditionState = REALLYDAMAGED RUBBLE Model = NVShaker_d End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone End ConditionState Model ParticleSysBone ParticleSysBone ParticleSysBone = AFLAME = NVShaker = SMOKE01 TankFireContinious = SMOKE05 TankFireContinious = TURRET01 TankFireContinious = REALLYDAMAGED AFLAME = NVShaker_d = SMOKE01 TankFireContinious = SMOKE05 TankFireContinious = TURRET01 TankFireContinious

End TrackMarks = EXTnkTrack.tga OkToChangeModelColor = Yes TreadAnimationRate = 3.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ;fraction of locomotor speed below which trea ds stop moving. TreadPivotSpeedFraction = 0.6 ;fraction of locomotor speed below which we a llow pivoting. End ; ***DESIGN parameters *** DisplayName = OBJECT:SeismicTank Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 0 BuildCost = 2300 BuildTime = 23.0 VisionRange = 200 ShroudClearingRange = 200 WeaponSet Conditions Weapon End ArmorSet Conditions Armor DamageFX End = None = PRIMARY SeismicTankGunSD

= None = TankArmor = TankDamageFX

Prerequisites Object = Tank_ChinaWarFactory Object = Tank_ChinaPropagandaCenter End ExperienceValue = 77 103 137 183 ExperienceRequired = 0 116 154 205 ;; 0 232 309 411 ; IsTrainable CrusherLevel les CrushableLevel = general vehicles CommandSet = Yes = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehic = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2

= HeavyArtilleryCommandSet

; *** AUDIO Parameters *** VoiceSelect = ShakerTankVoiceSelect SoundMoveLoop = HeavyTankMoveLoop SoundMoveLoopDamaged = HeavyTankMoveLoop VoiceMove = ShakerTankVoiceMove VoiceGuard = ShakerTankVoiceMove VoiceAttack = ShakerTankVoiceAttack UnitSpecificSounds VoiceCreate = ShakerTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NewTurretMoveLoop2 VoiceEnter = ShakerTankVoiceMove End

; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 800.0 InitialHealth = 800.0 SubdualDamageCap = 1600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_03 Turret TurretTurnRate = 60 TurretPitchRate = 60 AllowsPitch = Yes FirePitch = 30 ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL OverlordLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearOverlordLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_04 DeathWeapon = Nuke_NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_05 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = PhysicsBehavior ModuleTag_14 Mass = 100.0 End Behavior = SlowDeathBehavior ModuleTag_16 DeathTypes = ALL -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 200 DestructionDelayVariance = 100 OCL = FINAL OCL_ChinaTankSeismicDebris FX = FINAL FX_OverlordExplosionOneFinal End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 10 OCL = FINAL OCL_ChinaTankSeismicDeathEffectSimple End Behavior = CreateCrateDie ModuleTag_17 CrateData = SalvageCrateData End Behavior = TransitionDamageFX ModuleTag_18

ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallCont inuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_OverlordDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = VeterancyGainCreate ModuleTag_22 StartingLevel = VETERAN ScienceRequired = SCIENCE_ArtilleryTraining End Behavior = ProductionUpdate ModuleTag_Drone05 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Geometry = BOX GeometryMajorRadius = 26.0 GeometryMinorRadius = 13.0 GeometryHeight = 15.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaTankManticore ; *** ART Parameters *** SelectPortrait = SNHeavyQuadTank_L ButtonImage = SNHeavyQuadTank UpgradeCameo1 = Upgrade_ChinaChainGuns UpgradeCameo2 = Upgrade_ChinaNuclearTanks Draw = W3DOverlordTankDraw ModuleTag_Draw01 DefaultConditionState Model Animation AnimationMode Turret TurretPitch WeaponFireFXBone WeaponRecoilBone WeaponMuzzleFlash WeaponLaunchBone End ConditionState Model Animation AnimationMode End ConditionState Model End = = = = = = = = = = = = = NVMantikor NVMantikor.NVMantikor LOOP TURRET HOUSECOLOR01 PRIMARY Muzzle PRIMARY Barrel PRIMARY MuzzleFX PRIMARY Muzzle REALLYDAMAGED NVMantikor_D NVMantikor_D.NVMantikor_D LOOP

= RUBBLE = NVMantikor_E

ConditionState Model Animation AnimationMode WeaponFireFXBone WeaponRecoilBone WeaponMuzzleFlash WeaponLaunchBone End ConditionState Model Animation AnimationMode WeaponFireFXBone WeaponRecoilBone WeaponMuzzleFlash WeaponLaunchBone End

= = = = = = = = = = = = = = = =

USING_WEAPON_B NVMantikor NVMantikor.NVMantikor LOOP SECONDARY Muzzle SECONDARY Barrel SECONDARY MuzzleFX SECONDARY Muzzle USING_WEAPON_B REALLYDAMAGED NVMantikor_D NVMantikor_D.NVMantikor_D LOOP SECONDARY Muzzle SECONDARY Barrel SECONDARY MuzzleFX SECONDARY Muzzle

ConditionState = AFLAME Model = NVMantikor Animation = NVMantikor.NVMantikor AnimationMode = LOOP ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE05 TankFireContinious ParticleSysBone = TURRET TankFireContinious End ConditionState = REALLYDAMAGED AFLAME Model = NVMantikor_d Animation = NVMantikor_D.NVMantikor_D AnimationMode = LOOP ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE05 TankFireContinious ParticleSysBone = TURRET TankFireContinious End ConditionState = USING_WEAPON_B AFLAME Model = NVMantikor Animation = NVMantikor.NVMantikor AnimationMode = LOOP ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE05 TankFireContinious ParticleSysBone = TURRET TankFireContinious WeaponFireFXBone = SECONDARY Muzzle WeaponRecoilBone = SECONDARY Barrel WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponLaunchBone = SECONDARY Muzzle End ConditionState = USING_WEAPON_B REALLYDAMAGED AFLAME Model = NVMantikor_d Animation = NVMantikor_D.NVMantikor_D AnimationMode = LOOP ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE05 TankFireContinious ParticleSysBone = TURRET TankFireContinious WeaponFireFXBone = SECONDARY Muzzle WeaponRecoilBone = SECONDARY Barrel

WeaponMuzzleFlash WeaponLaunchBone End

= SECONDARY MuzzleFX = SECONDARY Muzzle

ConditionState = RUBBLE AFLAME Model = NVMantikor_E ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE05 TankFireContinious ParticleSysBone = TURRET TankFireContinious End TrackMarks = EXTnkTrack.tga OkToChangeModelColor = Yes TreadAnimationRate = 3.0 TreadDriveSpeedFraction = 0.3 TreadPivotSpeedFraction = 0.6 End ; ***DESIGN parameters *** DisplayName = OBJECT:Manticore Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 0 BuildCost = 2300 BuildTime = 23.0 VisionRange = 250 ShroudClearingRange = 300 WeaponSet Conditions = None Weapon = PRIMARY OverlordQuadTankGunAir Weapon = SECONDARY OverlordQuadTankGun End ArmorSet Conditions = None Armor = GattlingTankArmor DamageFX = TankDamageFX End Prerequisites Object = Tank_ChinaWarFactory Object = Tank_ChinaPropagandaCenter End ExperienceValue = 122 177 258 371 ExperienceRequired = 0 366 530 775 IsTrainable = Yes CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = g eneral vehicles CommandSet = GenericCommandSet ; *** AUDIO Parameters *** VoiceSelect = ManticoreTankVoiceSelect SoundMoveLoop = HeavyTankMoveLoop SoundMoveLoopDamaged = HeavyTankMoveLoop VoiceMove = ManticoreTankVoiceMove VoiceGuard = ManticoreTankVoiceMove VoiceAttack = ManticoreTankVoiceAttack

UnitSpecificSounds VoiceCreate = ManticoreTankVoiceCreate VoiceEnter = ManticoreTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REF LECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_03 MaxHealth = 800.0 InitialHealth = 800.0 SubdualDamageCap = 1600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_04 Turret TurretTurnRate = 180 AllowsPitch = Yes TurretPitchRate = 120 ControlledWeaponSlots = PRIMARY SECONDARY FiresWhileTurning = Yes End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 100 End Locomotor = SET_NORMAL OverlordLocomotor Locomotor = SET_NORMAL_UPGRADED NuclearOverlordLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = Nuke_NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = PhysicsBehavior ModuleTag_14 Mass = 100.0 End Behavior = SlowDeathBehavior ModuleTag_16 DeathTypes = ALL -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 200 DestructionDelayVariance = 100 OCL = FINAL OCL_ChinaTankManticoreDebris FX = FINAL FX_OverlordExplosionOneFinal End Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 10 OCL = FINAL OCL_ChinaTankManticoreDeathEffectSimple End

Behavior = CreateCrateDie ModuleTag_17 CrateData = SalvageCrateData End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallCont inuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_OverlordDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = StealthDetectorUpdate ModuleTag_AircraftDetector ;+ DetectionRate = 250 CanDetectWhileGarrisoned = No CanDetectWhileContained = No ExtraRequiredKindOf = AIRCRAFT End Behavior = VeterancyGainCreate ModuleTag_Veteran StartingLevel = VETERAN ScienceRequired = SCIENCE_TankTraining End Behavior = WeaponBonusUpgrade ModuleTag_Bonus TriggeredBy = Upgrade_ChinaChainGuns End Behavior = ProductionUpdate ModuleTag_Drone05 MaxQueueEntries = 1 End Geometry = BOX GeometryMajorRadius = 26.0 GeometryMinorRadius = 13.0 GeometryHeight = 15.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaWarFactorySpawner ; *** ART Parameters *** SelectPortrait = SNWarFact_L ButtonImage = SNWarFact ; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_03 DefaultConditionState Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE ParticleSysBone = Smoke01 SmolderingSmoke

ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT ConditionState = RUBBLE Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE_BACKWARDS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End AliasConditionState = NIGHT RUBBLE AliasConditionState = SNOW RUBBLE AliasConditionState = SNOW NIGHT RUBBLE End ; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_04 MinLODRequired = MEDIUM DefaultConditionState Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT ConditionState = RUBBLE Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE_BACKWARDS ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End AliasConditionState = NIGHT RUBBLE AliasConditionState = SNOW RUBBLE AliasConditionState = SNOW NIGHT RUBBLE End ; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState

Model = Animation = AnimationMode = End AliasConditionState AliasConditionState AliasConditionState

NBWarFact_AB NBWarFact_AB.NBWarFact_AB ONCE = NIGHT = SNOW = SNOW NIGHT

ConditionState = RUBBLE Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE_BACKWARDS End AliasConditionState = NIGHT RUBBLE AliasConditionState = SNOW RUBBLE AliasConditionState = SNOW NIGHT RUBBLE End ; ***DESIGN parameters *** DisplayName = OBJECT:WarFactory Side = ChinaTankGeneral BuildCost = 2000 BuildTime = 40 EnergyProduction = 0 VisionRange = 50 ShroudClearingRange = 50 ArmorSet Conditions = None Armor = StructureArmor DamageFX = EmptyDamageFX End ExperienceValue = 75 75 75 75 ; *** AUDIO Parameters *** SoundAmbient = ConstructionSpecialPowerSound ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE IMMOBILE NO_SELECT IGNORED_IN_GUI REPAIR_P AD FS_FACTORY MP_COUNT_FOR_VICTORY FS_WARFACTORY UNATTACKABLE Body = StructureBody ModuleTag_08 MaxHealth = 4000.0 InitialHealth = 4000.0 SubdualDamageCap = 4000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PhysicsBehavior ModuleTag_05A Mass = 5000.0 End Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL DestructionDelay = 5000 End

Behavior = LifetimeUpdate ModuleTag_Die MinLifetime = 5000 MaxLifetime = 5000 End Behavior = CreateObjectDie ModuleTag_10 CreationList = OCL_Tank_ChinaWarFactory End Shadow = SHADOW_VOLUME BuildCompletion = APPEARS_AT_RALLY_POINT End ;-----------------------------------------------------------------------------Object Tank_ChinaTankSuperOverlord ; *** ART Parameters *** SelectPortrait = SNHeavyOver_L ButtonImage = SNHeavyOver UpgradeCameo1 = Upgrade_ChinaChainGuns UpgradeCameo2 = Upgrade_ChinaUraniumShells UpgradeCameo3 = Upgrade_ChinaNuclearTanks Draw OkToChangeModelColor DefaultConditionState Model Animation AnimationMode Turret TurretPitch WeaponFireFXBone WeaponLaunchBone WeaponMuzzleFlash End ConditionState Model End AliasConditionState = = = = = = = = = W3DOverlordTankDraw ModuleTag_01 = Yes NVSOL NVSOL.NVSOL MANUAL TURRET01 TURRETEL PRIMARY Muzzle PRIMARY Muzzle PRIMARY MuzzleFX

= REALLYDAMAGED = NVSOL_D = RUBBLE

;-----pristine attacking---------------------ConditionState = ATTACKING Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End

ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t End ConditionState = CONTINUOUS_FIRE_FAST ATTACKING Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst End ;-----damaged attacking---------------------ConditionState REALLYDAMAGED ATTACKING Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely s loowly End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst End ConditionState = AFLAME Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = MANUAL ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious End ConditionState = REALLYDAMAGED AFLAME

Model = NVSOL_D ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious End AliasConditionState = RUBBLE AFLAME ;-----pristine attacking---------------------ConditionState = ATTACKING AFLAME Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious End ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING AFLAME Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious End ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING AFLAME Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious End ConditionState = CONTINUOUS_FIRE_FAST ATTACKING AFLAME Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious End ;-----damaged attacking---------------------ConditionState REALLYDAMAGED ATTACKING AFLAME Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely s loowly

ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING AFLAME Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING AFLAME Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING AFLAME Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious End ;-----pristine attacking---------------------ConditionState = ATTACKING USING_WEAPON_B Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y WeaponFireFXBone WeaponLaunchBone WeaponMuzzleFlash End = SECONDARY Muzzle = SECONDARY Muzzle = SECONDARY MuzzleFX

ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING USING_WEAPON_B Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y WeaponFireFXBone WeaponLaunchBone WeaponMuzzleFlash End = SECONDARY Muzzle = SECONDARY Muzzle = SECONDARY MuzzleFX

ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING USING_WEAPON_B Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t WeaponFireFXBone WeaponLaunchBone WeaponMuzzleFlash End = SECONDARY Muzzle = SECONDARY Muzzle = SECONDARY MuzzleFX

ConditionState = CONTINUOUS_FIRE_FAST ATTACKING USING_WEAPON_B Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ;-----damaged attacking---------------------ConditionState REALLYDAMAGED ATTACKING USING_WEAPON_B Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely s loowly WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING USING_W EAPON_B Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING USING_W EAPON_B Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING USING_WEAPO

N_B Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ;-----pristine attacking---------------------ConditionState = ATTACKING AFLAME USING_WEAPON_B Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING AFLAME USING_WEAPON_B Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING AFLAME USING_WEAPON_B Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_FAST ATTACKING AFLAME USING_WEAPON_B Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke

ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ;-----damaged attacking---------------------ConditionState REALLYDAMAGED ATTACKING AFLAME USING_WEAPON_B Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely s loowly ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING AFLAME USING_WEAPON_B Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING AFLAME USING_WEAPON_B Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState G_WEAPON_B Model Animation AnimationMode = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING AFLAME USIN = NVSOL_D = NVSOL_D.NVSOL_D = LOOP

ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ;-----pristine attacking---------------------ConditionState = ATTACKING USING_WEAPON_C Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y WeaponFireFXBone WeaponLaunchBone WeaponMuzzleFlash End = TERTIARY Muzzle = TERTIARY Muzzle = TERTIARY MuzzleFX

ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING USING_WEAPON_C Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y WeaponFireFXBone WeaponLaunchBone WeaponMuzzleFlash End = TERTIARY Muzzle = TERTIARY Muzzle = TERTIARY MuzzleFX

ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING USING_WEAPON_C Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t WeaponFireFXBone WeaponLaunchBone WeaponMuzzleFlash End = TERTIARY Muzzle = TERTIARY Muzzle = TERTIARY MuzzleFX

ConditionState = CONTINUOUS_FIRE_FAST ATTACKING USING_WEAPON_C Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End ;-----damaged attacking---------------------ConditionState REALLYDAMAGED ATTACKING USING_WEAPON_C Model = NVSOL_D

Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely s loowly WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING USING_W EAPON_C Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING USING_W EAPON_C Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End ConditionState N_C Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End ;-----pristine attacking---------------------ConditionState = ATTACKING AFLAME USING_WEAPON_C Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING USING_WEAPO

ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING AFLAME USING_WEAPON_C Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING AFLAME USING_WEAPON_C Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_FAST ATTACKING AFLAME USING_WEAPON_C Model = NVSOL Animation = NVSOL.NVSOL AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End ;-----damaged attacking---------------------ConditionState REALLYDAMAGED ATTACKING AFLAME USING_WEAPON_C Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely s loowly ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End ConditionState USING_WEAPON_C = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING AFLAME

Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING AFLAME USING_WEAPON_C Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fas t ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING AFLAME USIN G_WEAPON_C Model = NVSOL_D Animation = NVSOL_D.NVSOL_D AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = FIREPOINT01 TankFireContinious ParticleSysBone = SMOKE01 TankFireContinious ParticleSysBone = SMOKE04 TankFireContinious WeaponFireFXBone = TERTIARY Muzzle WeaponLaunchBone = TERTIARY Muzzle WeaponMuzzleFlash = TERTIARY MuzzleFX End TrackMarks TreadAnimationRate TreadDriveSpeedFraction ads stop moving. TreadPivotSpeedFraction allow pivoting. End = EXTnkTrack.tga = 3.0 ; amount of tread texture to move per second = 0.3 ; fraction of locomotor speed below which tre = 0.6 ; fraction of locomotor speed below which we

; ***DESIGN parameters *** DisplayName = OBJECT:SuperOverlord Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 0 BuildCost = 7000 BuildTime = 10.0 VisionRange = 200

ShroudClearingRange = 300 MaxSimultaneousOfType = DeterminedBySuperweaponRestriction WeaponSet Conditions = None Weapon = PRIMARY SuperOverlordTankGun Weapon = SECONDARY SuperOverlordTankGunAir Weapon = TERTIARY SuperOverlordTankGunAP PreferredAgainst = PRIMARY INFANTRY STRUCTURE PreferredAgainst = SECONDARY AIRCRAFT PreferredAgainst = TERTIARY HUGE_VEHICLE ShareWeaponReloadTime = Yes AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = TERTIARY FROM_PLAYER FROM_SCRIPT FROM_AI End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY SuperOverlordTankGunUpgraded Weapon = SECONDARY SuperOverlordTankGunAirUpgraded Weapon = TERTIARY SuperOverlordTankGunAPUpgraded PreferredAgainst = PRIMARY INFANTRY STRUCTURE PreferredAgainst = SECONDARY AIRCRAFT PreferredAgainst = TERTIARY HUGE_VEHICLE ShareWeaponReloadTime = Yes AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = TERTIARY FROM_PLAYER FROM_SCRIPT FROM_AI End ArmorSet Conditions Armor DamageFX End = None = SuperTankArmor = TankDamageFX

Prerequisites Object = Tank_ChinaWarFactory Object = Tank_ChinaPropagandaCenter Science = SCIENCE_TANK Science = SCIENCE_Rank1 End ExperienceValue = 326 435 578 772 ExperienceRequired = 0 979 1304 1735 IsTrainable = Yes CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = g eneral vehicles CommandSet = Tank_ChinaTankShaitanCommandSet ; *** AUDIO Parameters *** VoiceSelect = ShaitanTankVoiceSelect VoiceMove = ShaitanTankVoiceMove VoiceGuard = ShaitanTankVoiceMove VoiceAttack = ShaitanTankVoiceAttack SoundMoveLoop = HeavyTankMoveLoop SoundMoveLoopDamaged = HeavyTankMoveLoop UnitSpecificSounds VoiceCreate = ShaitanTankVoiceCreate

TurretMoveStart TurretMoveLoop VoiceCrush VoiceEnter End ; *** ENGINEERING RadarPriority KindOf AN_CAST_REFLECTIONS

= = = =

NoSound NewTurretMoveLoop2 ShaitanTankVoiceAttack ShaitanTankVoiceMove

Parameters *** = UNIT = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT C SCORE VEHICLE DRONE

Body = ActiveBody ModuleTag_02 MaxHealth = 8250.0 InitialHealth = 8250.0 SubdualDamageCap = 6500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY TurretTurnRate = 45 TurretPitchRate = 45 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 10 End MoodAttackCheckRate = 250 AutoAcquireEnemiesWhenIdle = Yes End Behavior Mass End = PhysicsBehavior ModuleTag_04 = 150.0

Locomotor = SET_NORMAL SlowOverlordLocomotor Locomotor = SET_NORMAL_UPGRADED OverlordLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_18 DeathWeapon = Nuke_NuclearTankDeathWeapon StartsActive = No TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = LocomotorSetUpgrade ModuleTag_20 TriggeredBy = Upgrade_ChinaNuclearTanks End Behavior = WeaponBonusUpgrade ModuleTag_22 TriggeredBy = Upgrade_ChinaUraniumShells End Behavior = WeaponSetUpgrade ModuleTag_35 TriggeredBy = Upgrade_ChinaChainGuns End Behavior = SlowDeathBehavior ModuleTag_16 DeathTypes = ALL -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_6 DestructionDelay = 200 DestructionDelayVariance = 100

OCL = FINAL FX = FINAL End

OCL_ChinaTankSuperOverlordDebris FX_OverlordExplosionOneFinal

Behavior = SlowDeathBehavior ModuleTag_Poisoned DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA +EXTRA_6 DestructionDelay = 10 OCL = FINAL OCL_ChinaTankSuperOverlordDeathEffectSimple End Behavior = CreateCrateDie ModuleTag_17 CrateData = SalvageCrateData End Behavior = TransitionDamageFX ModuleTag_22A ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallCont inuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_OverlordDamageTransition End Behavior = FlammableUpdate ModuleTag_21A AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = OverlordContain ModuleTag_06A Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes PassengersInTurret = Yes ExperienceSinkForRider = Yes End Behavior = ObjectCreationUpgrade ModuleTag_Addon01 UpgradeObject = OCL_OverlordGattlingCannon TriggeredBy = Upgrade_ChinaOverlordGattlingCannon ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordSnipe r Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordRadar Upgrade_ChinaOverlordPropa gandaTower End Behavior = ObjectCreationUpgrade ModuleTag_Addon02 UpgradeObject = OCL_OverlordBattleBunker TriggeredBy = Upgrade_ChinaOverlordBattleBunker ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordSni per Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordRadar Upgrade_ChinaOverlordPro pagandaTower End Behavior = ObjectCreationUpgrade ModuleTag_Addon03 UpgradeObject = OCL_OverlordPropagandaTower TriggeredBy = Upgrade_ChinaOverlordPropagandaTower ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordSni per Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordRadar Upgrade_ChinaOverlordBat tleBunker End Behavior = ObjectCreationUpgrade ModuleTag_Addon04 UpgradeObject = OCL_ChinaTankOverlordRadar TriggeredBy = Upgrade_ChinaOverlordRadar ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordSnipe

r Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOve rlordGattlingCannon End Behavior = ObjectCreationUpgrade ModuleTag_Addon05 UpgradeObject = OCL_OverlordSniperCannon TriggeredBy = Upgrade_ChinaOverlordSniper ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordECM U pgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordGattlingCannon Upgrade_ ChinaOverlordRadar End Behavior = ObjectCreationUpgrade ModuleTag_Addon06 UpgradeObject = OCL_OverlordECM TriggeredBy = Upgrade_ChinaOverlordECM ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordGattl ingCannon Upgrade_ChinaOverlordSniper Upgrade_ChinaOverlordRadar Upgrade_ChinaOv erlordPropagandaTower End Behavior = ProductionUpdate ModuleTag_11 MaxQueueEntries = 1 End Behavior = CommandSetUpgrade ModuleTag_12 CommandSet = GenericCommandSet TriggeredBy = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordSni per Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordPropagandaTower ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordRadar End Behavior = CommandSetUpgrade ModuleTag_13 CommandSet = ChinaTankOverlordBattleBunkerCommandSet TriggeredBy = Upgrade_ChinaOverlordBattleBunker ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordSni per Upgrade_ChinaOverlordECM Upgrade_ChinaOverlordRadar Upgrade_ChinaOverlordPro pagandaTower End Behavior = CommandSetUpgrade ModuleTag_13A CommandSet = ChinaTankOverlordCommandSetWithRadar TriggeredBy = Upgrade_ChinaOverlordRadar ConflictsWith = Upgrade_ChinaOverlordBattleBunker Upgrade_ChinaOverlordGattl ingCannon Upgrade_ChinaOverlordSniper Upgrade_ChinaOverlordECM Upgrade_ChinaOver lordPropagandaTower End Geometry = BOX GeometryMajorRadius = 28.0 GeometryMinorRadius = 14.0 GeometryHeight = 16.0 GeometryIsSmall = Yes; No Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaBattery ; *** ART Parameters *** SelectPortrait = SNBatt_L ButtonImage = SNBatt UpgradeCameo1 = Upgrade_ChinaUraniumShells

Draw = W3DModelDraw ModuleTag_01 ParticlesAttachedToAnimatedBones = Yes IgnoreConditionStates = NIGHT OkToChangeModelColor = Yes DefaultConditionState Model = Turret = TurretPitch = WeaponLaunchBone = WeaponFireFXBone = WeaponMuzzleFlash = WeaponRecoilBone = End ConditionState Model End ConditionState Model End ConditionState Model End ConditionState Model End ConditionState Model End ConditionState Model WeaponLaunchBone WeaponFireFXBone WeaponMuzzleFlash WeaponRecoilBone End ConditionState Model WeaponLaunchBone WeaponFireFXBone WeaponMuzzleFlash WeaponRecoilBone End ConditionState Model WeaponLaunchBone WeaponFireFXBone WeaponMuzzleFlash WeaponRecoilBone End NVBattery TURRET TURRETEL PRIMARY Muzzle PRIMARY Muzzle PRIMARY MuzzleFX PRIMARY Barrel

= DAMAGED = NVBattery_D = REALLYDAMAGED RUBBLE = NVBattery_E = SNOW = NVBattery_S = DAMAGED SNOW = NVBattery_DS = REALLYDAMAGED RUBBLE SNOW = NVBattery_ES = = = = = = = = = = = = = = = = = = USING_WEAPON_A NVBattery PRIMARY Muzzle PRIMARY Muzzle PRIMARY MuzzleFX PRIMARY Barrel USING_WEAPON_A DAMAGED NVBattery_D PRIMARY Muzzle PRIMARY Muzzle PRIMARY MuzzleFX PRIMARY Barrel USING_WEAPON_A REALLYDAMAGED RUBBLE NVBattery_E PRIMARY Muzzle PRIMARY Muzzle PRIMARY MuzzleFX PRIMARY Barrel

ConditionState Model WeaponLaunchBone WeaponFireFXBone WeaponMuzzleFlash WeaponRecoilBone End ConditionState Model WeaponLaunchBone WeaponFireFXBone WeaponMuzzleFlash WeaponRecoilBone End ConditionState Model WeaponLaunchBone WeaponFireFXBone WeaponMuzzleFlash WeaponRecoilBone End ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState ConditionState Model Flags End ConditionState Model Flags End ConditionState GED Model Flags End ConditionState GED SNOW Model Flags

= = = = = = = = = = = = = = = = = =

USING_WEAPON_A SNOW NVBattery_S PRIMARY Muzzle PRIMARY Muzzle PRIMARY MuzzleFX PRIMARY Barrel USING_WEAPON_A DAMAGED SNOW NVBattery_DS PRIMARY Muzzle PRIMARY Muzzle PRIMARY MuzzleFX PRIMARY Barrel USING_WEAPON_A REALLYDAMAGED RUBBLE SNOW NVBattery_ES PRIMARY Muzzle PRIMARY Muzzle PRIMARY MuzzleFX PRIMARY Barrel = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED

= PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED = NVBattery = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW = NVBattery_S = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMA = NVBattery_D = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMA = NVBattery_DS = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT

End End ; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBSupDrop_A4 Animation = NBSupDrop_A4.NBSupDrop_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBSupDrop_A4N Animation = NBSupDrop_A4N.NBSupDrop_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBSupDrop_A4S Animation = NBSupDrop_A4S.NBSupDrop_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBSupDrop_A4SN Animation = NBSupDrop_A4SN.NBSupDrop_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupDrop_A4 Animation = NBSupDrop_A4.NBSupDrop_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST

End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupDrop_A4N Animation = NBSupDrop_A4N.NBSupDrop_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupDrop_A4S Animation = NBSupDrop_A4S.NBSupDrop_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupDrop_A4SN Animation = NBSupDrop_A4SN.NBSupDrop_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupDrop_A4 Animation = NBSupDrop_A4.NBSupDrop_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupDrop_A4N Animation = NBSupDrop_A4N.NBSupDrop_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupDrop_A4S Animation = NBSupDrop_A4S.NBSupDrop_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupDrop_A4SN Animation = NBSupDrop_A4SN.NBSupDrop_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM

DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBSupDrop_A6 Animation = NBSupDrop_A6.NBSupDrop_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBSupDrop_A6N Animation = NBSupDrop_A6N.NBSupDrop_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBSupDrop_A6S Animation = NBSupDrop_A6S.NBSupDrop_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBSupDrop_A6SN Animation = NBSupDrop_A6SN.NBSupDrop_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST

TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupDrop_A6 Animation = NBSupDrop_A6.NBSupDrop_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupDrop_A6N Animation = NBSupDrop_A6N.NBSupDrop_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupDrop_A6S Animation = NBSupDrop_A6S.NBSupDrop_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupDrop_A6SN Animation = NBSupDrop_A6SN.NBSupDrop_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupDrop_A6 Animation = NBSupDrop_A6.NBSupDrop_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupDrop_A6N Animation = NBSupDrop_A6N.NBSupDrop_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupDrop_A6S Animation = NBSupDrop_A6S.NBSupDrop_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End = START_FRAME_LAST

TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupDrop_A6SN Animation = NBSupDrop_A6SN.NBSupDrop_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Battery Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 4000 BuildTime = 80.0 EnergyProduction = -2 VisionRange = 300 ShroudClearingRange = 200 Prerequisites Object = Tank_ChinaPropagandaCenter End WeaponSet Conditions Weapon End ArmorSet Conditions Armor DamageFX End CommandSet ExperienceValue = None = PRIMARY BatteryArtilleryCannon

= None = BaseDefenseArmor = StructureDamageFXNoShake = ChinaArtilleryBatteryCommandSet = 138 184 244 326

; *** AUDIO Parameters *** SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) T urretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK IMMOBILE SCORE FS_TE CHNOLOGY FS_BASE_DEFENSE IMMUNE_TO_CAPTURE POWERED Body = StructureBody ModuleTag_04;

MaxHealth = 1400.0 InitialHealth = 1400.0 SubdualDamageCap = 2800 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = AIUpdateInterface ModuleTag_06 Turret TurretTurnRate = 30 TurretPitchRate = 20 AllowsPitch = Yes FirePitch = 22 ControlledWeaponSlots = PRIMARY RecenterTime = 60000 End AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS MoodAttackCheckRate = 250 End Behavior = DestroyDie ModuleTag_08 End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionTinySmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionTinyShockwave End Behavior = GenerateMinefieldBehavior ModuleTag_15M TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine

End Behavior = ProductionUpdate ModuleTag_07M End Behavior = WeaponBonusUpgrade ModuleTag_Weapon01 TriggeredBy = Upgrade_ChinaUraniumShells End Scale = 0.95 Geometry = BOX GeometryMajorRadius = 26.0 GeometryMinorRadius = 26.0 GeometryHeight = 15.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;-----------------------------------------------------------------------Object Tank_ChinaWarFactoryBattleMaster ; *** ART Parameters *** SelectPortrait = SNWFBM_L ButtonImage = SNWFBM ; ------------ the main factory itself ----------------Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day DefaultConditionState Model = NBWarFact ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED Model = NBWarFact_D ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire

ParticleSysBone = Fire03 SmolderingFlameCore End ConditionState = SNOW Model = NBWarFact_S ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED SNOW Model = NBWarFact_DS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBWarFact_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ; night ********************************************** ConditionState = NIGHT Model = NBWarFact_N ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED NIGHT Model = NBWarFact_DN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBWarFact_EN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

= = = = = = = =

Smoke06 Smoke07 Fire01 Fire01 Fire02 Fire02 Fire03 Fire03

SmolderingSmoke SmolderingSmoke SmolderingFire SmolderingFlameCore SmolderingFire SmolderingFlameCore SmolderingFire SmolderingFlameCore

; night SNOW ConditionState = NIGHT SNOW Model = NBWarFact_NS ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED NIGHT SNOW Model = NBWarFact_DNS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBWarFact_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBWarFact ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBWarFact_D ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED selling p ACTIVELY_

ACTIVELY_

ACTIVELY_

BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_E ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBWarFact_N ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBWarFact_DN ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBWarFact_EN ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBWarFact_S ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBWarFact_DS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBWarFact_ES ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBWarFact_NS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBWarFact_DNS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBWarFact_ENS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ------------------ the construction crane -----------Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = None Model = NBWarFact_A1 Animation = NBWarFact_A1.NBWarFact_A1 AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = DAMAGED Model = NBWarFact_A1D Animation = NBWarFact_A1D.NBWarFact_A1D AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_A1E Animation = NBWarFact_A1E.NBWarFact_A1E AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING Model = NBWarFact_A2 Animation = NBWarFact_A2.NBWarFact_A2 AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = NBWarFact_A2D Animation = NBWarFact_A2D.NBWarFact_A2D AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch

End ConditionState Model Animation AnimationMode TransitionKey End ConditionState BEING_CONSTRUCTED Model Flags End ConditionState Model End End

= = = = =

ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE NBWarFact_A2E NBWarFact_A2E.NBWarFact_A2E ONCE TransitionFinishBeforeSwitch

= AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ = NBWarFact_A1 = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = SOLD DAMAGED REALLYDAMAGED RUBBLE = NONE

; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End

ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End

TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED

Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT

Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------------ the construction conveyor belt -----------Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes DefaultConditionState Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP ; Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = ACTIVELY_CONSTRUCTING

Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP ; Flags = START_FRAME_FIRST End AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = SNOW ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = SNOW DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING AliasConditionState = SNOW REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING ;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState = AWAITING_CONSTRUCTION = NONE = = = = = = = = AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION DAMAGED REALLYDAMAGED NIGHT NIGHT DAMAGED NIGHT REALLYDAMAGED SNOW SNOW DAMAGED SNOW REALLYDAMAGED selling p ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= = = = = = = = = = = = = =

AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ----------------- the factory door ------------------Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState DAMAGED NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D MANUAL START_FRAME_FIRST = NIGHT DAMAGED = SNOW DAMAGED = NIGHT SNOW DAMAGED REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E MANUAL START_FRAME_FIRST = NIGHT REALLYDAMAGED RUBBLE = SNOW REALLYDAMAGED RUBBLE = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING = SNOW DOOR_1_OPENING = NIGHT SNOW DOOR_1_OPENING

= DOOR_1_OPENING DAMAGED

Model Animation AnimationMode Flags

= = = =

NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D ONCE START_FRAME_FIRST

End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState DOOR_1_OPENING REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE DOOR_1_CLOSING NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING = SNOW DOOR_1_CLOSING = NIGHT SNOW DOOR_1_CLOSING DOOR_1_CLOSING DAMAGED NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING DAMAGED = SNOW DOOR_1_CLOSING DAMAGED = NIGHT SNOW DOOR_1_CLOSING DAMAGED DOOR_1_CLOSING REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN = SNOW DOOR_1_WAITING_OPEN = NIGHT SNOW DOOR_1_WAITING_OPEN

ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState

DOOR_1_WAITING_OPEN DAMAGED NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN DAMAGED = SNOW DOOR_1_WAITING_OPEN DAMAGED = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE selling p ACTIVELY_

;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBWarFact_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBWarFact_A8D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_A8E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_

ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = = = = = = = = = = = AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5 Animation = NBWarFact_A5.NBWarFact_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5N

Animation = NBWarFact_A5N.NBWarFact_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5S Animation = NBWarFact_A5S.NBWarFact_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5SN Animation = NBWarFact_A5SN.NBWarFact_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly

Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:WarFactory Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 40 EnergyProduction = -1 CommandSet = Tank_ChinaWarFactoryBMCommandSet VisionRange = 200 ShroudClearingRange = 200 ExperienceValue = 75 75 75 75 Prerequisites Object = Tank_ChinaSupplyCenter Science = SCIENCE_Rank3 End ArmorSet Conditions Armor DamageFX End = None = StructureArmor = StructureDamageFXNoShake

; *** AUDIO Parameters *** VoiceSelect = WarFactoryChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTU RABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY Body = StructureBody ModuleTag_08

MaxHealth = 4000.0 InitialHealth = 4000.0 SubdualDamageCap = 4000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = DestroyDie ModuleTag_09 End Behavior = CreateObjectDie ModuleTag_10 CreationList = OCL_LargeStructureDebris End Behavior DeathFX End = FXListDie ModuleTag_11 = FX_StructureMediumDeath

Behavior = ProductionUpdate ModuleTag_12 NumDoorAnimations = 1 DoorOpeningTime = 4000 ;in mSeconds DoorWaitOpenTime = 2000 ;in mSeconds DoorCloseTime = 5000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_13 UnitCreatePoint = X: 0.0 Y:-27.0 Z:0.0 NaturalRallyPoint = X: 57.0 Y:-27.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_14 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = GenerateMinefieldBehavior ModuleTag_22 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable UpgradedTriggeredBy UpgradedMineName End = Yes = Upgrade_ChinaEMPMines = ChinaEMPMine

Behavior = TransitionDamageFX ModuleTag_23 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit

ionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit ionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionMediumShockwave End Geometry = BOX GeometryMajorRadius = 57.0 GeometryMinorRadius = 61.0 GeometryHeight = 30.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End Object Tank_ChinaWarFactoryGattling ; *** ART Parameters *** SelectPortrait = SNWFGT_L ButtonImage = SNWFGT ; ------------ the main factory itself ----------------Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day DefaultConditionState Model = NBWarFact ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED Model = NBWarFact_D ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End

ConditionState = SNOW Model = NBWarFact_S ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED SNOW Model = NBWarFact_DS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBWarFact_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ; night ********************************************** ConditionState = NIGHT Model = NBWarFact_N ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED NIGHT Model = NBWarFact_DN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBWarFact_EN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire

ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone ParticleSysBone End

= = = = =

Fire01 Fire02 Fire02 Fire03 Fire03

SmolderingFlameCore SmolderingFire SmolderingFlameCore SmolderingFire SmolderingFlameCore

; night SNOW ConditionState = NIGHT SNOW Model = NBWarFact_NS ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED NIGHT SNOW Model = NBWarFact_DNS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBWarFact_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBWarFact ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBWarFact_D ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_E ParticleSysBone = Smoke01 SmolderingSmoke selling p ACTIVELY_

ACTIVELY_

ACTIVELY_

Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBWarFact_N ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBWarFact_DN ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBWarFact_EN ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBWarFact_S ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBWarFact_DS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBWarFact_ES ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBWarFact_NS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBWarFact_DNS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBWarFact_ENS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState Model End = AWAITING_CONSTRUCTION = NONE

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= = = = = = = = = = = = = = = = = = = = = = =

AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ------------------ the construction crane -----------Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = None Model = NBWarFact_A1 Animation = NBWarFact_A1.NBWarFact_A1 AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = DAMAGED Model = NBWarFact_A1D Animation = NBWarFact_A1D.NBWarFact_A1D AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_A1E Animation = NBWarFact_A1E.NBWarFact_A1E AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING Model = NBWarFact_A2 Animation = NBWarFact_A2.NBWarFact_A2 AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = NBWarFact_A2D Animation = NBWarFact_A2D.NBWarFact_A2D AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = NBWarFact_A2E

Animation AnimationMode TransitionKey End ConditionState BEING_CONSTRUCTED Model Flags End ConditionState Model End End

= NBWarFact_A2E.NBWarFact_A2E = ONCE = TransitionFinishBeforeSwitch = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ = NBWarFact_A1 = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = SOLD DAMAGED REALLYDAMAGED RUBBLE = NONE

; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBWarFact_A4S

Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N

AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 kly

; play teardown animations more quic

Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = MANUAL

Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE

AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------------ the construction conveyor belt -----------Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes DefaultConditionState Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP ; Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState Model Animation AnimationMode = = = = ACTIVELY_CONSTRUCTING NBWarFact_A7 NBWarFact_A7.NBWarFact_A7 LOOP

; Flags = START_FRAME_FIRST End AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = SNOW ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = SNOW DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING AliasConditionState = SNOW REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING ;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION DAMAGED REALLYDAMAGED NIGHT NIGHT DAMAGED NIGHT REALLYDAMAGED SNOW SNOW DAMAGED SNOW REALLYDAMAGED NIGHT SNOW NIGHT SNOW DAMAGED NIGHT SNOW REALLYDAMAGED selling p ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= = = = = = = = = = =

SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD

DAMAGED REALLYDAMAGED NIGHT NIGHT DAMAGED NIGHT REALLYDAMAGED SNOW SNOW DAMAGED SNOW REALLYDAMAGED NIGHT SNOW NIGHT SNOW DAMAGED NIGHT SNOW REALLYDAMAGED

; ----------------- the factory door ------------------Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState Model Animation DAMAGED NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D MANUAL START_FRAME_FIRST = NIGHT DAMAGED = SNOW DAMAGED = NIGHT SNOW DAMAGED REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E MANUAL START_FRAME_FIRST = NIGHT REALLYDAMAGED RUBBLE = SNOW REALLYDAMAGED RUBBLE = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING = SNOW DOOR_1_OPENING = NIGHT SNOW DOOR_1_OPENING

= DOOR_1_OPENING DAMAGED = NBWarFact_A8D = NBWarFact_A8D.NBWarFact_A8D

AnimationMode Flags

= ONCE = START_FRAME_FIRST

End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState DOOR_1_OPENING REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE DOOR_1_CLOSING NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING = SNOW DOOR_1_CLOSING = NIGHT SNOW DOOR_1_CLOSING DOOR_1_CLOSING DAMAGED NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING DAMAGED = SNOW DOOR_1_CLOSING DAMAGED = NIGHT SNOW DOOR_1_CLOSING DAMAGED DOOR_1_CLOSING REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN = SNOW DOOR_1_WAITING_OPEN = NIGHT SNOW DOOR_1_WAITING_OPEN

= DOOR_1_WAITING_OPEN DAMAGED

Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState

NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN DAMAGED = SNOW DOOR_1_WAITING_OPEN DAMAGED = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE selling p ACTIVELY_

;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBWarFact_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBWarFact_A8D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_A8E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED ConditionState Model = AWAITING_CONSTRUCTION = NONE

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_

End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= = = = = = = = = = = = = = = = = = = = = = =

AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5 Animation = NBWarFact_A5.NBWarFact_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5N Animation = NBWarFact_A5N.NBWarFact_A5N AnimationMode = LOOP

TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5S Animation = NBWarFact_A5S.NBWarFact_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5SN Animation = NBWarFact_A5SN.NBWarFact_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End = START_FRAME_LAST

TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:WarFactory Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 40 EnergyProduction = -1 CommandSet = Tank_ChinaWarFactoryGTCommandSet VisionRange = 200 ShroudClearingRange = 200 ExperienceValue = 75 75 75 75 Prerequisites Object = Tank_ChinaSupplyCenter Science = SCIENCE_Rank3 End ArmorSet Conditions Armor DamageFX End = None = StructureArmor = StructureDamageFXNoShake

; *** AUDIO Parameters *** VoiceSelect = WarFactoryChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTU RABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY Body = StructureBody ModuleTag_08 MaxHealth = 4000.0 InitialHealth = 4000.0

SubdualDamageCap = 4000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = DestroyDie ModuleTag_09 End Behavior = CreateObjectDie ModuleTag_10 CreationList = OCL_LargeStructureDebris End Behavior DeathFX End = FXListDie ModuleTag_11 = FX_StructureMediumDeath

Behavior = ProductionUpdate ModuleTag_12 NumDoorAnimations = 1 DoorOpeningTime = 4000 ;in mSeconds DoorWaitOpenTime = 2000 ;in mSeconds DoorCloseTime = 5000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_13 UnitCreatePoint = X: 0.0 Y:-27.0 Z:0.0 NaturalRallyPoint = X: 57.0 Y:-27.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_14 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 8000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 1 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = GenerateMinefieldBehavior ModuleTag_22 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable UpgradedTriggeredBy UpgradedMineName End = Yes = Upgrade_ChinaEMPMines = ChinaEMPMine

Behavior = TransitionDamageFX ModuleTag_23 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit

ionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionMediumShockwave End Geometry = BOX GeometryMajorRadius = 57.0 GeometryMinorRadius = 61.0 GeometryHeight = 30.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End Object Tank_ChinaWarFactoryDragon ; *** ART Parameters *** SelectPortrait = SNWFDT_L ButtonImage = SNWFDT ; ------------ the main factory itself ----------------Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day DefaultConditionState Model = NBWarFact ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED Model = NBWarFact_D ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ConditionState Model = SNOW = NBWarFact_S

ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED SNOW Model = NBWarFact_DS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBWarFact_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ; night ********************************************** ConditionState = NIGHT Model = NBWarFact_N ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED NIGHT Model = NBWarFact_DN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBWarFact_EN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire

ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ; night SNOW ConditionState = NIGHT SNOW Model = NBWarFact_NS ParticleSysBone = Smoke01 UpperSteamVent End ConditionState = DAMAGED NIGHT SNOW Model = NBWarFact_DNS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBWarFact_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBWarFact ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBWarFact_D ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_E ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End selling p ACTIVELY_

ACTIVELY_

ACTIVELY_

ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT Model = NBWarFact_N ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED Model = NBWarFact_DN ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBWarFact_EN ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW Model = NBWarFact_S ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED Model = NBWarFact_DS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBWarFact_ES ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW Model = NBWarFact_NS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBWarFact_DNS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBWarFact_ENS ParticleSysBone = Smoke01 SmolderingSmoke Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState Model End AliasConditionState AliasConditionState = AWAITING_CONSTRUCTION = NONE = AWAITING_CONSTRUCTION DAMAGED = AWAITING_CONSTRUCTION REALLYDAMAGED

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

ACTIVELY_

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= = = = = = = = = = = = = = = = = = = = =

AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ------------------ the construction crane -----------Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = None Model = NBWarFact_A1 Animation = NBWarFact_A1.NBWarFact_A1 AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = DAMAGED Model = NBWarFact_A1D Animation = NBWarFact_A1D.NBWarFact_A1D AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_A1E Animation = NBWarFact_A1E.NBWarFact_A1E AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING Model = NBWarFact_A2 Animation = NBWarFact_A2.NBWarFact_A2 AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = NBWarFact_A2D Animation = NBWarFact_A2D.NBWarFact_A2D AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = NBWarFact_A2E Animation = NBWarFact_A2E.NBWarFact_A2E AnimationMode = ONCE

TransitionKey End ConditionState BEING_CONSTRUCTED Model Flags End ConditionState Model End End

= TransitionFinishBeforeSwitch = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_ = NBWarFact_A1 = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT = SOLD DAMAGED REALLYDAMAGED RUBBLE = NONE

; ------------ construction-zone fence ----------------Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEI NG_CONSTRUCTED Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVE LY_BEING_CONSTRUCTED Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVEL Y_BEING_CONSTRUCTED Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = MANUAL

Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED A CTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic

kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------ under-construction scaffolding ----------------Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT

ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST

End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

; ------------------ the construction conveyor belt -----------Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes DefaultConditionState Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP ; Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState Model Animation AnimationMode ; Flags End = = = = ACTIVELY_CONSTRUCTING NBWarFact_A7 NBWarFact_A7.NBWarFact_A7 LOOP = START_FRAME_FIRST

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState

= = = = = = = = =

NIGHT ACTIVELY_CONSTRUCTING SNOW ACTIVELY_CONSTRUCTING SNOW NIGHT ACTIVELY_CONSTRUCTING NIGHT DAMAGED ACTIVELY_CONSTRUCTING SNOW DAMAGED ACTIVELY_CONSTRUCTING SNOW NIGHT DAMAGED ACTIVELY_CONSTRUCTING NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING SNOW REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING SNOW NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING selling p ACTIVELY_

;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState Model End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState = AWAITING_CONSTRUCTION = NONE = = = = = = = = = = = = = AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION AWAITING_CONSTRUCTION SOLD DAMAGED SOLD REALLYDAMAGED

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

DAMAGED REALLYDAMAGED NIGHT NIGHT DAMAGED NIGHT REALLYDAMAGED SNOW SNOW DAMAGED SNOW REALLYDAMAGED NIGHT SNOW NIGHT SNOW DAMAGED NIGHT SNOW REALLYDAMAGED

AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= = = = = = = = =

SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD SOLD

NIGHT NIGHT DAMAGED NIGHT REALLYDAMAGED SNOW SNOW DAMAGED SNOW REALLYDAMAGED NIGHT SNOW NIGHT SNOW DAMAGED NIGHT SNOW REALLYDAMAGED

; ----------------- the factory door ------------------Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState Model Animation AnimationMode Flags = = = = = DAMAGED NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D MANUAL START_FRAME_FIRST = NIGHT DAMAGED = SNOW DAMAGED = NIGHT SNOW DAMAGED REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E MANUAL START_FRAME_FIRST = NIGHT REALLYDAMAGED RUBBLE = SNOW REALLYDAMAGED RUBBLE = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING = SNOW DOOR_1_OPENING = NIGHT SNOW DOOR_1_OPENING DOOR_1_OPENING DAMAGED NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D ONCE START_FRAME_FIRST

End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState Model Animation DOOR_1_OPENING REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E ONCE START_FRAME_FIRST = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE DOOR_1_CLOSING NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING = SNOW DOOR_1_CLOSING = NIGHT SNOW DOOR_1_CLOSING DOOR_1_CLOSING DAMAGED NBWarFact_A8D NBWarFact_A8D.NBWarFact_A8D ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING DAMAGED = SNOW DOOR_1_CLOSING DAMAGED = NIGHT SNOW DOOR_1_CLOSING DAMAGED DOOR_1_CLOSING REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E ONCE_BACKWARDS START_FRAME_LAST = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN NBWarFact_A8 NBWarFact_A8.NBWarFact_A8 MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN = SNOW DOOR_1_WAITING_OPEN = NIGHT SNOW DOOR_1_WAITING_OPEN

= DOOR_1_WAITING_OPEN DAMAGED = NBWarFact_A8D = NBWarFact_A8D.NBWarFact_A8D

AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState ConditionState = Model = Animation = AnimationMode = Flags = End AliasConditionState AliasConditionState AliasConditionState

MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN DAMAGED = SNOW DOOR_1_WAITING_OPEN DAMAGED = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NBWarFact_A8E NBWarFact_A8E.NBWarFact_A8E MANUAL START_FRAME_LAST = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE

;This block handles every possible case with construction process, rocess, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED Model = NBWarFact_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED DAMAGED Model = NBWarFact_A8D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_A8E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED ConditionState Model = AWAITING_CONSTRUCTION = NONE

selling p ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_ ACTIVELY_

ACTIVELY_ ACTIVELY_ ACTIVELY_

End AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState AliasConditionState End

= = = = = = = = = = = = = = = = = = = = = = =

AWAITING_CONSTRUCTION DAMAGED AWAITING_CONSTRUCTION REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT AWAITING_CONSTRUCTION NIGHT DAMAGED AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION SNOW AWAITING_CONSTRUCTION SNOW DAMAGED AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AWAITING_CONSTRUCTION NIGHT SNOW AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED SOLD SOLD DAMAGED SOLD REALLYDAMAGED SOLD NIGHT SOLD NIGHT DAMAGED SOLD NIGHT REALLYDAMAGED SOLD SNOW SOLD SNOW DAMAGED SOLD SNOW REALLYDAMAGED SOLD NIGHT SNOW SOLD NIGHT SNOW DAMAGED SOLD NIGHT SNOW REALLYDAMAGED

; ------------ being-constructed crane ----------------Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5 Animation = NBWarFact_A5.NBWarFact_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5N Animation = NBWarFact_A5N.NBWarFact_A5N AnimationMode = LOOP

TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5S Animation = NBWarFact_A5S.NBWarFact_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5SN Animation = NBWarFact_A5SN.NBWarFact_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End = START_FRAME_LAST

TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quic kly Flags End End = START_FRAME_LAST

PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:WarFactory Side = ChinaTankGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 40 EnergyProduction = -1 CommandSet = Tank_ChinaWarFactoryDTCommandSet VisionRange = 200 ShroudClearingRange = 200 ExperienceValue = 75 75 75 75 Prerequisites Object = Tank_ChinaSupplyCenter Science = SCIENCE_Rank3 End ArmorSet Conditions Armor DamageFX End = None = StructureArmor = StructureDamageFXNoShake

; *** AUDIO Parameters *** VoiceSelect = WarFactoryChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction End = UnderConstructionLoop

; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTU RABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY Body = StructureBody ModuleTag_08 MaxHealth = 4000.0 InitialHealth = 4000.0

SubdualDamageCap = 4000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = DestroyDie ModuleTag_09 End Behavior = CreateObjectDie ModuleTag_10 CreationList = OCL_LargeStructureDebris End Behavior DeathFX End = FXListDie ModuleTag_11 = FX_StructureMediumDeath

Behavior = ProductionUpdate ModuleTag_12 NumDoorAnimations = 1 DoorOpeningTime = 4000 ;in mSeconds DoorWaitOpenTime = 2000 ;in mSeconds DoorCloseTime = 5000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_13 UnitCreatePoint = X: 0.0 Y:-27.0 Z:0.0 NaturalRallyPoint = X: 57.0 Y:-27.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_14 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 8000 AflameDamageAmount = 1 AflameDamageDelay = 500 End Behavior = GenerateMinefieldBehavior ModuleTag_22 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable UpgradedTriggeredBy UpgradedMineName End = Yes = Upgrade_ChinaEMPMines = ChinaEMPMine

Behavior = TransitionDamageFX ModuleTag_23 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-----------------DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ;-------------------------------------------------------------------------------------ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransit ionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransit

ionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransit ionMediumShockwave End Geometry = BOX GeometryMajorRadius = 57.0 GeometryMinorRadius = 61.0 GeometryHeight = 30.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;-----------------------------------------------------------------------------Object Tank_ChinaTankBattleMasterMass ; *** ART Parameters *** SelectPortrait = SNNapMaster_L ButtonImage = SNNapMaster Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVZTZ104Mass End TrackMarks TreadAnimationRate TreadDriveSpeedFraction ads stop moving. TreadPivotSpeedFraction allow pivoting. End = EXTnkTrack.tga = 4.0 ; amount of tread texture to move per second = 0.3 ; fraction of locomotor speed below which tre = 0.6 ; fraction of locomotor speed below which we

; ***DESIGN parameters *** DisplayName = OBJECT:WarMaster Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 3 BuildCost = 5000 BuildTime = 50.0 VisionRange = 150 ShroudClearingRange = 300 ArmorSet Conditions Armor DamageFX End = None = MassOfTanksArmor = EmptyDamageFX

Prerequisites Object = Tank_ChinaWarFactoryBattleMaster End ExperienceValue = 37 50 66 90 ExperienceRequired = 0 112 150 200 IsTrainable = Yes

CrusherLevel CrushableLevel CommandSet

= 2 = 3 = GenericCommandSet

; *** AUDIO Parameters *** VoiceSelect = BattleMasterTankVoiceSelect VoiceMove = BattleMasterTankVoiceMove VoiceGuard = BattleMasterTankVoiceMove VoiceAttack = BattleMasterTankVoiceAttack SoundMoveStart = BattleMasterTankMoveStart SoundMoveStartDamaged = BattleMasterTankMoveStart UnitSpecificSounds VoiceCreate = BattleMasterTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceCrush = BattleMasterTankVoiceCrush VoiceEnter = BattleMasterTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_ CAST_REFLECTIONS Body = ActiveBody ModuleTag_02 MaxHealth = 4800.0 InitialHealth = 4800.0 SubdualDamageCap = 9000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 End Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Locomotor = SET_NORMAL LotOfTanksLocomotor Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_10 DeathTypes = ALL CreationList = OCL_ChinaTankBattleMasterMass End Behavior = LifetimeUpdate ModuleTag_Die MinLifetime = 3000 MaxLifetime = 3000 End Geometry = BOX GeometryMajorRadius = 30.0 GeometryMinorRadius = 20.0 GeometryHeight = 10 GeometryIsSmall = Yes

Shadow = SHADOW_VOLUME ShadowSizeX = 45 End ;-----------------------------------------------------------------------------Object Tank_ChinaTankGattlingMass ; *** ART Parameters *** SelectPortrait = SNTnkGattTnk_L ButtonImage = SNTnkGattTnk Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVGattTankMass End TrackMarks TreadAnimationRate TreadDriveSpeedFraction ads stop moving. TreadPivotSpeedFraction allow pivoting. End = EXTnkTrack.tga = 4.0 ; amount of tread texture to move per second = 0.3 ; fraction of locomotor speed below which tre = 0.6 ; fraction of locomotor speed below which we

; ***DESIGN parameters *** DisplayName = OBJECT:GattlingTank Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 3 BuildCost = 5000 BuildTime = 50.0 VisionRange = 150 ShroudClearingRange = 300 ArmorSet Conditions Armor DamageFX End = None = MassOfTanksArmor = EmptyDamageFX

Prerequisites Object = Tank_ChinaWarFactoryGattling End ExperienceValue = 37 50 66 90 ExperienceRequired = 0 112 150 200 IsTrainable = Yes CrusherLevel = 2 CrushableLevel = 3 CommandSet = GenericCommandSet ; *** AUDIO Parameters *** VoiceSelect = GattlingTankVoiceSelect VoiceMove = GattlingTankVoiceMove VoiceGuard = GattlingTankVoiceMove VoiceAttack = GattlingTankVoiceAttack SoundMoveStart = GattlingTankMoveStart SoundMoveStartDamaged = GattlingTankMoveStart

UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLook upINIs VoiceCreate = GattlingTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud VoiceCrush = GattlingTankVoiceCrush VoiceEnter = GattlingTankVoiceMove VoiceRapidFire = GattlingTankVoiceRapid End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF _SIGHT CAN_CAST_REFLECTIONS Body = ActiveBody ModuleTag_02 MaxHealth = 4000.0 InitialHealth = 4000.0 SubdualDamageCap = 8000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 End Behavior Mass End = PhysicsBehavior ModuleTag_04 = 40.0

Locomotor = SET_NORMAL LotOfTanksLocomotor Behavior = DestroyDie ModuleTag_09 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_11 DeathTypes = ALL CreationList = OCL_ChinaTankGattlingMass End Behavior = LifetimeUpdate ModuleTag_Die MinLifetime = 3000 MaxLifetime = 3000 End Geometry GeometryMajorRadius GeometryMinorRadius GeometryHeight GeometryIsSmall Shadow ShadowSizeX = 45 End = = = = = = BOX 30.0 20.0 15.0 Yes SHADOW_VOLUME

;-----------------------------------------------------------------------------Object Tank_ChinaTankDragonMass ; *** ART Parameters *** SelectPortrait = SNDragonTank_L

ButtonImage

= SNDragonTank

Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes DefaultConditionState Model = NVDragonMass ParticleSysBone = WeaponA01 ParticleSysBone = WeaponA02 ParticleSysBone = WeaponA03 ParticleSysBone = WeaponA04 ParticleSysBone = WeaponA05 ParticleSysBone = WeaponA06 ParticleSysBone = WeaponA07 ParticleSysBone = WeaponA08 ParticleSysBone = WeaponA09 ParticleSysBone = WeaponA10 End TrackMarks TreadAnimationRate TreadDriveSpeedFraction ads stop moving. TreadPivotSpeedFraction allow pivoting. End

FireDragonContinuous FireDragonContinuous FireDragonContinuous FireDragonContinuous FireDragonContinuous FireDragonContinuous FireDragonContinuous FireDragonContinuous FireDragonContinuous FireDragonContinuous

= EXTnkTrack.tga = 4.0 ; amount of tread texture to move per second = 0.3 ; fraction of locomotor speed below which tre = 0.6 ; fraction of locomotor speed below which we

; ***DESIGN parameters *** DisplayName = OBJECT:Dragon Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 2 BuildCost = 5000 BuildTime = 50.0 VisionRange = 100 ShroudClearingRange = 300 ArmorSet Conditions Armor DamageFX End = None = MassOfTanksArmor = EmptyDamageFX

Prerequisites Object = Tank_ChinaWarFactoryDragon End ExperienceValue = 45 65 96 137 ExperienceRequired = 0 135 196 287 IsTrainable = Yes CrusherLevel = 2 CrushableLevel = 3 CommandSet = ChinaTankDragonCommandSet ; *** AUDIO Parameters *** VoiceSelect = DragonTankVoiceSelect VoiceMove = DragonTankVoiceMove VoiceGuard = DragonTankVoiceMove VoiceAttack = DragonTankVoiceAttack

SoundMoveStart = DragonTankMoveStart SoundMoveStartDamaged = DragonTankMoveStart UnitSpecificSounds VoiceCreate = DragonTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceEnter = DragonTankVoiceMove VoiceFlameLocation = DragonTankVoiceFireStorm End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_ CAST_REFLECTIONS Body = ActiveBody ModuleTag_02 MaxHealth = 3000.0 InitialHealth = 3000.0 SubdualDamageCap = 6000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 End Locomotor = SET_NORMAL LotOfTanksLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 500.0 End Behavior = DestroyDie ModuleTag_06 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = ALL CreationList = OCL_ChinaTankDragonMass End Behavior = LifetimeUpdate ModuleTag_Die MinLifetime = 3000 MaxLifetime = 3000 End Geometry = BOX GeometryMajorRadius = 30.0 GeometryMinorRadius = 20.0 GeometryHeight = 11.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 End

You might also like