BIGF[,^ ìí ô‡Data\INI\Object\AirforceGeneral.ini öt–Data\INI\Object\AmericaAir.ini Œ‡Data\INI\Object\AmericaInfantry.ini ” |yData\INI\Object\AmericaVehicle.ini ÆData\INI\Object\ChemicalGeneral.ini¡ß eData\INI\Object\DemoGeneral.ini&±D ‘©Data\INI\Object\InfantryGeneral.ini0Bí €ßData\INI\Object\LaserGeneral.ini;ÃÌ #âData\INI\Object\NukeGeneral.iniEç® ·IData\INI\Object\StealthGeneral.iniQ÷ dData\INI\Object\SuperWeaponGeneral.iniL225 ;------------------------------------------------------------------------------ Object AirF_PointDefenseLaserBeam ; *** ART Parameters *** Draw = W3DLaserDraw ModuleTag_01 Texture = EXLaser4.tga NumBeams = 5 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. InnerBeamWidth = 0.005 ;The total width of beam InnerColor = R:255 G:0 B:180 A:120 ;The inside color of the laser (hot) OuterBeamWidth = 10 ;The total width of beam OuterColor = R:100 G:0 B:100 A:100 ;The outside color of the laser (cool) Tile = Yes ;The height of the texture will determine how many times to tile the texture to fit without scaling. ScrollRate = -2500 ;Scrolls the texture offset this fast -- towards(-) away(+) Segments = 1 ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20 SegmentOverlapRatio = 0 ;This value overlaps(+) or separates(-) the segments by ratio TilingScalar = -3 ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural) ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. ;FadeLifetime = 0 ;Laser will fade and delete. ;@todo -- add shot ability functionality (instead of instant point A to B) End KindOf = IMMOBILE ClientUpdate = LaserUpdate ModuleTag_02 MuzzleParticleSystem = PaladinPointDefenseLaserFlare TargetParticleSystem = GenericLaserFlare End ;Used as a weapon, this is essentially a fast pulse laser. Adjusting ;the lifetime values will determine how long it renders. The damage ;is applied immediately, so lifetime doesn't matter. Behavior = LifetimeUpdate ModuleTag_03 MinLifetime = 95 ; min lifetime in msec MaxLifetime = 95 ; max lifetime in msec End End Object AirF_AuroraBombGas ; *** ART Parameters *** ; *** DESIGN Parameters *** ; *** ENGINEERING Parameters *** KindOf = IMMOBILE Body = ActiveBody ModuleTag_01 MaxHealth = 1.0 InitialHealth = 1.0 End Behavior = PhysicsBehavior ModuleTag_02 Mass = 150.0 AerodynamicFriction = 7 ; this is now friction-per-sec ForwardFriction = 200 ; this is now friction-per-sec End Behavior = HeightDieUpdate ModuleTag_03 TargetHeight = 40.0 TargetHeightIncludesStructures = Yes DestroyAttachedParticlesAtHeight = 41.0 ; Hack, todo remove this End Behavior = SlowDeathBehavior ModuleTag_04 DestructionDelay = 1000 DestructionDelayVariance = 100 FX = INITIAL AirF_FX_AuroraBombIgnite FX = FINAL FX_DaisyCutterFinalExplosion Weapon = MIDPOINT DaisyCutterFlameWeapon ; Just a spot of flame to light trees on fire Weapon = FINAL AirF_AuroraBombDetonationWeapon End End ;------------------------------------------------------------------------------ Object AirF_RaptorPointDefenseLaserBeam ; *** ART Parameters *** Draw = W3DLaserDraw ModuleTag_01 Texture = EXLaser.tga NumBeams = 3 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. InnerBeamWidth = 0.4 ;The total width of beam InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) OuterBeamWidth = 1.2 ;The total width of beam OuterColor = R:255 G:0 B:255 A:150 ;The outside color of the laser (cool) ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. ;FadeLifetime = 0 ;Laser will fade and delete. ;@todo -- add shot ability functionality (instead of instant point A to B) End KindOf = IMMOBILE ClientUpdate = LaserUpdate ModuleTag_02 MuzzleParticleSystem = PaladinPointDefenseLaserFlare TargetParticleSystem = GenericLaserFlare End ;Used as a weapon, this is essentially a fast pulse laser. Adjusting ;the lifetime values will determine how long it renders. The damage ;is applied immediately, so lifetime doesn't matter. Behavior = LifetimeUpdate ModuleTag_03 MinLifetime = 95 ; min lifetime in msec MaxLifetime = 95 ; max lifetime in msec End End ;------------------------------------------------------------------------------ Object AirF_AuroraBomb ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = EXCarptBmb End End ; ***DESIGN parameters *** Side = America EditorSorting = SYSTEM ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End VisionRange = 0.0 ; *** AUDIO Parameters *** ; *** ENGINEERING Parameters *** KindOf = PROJECTILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = PhysicsBehavior ModuleTag_03 Mass = 75.0 AerodynamicFriction = 2 ; this is now friction-per-sec ForwardFriction = 2 ; this is now friction-per-sec CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back End;; Behavior = MissileAIUpdate ModuleTag_04 TryToFollowTarget = No FuelLifetime = 0 IgnitionDelay = 0 InitialVelocity = 0 ; in dist/sec DistanceToTravelBeforeTurning = 0 DistanceToTargetBeforeDiving = 0 End Locomotor = SET_NORMAL AuroraBombLocomotor ; yes, that's right. Behavior = CreateObjectDie ModuleTag_05 CreationList = AirF_OCL_AuroraBombExplode End Behavior = FXListDie ModuleTag_06 DeathFX = AirF_FX_AuroraBombExplode End Behavior = HeightDieUpdate ModuleTag_07 TargetHeight = 50.0 TargetHeightIncludesStructures = Yes End Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 2.0 End ;------------------------------------------------------------------------------ Object AirF_PatriotBinaryDataStream ; *** ART Parameters *** Draw = W3DLaserDraw ModuleTag_01 Texture = EXBinaryStream32.tga NumBeams = 1 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. Current max: 10 InnerBeamWidth = 4 ;The total width of beam InnerColor = R:0 G:255 B:0 A:180 ;The inside color of the laser (hot) Tile = Yes ;The height of the texture will determine how many times to tile the texture to fit without scaling. ScrollRate = -0.25 ;Scrolls the texture offset this fast -- towards(-) away(+) Segments = 20 ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20 ArcHeight = 30.0 ;The height of the arc SegmentOverlapRatio = 0.0000 ;This value overlaps(+) or separates(-) the segments by ratio TilingScalar = 0.25 ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural) End KindOf = IMMOBILE ClientUpdate = LaserUpdate ModuleTag_02 ;nothing End ; A patriot uses this stream as an event triggered thing, not something turned on and off with a state. Behavior = DeletionUpdate ModuleTag_03 MinLifetime = 600 ; min lifetime in msec MaxLifetime = 600 ; max lifetime in msec End End ;-------------------------------- Object AirF_AmericaJetSpectreGunship1 ; *** ART Parameters *** Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures ;----NORMAL------------- DefaultConditionState Model = AVSGunship WeaponFireFXBone = PRIMARY MUZZLE WeaponFireFXBone = SECONDARY MUZZLE WeaponMuzzleFlash = PRIMARY MUZZLEFX WeaponMuzzleFlash = SECONDARY MUZZLEFX End ConditionState = DOOR_1_OPENING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail End ConditionState = DOOR_1_CLOSING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare End ;----DAMAGED------------- ConditionState = DOOR_1_OPENING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = DOOR_1_CLOSING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ;----REALLY DAMAGED------------- ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = RUBBLE Model = AVSGunship_D1 ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke01 SpectreSmokeLarge ParticleSysBone = Smoke03 SpectreSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke05 SpectreSmokeLarge End AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:SpectreGunship EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaAirfield End ArmorSet Conditions = None Armor = SpectreGunshipArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresSpectreGunshipArmor DamageFX = None End WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Not Player built, so no veterancy.............................. ; *** AUDIO Parameters *** VoiceSelect = SpectreGunshipVoiceSelect VoiceAttack = SpectreGunshipVoiceAttack VoiceMove = SpectreGunshipVoiceMove SoundAmbient = SpectreGunshipAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds Afterburner = SpectreGunshipAfterburnerLoop HowitzerFire = SpectreHowitzerWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_04 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_SpectreGunshipExplosionLight OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_spectreDeathExplosion OCLSecondary = None FXHitGround = FX_spectreGunshipDeathExplosion OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds ; FXFinalBlowUp = FX_spectreGunshipDeathExplosion OCLFinalBlowUp = OCL_SpectreDeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = AIUpdateInterface ModuleTag_07 ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player End Locomotor = SET_PANIC SpectreGunshipTransitLocomotor Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End Behavior = SpectreGunshipUpdate ModuleTag_10 GattlingStrafeFXParticleSystem = SpectreGattlingArmsSmoke SpecialPowerTemplate = AirF_SuperweaponSpectreGunship HowitzerWeaponTemplate = SpectreHowitzerGun GattlingTemplateName = SpectreGunshipGattlingCannon RandomOffsetForHowitzer = 20 TargetingReticleRadius = 25 OrbitInsertionSlope = 0.7 ; steepness of orbit entry GunshipOrbitRadius = 250 HowitzerFiringRate = 300 ; how long between each attempted shot of howitzer HowitzerFollowLag = 400 ;600 ; how long after gattling acquires target can howitzer shoot same StrafingIncrement = 20 ; how far apart is each shot of the gattling as it strafes AttackAreaRadius = 200 OrbitTime = 10000 ;LEVEL1 (less than normal)!!!! AttackAreaDecal Texture = SCCSpecTarg Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 1500 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End TargetingReticleDecal Texture = SCCSpecRet Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 300 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End End Behavior = HelixContain ModuleTag_09 Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_11 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01 ;;;;;;;; End ; This allows the wingtip trails to stay stuck to the retractable wings Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;-------------------------------- Object AirF_AmericaJetSpectreGunship2 ; *** ART Parameters *** Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures ;----NORMAL------------- DefaultConditionState Model = AVSGunship WeaponFireFXBone = PRIMARY MUZZLE WeaponFireFXBone = SECONDARY MUZZLE WeaponMuzzleFlash = PRIMARY MUZZLEFX WeaponMuzzleFlash = SECONDARY MUZZLEFX End ConditionState = DOOR_1_OPENING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE Flags = START_FRAME_FIRST ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail End ConditionState = DOOR_1_CLOSING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare End ;----DAMAGED------------- ConditionState = DOOR_1_OPENING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = START_FRAME_FIRST ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = DOOR_1_CLOSING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ;----REALLY DAMAGED------------- ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = START_FRAME_FIRST ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = RUBBLE Model = AVSGunship_D1 ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke01 SpectreSmokeLarge ParticleSysBone = Smoke03 SpectreSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke05 SpectreSmokeLarge End AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:SpectreGunship EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaAirfield End ArmorSet Conditions = None Armor = SpectreGunshipArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresSpectreGunshipArmor DamageFX = None End WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Not Player built, so no veterancy.............................. ; *** AUDIO Parameters *** VoiceSelect = SpectreGunshipVoiceSelect VoiceAttack = SpectreGunshipVoiceAttack VoiceMove = SpectreGunshipVoiceMove SoundAmbient = SpectreGunshipAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds Afterburner = SpectreGunshipAfterburnerLoop HowitzerFire = SpectreHowitzerWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_04 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_SpectreGunshipExplosionLight OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_spectreDeathExplosion OCLSecondary = None FXHitGround = FX_spectreGunshipDeathExplosion OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds ; FXFinalBlowUp = FX_spectreGunshipDeathExplosion OCLFinalBlowUp = OCL_SpectreDeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = AIUpdateInterface ModuleTag_07 ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player End Locomotor = SET_PANIC SpectreGunshipTransitLocomotor Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End Behavior = SpectreGunshipUpdate ModuleTag_10 GattlingStrafeFXParticleSystem = SpectreGattlingArmsSmoke SpecialPowerTemplate = AirF_SuperweaponSpectreGunship HowitzerWeaponTemplate = SpectreHowitzerGun GattlingTemplateName = SpectreGunshipGattlingCannon RandomOffsetForHowitzer = 20 TargetingReticleRadius = 25 OrbitInsertionSlope = 0.7 ; steepness of orbit entry GunshipOrbitRadius = 250 HowitzerFiringRate = 300 ; how long between each attempted shot of howitzer HowitzerFollowLag = 400 ;600 ; how long after gattling acquires target can howitzer shoot same StrafingIncrement = 20 ; how far apart is each shot of the gattling as it strafes AttackAreaRadius = 200 OrbitTime = 15000 ;LEVEL2 (normal) AttackAreaDecal Texture = SCCSpecTarg Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 1500 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End TargetingReticleDecal Texture = SCCSpecRet Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 300 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End End Behavior = HelixContain ModuleTag_09 Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_11 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01 ;;;;;;;; End ; This allows the wingtip trails to stay stuck to the retractable wings Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;-------------------------------- Object AirF_AmericaJetSpectreGunship3 ; *** ART Parameters *** Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures ;----NORMAL------------- DefaultConditionState Model = AVSGunship WeaponFireFXBone = PRIMARY MUZZLE WeaponFireFXBone = SECONDARY MUZZLE WeaponMuzzleFlash = PRIMARY MUZZLEFX WeaponMuzzleFlash = SECONDARY MUZZLEFX End ConditionState = DOOR_1_OPENING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail End ConditionState = DOOR_1_CLOSING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare End ;----DAMAGED------------- ConditionState = DOOR_1_OPENING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = DOOR_1_CLOSING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ;----REALLY DAMAGED------------- ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES START_FRAME_FIRST ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = RUBBLE Model = AVSGunship_D1 ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke01 SpectreSmokeLarge ParticleSysBone = Smoke03 SpectreSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke05 SpectreSmokeLarge End AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:SpectreGunship EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaAirfield End ArmorSet Conditions = None Armor = SpectreGunshipArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresSpectreGunshipArmor DamageFX = None End WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Not Player built, so no veterancy.............................. ; *** AUDIO Parameters *** SoundAmbient = SpectreGunshipAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds Afterburner = SpectreGunshipAfterburnerLoop HowitzerFire = CrusaderTankWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_04 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_SpectreGunshipExplosionLight OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_spectreDeathExplosion OCLSecondary = None FXHitGround = FX_spectreGunshipDeathExplosion OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds ; FXFinalBlowUp = FX_spectreGunshipDeathExplosion OCLFinalBlowUp = OCL_SpectreDeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = AIUpdateInterface ModuleTag_07 ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player End Locomotor = SET_PANIC SpectreGunshipTransitLocomotor Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End Behavior = SpectreGunshipUpdate ModuleTag_10 GattlingStrafeFXParticleSystem = SpectreGattlingArmsSmoke SpecialPowerTemplate = AirF_SuperweaponSpectreGunship HowitzerWeaponTemplate = SpectreHowitzerGun GattlingTemplateName = SpectreGunshipGattlingCannon RandomOffsetForHowitzer = 20 TargetingReticleRadius = 25 OrbitInsertionSlope = 0.7 ; steepness of orbit entry GunshipOrbitRadius = 250 HowitzerFiringRate = 300 ; how long between each attempted shot of howitzer HowitzerFollowLag = 400 ;600 ; how long after gattling acquires target can howitzer shoot same StrafingIncrement = 20 ; how far apart is each shot of the gattling as it strafes AttackAreaRadius = 200 OrbitTime = 20000 ;LEVEL3 (more than normal)!!!! AttackAreaDecal Texture = SCCSpecTarg Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 1500 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End TargetingReticleDecal Texture = SCCSpecRet Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 300 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End End Behavior = HelixContain ModuleTag_09 Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_11 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01 ;;;;;;;; End ; This allows the wingtip trails to stay stuck to the retractable wings Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_SpectreGunshipHowitzer ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVSGUNSHIP_GHOW TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY MuzzleFX End End ; ***DESIGN parameters *** Side = AmericaAirForceGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = No End Behavior = DestroyDie ModuleTag_04 ;nothing End Behavior = StealthDetectorUpdate ModuleTag_06 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ; Defaults to VisionRange CanDetectWhileContained = Yes End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 13.0 GeometryHeight = 8.0 GeometryIsSmall = No Shadow = NONE End ;------------------------------------------------------------------------------ Object AirF_AmericaJetB52 ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVBomber ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = RUBBLE Model = AVBomber_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVBomber_A2U Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End End ; ***DESIGN parameters *** DisplayName = OBJECT:B52 EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = B52AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 50 50 50 50 ; Experience point value at each level ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_04 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = AirF_SuperweaponCarpetBomb OCL = AirF_SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = DeliverPayloadAIUpdate ModuleTag_08 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_09 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_10 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = TransitionDamageFX ModuleTag_11 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_12 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 60.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaJetAurora ; *** ART Parameters *** SelectPortrait = SAAurora_L ButtonImage = SAAurora UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaCountermeasures ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVAurora HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVAurora_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVAurora_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Aurora EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 600 Prerequisites Object = AirF_AmericaAirfield Object = AirF_AmericaStrategyCenter End BuildCost = 2000 BuildTime = 30.0 ;in seconds WeaponSet Conditions = None Weapon = PRIMARY AuroraBombWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 200 200 400 400 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetAuroraCommandSet ; *** AUDIO Parameters *** VoiceSelect = AuroraBomberVoiceSelect VoiceMove = AuroraBomberVoiceMove VoiceGuard = AuroraBomberVoiceMove VoiceAttack = AuroraBomberVoiceAttack SoundAmbient = AuroraBomberAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds VoiceCreate = AuroraBomberVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = AuroraBomberVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 120 ;80.0 InitialHealth = 120 ;80.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_AuroraDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_AuroraDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = ExperienceScalarUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetAIUpdate ModuleTag_07 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 SneakyOffsetWhenAttacking = -20.0 ; this is how far behind us people aim when we are in attack mode AttackLocomotorType = SET_SUPERSONIC AttackLocomotorPersistTime = 100 ; we start slowing down almost immediately AttackersMissPersistTime = 2000 ; but remain untargetable fer a bit longer ReturnForAmmoLocomotorType = SET_SLUGGISH ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL AuroraJetLocomotor Locomotor = SET_SUPERSONIC AuroraJetSupersonicLocomotor Locomotor = SET_SLUGGISH AuroraJetSluggishLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaJetStealthFighter ; *** ART Parameters *** SelectPortrait = SAStealth_L ButtonImage = SAStealth UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures UpgradeCameo4 = Upgrade_AmericaBunkerBusters ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVStealth HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = RUBBLE Model = AVStealth_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVStealth_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:StealthFighter EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 300.0 Prerequisites Object = AirF_AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY StealthJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 1250 BuildTime = 25.0 ;in seconds ExperienceValue = 100 100 200 300 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetStealthFighterCommandSet ; *** AUDIO Parameters *** VoiceSelect = StealthFighterVoiceSelect VoiceMove = StealthFighterVoiceMove VoiceAttack = StealthFighterVoiceAttack VoiceAttackAir = StealthFighterVoiceAttackAir VoiceGuard = StealthFighterVoiceAirPatrol SoundAmbient = StealthFighterAmbientLoop SoundAmbientRubble = NoSound SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = StealthFighterVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = StealthFighterVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = LOCAL_UNIT_ONLY KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_StealthDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_StealthFighterDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_StealthDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = JetAIUpdate ModuleTag_06 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Behavior = ExperienceScalarUpgrade ModuleTag_08 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 1500 ; msec StealthForbiddenConditions = FIRING_PRIMARY ; not currently used... but maybe someday? (srj) ;RevealDistanceFromTarget = 0.0f FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Locomotor = SET_NORMAL StealthJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 7.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleComanche ; *** ART Parameters *** SelectPortrait = SACCommanche_L ButtonImage = SACCommanche UpgradeCameo1 = Upgrade_ComancheRocketPods UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures UpgradeCameo4 = AirF_Upgrade_StealthComanche ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVComancheAG HideSubObject = MissileUpgrade Animation = AVComancheAG.AVComancheAG AnimationMode = LOOP WeaponMuzzleFlash = PRIMARY TurretFX WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED Model = AVComancheAG_d Animation = AVComancheAG_d.AVComancheAG_d AnimationMode = LOOP End ConditionState = WEAPONSET_PLAYER_UPGRADE ShowSubObject = MissileUpgrade Animation = AVComancheAG.AVComancheAG AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVComancheAG_d ShowSubObject = MissileUpgrade Animation = AVComancheAG_d.AVComancheAG_d AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = RUBBLE Model = AVComancheAG_d Animation = AVComancheAG_d.AVComancheAG_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVComancheAG_d HideSubObject = AVComanche_Prop End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Comanche EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 600 Prerequisites Object = AirF_AmericaAirfield End WeaponSet Conditions = None ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY ComancheRocketPodWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = AFG_ComancheArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = AFG_CountermeasuresComancheArmor DamageFX = None End BuildCost = 1200 BuildTime = 20 ; in seconds ExperienceValue = 50 50 100 200 ; Experience point value at each level ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CommandSet = AirF_AmericaVehicleComancheCommandSet ; *** AUDIO Parameters *** VoiceSelect = ComancheVoiceSelect VoiceMove = ComancheVoiceMove VoiceGuard = ComancheVoiceMove VoiceAttack = ComancheVoiceAttack SoundAmbient = ComancheAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ComancheVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceGarrison = ComancheVoiceMove TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceFireRocketPods = ComancheVoiceAttackRocket End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD Behavior = WeaponSetUpgrade ModuleTag_02 TriggeredBy = Upgrade_ComancheRocketPods End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Body = ActiveBody ModuleTag_04 MaxHealth = 220.0 InitialHealth = 220.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_ComancheStartDeath End Behavior = JetAIUpdate ModuleTag_06 MinHeight = 5 NeedsRunway = No KeepsParkingSpaceWhenAirborne = No AutoAcquireEnemiesWhenIdle = Yes ; note that comanches do not return to base when idle ; this is a bit of a trick... normally, units cannot move-and-fire at ; the same time. we need the comanche to be able to. so we give it ; a "turret" (invisible) and put the two main weapons on it, but with ; no turn rate. voila! Turret TurretTurnRate = 0 ; this "turret" does not turn TurretPitchRate = 0 ; nor does it pitch ControlledWeaponSlots = PRIMARY SECONDARY End End Locomotor = SET_NORMAL ComancheLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_08 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 ; Most things that eject pilots do so immediately upon death, ; via use of EjectPilotDie, but Helicopters are a special case... ; they need to do so after their blades are ejected. OCLEjectPilot = OCL_EjectPilotViaParachute FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 1500 FinalRubbleObject = ComancheRubbleHull End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 4000 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = StealthUpdate ModuleTag_22 StealthDelay = 1500 ; msec StealthForbiddenConditions = FIRING_PRIMARY ATTACKING USING_ABILITY FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = No OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_23 TriggeredBy = AirF_Upgrade_StealthComanche End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 3.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaJetA10Thunderbolt ; *** ART Parameters *** SelectPortrait = SAWarthog_L ButtonImage = SAWarthog Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = WeaponA01 ExtraPublicBone = WeaponA02 ExtraPublicBone = WeaponA03 ExtraPublicBone = WeaponA04 ExtraPublicBone = WeaponA05 ExtraPublicBone = WeaponA06 DefaultConditionState Model = AVWarthog WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Wingtip01 JetContrailThin ParticleSysBone = Wingtip02 JetContrailThin End ConditionState = REALLYDAMAGED Model = AVWarthog_D WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = RUBBLE ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:A10Thunderbolt EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY A10ThunderboltVulcan End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience ; *** AUDIO Parameters *** SoundAmbient = A10ThunderboltAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject StartDive = A10ThunderboltDive End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_02 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_03 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetDeathInitial OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = None FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_A10DeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = AirF_SuperweaponA10ThunderboltMissileStrike ;@@KRIS@@ UpgradeOCL = AirF_SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 UpgradeOCL = AirF_SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_07 End Locomotor = SET_NORMAL A10ThunderboltLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaJetCargoPlane ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVCargoPln Animation = AVCargoPln.AVCargoPln AnimationMode = LOOP ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End ConditionState = RUBBLE Model = AVCargoPln_D1 Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke06 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke06 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:CargoPlane EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = C130AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = PhysicsBehavior ModuleTag_04 Mass = 500.0 End ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = AirF_SuperweaponCarpetBomb OCL = AirF_SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_08 SpecialPowerTemplate = SuperweaponCrateDrop OCL = SUPERWEAPON_CrateDrop CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_09 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 1000 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_10 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE ;gs I added parachutable as a catch all to prevent making new kindofs (like CRATE) DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_11 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_12 ;;;;;;;; End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_13 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = TransitionDamageFX ModuleTag_17 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaInfantryColonelBurton ; *** ART Parameters *** SelectPortrait = SABurton_L ButtonImage = SABurton UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; idle DefaultConditionState Model = AIHERO_SKN IdleAnimation = AIHERO_SKL.AIHERO_STA 0 25 IdleAnimation = AIHERO_SKL.AIHERO_IDA IdleAnimation = AIHERO_SKL.AIHERO_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY NONE HideSubObject = MUZZLEFX01 End ; injured idle ConditionState = REALLYDAMAGED IdleAnimation = AIHERO_SKL.AIHERO_ISTA 0 30 IdleAnimation = AIHERO_SKL.AIHERO_IIDA IdleAnimation = AIHERO_SKL.AIHERO_IIDB AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_ISTAHIT AnimationMode = ONCE End ; moving ConditionState = MOVING Animation = AIHERO_SKL.AIHERO_RNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Walking ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING FIRING_B AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B AliasConditionState = MOVING RELOADING_B ; injured moving ConditionState = MOVING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IRNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_WalkingInjured ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = MOVING RELOADING_A REALLYDAMAGED AliasConditionState = MOVING FIRING_B REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = MOVING RELOADING_B REALLYDAMAGED ; Firing animation ConditionState = FIRING_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringA End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = RELOADING_A ; Injured Firing animation ConditionState = FIRING_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringAInjured End ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringAInjured End AliasConditionState = RELOADING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIHERO_SKL.AIHERO_IATAHIT AnimationMode = ONCE End ; Placing charge animation ConditionState = UNPACKING Animation = AIHERO_SKL.AIHERO_ATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING ; Injured Placing charge animation ConditionState = UNPACKING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING REALLYDAMAGED ; Stab animations ConditionState = PREATTACK_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = ONCE TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B AliasConditionState = RELOADING_B TransitionState = TRANS_Stabbing TRANS_Stand Animation = AIHERO_SKL.AIHERO_ATC2 AnimationMode = ONCE End ; Injured Stab animations ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC1 AnimationMode = ONCE TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StabbingInjured TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = ONCE End ; cheering ConditionState = SPECIAL_CHEERING Animation = AIHERO_SKL.AIHERO_CHA AnimationMode = ONCE End ; injured cheering ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_ICHA AnimationMode = ONCE End ; climbing ConditionState = CLIMBING Animation = AIHERO_SKL.AIHERO_CLMID AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING AliasConditionState = CLIMBING REALLYDAMAGED AliasConditionState = RAPPELLING REALLYDAMAGED ConditionState = CLIMBING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = CLIMBING MOVING REALLYDAMAGED ConditionState = RAPPELLING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP_BACKWARDS TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING MOVING REALLYDAMAGED ; these transitions don't really work well with our code. leave 'em out. ; TransitionState = TRANS_Climbing TRANS_Stand ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE ; End ; ; TransitionState = TRANS_Stand TRANS_Climbing ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE_BACKWARDS ; End ; dying anims ConditionState = DYING Animation = AIHERO_SKL.AIHERO_DTA Animation = AIHERO_SKL.AIHERO_DTB Animation = AIHero_SKL.AIHero_IDTA Animation = AIHero_SKL.AIHero_IDTB AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = RAPPELLING DYING AliasConditionState = CLIMBING DYING TransitionState = TRANS_Dying TRANS_Flailing Animation = AIHERO_SKL.AIHERO_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIHERO_SKL.AIHERO_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIHERO_SKL.AIHERO_ADTG23 AnimationMode = ONCE TransitionKey = None End ; misc anims ConditionState = FREEFALL Animation = AIHERO_SKL.AIHERO_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIHERO_SKL.AIHERO_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIHERO_SKL.AIHERO_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 = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:ColonelBurton Side = AmericaAirForceGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ColonelBurtonSniperRifleWeapon Weapon = SECONDARY ColonelBurtonKnifeWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 500 Prerequisites Object = AirF_AmericaBarracks Object = AirF_AmericaStrategyCenter End BuildCost = 1500 BuildTime = 20.0 ;in seconds ExperienceValue = 50 100 100 150 ; Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryColonelBurtonCommandSet MaxSimultaneousOfType = 1 ; *** AUDIO Parameters *** VoiceSelect = ColonelBurtonVoiceSelect VoiceMove = ColonelBurtonVoiceMove VoiceAttack = ColonelBurtonVoiceAttack VoiceFear = ColonelBurtonVoiceFear VoiceGuard = ColonelBurtonVoiceMove SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceMelee = ColonelBurtonVoiceAttackKnife VoiceCreate = ColonelBurtonVoiceCreate VoiceGarrison = ColonelBurtonVoiceGarrison VoiceEnter = ColonelBurtonVoiceMove VoiceEnterHostile = ColonelBurtonVoiceMove VoiceGetHealed = ColonelBurtonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Behavior = AutoFindHealingUpdate ModuleTag_05 ; 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 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyColonelBurtonDetected OwnDetectionEvaEvent = OwnColonelBurtonDetected End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantRemoteCharge End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = RemoteC4Charge MaxSpecialObjects = 8 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge PackTime = 0 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = SpecialAbility ModuleTag_10 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantTimedCharge End Behavior = SpecialAbilityUpdate ModuleTag_11 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = TimedC4Charge MaxSpecialObjects = 10 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = ExperienceScalarUpgrade ModuleTag_12 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_13 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this 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_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_18 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End 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 AirF_AmericaInfantryRanger ; *** ART Parameters *** SelectPortrait = SARanger_L ButtonImage = SARanger UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_InfantryCaptureBuilding UpgradeCameo4 = Upgrade_AmericaChemicalSuits ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; --- Idle DefaultConditionState Model = AIRngr_SKN IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDA IdleAnimation = AIRngr_SKL.AIRngr_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDC IdleAnimation = AIRngr_SKL.AIRngr_IDD AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_SA2SB AnimationMode = ONCE End ; --- attacking (Machine Gun) ConditionState = USING_WEAPON_A Animation = AIRngr_SKL.AIRngr_ATA AnimationMode = LOOP TransitionKey = TRANS_FiringA End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringAInjured End TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_A2WAA AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATAST AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringA TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATAED AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_StandInjured TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_S2WAA AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringAInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_WAA2S AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_Stand TRANS_Move Animation = AIRngr_SKL.AIRngr_STA2RNA AnimationMode = ONCE End ; --- attacking (Grenade Launcher) ConditionState = PREATTACK_B Animation = AIRngr_SKL.AIRngr_ATBA AnimationMode = ONCE TransitionKey = TRANS_FiringB End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = ONCE TransitionKey = TRANS_FiringB End ConditionState = BETWEEN_FIRING_SHOTS_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringB WaitForStateToFinishIfPossible = TRANS_FiringB End AliasConditionState = RELOADING_B TransitionState = TRANS_Stand TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATBST1 AnimationMode = ONCE End TransitionState = TRANS_FiringB TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATBST2 AnimationMode = ONCE End ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2A AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringBInjured WaitForStateToFinishIfPossible = TRANS_FiringBInjured End AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StandInjured TRANS_FiringBInjured Animation = AIRngr_SKL.AIRngr_ATB2ST1 AnimationMode = ONCE End TransitionState = TRANS_FiringBInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_ATB2ST2 AnimationMode = ONCE End ; -- cross-attack transitions TransitionState = TRANS_FiringA TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringB TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 4 4 End ; --- moving ConditionState = MOVING Animation = AIRngr_SKL.AIRngr_RNA 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_RNB 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move End AliasConditionState = MOVING REALLYDAMAGED ATTACKING ; --- dying anims ConditionState = DYING Animation = AIRngr_SKL.AIRngr_DTA Animation = AIRngr_SKL.AIRngr_DTB AnimationMode = ONCE TransitionKey = None End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRngr_SKL.AIRngr_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRngr_SKL.AIRngr_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRngr_SKL.AIRngr_ADTF3 AnimationMode = ONCE TransitionKey = None End AliasConditionState = DYING SPLATTED ; --- cheering ConditionState = SPECIAL_CHEERING Animation = AIRngr_SKL.AIRngr_CHA AnimationMode = LOOP End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_CHB AnimationMode = LOOP End ; ----- PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = AIRngr_SKL.AIRngr_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRngr_SKL.AIRngr_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 = AIRngr_SKL.AIRngr_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 = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End ; ------- Bldg-capture ConditionState = UNPACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ; --- RAPPELLING ANIMATIONS ConditionState = RAPPELLING Animation = AIRngr_SKL.AIRngr_RPL1 ;30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Rappelling End AliasConditionState = MOVING RAPPELLING TransitionState = TRANS_Rappelling TRANS_Stand Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End TransitionState = TRANS_Rappelling TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Ranger Side = AmericaAirForceGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY RangerAdvancedCombatRifle End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY RangerAdvancedCombatRifle Weapon = SECONDARY RangerFlashBangGrenadeWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = None End VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = AirF_AmericaBarracks End BuildCost = 225 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryRangerCommandSet ; *** AUDIO Parameters *** VoiceSelect = RangerVoiceSelect VoiceMove = RangerVoiceMove VoiceGuard = RangerVoiceMove VoiceAttack = RangerVoiceAttack VoiceFear = RangerVoiceFear VoiceTaskComplete = RangerVoiceCaptureComplete UnitSpecificSounds VoiceEnter = RangerVoiceMove VoiceEnterHostile = RangerVoiceMove VoiceGarrison = RangerVoiceGarrison VoiceCreate = RangerVoiceCreate VoiceSubdue = RangerVoiceSubdue VoiceClearBuilding = RangerVoiceClearBuilding VoiceGetHealed = RangerVoiceMove VoicePrimaryWeaponMode = RangerVoiceModeGun VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang End UnitSpecificFX ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs CombatDropKillFX = FX_RangerCombatDropKill End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE Behavior = CommandButtonHuntUpdate ModuleTag_02 End Body = ActiveBody ModuleTag_03 MaxHealth = 180.0 InitialHealth = 180.0 End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AutoFindHealingUpdate ModuleTag_05 ; 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 = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 5.0 End Behavior = ProductionUpdate ModuleTag_08 ; nothing End Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit. End Behavior = WeaponSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this 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_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = SquishCollide ModuleTag_12 ;nothing End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End 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 poison damage End Behavior = SpecialAbility ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes ; Unpaused by upgrade module InitiateSound = RangerVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_19 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 15 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = LockWeaponCreate ModuleTag_21 SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack. End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 13.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object AirF_AmericaInfantryMissileDefender ; *** ART Parameters *** SelectPortrait = SAMissleDefender_L ButtonImage = SAMissleDefender UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***NOTE*** ;A little history -- the MissileDefender now uses the assets of the TankHunter. ;The TH uses assets of the GLA tunnel defender, and the TD uses assets of the NEW ;MD. It was a design/art/code decision because the new missile defender animations ;don't suit that of a mobile/offensive unit with packing and unpacking. DefaultConditionState Model = NITHNT_SKN IdleAnimation = NITHNT_SKL.NITHNT_STA 0 30 IdleAnimation = NITHNT_SKL.NITHNT_IDA IdleAnimation = NITHNT_SKL.NITHNT_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 = FIRING_A Animation = NITHNT_SKL.NITHNT_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = NITHNT_SKL.NITHNT_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED ConditionState = MOVING Animation = NITHNT_SKL.NITHNT_RNA 20 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = RELOADING_A Animation = NITHNT_SKL.NITHNT_ATA 10 AnimationMode = ONCE ;WeaponLaunchBone = PRIMARY WeaponA End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = NITHNT_SKL.NITHNT_DTA Animation = NITHNT_SKL.NITHNT_DTB AnimationSpeedFactorRange = 0.9 1.25 AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NITHNT_SKL.NITHNT_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NITHNT_SKL.NITHNT_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NITHNT_SKL.NITHNT_ADTA3 AnimationMode = ONCE TransitionKey = None End ;PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = NITHNT_SKL.NITHNT_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NITHNT_SKL.NITHNT_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 = NITHNT_SKL.NITHNT_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 = NITHNT_SKL.NITHNT_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:MissileTeam Side = AmericaAirForceGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY MissileDefenderMissileWeapon Weapon = SECONDARY MissileDefenderLaserGuidedMissileWeapon ;Controlled by special ability AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 Prerequisites Object = AirF_AmericaBarracks End BuildCost = 300 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AirF_AmericaInfantryMissileDefenderCommandSet ; *** AUDIO Parameters *** VoiceSelect = MissileDefenderVoiceSelect VoiceMove = MissileDefenderVoiceMove VoiceGuard = MissileDefenderVoiceMove VoiceAttack = MissileDefenderVoiceAttack VoiceAttackAir = MissileDefenderVoiceAttack VoiceFear = MissileDefenderVoiceFear UnitSpecificSounds VoiceGarrison = MissileDefenderVoiceGarrison VoiceCreate = MissileDefenderVoiceCreate VoiceEnter = MissileDefenderVoiceMove VoiceGetHealed = MissileDefenderVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_05 ; 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 Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles UpdateModuleStartsAttack = Yes InitiateSound = MissileDefenderVoiceAttackLaser End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles StartAbilityRange = 200.0 AbilityAbortRange = 250.0 ;If the target moves outside this range, abort. PreparationTime = 1000 PersistentPrepTime = 500 SpecialObject = LaserBeam SpecialObjectAttachToBone = Muzzle01 End Behavior = SquishCollide ModuleTag_10 ;nothing End ;Added by JMC on 7/12/03 so that the skirmish AI can tell the missile defenders to hunt using ;the laser guided missiles. Behavior = CommandButtonHuntUpdate ModuleTag_CBHunt ; allows use of command button hunt script with this unit. End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End 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 ;------------------------------------------------------------------------------ ; @todo -- this entire unit is "first pass only" and needs lots of specialization Object AirF_AmericaInfantryPilot ; *** ART Parameters *** SelectPortrait = SAPilot_L ButtonImage = SAPilot UpgradeCameo1 = Upgrade_AmericaChemicalSuits UpgradeCameo2 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIRPlt_SKN IdleAnimation = AIRPlt_SKL.AIRPlt_STA 0 20 IdleAnimation = AIRPlt_SKL.AIRPlt_IDA IdleAnimation = AIRPlt_SKL.AIRPlt_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = FREEFALL Animation = AIRPlt_SKL.AIRPLT_PFL AnimationMode = ONCE TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRPlt_SKL.AIRPlt_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute WaitForStateToFinishIfPossible = TRANS_Falling End AliasConditionState = PARACHUTING DYING ConditionState = MOVING Animation = AIRPlt_SKL.AIRPlt_RNA AnimationMode = LOOP TransitionKey = TRANS_Stand ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = AIRPlt_SKL.AIRPlt_DTA Animation = AIRPlt_SKL.AIRPlt_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRPlt_SKL.AIRPlt_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRPlt_SKL.AIRPlt_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRPlt_SKL.AIRPlt_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = AIRPLT_SKL.AIRPLT_CHA AnimationMode = LOOP End ;@TODO -- MISSING ANIMATION FILE ;TransitionState = TRANS_Falling TRANS_Chute ; Animation = AIRPLT_SKL.AIRPLT_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 = AIRPlt_SKL.AIRPlt_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pilot Side = AmericaAirForceGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ExperienceValue = 10 10 10 10 ;Experience point value at each level ExperienceRequired = 0 1 2 3 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CommandSet = AmericaInfantryPilotCommandSet ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = PilotVoiceSelect VoiceMove = PilotVoiceMove VoiceAttack = PilotVoiceMove VoiceGarrison = NoSound VoiceFear = PilotVoiceFear UnitSpecificSounds VoiceEnter = PilotVoiceEnter VoiceEnterHostile = PilotVoiceEnter VoiceGetHealed = PilotVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE IGNORES_SELECT_ALL Behavior = VeterancyGainCreate ModuleTag_02 ; omit the "ScienceRequired" so that this upgrade always occurs. ; Pilots should never (repeat, never) be less than VETERAN status. StartingLevel = VETERAN End Behavior = VeterancyCrateCollide ModuleTag_03 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with ForbiddenKindOf = DOZER ; but not to TRANSPORTs or DOZERs! EffectRange = 0 ; 0=="affect only the thing you collide with" AddsOwnerVeterancy = Yes ; we add our own veterancy to the target (rather than just +1 level) IsPilot = Yes ; set the pilot flag because it's different than the veterancy crate and has extra checking End Body = ActiveBody ModuleTag_04 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_06 ; 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 = PilotFindVehicleUpdate ModuleTag_07 ; This update will have the unit go to a vehicle. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; MinHealth = 0.5 ; don't enter a vehicle less than 50% healthy. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25 Behavior = PhysicsBehavior ModuleTag_08 Mass = 5.0 End Behavior = LocomotorSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_Veterancy_HEROIC End Behavior = SquishCollide ModuleTag_11 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End 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 AirF_AmericaInfantryPathfinder ; *** ART Parameters *** SelectPortrait = SAPathfinder1_L ButtonImage = SAPathfinder1 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIPFDR_SKN IdleAnimation = AIPFDR_SKL.AIPFDR_STA IdleAnimation = AIPFDR_SKL.AIPFDR_IDA AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Standing End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = AIPFDR_SKL.AIPFDR_RNA 25 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Standing ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = FIRING_A Animation = AIPFDR_SKL.AIPFDR_ATB ; recoil in standing position AnimationMode = ONCE TransitionKey = TRANS_FiringA End AliasConditionState = FIRING_A MOVING AliasConditionState = FIRING_A MOVING REALLYDAMAGED AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIPFDR_SKL.AIPFDR_ATBST ; motionless in standing position AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = RELOADING_A AliasConditionState = RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = AIPFDR_SKL.AIPFDR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIPFDR_SKL.AIPFDR_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIPFDR_SKL.AIPFDR_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIPFDR_SKL.AIPFDR_ADTA3 AnimationMode = ONCE TransitionKey = None End ConditionState = FREEFALL Animation = AIPFDR_SKL.AIPFDR_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIPFDR_SKL.AIPFDR_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 DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIPFDR_SKL.AIPFDR_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_Standing Animation = AIPFDR_SKL.AIPFDR_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pathfinder Side = AmericaAirForceGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY USAPathfinderSniperRifle End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 200 ShroudClearingRange = 400 Prerequisites Object = AirF_AmericaBarracks Science = SCIENCE_Pathfinder End BuildCost = 600 BuildTime = 10.0 ;in seconds ExperienceValue = 40 40 60 80 ;Experience point value at each level ExperienceRequired = 0 50 100 200 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryPathfinderCommandSet ; *** AUDIO Parameters *** VoiceSelect = PathfinderVoiceSelect VoiceMove = PathfinderVoiceMove VoiceGuard = PathfinderVoiceMove VoiceAttack = PathfinderVoiceAttack VoiceFear = PathfinderVoiceFear SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = PathfinderVoiceFear UnitSpecificSounds VoiceCreate = PathfinderVoiceCreate VoiceGarrison = PathfinderVoiceGarrison VoiceEnter = PathfinderVoiceMove VoiceEnterHostile = PathfinderVoiceMove VoiceGetHealed = PathfinderVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Stealthed MoodAttackCheckRate = 250 End Behavior = AutoFindHealingUpdate ModuleTag_04 ; 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 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Behavior = ExperienceScalarUpgrade ModuleTag_05 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = StealthDetectorUpdate ModuleTag_08 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = MOVING ; stays stealthy while attacking FriendlyOpacityMin = 30.0% FriendlyOpacityMax = 80.0% PulseFrequency = 500 ; msec MoveThresholdSpeed = 3 InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SquishCollide ModuleTag_10 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End 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 AirF_CountermeasureFlare Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = None ParticleSysBone = None CountermeasureFlareParticleSys End End KindOf = PROJECTILE Behavior = PhysicsBehavior ModuleTag_03 Mass = 5 End Behavior = AIUpdateInterface ModuleTag_04 ; nothing End Locomotor = SET_NORMAL CountermeasureFlareLocomotor Behavior = LifetimeUpdate ModuleTag_05 MinLifetime = 3000 ; min lifetime in msec MaxLifetime = 3000 ; max lifetime in msec End Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 4.0 End ;------------------------------------------------------------------------------ Object AirF_ComancheBlades ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVComanche_D2 Animation = AVComanche_D2.AVComanche_D2 AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:Comanche Side = AmericaAirForceGeneral ; *** ENGINEERING Parameters *** KindOf = PRELOAD IMMOBILE Behavior = PhysicsBehavior ModuleTag_02 AllowBouncing = Yes End Behavior = LifetimeUpdate ModuleTag_03 MinLifetime = 1000 ; min lifetime in msec MaxLifetime = 1000 ; max lifetime in msec End Behavior = StealthUpdate ModuleTag_04 StealthDelay = 1500 ; msec StealthForbiddenConditions = FIRING_PRIMARY ATTACKING USING_ABILITY FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = No OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_05 TriggeredBy = AirF_Upgrade_StealthComanche End End ;------------------------------------------------------------------------------ Object AirF_AmericaParachute ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_FAL AnimationMode = LOOP End ConditionState = PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_OPN AnimationMode = ONCE End ConditionState = RUBBLE Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End ; this is a weird state to resolve an ambiguity: sometimes ; we can have a "rubble" parachute momentarily, that doesn't ; know that it has finished parachuting yet... ConditionState = RUBBLE PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End End ; ***DESIGN parameters *** Side = AmericaAirForceGeneral EditorSorting = SYSTEM TransportSlotCount = 0 VisionRange = 300.0 ShroudClearingRange = 300 IsTrainable = No ;Can gain experience KindOf = PRELOAD PARACHUTE UNATTACKABLE ; *** AUDIO Parameters *** ; *** ENGINEERING Parameters *** Behavior = AIUpdateInterface ModuleTag_02 ; nothing End Locomotor = SET_NORMAL ParachuteLocomotor Locomotor = SET_FREEFALL FreeFallLocomotor Body = ActiveBody ModuleTag_03 MaxHealth = 100000.0 InitialHealth = 100000.0 End Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = ParachuteContain ModuleTag_05 PitchRateMax = 60 ; deg/sec RollRateMax = 60 ; deg/sec LowAltitudeDamping = 0.2 ; how much to damp swaying when we get "close" to the ground ParachuteOpenDist = 25.0 ; how far we have to fall 'till we open our 'chute AllowInsideKindOf = INFANTRY PARACHUTABLE ParachuteOpenSound = ParachuteOpen End Behavior = SlowDeathBehavior ModuleTag_06 SinkDelay = 1000 SinkRate = 1 ; in Dist/Sec DestructionDelay = 4000 End RadarPriority = NOT_ON_RADAR Geometry = CYLINDER GeometryMajorRadius = 15.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AirF_AmericaCrateParachute ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_FAL AnimationMode = LOOP End ConditionState = PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_OPN AnimationMode = ONCE End ConditionState = RUBBLE Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End ; this is a weird state to resolve an ambiguity: sometimes ; we can have a "rubble" parachute momentarily, that doesn't ; know that it has finished parachuting yet... ConditionState = RUBBLE PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End End ; ***DESIGN parameters *** Side = AmericaAirForceGeneral EditorSorting = SYSTEM TransportSlotCount = 0 VisionRange = 300.0 ShroudClearingRange = 300 IsTrainable = No ;Can gain experience KindOf = PRELOAD PARACHUTE UNATTACKABLE ; *** AUDIO Parameters *** ; *** ENGINEERING Parameters *** Behavior = AIUpdateInterface ModuleTag_02 ; nothing End Locomotor = SET_NORMAL CrateParachuteLocomotor Locomotor = SET_FREEFALL CrateFreeFallLocomotor Body = ActiveBody ModuleTag_03 MaxHealth = 100000.0 InitialHealth = 100000.0 End Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = ParachuteContain ModuleTag_05 PitchRateMax = 60 ; deg/sec RollRateMax = 60 ; deg/sec LowAltitudeDamping = 0.2 ; how much to damp swaying when we get "close" to the ground ParachuteOpenDist = 12.5 ; how far we have to fall 'till we open our 'chute AllowInsideKindOf = PARACHUTABLE ParachuteOpenSound = ParachuteOpen End Behavior = SlowDeathBehavior ModuleTag_06 SinkDelay = 1000 SinkRate = 1 ; in Dist/Sec DestructionDelay = 4000 End RadarPriority = NOT_ON_RADAR Geometry = CYLINDER GeometryMajorRadius = 15.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AirF_LargeParachute ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_FAL AnimationMode = LOOP End ConditionState = PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_OPN AnimationMode = ONCE End ConditionState = RUBBLE Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End ; this is a weird state to resolve an ambiguity: sometimes ; we can have a "rubble" parachute momentarily, that doesn't ; know that it has finished parachuting yet... ConditionState = RUBBLE PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End End ; ***DESIGN parameters *** EditorSorting = SYSTEM TransportSlotCount = 10 VisionRange = 300.0 ShroudClearingRange = 300 IsTrainable = No ;Can gain experience KindOf = PRELOAD PARACHUTE UNATTACKABLE ; *** AUDIO Parameters *** ; *** ENGINEERING Parameters *** Behavior = AIUpdateInterface ModuleTag_02 ; nothing End Locomotor = SET_NORMAL ParachuteLocomotor Locomotor = SET_FREEFALL FreeFallLocomotor Body = ActiveBody ModuleTag_03 MaxHealth = 100000.0 InitialHealth = 100000.0 End Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = ParachuteContain ModuleTag_05 PitchRateMax = 60 ; deg/sec RollRateMax = 60 ; deg/sec LowAltitudeDamping = 0.2 ; how much to damp swaying when we get "close" to the ground ParachuteOpenDist = 25.0 ; how far we have to fall 'till we open our 'chute AllowInsideKindOf = INFANTRY VEHICLE PARACHUTABLE ParachuteOpenSound = ParachuteOpen End Behavior = SlowDeathBehavior ModuleTag_06 SinkDelay = 1000 SinkRate = 1 ; in Dist/Sec DestructionDelay = 4000 End RadarPriority = NOT_ON_RADAR Geometry = CYLINDER GeometryMajorRadius = 15.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleHumvee ; *** ART Parameters *** SelectPortrait = SAHummer_L ButtonImage = SAHummer UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaTOWMissile Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVHUMMER Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = REALLYDAMAGED Model = AVHUMMER_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER_d Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 1.25 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Humvee Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeaponAirDummy End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeapon Weapon = TERTIARY HumveeMissileWeaponAir PreferredAgainst = TERTIARY AIRCRAFT End ArmorSet Conditions = None Armor = HumveeArmor DamageFX = TruckDamageFX End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 320 Prerequisites Object = AirF_AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleHumveeCommandSet ; *** AUDIO Parameters *** VoiceSelect = HumveeVoiceSelect VoiceMove = HumveeVoiceMove VoiceGuard = HumveeVoiceMove VoiceAttack = HumveeVoiceAttack VoiceAttackAir = HumveeVoiceAttackTOW SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs ;TurretMoveStart = NoSound VoiceCreate = HumveeVoiceCreate TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = HumveeVoiceCrush ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceUnload = HumveeVoiceUnload VoiceEnter = HumveeVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_03 Turret TurretTurnRate = 180 RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL HumveeLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = TransportContain ModuleTag_05 PassengersAllowedToFire = Yes Slots = 5 ; EnterSound = GarrisonEnter ; ExitSound = GarrisonExit DamagePercentToUnits = 100% ;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 Aggressive on exiting End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_14 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaTOWMissile End Behavior = ExperienceScalarUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 25 DestructionDelay = 1 OCL = INITIAL OCL_InitialHumveeDebris FX = FINAL FX_BattleMasterExplosionOneFinal OCL = FINAL OCL_FinalHumveeDebris End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End ; This is commented out per hotlist request 10/9 ML ; Behavior = CreateObjectDie ModuleTag_15 ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = AirF_OCL_AmericanRangerDebris01 ; ExemptStatus = HIJACKED ; End Behavior = EjectPilotDie ModuleTag_16 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED ; The following added out per hotlist request 10/9 as above ML VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_17 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;---------------------------------------------------------- Object AirF_AmericaVehicleTomahawk ; *** ART Parameters *** SelectPortrait = SACTomahawk_L ButtonImage = SACTomahawk UpgradeCameo1 = Upgrade_AmericaScoutDrone UpgradeCameo2 = Upgrade_AmericaBattleDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo5 = XXX Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset DefaultConditionState Model = AVTomahawk Turret = TURRET TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY WeaponA WeaponHideShowBone = PRIMARY MISSILE End ConditionState = REALLYDAMAGED Model = AVTomahawk_D End AliasConditionState = RUBBLE TrackMarks = EXTnkTrack.tga End ; ***DESIGN parameters *** DisplayName = OBJECT:Tomahawk Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1300 BuildTime = 20.0 ;in seconds VisionRange = 180 ShroudClearingRange = 200 Prerequisites Object = AirF_AmericaWarFactory Object = AirF_AmericaStrategyCenter End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience WeaponSet Conditions = None Weapon = PRIMARY TomahawkMissileWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX 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 = general vehicles CommandSet = AmericaVehicleTomahawkCommandSet ; *** AUDIO Parameters *** VoiceSelect = TomahawkVoiceSelect VoiceMove = TomahawkVoiceMove VoiceGuard = TomahawkVoiceMove VoiceAttack = TomahawkVoiceAttack SoundMoveStart = TomahawkMoveStart SoundMoveStartDamaged = TomahawkMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = TomahawkVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = TomahawkVoiceCrush VoiceEnter = TomahawkVoiceMove VoiceBombard = TomahawkVoiceAttack End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 ; turn rate, in degrees per sec TurretPitchRate = 60 FirePitch = 70 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Locomotor = SET_NORMAL TomahawkLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_15 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = CreateCrateDie ModuleTag SalvageData CrateData = SalvageCrateData End Behavior = DestroyDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End ; Behavior = FXListDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; DeathFX = FX_GenericTankDeathEffect ; End ; Behavior = CreateObjectDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = OCL_GenericTankDeathEffect ; End Behavior = EjectPilotDie ModuleTag_13 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_14 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ; Also known as the Ambulance Object AirF_AmericaVehicleMedic ; *** ART Parameters *** SelectPortrait = SAAmbulance_L ButtonImage = SAAmbulance UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 ConditionState = NONE Model = AVAmbulance Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVAmbulance_D Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = RUBBLE Model = AVAmbulance_D End TrackMarks = EXTireTrack.tga OkToChangeModelColor = Yes Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Medic Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet ;*** Fully automated and driven by the CleanupHazardUpdate *** Conditions = None Weapon = PRIMARY AmbulanceCleanHazardWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = ToxinTruckArmor DamageFX = TruckDamageFX End BuildCost = 700 BuildTime = 10.0 ;in seconds VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = AirF_AmericaWarFactory End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleAmbulanceCommandSet ; *** AUDIO Parameters *** VoiceSelect = AmbulanceVoiceSelect VoiceMove = AmbulanceVoiceMove VoiceGuard = AmbulanceVoiceMove VoiceAttack = AmbulanceVoiceDetox SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AmbulanceVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceCrush = AmbulanceVoiceCrush VoiceEnter = AmbulanceVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = CleanupHazardUpdate ModuleTag_03 WeaponSlot = PRIMARY ScanRate = 1000 ScanRange = 100.0 ;If this range exceeds the AmbulanceCleanHazardWeapon AttackRange, it'll move! End ;Can be ordered to clean up a larger area with the ability to move around at an extended range. Behavior = CleanupAreaPower ModuleTag_04 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up InitiateSound = AmbulanceVoiceDetox End Behavior = TransportAIUpdate ModuleTag_05 AutoAcquireEnemiesWhenIdle = No ;CleanupHazardUpdate handles this... Turret TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) TurretFireAngleSweep = PRIMARY 25 ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL HumveeLocomotor Behavior = TransportContain ModuleTag_06 Slots = 3 HealthRegen%PerSec = 25 DamagePercentToUnits = 10% AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No 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 Aggressive on exiting End Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 0 FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_FinalAmbulanceDebris End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_10 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_11 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = FXListDie ModuleTag_15 DeathTypes = ALL -CRUSHED -SPLATTED DeathFX = FX_GenericTankDeathEffect End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = ExperienceScalarUpgrade ModuleTag_17 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_18 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = AutoHealBehavior ModuleTag_22 HealingAmount = 4 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = INFANTRY End Behavior = AutoHealBehavior ModuleTag_23 HealingAmount = 5 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = VEHICLE ForbiddenKindOf = AIRCRAFT SkipSelfForHealing = Yes End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 ; height set to allow clear clipping of projectile streams GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleBattleDrone ; *** ART Parameters *** SelectPortrait = SABattleDrone_L ButtonImage = SABattleDrone UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE ;MAIN CHASSIS Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR Animation = AVBATTLEDR.AVBATTLEDR AnimationMode = LOOP Turret = Turret01 TurretPitch = TurretEL01 WeaponMuzzleFlash = PRIMARY TurretFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = REALLYDAMAGED Model = AVBATTLEDR_D Animation = AVBATTLEDR_D.AVBATTLEDR_D AnimationMode = LOOP End End ;EXTENDING ARM (FOR REPAIRING) Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR_A End ;Unloading the arm (before starting to repair) ConditionState = UNPACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE End ;Loading the arm (after reparing complete) ConditionState = PACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_B Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE End ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_C Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:BattleDrone Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BattleDroneMachineGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 200 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = AirF_AmericaWarFactory End ExperienceValue = 10 10 10 10 ;Experience point value at each level IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_03 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_04 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 MinPhysicalPitch = -75 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BattleDroneLocomotor Locomotor = SET_PANIC BattleDronePanicLocomotor ;used for repairing master (zippy) Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = MaxHealthUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = SlavedUpdate ModuleTag_07 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. RepairRange = 8 ;How far I can zip around while repair (only moves when he stops welding) RepairMinAltitude = 18.0 ;My minimum repair hover altitude. RepairMaxAltitude = 24.0 ;My maximum repair hover altitude. RepairRatePerSecond = 10.0 ;How many health points can I repair per second. RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing. RepairMinReadyTime = 300 RepairMaxReadyTime = 750 RepairMinWeldTime = 250 RepairMaxWeldTime = 500 RepairWeldingSys = BlueSparks RepairWeldingFXBone = Muzzle02 StayOnSameLayerAsMaster = Yes End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaBattleDroneExplode End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = FXListDie ModuleTag_11 DeathTypes = ALL DeathFX = FX_AmericaBattleDroneExplode End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaBattleDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5 GeometryMinorRadius = 5 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleScoutDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVScoutDr Animation = AVScoutDr.AVScoutDr AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVScoutDr_d Animation = AVScoutDr_d.AVScoutDr_d AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:ScoutDrone Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 100 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL DroneLocomotor Behavior = StealthDetectorUpdate ModuleTag_04 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. DistToTargetToGrantRangeBonus = 20 ;How close I have to be to the master's target in order to grant master a range bonus. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaScoutDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleHellfireDrone ; *** ART Parameters *** SelectPortrait = SAHellfire_L ButtonImage = SAHellfire UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVScoutDr WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVScoutDr_d End End ; ***DESIGN parameters *** DisplayName = OBJECT:HellfireDrone Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 500 BuildTime = 5.0 ;in seconds VisionRange = 100 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound WeaponSet Conditions = NONE Weapon = PRIMARY HellfireMissileWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL HellfireDroneLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaHellfireDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleSpyDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVSpyDrone Animation = AVSpyDrone.AVSpyDrone AnimationMode = LOOP End ; Damage state waiting for pristine's approval (or may just not need one) ; ConditionState = REALLYDAMAGED ; Model = AVSpyDrone_d ; Animation = AVSpyDrone_d.AVSpyDrone_d ; AnimationMode = LOOP ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:SpyDrone Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = SmallTankDamageFX End VisionRange = 250 ShroudClearingRange = 0; Dynamic range below IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE SELECTABLE INERT NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL SpyDroneLocomtor Behavior = DynamicShroudClearingRangeUpdate ModuleTag_04 FinalVision = 250.0 ChangeInterval = 50 ShrinkDelay = 2000 ShrinkTime = 1000 GrowDelay = 0 GrowTime = 1000 GrowInterval = 10 ; Faster than most GridDecalTemplate Texture = EXGrid Style = SHADOW_ADDITIVE_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 500 Color = R:32 G:64 B:128 A:0 //dim blue, additive End End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_06 Mass = 50.0 End Behavior = DestroyDie ModuleTag_07 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = NONE InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = MaxHealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;USA Construction Dozer or USDozer Object AirF_AmericaVehicleDozer ; *** ART Parameters *** SelectPortrait = SACDozer_L ButtonImage = SACDozer ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVCONSTDOZ_A ParticleSysBone = EXHAUSTFX01 DozerSmokeLight WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = PREATTACK_A Animation = AVCONSTDOZ_A.AVCONSTDOZ_A AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall ;gush of dirt TransitionKey = TRANS_DIGGING End ConditionState = MOVING ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy TransitionKey = TRANS_DIGGING_DAMAGED End ConditionState = MOVING REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End TrackMarks = EXTireTrack2.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = TIRE01 RightFrontTireBone = TIRE02 LeftRearTireBone = TIRE03 RightRearTireBone = TIRE04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Dozer Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1000 BuildTime = 5.0 ; in seconds VisionRange = 200 ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY DozerMineDisarmingWeapon End ArmorSet Conditions = None Armor = DozerArmor ;Special Explosion-Proof Armor DamageFX = TankDamageFX 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 = general vehicles CommandSet = AirF_AmericaDozerCommandSet ; *** AUDIO Parameters *** VoiceSelect = DozerUSAVoiceSelect VoiceMove = DozerUSAVoiceMove VoiceGuard = DozerUSAVoiceMove VoiceTaskComplete = DozerUSAVoiceBuildComplete SoundMoveStart = DozerUSAMoveStart SoundMoveStartDamaged = DozerUSAMoveStart UnitSpecificSounds VoiceCreate = DozerUSAVoiceCreate VoiceNoBuild = DozerUSAVoiceBuildNot VoiceCrush = DozerUSAVoiceCrush VoiceRepair = DozerUSAVoiceRepair VoiceDisarm = DozerUSAVoiceClearMine TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceEnter = DozerUSAVoiceMove VoiceBuildResponse = DozerUSAVoiceBuild End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER Body = ActiveBody ModuleTag_02 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = DozerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 100 DestructionDelay = 1500 DestructionDelayVariance = 600 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_AmericaDozerExplode FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = DestroyDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;Sentry Drone Object AirF_AmericaVehicleSentryDrone ; *** ART Parameters *** SelectPortrait = SAsentry_L ButtonImage = SAsentry UpgradeCameo1 = Upgrade_AmericaSentryDroneGun UpgradeCameo2 = Upgrade_AmericaDroneArmor ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 InitialRecoilSpeed = 10 MaxRecoilDistance = 1.5 RecoilSettleSpeed = 3 OkToChangeModelColor = Yes DefaultConditionState Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP Turret = TURRET01 HideSubObject = TURRETUP09 ;Hide controlled turret WeaponFireFXBone = PRIMARY TurretFX WeaponMuzzleFlash = PRIMARY TurretFX WeaponRecoilBone = PRIMARY TurretUp End ConditionState = REALLYDAMAGED Turret = TURRET01 Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP HideSubObject = TURRETUP09 ;Hide controlled turret End ConditionState = RUBBLE Model = AVSENTRY_D1 HideSubObject = TURRETUP09 ;Hide controlled turret End AliasConditionState = RUBBLE WEAPONSET_PLAYER_UPGRADE ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP ShowSubObject = TURRETUP09 End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP ShowSubObject = TURRETUP09 End TrackMarks = EXTnkTrack.tga TreadDebrisLeft = SentryDroneTrackDebrisDirtLeft TreadDebrisRight = SentryDroneTrackDebrisDirtRight TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:SentryDrone Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY SentryDroneGun End ArmorSet Conditions = None Armor = SentryDroneArmor DamageFX = TruckDamageFX End BuildCost = 850 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 350 Prerequisites Object = AirF_AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = No ;Can gain experience CrusherLevel = 0 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleSentryDroneCommandSet ; *** AUDIO Parameters *** VoiceSelect = SentryDroneVoiceSelect VoiceMove = SentryDroneVoiceMove VoiceGuard = SentryDroneVoiceMove VoiceAttack = SentryDroneVoiceMove SoundMoveStart = NoSound SoundMoveStartDamaged = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = NoSound TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceEnter = NoSound Deploy = NoSound Undeploy = NoSound End Behavior = WeaponSetUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaSentryDroneGun End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTACK_NEEDS_LINE_OF_SIGHT DRONE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = MaxHealthUpgrade ModuleTag_DroneArmorBonus TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 75.0 ChangeType = ADD_CURRENT_HEALTH_TOO End Behavior = DeployStyleAIUpdate ModuleTag_04 Turret TurretTurnRate = 180 TurretPitchRate = 180 FirePitch = 0 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = No RecenterTime = 1000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY NaturalTurretAngle = 0 InitiallyDisabled = No 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 ;Stealthed ; Means "Yes when idle, even if I am stealthed" PackTime = 1000 UnpackTime = 1000 TurretsFunctionOnlyWhenDeployed = Yes TurretsMustCenterBeforePacking = Yes End Locomotor = SET_NORMAL SentryLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End Behavior = StealthUpdate ModuleTag_06 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY MOVING HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleSentryDroneDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = DestroyDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = StealthDetectorUpdate ModuleTag_12 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 225 ;Dustin, enable this for independant balancing! End ; Behavior = GrantUpgradeCreate ModuleTag_13 ; UpgradeToGrant = Upgrade_AmericaSentryDroneGun ; ExemptStatus = UNDER_CONSTRUCTION ; End Geometry = BOX GeometryMajorRadius = 9.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaTankAvengerLaserTurret ; Seperate turret object so it can attack independantly ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_ChinaUraniumShells UpgradeCameo3 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX01 ExtraPublicBone = TurretFX02 ExtraPublicBone = TURRET01 ExtraPublicBone = TURRETEL ExtraPublicBone = TURRETEL01 AttachToBoneInContainer = FIREPOINT01 DefaultConditionState Model = AVAVNGER_G Turret = TURRET01 TurretPitch = TURRETEL01 End ConditionState = REALLYDAMAGED Model = AVAVNGER_GD Turret = TURRET01 TurretPitch = TURRETEL01 End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = AmericaAirForceGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY AvengerAirLaserOne Weapon = SECONDARY AvengerAirLaserTwo End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Avenger with his damage module End VisionRange = 0 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop 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 SECONDARY TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes NaturalTurretPitch = 45 End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 500 ; default is 2000 End Behavior = DestroyDie ModuleTag_05 ; End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaTankAvenger ; *** ART Parameters *** SelectPortrait = SAAvnger_L ButtonImage = SAAvnger UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo5 = NONE Draw = W3DOverlordTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX03 ExtraPublicBone = LazerSpot01 ExtraPublicBone = LazerSpot02 DefaultConditionState Model = AVAVNGER HideSubObject = TURRET01 End ConditionState = REALLYDAMAGED Model = AVAVNGER_D HideSubObject = TURRET01 End ConditionState = RUBBLE Model = AVAVNGER_D1 End ;When a bombtruck disguises as an avenger, show the turret! ConditionState = DISGUISED Model = AVAVNGER ShowSubObject = TURRET01 End ConditionState = REALLYDAMAGED DISGUISED Model = AVAVNGER_D ShowSubObject = TURRET01 ;Hide controlled turret End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Avenger Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY AvengerTargetDesignator Weapon = SECONDARY AvengerAirLaserDummy End ArmorSet Conditions = None Armor = AntiAirVehicle DamageFX = TankDamageFX End BuildCost = 2000 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaWarFactory Object = AirF_AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 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 = general vehicles CommandSet = AmericaTankAvengerCommandSet ; *** AUDIO Parameters *** VoiceSelect = AvengerVoiceSelect VoiceMove = AvengerVoiceMove VoiceGuard = AvengerVoiceMove VoiceAttack = AvengerVoicePaint VoiceAttackAir = AvengerVoiceAttack SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AvengerVoiceCreate TurretMoveLoop = NoSound SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = NoSound VoiceEnter = AvengerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AvengerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_AvengerTankDeathEffect End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_AvengerTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AvengerPointDefenseLaserOne PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two WeaponTemplate = AvengerPointDefenseLaserTwo PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 100 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = OverlordContain ModuleTag_OverlordContain Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes PayloadTemplateName = AmericaTankAvengerLaserTurret ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills End Behavior = ObjectCreationUpgrade ModuleTag_08 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_11 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = DestroyDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = FlammableUpdate ModuleTag_22 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = MaxHealthUpgrade ModuleTag_23 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaTankMicrowave ; *** ART Parameters *** SelectPortrait = SAThunderBolt_L ButtonImage = SAThunderBolt UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 ExtraPublicBone = WEAPON02 OkToChangeModelColor = Yes ConditionState = NONE Model = AVTHUNDRBLT ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT End ConditionState = REALLYDAMAGED RUBBLE Model = AVTHUNDRBLT_D ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = REALLYDAMAGED RUBBLE USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT_D End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Microwave Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End WeaponSet Conditions = None ; Weapon = PRIMARY MicrowaveTankVehicleDisabler Weapon = PRIMARY MicrowaveTankBuildingDisabler ;SECONDARY MicrowaveTankBuildingDisabler Weapon = SECONDARY MicrowaveTankBuildingClearer ;TERTIARY MicrowaveTankBuildingClearer End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaWarFactory Object = AirF_AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaTankMicrowaveCommandSet ; *** AUDIO Parameters *** VoiceSelect = MicrowaveTankVoiceSelect VoiceMove = MicrowaveTankVoiceMove VoiceGuard = MicrowaveTankVoiceMove VoiceAttack = MicrowaveTankVoiceAttack SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = MicrowaveTankVoiceCreate VoiceEnter = MicrowaveTankVoiceMove SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = MicrowaveTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 480 InitialHealth = 480 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 960 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_MicrowaveTankDeath FX = FINAL FX_GenericTankDeathExplosion End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_MicrowaveTankDeath_CrushEffect End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = ExperienceScalarUpgrade ModuleTag_Upgrade01 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade02 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade03 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade04 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_Prod01 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FireWeaponUpdate ModuleTag_22 Weapon = MicrowaveTankEmitterWeapon ExclusiveWeaponDelay = 1000 ; If we fire a real weapon, we turn this module off for this long End Behavior = CommandButtonHuntUpdate ModuleTag_24 ; allows use of command button hunt script with this unit. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaCommandCenter ; *** ART Parameters *** SelectPortrait = SAComCentr_L ButtonImage = SAComCentr ; ----------------- Main Building ------------------------ Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ****************************************** ConditionState = NONE Model = ABBtCmdAFG Animation = ABBtCmdAFG.ABBtCmdAFG AnimationMode = LOOP End ConditionState = DAMAGED Model = ABBtCmdHQA_D Animation = ABBtCmdHQA_D.ABBtCmdHQA_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQA_E Animation = ABBtCmdHQA_E.ABBtCmdHQA_E AnimationMode = LOOP End ; night **************************************** ConditionState = NIGHT Model = ABBtCmdHQA_N Animation = ABBtCmdHQA_N.ABBtCmdHQA_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABBtCmdHQA_DN Animation = ABBtCmdHQA_DN.ABBtCmdHQA_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABBtCmdHQA_EN Animation = ABBtCmdHQA_EN.ABBtCmdHQA_EN AnimationMode = LOOP End ; Snow ConditionState = SNOW Model = ABBtCmdHQA_S Animation = ABBtCmdHQA_S.ABBtCmdHQA_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABBtCmdHQA_DS Animation = ABBtCmdHQA_DS.ABBtCmdHQA_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABBtCmdHQA_ES Animation = ABBtCmdHQA_ES.ABBtCmdHQA_ES AnimationMode = LOOP End ; night snow **************************************** ConditionState = NIGHT SNOW Model = ABBtCmdHQA_NS Animation = ABBtCmdHQA_NS.ABBtCmdHQA_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABBtCmdHQA_DNS Animation = ABBtCmdHQA_DNS.ABBtCmdHQA_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABBtCmdHQA_ENS Animation = ABBtCmdHQA_ENS.ABBtCmdHQA_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQA Animation = ABBtCmdHQA.ABBtCmdHQA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQA_D Animation = ABBtCmdHQA_D.ABBtCmdHQA_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQA_E Animation = ABBtCmdHQA_E.ABBtCmdHQA_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABBtCmdHQA_N Animation = ABBtCmdHQA_N.ABBtCmdHQA_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABBtCmdHQA_DN Animation = ABBtCmdHQA_DN.ABBtCmdHQA_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABBtCmdHQA_EN Animation = ABBtCmdHQA_EN.ABBtCmdHQA_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABBtCmdHQA_S Animation = ABBtCmdHQA_S.ABBtCmdHQA_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABBtCmdHQA_DS Animation = ABBtCmdHQA_DS.ABBtCmdHQA_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABBtCmdHQA_ES Animation = ABBtCmdHQA_ES.ABBtCmdHQA_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABBtCmdHQA_NS Animation = ABBtCmdHQA_NS.ABBtCmdHQA_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABBtCmdHQA_DNS Animation = ABBtCmdHQA_DNS.ABBtCmdHQA_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABBtCmdHQA_ENS Animation = ABBtCmdHQA_ENS.ABBtCmdHQA_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_A7E 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 SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** ConditionState = DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ------------ Radar Extending ----------------- Draw = W3DModelDraw ModuleTag_03 ConditionState = None Model = ABBtCmdHQ_AC Animation = ABBtCmdHQ_AC.ABBtCmdHQ_AC AnimationMode = LOOP End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = ABBtCmdHQ_ACD Animation = ABBtCmdHQ_ACD.ABBtCmdHQ_ACD AnimationMode = LOOP End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_ACE Animation = ABBtCmdHQ_ACE.ABBtCmdHQ_ACE AnimationMode = LOOP End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_AC Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_ACD 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 ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_ACE 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 = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- The Door ------------------------ Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D 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 = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_A7D 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 ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_A7E 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 = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** 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_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly 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 = ABBtCmdHQ_A5 Animation = ABBtCmdHQ_A5.ABBtCmdHQ_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5N Animation = ABBtCmdHQ_A5N.ABBtCmdHQ_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5S Animation = ABBtCmdHQ_A5S.ABBtCmdHQ_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5SN Animation = ABBtCmdHQ_A5SN.ABBtCmdHQ_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A3 Animation = ABBtCmdHQ_A3.ABBtCmdHQ_A3 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A3N Animation = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A3S ; @todo srj -- not found Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A3SN Animation = ABBtCmdHQ_A3SN.ABBtCmdHQ_A3SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A3 Animation = ABBtCmdHQ_A3.ABBtCmdHQ_A3 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A3N Animation = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A3S ; @todo srj -- not found Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A3S Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagUSA Animation = OCFlagUSA.OCFlagUSA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PREORDER DAMAGED Model = OCFlagUSA_D Animation = OCFlagUSA_D.OCFlagUSA_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PREORDER REALLYDAMAGED RUBBLE Model = OCFlagUSA_E Animation = OCFlagUSA_E.OCFlagUSA_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = AmericaAirForceGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command Center should be free CommandSet = AirF_AmericaCommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_08 MaxHealth = 5000.0 InitialHealth = 5000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 5200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = GrantUpgradeCreate ModuleTag_09 UpgradeToGrant = Upgrade_AmericaRadar ExemptStatus = UNDER_CONSTRUCTION End Behavior = ProductionUpdate ModuleTag_11 NumDoorAnimations = 1 DoorOpeningTime = 1500 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 1500 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = RadarUpdate ModuleTag_12 RadarExtendTime = 4000 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_13 UnitCreatePoint = X:-18.0 Y: 35.0 Z:0.0 NaturalRallyPoint = X: 60.0 Y: 35.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = BaseRegenerateUpdate ModuleTag_14 ;No data End Behavior = DestroyDie ModuleTag_15 ;nothing End Behavior = CreateObjectDie ModuleTag_16 CreationList = OCL_LargeStructureDebris End Behavior = CreateObjectDie ModuleTag_17 CreationList = AirF_OCL_AmericanRangerDebris10 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_18 DeathFX = FX_StructureMediumDeath End Behavior = RadarUpgrade ModuleTag_19 TriggeredBy = Upgrade_AmericaRadar End Behavior = OCLSpecialPower ModuleTag_20 SpecialPowerTemplate = SuperweaponDaisyCutter UpgradeOCL = SCIENCE_MOAB SUPERWEAPON_MOAB OCL = SUPERWEAPON_DaisyCutter CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_21 SpecialPowerTemplate = SpecialPowerSpyDrone OCL = SUPERWEAPON_SpyDrone CreateLocation = CREATE_ABOVE_LOCATION End Behavior = OCLSpecialPower ModuleTag_22 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs. End ; Behavior = OCLSpecialPower ModuleTag_23;this has been removed from everywhere but the ChinaAirfield in CHI05 ; SpecialPowerTemplate = AirF_SuperweaponCarpetBomb ; OCL = AirF_SUPERWEAPON_CarpetBomb ; CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE ; End Behavior = OCLSpecialPower ModuleTag_24 SpecialPowerTemplate = SpecialPowerSpySatellite OCL = SUPERWEAPON_SpySatellite CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_25 SpecialPowerTemplate = SuperweaponCrateDrop OCL = SUPERWEAPON_CrateDrop CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_26 SpecialPowerTemplate = AirF_SuperweaponA10ThunderboltMissileStrike UpgradeOCL = AirF_SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 UpgradeOCL = AirF_SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_27 SpecialPowerTemplate = Early_SuperweaponEmergencyRepair UpgradeOCL = Early_SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 UpgradeOCL = Early_SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 OCL = SUPERWEAPON_RepairVehicles1 CreateLocation = CREATE_AT_LOCATION End ;;;; **NOTE put this back in? ; note that this power isn't normally available to human players, only to AI ones ;Behavior = DefectorSpecialPower ModuleTag_28 ; SpecialPowerTemplate = SpecialPowerDefector ; @todo lorenzen add fatcursor params ;End ;Kris: Now launched by OCLSpecialPower for DaisyCutter. ;Behavior = OCLSpecialPower ModuleTag_29 ; SpecialPowerTemplate = SuperweaponMOAB ; OCL = SUPERWEAPON_MOAB ; CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE ;End Behavior = FlammableUpdate ModuleTag_30 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End ;Kris: Order matters -- process in order of highest level to lowest level technology. Behavior = SpectreGunshipDeploymentUpdate ModuleSpectre_3 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship RequiredScience = SCIENCE_SpectreGunship3 GunshipTemplateName = AirF_AmericaJetSpectreGunship3 AttackAreaRadius = 200 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET End Behavior = SpectreGunshipDeploymentUpdate ModuleSpectre_2 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship RequiredScience = SCIENCE_SpectreGunship2 GunshipTemplateName = AirF_AmericaJetSpectreGunship2 AttackAreaRadius = 200 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET End Behavior = SpectreGunshipDeploymentUpdate ModuleSpectre_1 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship RequiredScience = SCIENCE_SpectreGunship1 GunshipTemplateName = AirF_AmericaJetSpectreGunship1 AttackAreaRadius = 200 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET End Behavior = OCLSpecialPower ModuleTag_34 SpecialPowerTemplate = SuperweaponLeafletDrop OCL = SUPERWEAPON_LeafletDrop CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End ;Behavior = CommandSetUpgrade ModuleTag_35 ; CommandSet = AirF_AmericaCommandCenterCommandSetToMOAB ; TriggeredBy = Upgrade_AmericaMOAB ;End Behavior = GrantScienceUpgrade ModuleTag_Science GrantScience = SCIENCE_MOAB TriggeredBy = Upgrade_AmericaMOAB End Geometry = BOX GeometryMajorRadius = 60.0 GeometryMinorRadius = 70.0 GeometryHeight = 49.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaPowerPlant ; *** ART Parameters *** SelectPortrait = SAPowerPlant_L ButtonImage = SAPowerPlant UpgradeCameo1 = Upgrade_AmericaAdvancedControlRods ; ---- the building itself ------ Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ******************************************** ConditionState = NONE; Model = ABPWRPLANT Animation = ABPWRPLANT.ABPWRPLANT AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED Model = ABPWRPLANT_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE Model = ABPWRPLANT_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks End ; day upgrade ConditionState = POWER_PLANT_UPGRADED ; Model = ABPWRPLANT Animation = ABPWRPLANT.ABPWRPLANT AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = DAMAGED POWER_PLANT_UPGRADED Model = ABPWRPLANT_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED Model = ABPWRPLANT_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ; night ConditionState = NIGHT; Model = ABPWRPLANT_N Animation = ABPWRPLANT_N.ABPWRPLANT_N AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED NIGHT Model = ABPWRPLANT_DN Animation = ABPWRPLANT_DN.ABPWRPLANT_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks ParticleSysBone = Sparks03 LiveWireSparks02 End ConditionState = REALLYDAMAGED RUBBLE NIGHT; Model = ABPWRPLANT_EN Animation = ABPWRPLANT_EN.ABPWRPLANT_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks End ; night upgraded ConditionState = NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_N Animation = ABPWRPLANT_N.ABPWRPLANT_N AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = DAMAGED NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_DN Animation = ABPWRPLANT_DN.ABPWRPLANT_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_EN Animation = ABPWRPLANT_EN.ABPWRPLANT_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ; day ******************************************** ConditionState = SNOW Model = ABPWRPLANT_S Animation = ABPWRPLANT_S.ABPWRPLANT_S AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED SNOW Model = ABPWRPLANT_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABPWRPLANT_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks End ; day upgrade ConditionState = POWER_PLANT_UPGRADED SNOW; Model = ABPWRPLANT_S Animation = ABPWRPLANT_S.ABPWRPLANT_S AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ; night ConditionState = NIGHT SNOW; Model = ABPWRPLANT_NS Animation = ABPWRPLANT_NS.ABPWRPLANT_NS AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = ABPWRPLANT_DNS Animation = ABPWRPLANT_DNS.ABPWRPLANT_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks ParticleSysBone = Sparks03 LiveWireSparks02 End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW; Model = ABPWRPLANT_ENS Animation = ABPWRPLANT_ENS.ABPWRPLANT_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks End ; night upgraded ConditionState = NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_NS Animation = ABPWRPLANT_NS.ABPWRPLANT_NS AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = DAMAGED NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_DNS Animation = ABPWRPLANT_DNS.ABPWRPLANT_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_ENS Animation = ABPWRPLANT_ENS.ABPWRPLANT_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPWRPLANT Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABPWRPLANT_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABPWRPLANT_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABPWRPLANT_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABPWRPLANT_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABPWRPLANT_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABPWRPLANT_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABPWRPLANT_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABPWRPLANT_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABPWRPLANT_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABPWRPLANT_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABPWRPLANT_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED ;************************************************************************************************************************** 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_BEING_CONSTRUCTED Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_A4SN Animation = ABPwrPlant_A4SN.ABPwrPlant_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_A4SN Animation = ABPwrPlant_A4SN.ABPwrPlant_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = ABPwrPlant_A5 Animation = ABPwrPlant_A5.ABPwrPlant_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5N Animation = ABPwrPlant_A5N.ABPwrPlant_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5S Animation = ABPwrPlant_A5S.ABPwrPlant_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5SN Animation = ABPwrPlant_A5SN.ABPwrPlant_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_AB Animation = ABPwrPlant_AB.ABPwrPlant_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_ABN Animation = ABPwrPlant_ABN.ABPwrPlant_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_ABS Animation = ABPwrPlant_ABS.ABPwrPlant_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_ABSN Animation = ABPwrPlant_ABSN.ABPwrPlant_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_AB Animation = ABPwrPlant_AB.ABPwrPlant_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_ABN Animation = ABPwrPlant_ABN.ABPwrPlant_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_ABS Animation = ABPwrPlant_ABS.ABPwrPlant_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_ABSN Animation = ABPwrPlant_ABSN.ABPwrPlant_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ---- the control rods ----- Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes ; no upgrade ConditionState = NONE Model ABPWRPLANT_A1 End AliasConditionState = SNOW AliasConditionState = NIGHT AliasConditionState = SNOW NIGHT ConditionState = DAMAGED Model ABPWRPLANT_A1D End AliasConditionState = DAMAGED SNOW AliasConditionState = DAMAGED NIGHT AliasConditionState = DAMAGED SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE Model ABPWRPLANT_A1E End AliasConditionState = REALLYDAMAGED RUBBLE SNOW AliasConditionState = REALLYDAMAGED RUBBLE NIGHT AliasConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPWRPLANT_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABPWRPLANT_A1D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABPWRPLANT_A1E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ; first to upgrade ConditionState = POWER_PLANT_UPGRADING Model ABPWRPLANT_A1 Animation = ABPWRPLANT_A1.ABPWRPLANT_A1 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = POWER_PLANT_UPGRADING SNOW AliasConditionState = POWER_PLANT_UPGRADING NIGHT AliasConditionState = POWER_PLANT_UPGRADING SNOW NIGHT ConditionState = DAMAGED POWER_PLANT_UPGRADING Model ABPWRPLANT_A1D Animation = ABPWRPLANT_A1D.ABPWRPLANT_A1D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW AliasConditionState = DAMAGED POWER_PLANT_UPGRADING NIGHT AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING Model ABPWRPLANT_A1E Animation = ABPWRPLANT_A1E.ABPWRPLANT_A1E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING NIGHT AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW NIGHT ; already upgraded ConditionState = POWER_PLANT_UPGRADED Model ABPWRPLANT_A1 Animation = ABPWRPLANT_A1.ABPWRPLANT_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = POWER_PLANT_UPGRADED SNOW AliasConditionState = POWER_PLANT_UPGRADED NIGHT AliasConditionState = POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = DAMAGED POWER_PLANT_UPGRADED Model ABPWRPLANT_A1D Animation = ABPWRPLANT_A1D.ABPWRPLANT_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW AliasConditionState = DAMAGED POWER_PLANT_UPGRADED NIGHT AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED Model ABPWRPLANT_A1E Animation = ABPWRPLANT_A1E.ABPWRPLANT_A1E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED NIGHT AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ColdFusionReactor Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites ; Object = AirF_AmericaCommandCenter End BuildCost = 800 BuildTime = 10.0 ; in seconds EnergyProduction = 5 EnergyBonus = 5 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = AirF_AmericaPowerPlantCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = ColdFusionReactorSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_POWER MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_06 MaxHealth = 800.0 InitialHealth = 800.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PowerPlantUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaAdvancedControlRods End Behavior = BaseRegenerateUpdate ModuleTag_08 ;No data End Behavior = PowerPlantUpdate ModuleTag_09 RodsExtendTime = 600 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_12 CreationList = AirF_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_13 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_14 ; nothing End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; 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:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 22.0 GeometryMinorRadius = 30.0 GeometryHeight = 46.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaParticleCannonUplink ; *** ART Parameters *** SelectPortrait = SAUplink_L ButtonImage = SAUplink Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = FX01 ExtraPublicBone = FX02 ExtraPublicBone = FX03 ExtraPublicBone = FX04 ExtraPublicBone = FX05 OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night ************************************* ConditionState = NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; day snow ************************************** ConditionState = SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED SNOW Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night snow ************************************* ConditionState = NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT SNOW Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ;------------ the cannon section (hatch, dish animations) ----------- Draw = W3DModelDraw ModuleTag_02 ExtraPublicBone = FXConnector ExtraPublicBone = FXMain OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW ConditionState = DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = AWAITING_CONSTRUCTION Model = None End AliasConditionState = NIGHT AWAITING_CONSTRUCTION AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION AliasConditionState = SNOW AWAITING_CONSTRUCTION ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_A1D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE ;Preparing to fire! ConditionState = UNPACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING AliasConditionState = NIGHT SNOW UNPACKING AliasConditionState = SNOW UNPACKING ConditionState = UNPACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING DAMAGED AliasConditionState = NIGHT SNOW UNPACKING DAMAGED AliasConditionState = SNOW UNPACKING DAMAGED ConditionState = UNPACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW UNPACKING REALLYDAMAGED RUBBLE ;Ready to fire -- or firing! ConditionState = DEPLOYED Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED AliasConditionState = NIGHT SNOW DEPLOYED AliasConditionState = SNOW DEPLOYED ConditionState = DEPLOYED DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED DAMAGED AliasConditionState = NIGHT SNOW DEPLOYED DAMAGED AliasConditionState = SNOW DEPLOYED DAMAGED ConditionState = DEPLOYED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = SNOW DEPLOYED REALLYDAMAGED RUBBLE ;Packing up (recharging for new attack) ConditionState = PACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING AliasConditionState = NIGHT SNOW PACKING AliasConditionState = SNOW PACKING ConditionState = PACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING DAMAGED AliasConditionState = NIGHT SNOW PACKING DAMAGED AliasConditionState = SNOW PACKING DAMAGED ConditionState = PACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW PACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW PACKING REALLYDAMAGED RUBBLE ConditionState = SOLD DEPLOYED Model = NONE End ConditionState = SOLD SNOW DEPLOYED Model = NONE End ConditionState = SOLD NIGHT DEPLOYED Model = NONE End ConditionState = SOLD NIGHT SNOW DEPLOYED 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_BEING_CONSTRUCTED Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End 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 = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_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 End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_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 End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_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 End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_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 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly 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 = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5 Animation = ABSDILink_A5.ABSDILink_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5N Animation = ABSDILink_A5N.ABSDILink_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5S Animation = ABSDILink_A5S.ABSDILink_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5SN Animation = ABSDILink_A5SN.ABSDILink_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ParticleCannon Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaStrategyCenter End BuildCost = 5000 BuildTime = 60.0 ; in seconds EnergyProduction = -10 VisionRange = 200.0 ; Shroud clearing distance ShroudRevealToAllRange = 60 ; Reveals shroud to all players at a specific amount which can be different. ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead! ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End CommandSet = AirF_AmericaParticleUplinkCannonCommandSet ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = ParticleCannonSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON Body = StructureBody ModuleTag_06 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = BaseRegenerateUpdate ModuleTag_07 ;No data End Behavior = SpecialPowerCreate ModuleTag_16 ;nothing End Behavior = SpecialAbility ModuleTag_11 SpecialPowerTemplate = SuperweaponParticleUplinkCannon UpdateModuleStartsAttack = Yes End Behavior = ParticleUplinkCannonUpdate ModuleTag_12 SpecialPowerTemplate = SuperweaponParticleUplinkCannon ;The values trigger the various pre-stages before being ready to actually fire. ;The total combined value of these determines the first sign of activity in the ;cannon. BeginChargeTime = 5000 ;The outer nodes begin to charge. RaiseAntennaTime = 4667 ;The hatch opens and raises antenna (matches animation speed) ReadyDelayTime = 2000 ;The time after antenna is raised prior to being ready to fire. ;***NOTE -- these values effect gameplay***** TotalFiringTime = 10000 ;The total ground contact time of the beam DamagePerSecond = 400 ;Amount of damage inflicted per second TotalDamagePulses = 40 ;The total number of damage pulses -- less means more damage per pulse, but less accurate WidthGrowTime = 2000 ;The amount of time it takes for the beam to reach full diameter (same value used for shrinking) BeamTravelTime = 2500 ;How long it takes for the beam to hit the ground after leaving the firing dish. DamageType = PARTICLE_BEAM ;Type of damage inflicted. DamageRadiusScalar = 3.4 ;Multiplies the radius (relative to beam diameter) so that things close to the beam can get hit too! RevealRange = 50.0 ;Grants gratuitous vision for the player launching the target as the beam cuts it's swath of death. ;******************************************** ;Bone names for required elements OuterEffectBoneName = FX ;The base name for the outer node bones. OuterEffectNumBones = 5 ;The number of outer nodes. ConnectorBoneName = FXConnector ;The name of the bone where the connector lasers meet. FireBoneName = FXMain ;The name of the bone where the main beam is fired from. ;These are particle systems tied to the outer nodes in varying intensities. OuterNodesLightFlareParticleSystem = ParticleUplinkCannon_OuterNodeLightFlare OuterNodesMediumFlareParticleSystem = ParticleUplinkCannon_OuterNodeMediumFlare OuterNodesIntenseFlareParticleSystem = ParticleUplinkCannon_OuterNodeIntenseFlare ;The connectors system connects each of the outer nodes to the central node that receives ;the lasers from outside. ConnectorMediumLaserName = ParticleUplinkCannon_MediumConnectorLaser ConnectorIntenseLaserName = ParticleUplinkCannon_IntenseConnectorLaser ;Currently commented out -- These ;ConnectorMediumFlare = ParticleUplinkCannon_InnerConnectorMediumFlare ;ConnectorIntenseFlare = ParticleUplinkCannon_InnerConnectorIntenseFlare ;This is the name of the bone on the building where the beam is fired from LaserBaseLightFlareParticleSystemName = ParticleUplinkCannon_LaserBaseReadyToFire ParticleBeamLaserName = ParticleUplinkCannon_OrbitalLaser GroundHitFX = FX_ParticleUplinkCannon_BeamHitsGround ;TotalScorchMarks determines how many times this gets called. ;The flare fxlist that is played over and over during the beam firing process. Be ;mindful of the delay because that effects both art and sound. BeamLaunchFX = FX_ParticleUplinkCannon_BeamLaunchIteration DelayBetweenLaunchFX = 1000 ;Each scorch mark creates an object in the world, so while making more looks better ;it becomes a performance issue. The scalar will calculate the size of the scorch ;mark to make based on the current size of the beam (which changes dynamically). The ;number also matches the number of times the "GroundHitFX" is called. TotalScorchMarks = 20 ScorchMarkScalar = 2.4 ;***NOTE -- these values effect gameplay*** ;The swath of death is the path the laser tracers centered on the targeted position. ;If the amplitude is zero, the line will go straight, with a higher value, it'll do ;a sine wave iteration, but always goes through the target point. SwathOfDeathDistance = 200.0 SwathOfDeathAmplitude = 50.0 ManualDrivingSpeed = 20 ManualFastDrivingSpeed = 40 DoubleClickToFastDriveDelay = 500 ;***SOUNDS!**** PoweringUpSoundLoop = ParticleUplinkCannon_PowerupSoundLoop UnpackToIdleSoundLoop = ParticleUplinkCannon_UnpackToIdleSoundLoop FiringToPackSoundLoop = ParticleUplinkCannon_FiringToPackSoundLoop GroundAnnihilationSoundLoop = ParticleUplinkCannon_GroundAnnihilationSoundLoop ;The trail left behind creates an object that inflicts extra damage for a short period of time. DamagePulseRemnantObjectName = ParticleUplinkCannonTrailRemnant End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ProductionUpdate ModuleTag_15 ; This is needed in order to get a public timer to work! End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = SlowDeathBehavior ModuleTag_18 ; don't run this death if we are under construction... ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 2000 FX = INITIAL FX_ParticleUplinkDeathInitial OCL = INITIAL OCL_SDILinkLasers FX = FINAL FX_StructureMediumDeath OCL = FINAL OCL_ParticleUplinkDeathFinal End Behavior = InstantDeathBehavior ModuleTag_19 ; if we are under construction, use this death instead RequiredStatus = UNDER_CONSTRUCTION OCL = OCL_ABPowerPlantExplode FX = FX_StructureMediumDeath End Geometry = BOX GeometryMajorRadius = 64.0 GeometryMinorRadius = 38.0 GeometryHeight = 38.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_SDILasers Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = ABSDILink_L Animation = ABSDILink_L.ABSDILink_L AnimationMode = ONCE End End Behavior = LifetimeUpdate ModuleTag_02 MinLifetime = 3000 ; min lifetime in msec MaxLifetime = 3000 ; max lifetime in msec End Body = HighlanderBody ModuleTag_03 MaxHealth = 1.0 InitialHealth = 1.0 End Behavior = DestroyDie ModuleTag_04 ; End End ;------------------------------------------------------------------------------ Object AirF_AmericaStrategyCenter ; *** ART Parameters *** SelectPortrait = SAStrategyCenter_L ButtonImage = SAStrategyCenter Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day *************************************************** ConditionState = NONE Model = ABStrategy Animation = ABStrategy.ABStrategy AnimationMode = LOOP End ConditionState = DAMAGED Model = ABStrategy_D Animation = ABStrategy_D.ABStrategy_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABStrategy_E Animation = ABStrategy_E.ABStrategy_E AnimationMode = LOOP End ; SNOW *************************************************** ConditionState = SNOW Model = ABStrategy_S Animation = ABStrategy_S.ABStrategy_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABStrategy_DS Animation = ABStrategy_DS.ABStrategy_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABStrategy_ES Animation = ABStrategy_ES.ABStrategy_ES AnimationMode = LOOP End ; night ************************************************** ConditionState = NIGHT Model = ABStrategy_N Animation = ABStrategy_N.ABStrategy_N AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End ConditionState = NIGHT DAMAGED Model = ABStrategy_DN Animation = ABStrategy_DN.ABStrategy_DN AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE Model = ABStrategy_EN Animation = ABStrategy_EN.ABStrategy_EN AnimationMode = LOOP End ; night Snow************************************************** ConditionState = NIGHT SNOW Model = ABStrategy_NS Animation = ABStrategy_NS.ABStrategy_NS AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End ConditionState = NIGHT DAMAGED SNOW Model = ABStrategy_DNS Animation = ABStrategy_DNS.ABStrategy_DNS AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE SNOW Model = ABStrategy_ENS Animation = ABStrategy_ENS.ABStrategy_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy Animation = ABStrategy.ABStrategy AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABStrategy_D Animation = ABStrategy_D.ABStrategy_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABStrategy_E Animation = ABStrategy_E.ABStrategy_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABStrategy_N Animation = ABStrategy_N.ABStrategy_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABStrategy_DN Animation = ABStrategy_DN.ABStrategy_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABStrategy_EN Animation = ABStrategy_EN.ABStrategy_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABStrategy_S Animation = ABStrategy_S.ABStrategy_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABStrategy_DS Animation = ABStrategy_DS.ABStrategy_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABStrategy_ES Animation = ABStrategy_ES.ABStrategy_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABStrategy_NS Animation = ABStrategy_NS.ABStrategy_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABStrategy_DNS Animation = ABStrategy_DNS.ABStrategy_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABStrategy_ENS Animation = ABStrategy_ENS.ABStrategy_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No OkToChangeModelColor = Yes 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_BEING_CONSTRUCTED Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End TransitionState = DOWN_DEFAULT UP_DAY Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM OkToChangeModelColor = Yes 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 = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_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 = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_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 = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_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 = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_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 = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = ABStrategy_A5 Animation = ABStrategy_A5.ABStrategy_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5N Animation = ABStrategy_A5N.ABStrategy_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5S Animation = ABStrategy_A5S.ABStrategy_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5SN Animation = ABStrategy_A5SN.ABStrategy_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABStrategy_AB Animation = ABStrategy_AB.ABStrategy_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_ABN Animation = ABStrategy_ABN.ABStrategy_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_ABS Animation = ABStrategy_ABS.ABStrategy_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_ABSN Animation = ABStrategy_ABSN.ABStrategy_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_AB Animation = ABStrategy_AB.ABStrategy_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_ABN Animation = ABStrategy_ABN.ABStrategy_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_ABS Animation = ABStrategy_ABS.ABStrategy_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_ABSN Animation = ABStrategy_ABSN.ABStrategy_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ BOMBARDMENT BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_1_OPENING AliasConditionState = REALLYDAMAGED DOOR_1_OPENING AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING ConditionState = DOOR_1_CLOSING Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING ConditionState = DOOR_1_WAITING_TO_CLOSE Model = NONE End AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE ;************************************************************************************************************************** End Draw = W3DModelDraw ModuleTag_06 ;***This is the bombardment cannon object that only shows up when ready to fire*** OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A8 WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel Turret = Turret01 TurretPitch = TurretEL HideSubObject = Chassis End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_TO_CLOSE Model = ABStrategy_A8 ShowSubObject = Chassis End AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABStrategy_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 ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABStrategy_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE End ; ------------ HOLD THE LINE BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_07 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_2_OPENING Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_2_OPENING AliasConditionState = REALLYDAMAGED DOOR_2_OPENING AliasConditionState = NIGHT DOOR_2_OPENING AliasConditionState = NIGHT SNOW DOOR_2_OPENING AliasConditionState = SNOW DOOR_2_OPENING AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING AliasConditionState = SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING ConditionState = DOOR_2_CLOSING Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_2_CLOSING AliasConditionState = REALLYDAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DOOR_2_CLOSING AliasConditionState = SNOW DOOR_2_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING ConditionState = DOOR_2_WAITING_TO_CLOSE Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE ;************************************************************************************************************************** End ; ------------ SEARCH AND DESTROY BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_08 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_OPENING Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_3_OPENING AliasConditionState = REALLYDAMAGED DOOR_3_OPENING AliasConditionState = NIGHT DOOR_3_OPENING AliasConditionState = NIGHT SNOW DOOR_3_OPENING AliasConditionState = SNOW DOOR_3_OPENING AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING AliasConditionState = SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING ConditionState = DOOR_3_CLOSING Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_3_CLOSING AliasConditionState = REALLYDAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DOOR_3_CLOSING AliasConditionState = SNOW DOOR_3_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING ConditionState = DOOR_3_WAITING_TO_CLOSE Model = NONE End AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE ;************************************************************************************************************************** End Draw = W3DModelDraw ModuleTag_09 ;***This is the radar array that only shows up when plan is active*** OkToChangeModelColor = Yes DefaultConditionState Model = NONE End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_WAITING_TO_CLOSE Model = ABStrategy_A3 Animation = ABStrategy_A3.ABStrategy_A3 AnimationMode = LOOP End AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:StrategyCenter Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaWarFactory AirF_AmericaAirfield End CommandSet = AirF_AmericaStrategyCenterCommandSet BuildCost = 2500 BuildTime = 60.0 ; in seconds EnergyProduction = -2 VisionRange = 400.0 ; Shroud clearing distance MaxSimultaneousOfType = 1 ShroudClearingRange = 400 WeaponSet Conditions = None Weapon = PRIMARY StrategyCenterGun AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 250 250 250 250 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = StrategyCenterSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit. (mp) StrategyCenter_TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_STRATEGY_CENTER FS_ADVANCED_TECH Body = StructureBody ModuleTag_10 MaxHealth = 1500.0 InitialHealth = 1500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = BaseRegenerateUpdate ModuleTag_12 ;No data End Behavior = SpecialAbility ModuleTag_13 SpecialPowerTemplate = SpecialAbilityChangeBattlePlans UpdateModuleStartsAttack = Yes End Behavior = BattlePlanUpdate ModuleTag_14 SpecialPowerTemplate = SpecialAbilityChangeBattlePlans ;Transition Timings BombardmentPlanAnimationTime = 7000 HoldTheLinePlanAnimationTime = 7000 SearchAndDestroyPlanAnimationTime = 7000 TransitionIdleTime = 0 ;Messages BombardmentMessageLabel = MESSAGE:BattlePlanBombardmentInitiated HoldTheLineMessageLabel = MESSAGE:BattlePlanHoldTheLineInitiated SearchAndDestroyMessageLabel = MESSAGE:BattlePlanSearchAndDestroyInitiated ;Audio hooks BombardmentPlanUnpackSoundName = StrategyCenter_BombardmentPlanUnpackSound BombardmentPlanPackSoundName = StrategyCenter_BombardmentPlanPackSound BombardmentAnnouncementName = StrategyCenter_BombardmentPlanAnnouncement SearchAndDestroyPlanUnpackSoundName = StrategyCenter_SearchAndDestroyPlanUnpack SearchAndDestroyPlanIdleLoopSoundName = StrategyCenter_SearchAndDestroyPlanIdleLoop SearchAndDestroyPlanPackSoundName = StrategyCenter_SearchAndDestroyPlanPack SearchAndDestroyAnnouncementName = StrategyCenter_SearchAndDestroyAnnouncement HoldTheLinePlanUnpackSoundName = StrategyCenter_HoldTheLinePlanUnpack HoldTheLinePlanPackSoundName = StrategyCenter_HoldTheLinePlanPack HoldTheLineAnnouncementName = StrategyCenter_HoldTheLineAnnouncement ;Army bonuses granted by different battle plans ValidMemberKindOf = INFANTRY CAN_ATTACK VEHICLE ;Battle plans affect any kind of these... InvalidMemberKindOf = DOZER STRUCTURE AIRCRAFT DRONE ;...but make sure they don't have any of these BattlePlanChangeParalyzeTime = 5000 ;Subjected to paralyzation whenever a battle plan is changed. HoldTheLinePlanArmorDamageScalar = 0.9 ;Armor damage bonus scalar -- LESS is better! SearchAndDestroyPlanSightRangeScalar = 1.2 ;Sight range bonus -- more is better! ;***NOTE*** WEAPON bonuses for army are specified in GameData.ini file! ;Building bonuses granted based on battle plan mode. StrategyCenterSearchAndDestroySightRangeScalar = 2.0 StrategyCenterSearchAndDestroyDetectsStealth = Yes StrategyCenterHoldTheLineMaxHealthScalar = 2.0 StrategyCenterHoldTheLineMaxHealthChangeType = PRESERVE_RATIO ;Revealing info ;VisionObjectName = VisionObject End Behavior = AIUpdateInterface ModuleTag_15 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 45 ; this keeps it aimed half way between land and sky ; since you never know from whence cometh danger NaturalTurretAngle = -90 ; this turret points backwards normally FirePitch = 45 ; Instead of aiming pitchwise at the target, it will aim here MinIdleScanInterval = 500 ; in milliseconds MaxIdleScanInterval = 1000 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 60 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) InitiallyDisabled = Yes ; only will be active when search & destroy plan active. DetectionRange = 500 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = SpyVisionSpecialPower SpyTag_1 SpecialPowerTemplate = SuperweaponCIAIntelligence BaseDuration = 30000 ;in milliseconds BonusDurationPerCaptured = 10000 ;in milliseconds MaxDuration = 240000 ;in milliseconds End Behavior = SpyVisionUpdate SpyTag_2 ; End Behavior = DestroyDie ModuleTag_17 ;nothing End Behavior = CreateObjectDie ModuleTag_18 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_19 CreationList = AirF_OCL_AmericanRangerDebris04 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_20 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_22 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_23 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = OCLSpecialPower ModuleTag_24;this has been removed from everywhere but the ChinaAirfield in CHI05 SpecialPowerTemplate = AirF_SuperweaponCarpetBomb OCL = AirF_SUPERWEAPON_CarpetBomb CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Geometry = BOX GeometryMajorRadius = 62.0 GeometryMinorRadius = 44.0 GeometryHeight = 24.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaAirfield ; *** ART Parameters *** SelectPortrait = SAACommand_L ButtonImage = SAACommand Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = Runway1Parking1 ExtraPublicBone = Runway1Parking2 ExtraPublicBone = Runway2Parking1 ExtraPublicBone = Runway2Parking2 ExtraPublicBone = Runway1Park1Han ExtraPublicBone = Runway1Park2Han ExtraPublicBone = Runway2Park1Han ExtraPublicBone = Runway2Park2Han ExtraPublicBone = Runway1Prep1 ExtraPublicBone = Runway1Prep2 ExtraPublicBone = Runway2Prep1 ExtraPublicBone = Runway2Prep2 ExtraPublicBone = RunwayStart1 ExtraPublicBone = RunwayStart2 ExtraPublicBone = RunwayEnd1 ExtraPublicBone = RunwayEnd2 ExtraPublicBone = HeliPark01 OkToChangeModelColor = Yes ; day ******************************************** DefaultConditionState Model = ABArFrcCmd Animation = ABArFrcCmd.ABArFrcCmd AnimationMode = LOOP End ConditionState = DAMAGED Model = ABArFrcCmd_D Animation = ABArFrcCmd_D.ABArFrcCmd_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = ABArFrcCmd_E Animation = ABArFrcCmd_E.ABArFrcCmd_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge ParticleSysBone = Spark01 SparksLarge End ConditionState = SNOW Model = ABArFrcCmd_S Animation = ABArFrcCmd_S.ABArFrcCmd_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABArFrcCmd_DS Animation = ABArFrcCmd_DS.ABArFrcCmd_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABArFrcCmd_ES Animation = ABArFrcCmd_ES.ABArFrcCmd_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge ParticleSysBone = Spark01 SparksLarge End ; night ****************************************** ConditionState = NIGHT Model = ABArFrcCmd_N Animation = ABArFrcCmd_N.ABArFrcCmd_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABArFrcCmd_ND Animation = ABArFrcCmd_ND.ABArFrcCmd_ND AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABArFrcCmd_NE Animation = ABArFrcCmd_NE.ABArFrcCmd_NE AnimationMode = LOOP End ConditionState = NIGHT SNOW Model = ABArFrcCmd_NS Animation = ABArFrcCmd_NS.ABArFrcCmd_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABArFrcCmd_NDS Animation = ABArFrcCmd_NDS.ABArFrcCmd_NDS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABArFrcCmd_NES Animation = ABArFrcCmd_NES.ABArFrcCmd_NES AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd Animation = ABArFrcCmd.ABArFrcCmd AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_D Animation = ABArFrcCmd_D.ABArFrcCmd_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_E Animation = ABArFrcCmd_E.ABArFrcCmd_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABArFrcCmd_N Animation = ABArFrcCmd_N.ABArFrcCmd_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABArFrcCmd_ND Animation = ABArFrcCmd_ND.ABArFrcCmd_ND AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABArFrcCmd_NE Animation = ABArFrcCmd_NE.ABArFrcCmd_NE AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABArFrcCmd_S Animation = ABArFrcCmd_S.ABArFrcCmd_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABArFrcCmd_DS Animation = ABArFrcCmd_DS.ABArFrcCmd_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABArFrcCmd_ES Animation = ABArFrcCmd_ES.ABArFrcCmd_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABArFrcCmd_NS Animation = ABArFrcCmd_NS.ABArFrcCmd_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABArFrcCmd_NDS Animation = ABArFrcCmd_NDS.ABArFrcCmd_NDS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABArFrcCmd_NES Animation = ABArFrcCmd_NES.ABArFrcCmd_NES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ blinky production lights ----------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = None End ConditionState = ACTIVELY_CONSTRUCTING Model = ABArFrcCmd_A9 Animation = ABArFrcCmd_A9.ABArFrcCmd_A9 AnimationMode = LOOP End End ; ----------------- door #1 ------------------- Draw = W3DModelDraw ModuleTag_03 ConditionState = NONE Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 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 RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING ConditionState = DOOR_1_CLOSING Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING ConditionState = DOOR_1_WAITING_OPEN Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A7 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 ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A7 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 = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #2 ------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 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 RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_2_OPENING Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_2_OPENING AliasConditionState = SNOW DOOR_2_OPENING AliasConditionState = NIGHT SNOW DOOR_2_OPENING AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING AliasConditionState = SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING ConditionState = DOOR_2_CLOSING Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_2_CLOSING AliasConditionState = SNOW DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DOOR_2_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING ConditionState = DOOR_2_WAITING_OPEN Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_2_WAITING_OPEN AliasConditionState = SNOW DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_2_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_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 ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A8 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 = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #3 ------------------- Draw = W3DModelDraw ModuleTag_05 DefaultConditionState Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 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 RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_OPENING Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_3_OPENING AliasConditionState = SNOW DOOR_3_OPENING AliasConditionState = NIGHT SNOW DOOR_3_OPENING AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING ConditionState = DOOR_3_CLOSING Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_CLOSING AliasConditionState = SNOW DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DOOR_3_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING ConditionState = DOOR_3_WAITING_OPEN Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_WAITING_OPEN AliasConditionState = SNOW DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_3_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A2 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 ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A2 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 = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #4 ------------------- Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 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 RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_4_OPENING Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_4_OPENING AliasConditionState = SNOW DOOR_4_OPENING AliasConditionState = NIGHT SNOW DOOR_4_OPENING AliasConditionState = NIGHT DAMAGED DOOR_4_OPENING AliasConditionState = SNOW DAMAGED DOOR_4_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING ConditionState = DOOR_4_CLOSING Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_CLOSING AliasConditionState = SNOW DOOR_4_CLOSING AliasConditionState = NIGHT SNOW DOOR_4_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_4_CLOSING AliasConditionState = SNOW DAMAGED DOOR_4_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING ConditionState = DOOR_4_WAITING_OPEN Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_WAITING_OPEN AliasConditionState = SNOW DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_4_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A3 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A3 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 ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A3 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 = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- 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 = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_08 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 = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_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 = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_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 = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_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 = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_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 = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_09 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 = ABArFrcCmd_A5 Animation = ABArFrcCmd_A5.ABArFrcCmd_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5N Animation = ABArFrcCmd_A5N.ABArFrcCmd_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5S Animation = ABArFrcCmd_A5S.ABArFrcCmd_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5SN Animation = ABArFrcCmd_A5SN.ABArFrcCmd_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABArFrcCmd_AB Animation = ABArFrcCmd_AB.ABArFrcCmd_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_ABN Animation = ABArFrcCmd_ABN.ABArFrcCmd_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_ABS ; @todo srj -- not found Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_ABSN Animation = ABArFrcCmd_ABSN.ABArFrcCmd_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_AB Animation = ABArFrcCmd_AB.ABArFrcCmd_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_ABN Animation = ABArFrcCmd_ABN.ABArFrcCmd_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_ABS ; @todo srj -- not found Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_ABS Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Airfield Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaSupplyCenter End BuildCost = 800 BuildTime = 30.0 ; in seconds EnergyProduction = -1 CommandSet = AirF_AmericaAirfieldCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 150 150 150 150 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = AirfieldUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_AIRFIELD SCORE CAPTURABLE FS_FACTORY MP_COUNT_FOR_VICTORY AUTO_RALLYPOINT Body = StructureBody ModuleTag_10 MaxHealth = 2500.0 InitialHealth = 2500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ParkingPlaceBehavior ModuleTag_11 HealAmountPerSecond = 10 NumRows = 2 NumCols = 2 HasRunways = Yes ApproachHeight = 50 End Behavior = ProductionUpdate ModuleTag_12 NumDoorAnimations = 4 DoorOpeningTime = 2000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 2000 ;in mSeconds ConstructionCompleteDuration = 1000 ;in mSeconds End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End Behavior = DestroyDie ModuleTag_14 ;nothing End Behavior = CreateObjectDie ModuleTag_15 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_16 CreationList = AirF_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_17 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_19 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 112.0 GeometryMinorRadius = 74.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaSupplyCenter ; *** ART Parameters *** SelectPortrait = SASupplyCntr_L ButtonImage = SASupplyCntr UpgradeCameo1 = Upgrade_AmericaSupplyLines Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSupplyCT Animation = ABSupplyCT.ABSupplyCT AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = ABSupplyCT_D Animation = ABSupplyCT_D.ABSupplyCT_D AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = ABSupplyCT_E Animation = ABSupplyCT_E.ABSupplyCT_E AnimationMode = LOOP 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 End ; day Snow ************************************** ConditionState = SNOW Model = ABSupplyCT_S Animation = ABSupplyCT_S.ABSupplyCT_S AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED SNOW Model = ABSupplyCT_DS Animation = ABSupplyCT_DS.ABSupplyCT_DS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSupplyCT_ES Animation = ABSupplyCT_ES.ABSupplyCT_ES AnimationMode = LOOP 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 End ; Night ************************************* ConditionState = NIGHT Model = ABSupplyCT_N Animation = ABSupplyCT_N.ABSupplyCT_N AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT Model = ABSupplyCT_DN Animation = ABSupplyCT_DN.ABSupplyCT_DN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSupplyCT_EN Animation = ABSupplyCT_EN.ABSupplyCT_EN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; Night Snow************************************* ConditionState = NIGHT SNOW Model = ABSupplyCT_NS Animation = ABSupplyCT_NS.ABSupplyCT_NS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT SNOW Model = ABSupplyCT_DNS Animation = ABSupplyCT_DNS.ABSupplyCT_DNS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSupplyCT_ENS Animation = ABSupplyCT_ENS.ABSupplyCT_ENS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT Animation = ABSupplyCT.ABSupplyCT AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSupplyCT_D Animation = ABSupplyCT_D.ABSupplyCT_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSupplyCT_E Animation = ABSupplyCT_E.ABSupplyCT_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSupplyCT_N Animation = ABSupplyCT_N.ABSupplyCT_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSupplyCT_DN Animation = ABSupplyCT_DN.ABSupplyCT_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSupplyCT_EN Animation = ABSupplyCT_EN.ABSupplyCT_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSupplyCT_S Animation = ABSupplyCT_S.ABSupplyCT_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSupplyCT_DS Animation = ABSupplyCT_DS.ABSupplyCT_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSupplyCT_ES Animation = ABSupplyCT_ES.ABSupplyCT_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSupplyCT_NS Animation = ABSupplyCT_NS.ABSupplyCT_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSupplyCT_DNS Animation = ABSupplyCT_DNS.ABSupplyCT_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSupplyCT_ENS Animation = ABSupplyCT_ENS.ABSupplyCT_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = 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_BEING_CONSTRUCTED Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_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 = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_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 = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_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 = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_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 = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = ABSupplyCT_A5 Animation = ABSupplyCT_A5.ABSupplyCT_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5N Animation = ABSupplyCT_A5N.ABSupplyCT_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5S Animation = ABSupplyCT_A5S.ABSupplyCT_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5SN Animation = ABSupplyCT_A5SN.ABSupplyCT_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupplyCT_AB Animation = ABSupplyCT_AB.ABSupplyCT_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_ABN Animation = ABSupplyCT_ABN.ABSupplyCT_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_ABS Animation = ABSupplyCT_ABS.ABSupplyCT_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_ABSN Animation = ABSupplyCT_ABSN.ABSupplyCT_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_AB Animation = ABSupplyCT_AB.ABSupplyCT_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_ABN Animation = ABSupplyCT_ABN.ABSupplyCT_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_ABS Animation = ABSupplyCT_ABS.ABSupplyCT_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_ABSN Animation = ABSupplyCT_ABSN.ABSupplyCT_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ Grabbing box crane arm ----------------- Draw = W3DModelDraw ModuleTag_19 OkToChangeModelColor = Yes ConditionState = NONE ; sit there Model = ABSupplyCT_A8 Animation = ABSupplyCT_A8.ABSupplyCT_A8 AnimationMode = LOOP Flags = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT WaitForStateToFinishIfPossible = TRANS_Playing End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOCKING_ACTIVE ; play arm box anim once Model = ABSupplyCT_A7 Animation = ABSupplyCT_A7.ABSupplyCT_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST TransitionKey = TRANS_Playing End AliasConditionState = NIGHT DOCKING_ACTIVE AliasConditionState = SNOW DOCKING_ACTIVE AliasConditionState = NIGHT SNOW DOCKING_ACTIVE AliasConditionState = DAMAGED DOCKING_ACTIVE AliasConditionState = NIGHT DAMAGED DOCKING_ACTIVE AliasConditionState = SNOW DAMAGED DOCKING_ACTIVE AliasConditionState = NIGHT SNOW DAMAGED DOCKING_ACTIVE AliasConditionState = REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE End ; ------------ Spinny Belt ----------------- Draw = W3DModelDraw ModuleTag_SpinnyBelt OkToChangeModelColor = Yes ConditionState = NONE ; sit there Model = ABSupplyCT_A9 Animation = ABSupplyCT_A9.ABSupplyCT_A9 AnimationMode = LOOP End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A9 Animation = ABSupplyCT_A9.ABSupplyCT_A9 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyCenter Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaPowerPlant End BuildCost = 2000 RefundValue = 400 ; With nothing (or zero) listed, we sell for half price. BuildTime = 10.0 ; in seconds EnergyProduction = -1 CommandSet = AirF_AmericaSupplyCenterCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR SCORE CAPTURABLE FS_POWER AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = SupplyCenterCreate ModuleTag_06 ;nothing End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = AirF_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = ProductionUpdate ModuleTag_09 ; nothing End Behavior = SupplyCenterProductionExitUpdate ModuleTag_10 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 44.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = BaseRegenerateUpdate ModuleTag_11 ;No data End Behavior = SpawnBehavior ModuleTag_12 SpawnNumber = 1 SpawnReplaceDelay = 9999 SpawnTemplateName = AFG_AmericaVehicleChinook OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = SupplyCenterDockUpdate ModuleTag_13 NumberApproachPositions = 9 ; There are 9 approach bones in the art End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_16 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_17 DeathFX = FX_StructureSmallDeath End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 44.0 GeometryMinorRadius = 45.0 GeometryHeight = 24.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaSupplyDropZone ; *** ART Parameters *** SelectPortrait = SADropZone_L ButtonImage = SADropZone UpgradeCameo1 = Upgrade_AmericaSupplyLines Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = ABSupDrop ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop.ABSupDrop AnimationMode = LOOP End ConditionState = DAMAGED Model = ABSupDrop_D ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_D.ABSupDrop_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABSupDrop_E ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_E.ABSupDrop_E AnimationMode = LOOP End ConditionState = NIGHT Model = ABSupDrop_N ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_N.ABSupDrop_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABSupDrop_DN ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DN.ABSupDrop_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSupDrop_EN ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_EN.ABSupDrop_EN AnimationMode = LOOP End ;----------- SNOW ConditionState = SNOW Model = ABSupDrop_S ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_S.ABSupDrop_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABSupDrop_DS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DS.ABSupDrop_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSupDrop_ES ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_ES.ABSupDrop_ES AnimationMode = LOOP End ;---------- SNOW NIGHT ConditionState = NIGHT SNOW Model = ABSupDrop_NS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_NS.ABSupDrop_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABSupDrop_DNS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DNS.ABSupDrop_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSupDrop_ENS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_ENS.ABSupDrop_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop Animation = ABSupDrop.ABSupDrop AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSupDrop_D Animation = ABSupDrop_D.ABSupDrop_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSupDrop_E Animation = ABSupDrop_E.ABSupDrop_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSupDrop_N Animation = ABSupDrop_N.ABSupDrop_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSupDrop_DN Animation = ABSupDrop_DN.ABSupDrop_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSupDrop_EN Animation = ABSupDrop_EN.ABSupDrop_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSupDrop_S Animation = ABSupDrop_S.ABSupDrop_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSupDrop_DS Animation = ABSupDrop_DS.ABSupDrop_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSupDrop_ES Animation = ABSupDrop_ES.ABSupDrop_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSupDrop_NS Animation = ABSupDrop_NS.ABSupDrop_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSupDrop_DNS Animation = ABSupDrop_DNS.ABSupDrop_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSupDrop_ENS Animation = ABSupDrop_ENS.ABSupDrop_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = 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_BEING_CONSTRUCTED Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_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 = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_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 = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_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 = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_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 = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:AmericaSupplyDropZone Side = AmericaAirForceGeneral EditorSorting = STRUCTURE BuildCost = 2500 BuildTime = 45.0 ; in seconds Prerequisites Object = AirF_AmericaStrategyCenter End EnergyProduction = -4 ShroudClearingRange = 100 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyDropZoneSelect UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** ; Please note that this structure is not a kindof IMMUNE_TO_CAPTURE, ther is code that allows ; CAPTURABLE+STRUCTUES, and FS_TECHNOLOGY kindofs to be disabled, unless explicitly IMMUNE_TO_CAPTURE... ; If this boggles too much, then it is time for a KINDOF_DISABLEABLE!--ML KindOf = STRUCTURE SELECTABLE IMMOBILE SCORE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_SUPPLY_DROPZONE RadarPriority = STRUCTURE Body = ActiveBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = OCLUpdate ModuleTag_05 ; Context window is a reaction to this, no CommandSet OCL = OCL_AmericaSupplyDropZoneCrateDrop MinDelay = 120000 MaxDelay = 120000 CreateAtEdge = Yes ; as opposed to just creating on self End Behavior = DestroyDie ModuleTag_06 End Behavior = CreateObjectDie ModuleTag_07 CreationList = AirF_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FlammableUpdate ModuleTag_09 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = BaseRegenerateUpdate ModuleTag_11 ;No data End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 27.0 GeometryMinorRadius = 27.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AirF_AmericaBarracks ; *** ART Parameters *** SelectPortrait = SABarracks_L ButtonImage = SABarracks PlacementViewAngle = -45 ;Main barracks model Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;DAY ******************************* ConditionState = NONE Model = ABBARRACKS Animation = ABBarracks.ABBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = ABBarracks_D Animation = ABBarracks_D.ABBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABBarracks_E Animation = ABBarracks_E.ABBarracks_E AnimationMode = LOOP End ;NIGHT ***************************** ConditionState = NIGHT Model = ABBARRACKS_N Animation = ABBarracks_N.ABBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABBarracks_DN Animation = ABBarracks_DN.ABBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABBarracks_EN Animation = ABBarracks_EN.ABBarracks_EN AnimationMode = LOOP End ;SNOW ****************************** ConditionState = SNOW Model = ABBARRACKS_S Animation = ABBarracks_S.ABBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABBarracks_DS Animation = ABBarracks_DS.ABBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABBarracks_ES Animation = ABBarracks_ES.ABBarracks_ES AnimationMode = LOOP End ;SNOW AND NIGHT ******************** ConditionState = SNOW NIGHT Model = ABBARRACKS_NS Animation = ABBarracks_NS.ABBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED SNOW NIGHT Model = ABBarracks_DNS Animation = ABBarracks_DNS.ABBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = ABBarracks_ENS Animation = ABBarracks_ENS.ABBarracks_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks Animation = ABBarracks.ABBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBarracks_D Animation = ABBarracks_D.ABBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBarracks_E Animation = ABBarracks_E.ABBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABBarracks_N Animation = ABBarracks_N.ABBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABBarracks_DN Animation = ABBarracks_DN.ABBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABBarracks_EN Animation = ABBarracks_EN.ABBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABBarracks_S Animation = ABBarracks_S.ABBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABBarracks_DS Animation = ABBarracks_DS.ABBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABBarracks_ES Animation = ABBarracks_ES.ABBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABBarracks_NS Animation = ABBarracks_NS.ABBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABBarracks_DNS Animation = ABBarracks_DNS.ABBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABBarracks_ENS Animation = ABBarracks_ENS.ABBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; Draw = W3DModelDraw ModuleTag_TestFlag ; DefaultConditionState ; Model = ABBarracks_FA ; Animation = ABBarracks_FA.ABBarracks_FA ; AnimationMode = LOOP ; End ; ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ; Model = None ; 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_BEING_CONSTRUCTED Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_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 = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_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 = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_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 = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_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 = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = ABBarracks_A5 Animation = ABBarracks_A5.ABBarracks_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5N Animation = ABBarracks_A5N.ABBarracks_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5S Animation = ABBarracks_A5S.ABBarracks_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5SN Animation = ABBarracks_A5SN.ABBarracks_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBarracks_AB Animation = ABBarracks_AB.ABBarracks_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_ABN Animation = ABBarracks_ABN.ABBarracks_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_ABS Animation = ABBarracks_ABS.ABBarracks_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_ABSN Animation = ABBarracks_ABSN.ABBarracks_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_AB Animation = ABBarracks_AB.ABBarracks_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_ABN Animation = ABBarracks_ABN.ABBarracks_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_ABS Animation = ABBarracks_ABS.ABBarracks_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_ABSN Animation = ABBarracks_ABSN.ABBarracks_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = AmericaAirForceGeneral EditorSorting = STRUCTURE BuildCost = 600 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = AirF_AmericaBarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 100 100 100 100 ; Experience point value at each level Prerequisites ; Object = AirF_AmericaPowerPlant End ; *** AUDIO Parameters *** VoiceSelect = BarracksUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_BARRACKS Body = StructureBody ModuleTag_05 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 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 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = CreateObjectDie ModuleTag_09 CreationList = AirF_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_12 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 55.0 Y: 0.0 Z:0.0 End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 55.0 GeometryMinorRadius = 45.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaWarFactory ; *** ART Parameters *** SelectPortrait = SACWeaponsfact_L ButtonImage = SACWeaponsfact ; ------------ the main factory itself ----------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************************** DefaultConditionState Model = ABWarFact Animation = ABWarFact.ABWarFact AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED Model = ABWarFact_D Animation = ABWarFact_D.ABWarFact_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_E Animation = ABWarFact_E.ABWarFact_E AnimationMode = LOOP End ; night ************************************************* ConditionState = NIGHT Model = ABWarFact_N Animation = ABWarFact_N.ABWarFact_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABWarFact_DN Animation = ABWarFact_DN.ABWarFact_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABWarFact_EN Animation = ABWarFact_EN.ABWarFact_EN AnimationMode = LOOP End ; snow ************************************************* ConditionState = SNOW Model = ABWarFact_S Animation = ABWarFact_S.ABWarFact_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABWarFact_DS Animation = ABWarFact_DS.ABWarFact_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABWarFact_ES Animation = ABWarFact_ES.ABWarFact_ES AnimationMode = LOOP End ; night snow ************************************************* ConditionState = NIGHT SNOW Model = ABWarFact_NS Animation = ABWarFact_NS.ABWarFact_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABWarFact_DNS Animation = ABWarFact_DNS.ABWarFact_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABWarFact_ENS Animation = ABWarFact_ENS.ABWarFact_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact Animation = ABWarFact.ABWarFact AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABWarFact_D Animation = ABWarFact_D.ABWarFact_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABWarFact_E Animation = ABWarFact_E.ABWarFact_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABWarFact_N Animation = ABWarFact_N.ABWarFact_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABWarFact_DN Animation = ABWarFact_DN.ABWarFact_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABWarFact_EN Animation = ABWarFact_EN.ABWarFact_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABWarFact_S Animation = ABWarFact_S.ABWarFact_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABWarFact_DS Animation = ABWarFact_DS.ABWarFact_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABWarFact_ES Animation = ABWarFact_ES.ABWarFact_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABWarFact_NS Animation = ABWarFact_NS.ABWarFact_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABWarFact_DNS Animation = ABWarFact_DNS.ABWarFact_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABWarFact_ENS Animation = ABWarFact_ENS.ABWarFact_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED End ; ------------------ the construction crane ------------ Draw = W3DModelDraw ModuleTag_03 ; ----------------------------------------------------------- OkToChangeModelColor = Yes ; ----------------------------------------------------------- DefaultConditionState Model = ABWarFact_A1 Animation = ABWarFact_A1.ABWarFact_A1 AnimationMode = LOOP TransitionKey = TRANS_Idle End ConditionState = DAMAGED Model = ABWarFact_A1D Animation = ABWarFact_A1D.ABWarFact_A1D AnimationMode = LOOP TransitionKey = TRANS_IdleDamaged End ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A1E Animation = ABWarFact_A1E.ABWarFact_A1E AnimationMode = LOOP TransitionKey = TRANS_IdleReallyDamaged End ; ----------------------------------------------------------- TransitionState = TRANS_Constructing TRANS_Idle Model = ABWarFact_A3 Animation = ABWarFact_A3.ABWarFact_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = TRANS_ConstructingDamaged TRANS_IdleDamaged Model = ABWarFact_A3D Animation = ABWarFact_A3D.ABWarFact_A3D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = TRANS_ConstructingReallyDamaged TRANS_IdleReallyDamaged Model = ABWarFact_A3E Animation = ABWarFact_A3E.ABWarFact_A3E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ; ----------------------------------------------------------- ConditionState = ACTIVELY_CONSTRUCTING Model = ABWarFact_A3 Animation = ABWarFact_A3.ABWarFact_A3 AnimationMode = ONCE TransitionKey = TRANS_Constructing Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = ABWarFact_A3D Animation = ABWarFact_A3D.ABWarFact_A3D AnimationMode = ONCE TransitionKey = TRANS_ConstructingDamaged Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = ABWarFact_A3E Animation = ABWarFact_A3E.ABWarFact_A3E AnimationMode = ONCE TransitionKey = TRANS_ConstructingReallyDamaged Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ; ----------------------------------------------------------- ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SOLD Model = ABWarFact_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = SOLD Model = NONE End End ; ------------------ the construction conveyor belt ------------ Draw = W3DModelDraw ModuleTag_04 OkToChangeModelColor = Yes DefaultConditionState Model = ABWarFact_A7 Animation = ABWarFact_A7.ABWarFact_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW AliasConditionState = NIGHT AliasConditionState = SNOW NIGHT ConditionState = SOLD Model = NONE End AliasConditionState = SNOW SOLD AliasConditionState = NIGHT SOLD AliasConditionState = SNOW NIGHT SOLD ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = DAMAGED Model = ABWarFact_A7D Animation = ABWarFact_A7D.ABWarFact_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A7E Animation = ABWarFact_A7E.ABWarFact_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = ACTIVELY_CONSTRUCTING Model = ABWarFact_A7 Animation = ABWarFact_A7.ABWarFact_A7 AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = ABWarFact_A7D Animation = ABWarFact_A7D.ABWarFact_A7D AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING DAMAGED AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING DAMAGED AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING DAMAGED ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = ABWarFact_A7E Animation = ABWarFact_A7E.ABWarFact_A7E AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE End ; ------------ construction done flashing lights ---------- Draw = W3DModelDraw ModuleTag_05 DefaultConditionState Model = None End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = CONSTRUCTION_COMPLETE Model = ABWarFact_A2 Animation = ABWarFact_A2.ABWarFact_A2 AnimationMode = LOOP Flags = START_FRAME_FIRST End End ; ------------ construction-zone fence ----------------- 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 = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_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 = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_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 = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_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 = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_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 = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = ABWarFact_A5 Animation = ABWarFact_A5.ABWarFact_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5N Animation = ABWarFact_A5N.ABWarFact_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5S Animation = ABWarFact_A5S.ABWarFact_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5SN Animation = ABWarFact_A5SN.ABWarFact_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABWarFact_AB Animation = ABWarFact_AB.ABWarFact_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_ABN Animation = ABWarFact_ABN.ABWarFact_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_ABS Animation = ABWarFact_ABS.ABWarFact_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_ABSN Animation = ABWarFact_ABSN.ABWarFact_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_AB Animation = ABWarFact_AB.ABWarFact_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_ABN Animation = ABWarFact_ABN.ABWarFact_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_ABS Animation = ABWarFact_ABS.ABWarFact_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_ABSN Animation = ABWarFact_ABSN.ABWarFact_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:WarFactory Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaSupplyCenter End BuildCost = 2000 BuildTime = 15.0 ; in seconds EnergyProduction = -1 CommandSet = AirF_AmericaWarFactoryCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY Body = StructureBody ModuleTag_09 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_10 NumDoorAnimations = 1 DoorOpeningTime = 3250 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 4000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: -10.0 Y:-30.0 Z:0.0 NaturalRallyPoint = X: 53.0 Y:-30.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_12 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End ;---- Removed module ; Behavior = SlowDeathBehavior ModuleTag_14 ; DestructionDelay = 500 ; FX = FINAL FX_StructureMediumDeath ; OCL = FINAL OCL_AmericaWarFactoryDebris ; End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CreateObjectDie ModuleTag_16 CreationList = AirF_OCL_AmericanRangerDebris05 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FlammableUpdate ModuleTag_18 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_20 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_21 DeathFX = FX_StructureMediumDeath End Behavior = DestroyDie ModuleTag_22 ;nothing End Geometry = BOX GeometryMajorRadius = 53.0 GeometryMinorRadius = 60.0 GeometryHeight = 40.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaPatriotBattery ; *** ART Parameters *** SelectPortrait = SAPatriot_L ButtonImage = SAPatriot Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = ABPatriot Turret = TURRET01 TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY WeaponA WeaponLaunchBone = SECONDARY WeaponA WeaponLaunchBone = TERTIARY WeaponA WeaponFireFXBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponFireFXBone = TERTIARY WeaponA End AliasConditionState = NIGHT ConditionState = DAMAGED Model = ABPatriot_D End AliasConditionState = DAMAGED NIGHT ConditionState = REALLYDAMAGED RUBBLE Model = ABPatriot_E End AliasConditionState = REALLYDAMAGED RUBBLE NIGHT ConditionState = SNOW Model = ABPatriot_S End AliasConditionState = SNOW NIGHT ConditionState = DAMAGED SNOW Model = ABPatriot_DS End AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABPatriot_ES End AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABPatriot_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABPatriot_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = ABPatriot_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABPatriot_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW Model = ABPatriot_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled 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_BEING_CONSTRUCTED Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled 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 = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:PatriotBattery Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaPowerPlant End BuildCost = 1000 BuildTime = 25.0 ; in seconds EnergyProduction = -3 WeaponSet Conditions = None Weapon = PRIMARY PatriotMissileWeapon Weapon = SECONDARY PatriotMissileAssistWeapon Weapon = TERTIARY PatriotMissileWeaponAir AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT AutoChooseSources = SECONDARY NONE AutoChooseSources = TERTIARY FROM_PLAYER FROM_AI FROM_SCRIPT PreferredAgainst = PRIMARY VEHICLE INFANTRY PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT PreferredAgainst = TERTIARY BALLISTIC_MISSILE AIRCRAFT ShareWeaponReloadTime = Yes End VisionRange = 360.0 ; Shroud clearing distance AND targeting range ShroudClearingRange = 360 ArmorSet Conditions = None Armor = BaseDefenseArmor DamageFX = StructureDamageFXNoShake End CommandSet = AmericaPatriotBatteryCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ;Behavior = AIUpdateInterface ModuleTag_20 ; AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS ; MoodAttackCheckRate = 250 ;End ; *** AUDIO Parameters *** VoiceSelect = PatriotBatterySelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_TECHNOLOGY POWERED FS_BASE_DEFENSE IMMUNE_TO_CAPTURE Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = BaseRegenerateUpdate ModuleTag_05 ;No data End Behavior = AIUpdateInterface ModuleTag_06 Turret TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes NaturalTurretPitch = 45 GroundUnitPitch = 40 MinPhysicalPitch = -20 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY 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 = AssistedTargetingUpdate ModuleTag_07 AssistingClipSize = 4 ; How many shots to make when asked by someone of my kind who has a RequestAssistRange weapon AssistingWeaponSlot = SECONDARY ; And the weapon to use. Should have huge range and no natural clip. LaserFromAssisted = AirF_PatriotBinaryDataStream ; Stream to draw from the requestor to me LaserToTarget = AirF_PatriotBinaryDataStream ; Stream to draw from me to the target End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = CreateObjectDie ModuleTag_09 CreationList = AirF_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureTinyDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; 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:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Geometry = CYLINDER GeometryMajorRadius = 12.0 GeometryMinorRadius = 1.0 GeometryHeight = 14.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ; Missiles used by the Patriot. This is the projectile attached to PatriotMissileWeapon in Weapon.ini ;------------------------------------------------------------------------------ Object AirF_PatriotMissile ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVRaptor_M End ConditionState = JAMMED ParticleSysBone = None SparksMedium End End ; ***DESIGN parameters *** DisplayName = OBJECT:PatriotMissile EditorSorting = VEHICLE VisionRange = 300.0 ShroudClearingRange = 0 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** ENGINEERING Parameters *** KindOf = CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 SubdualDamageCap = 200 SubdualDamageHealRate = 100000 SubdualDamageHealAmount = 50 End ; ---- begin Projectile death behaviors Behavior = InstantDeathBehavior DeathModuleTag_01 DeathTypes = NONE +DETONATED ; we detonated normally. ; no FX, just quiet destroy ourselves End Behavior = InstantDeathBehavior DeathModuleTag_02 DeathTypes = NONE +LASERED ; shot down by laser. FX = FX_GenericMissileDisintegrate OCL = OCL_GenericMissileDisintegrate End Behavior = InstantDeathBehavior DeathModuleTag_03 DeathTypes = ALL -LASERED -DETONATED ; shot down by nonlaser. FX = FX_GenericMissileDeath End ; ---- end Projectile death behaviors Behavior = PhysicsBehavior ModuleTag_04 Mass = 1 End Behavior = MissileAIUpdate ModuleTag_05 TryToFollowTarget = Yes FuelLifetime = 10000 InitialVelocity = 50 ; in dist/sec IgnitionDelay = 0 DistanceToTravelBeforeTurning = 5 DistanceToTargetForLock = 100 ; If it gets within 100 of the target, it kills the target. End Locomotor = SET_NORMAL PatriotMissileLocomotor Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 2.0 End ;------------------------------------------------------------------------------ Object AirF_AmericaFireBase ; *** ART Parameters *** SelectPortrait = SAFirebase_L ButtonImage = SAFirebase Draw = W3DModelDraw ModuleTag_01 IgnoreConditionStates = NIGHT OkToChangeModelColor = Yes ExtraPublicBone = STATION01 ExtraPublicBone = STATION02 ExtraPublicBone = STATION03 ExtraPublicBone = STATION04 DefaultConditionState Model = ABFIREBASE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel Turret = TURRET01 TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY MUZZLE01 WeaponFireFXBone = PRIMARY MUZZLEFX End ConditionState = DAMAGED Model = ABFIREBASE_D End ConditionState = REALLYDAMAGED RUBBLE Model = ABFIREBASE_E End ConditionState = SNOW Model = ABFIREBASE_S End ConditionState = DAMAGED SNOW Model = ABFIREBASE_DS End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABFIREBASE_DS End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED ;************************************************************************************************************************** ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABFIREBASE Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABFIREBASE_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABFIREBASE_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = ABFIREBASE_DS Flags = 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_BEING_CONSTRUCTED Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_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 = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_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 = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_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 = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_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 = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:FireBase Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaPowerPlant End BuildCost = 1000 BuildTime = 25.0 ; in seconds EnergyProduction = 0 WeaponSet Conditions = None Weapon = PRIMARY FireBaseHowitzerGun End VisionRange = 360.0 ; Shroud clearing distance AND targeting range ShroudClearingRange = 360 ArmorSet Conditions = None Armor = FireBaseArmor DamageFX = StructureDamageFXNoShake End CommandSet = AirF_AmericaFireBaseCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = PatriotBatterySelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SPAWNS_ARE_THE_WEAPONS SCORE FS_TECHNOLOGY FS_BASE_DEFENSE IMMUNE_TO_CAPTURE GARRISONABLE_UNTIL_DESTROYED Body = HiveStructureBody ModuleTag_04; MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 ;**Careful with these damage types -- because area damage types will already ;**damage slaves. PropagateDamageTypesToSlavesWhenExisting = NONE +SNIPER ;+SMALL_ARMS +POISON +RADIATION +SURRENDER ;SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to End Behavior = BaseRegenerateUpdate ModuleTag_05 ;No data End Behavior = AIUpdateInterface ModuleTag_06 Turret TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes NaturalTurretPitch = 1 GroundUnitPitch = 40 MinPhysicalPitch = -20 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY MinIdleScanInterval = 550 ; in milliseconds MaxIdleScanInterval = 950 ; 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 = GarrisonContain ModuleTag_07 ContainMax = 4 EnterSound = GarrisonEnter ExitSound = GarrisonExit ImmuneToClearBuildingAttacks = Yes DamagePercentToUnits = 100% IsEnclosingContainer = No End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. 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:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Geometry = BOX GeometryMajorRadius = 26.0 GeometryMinorRadius = 26.0 GeometryHeight = 15.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AFG_AmericaVehicleChinook ; *** ART Parameters *** SelectPortrait = SAChinook_L ButtonImage = SAChinook ;UpgradeCameo1 = Upgrade_AmericaCountermeasures ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ; Helicopter ExtraPublicBone = RopeStart ExtraPublicBone = RopeEnd DefaultConditionState Model = AVChinook Animation = AVChinook.AVChinook AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVChinook_d HideSubObject = Props01 HideSubObject = Props02 End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 ; Cargo net ConditionState = NONE Model = None ; Nothing here TransitionKey = TRANS_Empty WaitForStateToFinishIfPossible = TRANS_Unloading End ConditionState = DYING Model = None ; Nothing here End AliasConditionState = RUBBLE AliasConditionState = CARRYING RUBBLE AliasConditionState = DOCKING RUBBLE AliasConditionState = DOCKING CARRYING RUBBLE ConditionState = CARRYING Model = AVChinook_A ;Carrying a full wobbly net of stuff Animation = AVChinook_A.AVChinook_A AnimationMode = LOOP TransitionKey = TRANS_Full WaitForStateToFinishIfPossible = TRANS_PickingUp End ConditionState = DOCKING Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST AnimationSpeedFactorRange = .75 .75 TransitionKey = TRANS_PickingUp WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End ConditionState = DOCKING CARRYING Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE AnimationSpeedFactorRange = 2.75 2.75 TransitionKey = TRANS_Unloading WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End End ; ***DESIGN parameters *** DisplayName = OBJECT:Chinook EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 600 BuildCost = 950 BuildTime = 10.0 ;in seconds Prerequisites Object = AirF_AmericaSupplyCenter End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CommandSet = AmericaVehicleChinookCommandSet ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End ; *** AUDIO Parameters *** VoiceSelect = ChinookVoiceSelect VoiceMove = ChinookVoiceMove VoiceAttack = ChinookVoiceAttack SoundAmbient = ChinookAmbientLoop SoundAmbientRubble = NoSound SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = ChinookVoiceCreate VoiceSupply = ChinookVoiceSupply VoiceUnload = ChinookVoiceUnload VoiceCombatDrop = ChinookVoiceCombatDrop VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! VoiceGarrison = ChinookVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at ; (well, "near" actually) an Airfield to get healed... ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD Body = ActiveBody ModuleTag_03 MaxHealth = 300.0 InitialHealth = 300.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ChinookAIUpdate ModuleTag_07 MaxBoxes = 8 SupplyCenterActionDelay = 2900 ;3000 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 1200 ;1250 ; 875 ; ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted NumRopes = 4 ; these define how long we can wait, once a guy is on-rope, before throwing another ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely ; and we'll wait for each guy to clear before spawning another. PerRopeDelayMin = 900 PerRopeDelayMax = 1500 RopeWidth = 0.5 RopeColor = R:0 G:0 B:0 RopeWobbleLen = 10 RopeWobbleAmplitude = 0.25 RopeWobbleRate = 180 RopeFinalHeight = 10 ; stop this far above ground RappelSpeed = 30 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it UpgradedSupplyBoost = 60 ; increase in value of the crates when supply lines has been upgraded End Locomotor = SET_NORMAL ChinookLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = TransportContain ModuleTag_08 Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY VEHICLE ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE ExitDelay = 100 NumberOfExitPaths = 1 End Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 30 FinalRubbleObject = ChinookRubbleHull End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 33 ScanRange = 500.0 PredictTargetVelocityFactor = 1.0 End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleChinook ; *** ART Parameters *** SelectPortrait = SAComChinok_L ButtonImage = SAComChinok ;UpgradeCameo1 = Upgrade_AmericaCountermeasures ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ; Helicopter ExtraPublicBone = RopeStart ExtraPublicBone = RopeEnd DefaultConditionState Model = AVChinookAG Animation = AVChinookAG.AVChinookAG AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVChinookAG_d Animation = AVChinookAG_d.AVChinookAG_d AnimationMode = LOOP End ConditionState = RUBBLE Model = AVChinookAG_d Animation = AVChinookAG_d.AVChinookAG_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVChinookAG_d HideSubObject = Props01 HideSubObject = Props02 End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 ; Cargo net ConditionState = NONE Model = None ; Nothing here TransitionKey = TRANS_Empty WaitForStateToFinishIfPossible = TRANS_Unloading End ConditionState = DYING Model = None ; Nothing here End AliasConditionState = RUBBLE AliasConditionState = CARRYING RUBBLE AliasConditionState = DOCKING RUBBLE AliasConditionState = DOCKING CARRYING RUBBLE ConditionState = CARRYING Model = AVChinook_A ;Carrying a full wobbly net of stuff Animation = AVChinook_A.AVChinook_A AnimationMode = LOOP TransitionKey = TRANS_Full WaitForStateToFinishIfPossible = TRANS_PickingUp End ConditionState = DOCKING Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST AnimationSpeedFactorRange = .75 .75 TransitionKey = TRANS_PickingUp WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End ConditionState = DOCKING CARRYING Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE AnimationSpeedFactorRange = 2.75 2.75 TransitionKey = TRANS_Unloading WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End End ; ***DESIGN parameters *** DisplayName = OBJECT:AirF_Chinook EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 600 BuildCost = 1200 BuildTime = 25.0 ;in seconds Prerequisites Object = AirF_AmericaWarFactory End ExperienceValue = 60 60 60 60 ;Experience point value at each level IsTrainable = No CommandSet = AmericaVehicleChinookCommandSet WeaponSet Conditions = None Weapon = PRIMARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY ListeningOutpostUpgradedDummyWeapon End ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End ; *** AUDIO Parameters *** VoiceSelect = CombatChinookVoiceSelect VoiceMove = ChinookVoiceMove VoiceAttack = CombatChinookVoiceAttack SoundAmbient = ChinookAmbientLoop SoundAmbientRubble = NoSound SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = CombatChinookVoiceCreate VoiceSupply = ChinookVoiceSupply VoiceUnload = ChinookVoiceUnload VoiceCombatDrop = ChinookVoiceCombatDrop VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! VoiceGarrison = ChinookVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at ; (well, "near" actually) an Airfield to get healed... ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD CAN_ATTACK Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS Stealthed End Body = ActiveBody ModuleTag_03 MaxHealth = 350.0 InitialHealth = 350.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ChinookAIUpdate ModuleTag_07 MaxBoxes = 8 SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 1250 ; 875 ; ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted NumRopes = 4 ; these define how long we can wait, once a guy is on-rope, before throwing another ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely ; and we'll wait for each guy to clear before spawning another. PerRopeDelayMin = 900 PerRopeDelayMax = 1500 RopeWidth = 0.5 RopeColor = R:0 G:0 B:0 RopeWobbleLen = 10 RopeWobbleAmplitude = 0.25 RopeWobbleRate = 180 RopeFinalHeight = 10 ; stop this far above ground RappelSpeed = 30 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it UpgradedSupplyBoost = 60 ; increase in value of the crates when supply lines has been upgraded End Locomotor = SET_NORMAL ChinookLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = TransportContain ModuleTag_08 PassengersAllowedToFire = Yes Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY VEHICLE ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE ExitDelay = 100 NumberOfExitPaths = 1 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting ArmedRidersUpgradeMyWeaponSet = Yes End Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 30 FinalRubbleObject = ChinookRubbleHull End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 33 ScanRange = 250.0 PredictTargetVelocityFactor = 1.0 End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaJetRaptor ; *** ART Parameters *** SelectPortrait = SAKingRap_L ButtonImage = SAKingRap UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = WeaponA01 DefaultConditionState Model = AVRaptorAG HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVRaptorAG_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVRaptorAG_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVRaptorAG_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVRaptor_D1B HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVRaptor_D1B ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:KingRaptor EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 400 Prerequisites Object = AirF_AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY AirF_RaptorJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End BuildCost = 1100 BuildTime = 20 ExperienceValue = 75 75 125 175 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetRaptorCommandSet ; *** AUDIO Parameters *** VoiceSelect = KingRaptorVoiceSelect VoiceMove = RaptorVoiceMove VoiceAttack = RaptorVoiceAttack VoiceAttackAir = RaptorVoiceAttackAir VoiceGuard = RaptorVoiceAirPatrol SoundAmbient = RaptorAmbientLoop SoundAmbientRubble = NoSound ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield ; SoundAmbient = NoSound UnitSpecificSounds VoiceCreate = KingRaptorVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = RaptorVoiceLowFuel VoiceGarrison = RaptorVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetSlowDeathBehavior ModuleTag_05 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_RaptorDeathInitial OCLInitialDeath = OCL_RaptorDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_RaptorDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_RaptorDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_06 ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = JetAIUpdate ModuleTag_09 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL RaptorJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = PointDefenseLaserUpdate ModuleTag_22 WeaponTemplate = AirF_RaptorPointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 10 ScanRange = 200.0 PredictTargetVelocityFactor = 2.0 End Behavior = StealthDetectorUpdate ModuleTag_24 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = 250 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = ArmorUpgrade ModuleTag_Armor25 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_26 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 100 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. End ;------------------------------------------------------------------------------ Object AirF_AmericaJetB3 ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVB3bmbr ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = WingTip03 JetContrailThin ParticleSysBone = WingTip04 JetContrailThin End ConditionState = DAMAGED Model = AVB3bmbr_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVB3bmbr_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = RUBBLE Model = AVB3bmbr_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End OkToChangeModelColor = Yes End ; Draw = W3DModelDraw ModuleTag_02 ; DefaultConditionState ; Model = AVB3bmbr_A2K ; End ; ConditionState = DOOR_1_OPENING ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = DOOR_1_CLOSING ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = REALLYDAMAGED ; Model = AVB3bmbr_A2DU ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = DOOR_1_OPENING REALLYDAMAGED ; Model = AVB3bmbr_A2DU ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = DOOR_1_CLOSING REALLYDAMAGED ; Model = AVB3bmbr_A2DU ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ; End ; End ; ***DESIGN parameters *** DisplayName = OBJECT:B52 EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops Prerequisites Object = AirF_AmericaStrategyCenter End ; *** AUDIO Parameters *** SoundAmbient = B3BomberAmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 50 50 50 50 ; Experience point value at each level ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_04 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponMOAB ;@@KRIS@@ OCL = SUPERWEAPON_MOAB CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = DeliverPayloadAIUpdate ModuleTag_08 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B3Locomotor Behavior = TransportContain ModuleTag_09 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_10 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = TransitionDamageFX ModuleTag_11 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_12 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 100 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 60.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;-------------------------------- Object AmericaJetSpectreGunship ; *** ART Parameters *** Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures ;----NORMAL------------- DefaultConditionState Model = AVSGunship WeaponFireFXBone = PRIMARY MUZZLE WeaponFireFXBone = SECONDARY MUZZLE WeaponMuzzleFlash = PRIMARY MUZZLEFX WeaponMuzzleFlash = SECONDARY MUZZLEFX End ConditionState = DOOR_1_OPENING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail End ConditionState = DOOR_1_CLOSING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare End ;----DAMAGED------------- ConditionState = DOOR_1_OPENING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = DOOR_1_CLOSING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ;----REALLY DAMAGED------------- ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = RUBBLE Model = AVSGunship_D1 ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke01 SpectreSmokeLarge ParticleSysBone = Smoke03 SpectreSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke05 SpectreSmokeLarge End AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:SpectreGunship EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AmericaAirfield End ArmorSet Conditions = None Armor = SpectreGunshipArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresSpectreGunshipArmor DamageFX = None End WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ExperienceValue = 40 40 40 40 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Not Player built, so no veterancy.............................. ; *** AUDIO Parameters *** VoiceSelect = SpectreGunshipVoiceSelect VoiceAttack = SpectreGunshipVoiceAttack VoiceMove = SpectreGunshipVoiceMove SoundAmbient = SpectreGunshipAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds Afterburner = SpectreGunshipAfterburnerLoop HowitzerFire = SpectreHowitzerWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 600.0 InitialHealth = 600.0 End Behavior = JetSlowDeathBehavior ModuleTag_04 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_SpectreGunshipExplosionLight OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_spectreDeathExplosion OCLSecondary = None FXHitGround = FX_spectreGunshipDeathExplosion OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds ; FXFinalBlowUp = FX_spectreGunshipDeathExplosion OCLFinalBlowUp = OCL_SpectreDeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = AIUpdateInterface ModuleTag_07 ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player End Locomotor = SET_PANIC SpectreGunshipTransitLocomotor Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End Behavior = SpectreGunshipUpdate ModuleTag_10 GattlingStrafeFXParticleSystem = SpectreGattlingArmsSmoke SpecialPowerTemplate = SuperweaponSpectreGunship HowitzerWeaponTemplate = SpectreHowitzerGun GattlingTemplateName = SpectreGunshipGattlingCannon RandomOffsetForHowitzer = 20 TargetingReticleRadius = 25 OrbitInsertionSlope = 0.7 ; steepness of orbit entry GunshipOrbitRadius = 250 HowitzerFiringRate = 300 ; how long between each attempted shot of howitzer HowitzerFollowLag = 400 ;600 ; how long after gattling acquires target can howitzer shoot same StrafingIncrement = 20 ; how far apart is each shot of the gattling as it strafes AttackAreaRadius = 200 OrbitTime = 15000 ;20000 ;32000 ; thirty-two seconds AttackAreaDecal Texture = SCCSpecTarg Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 1500 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End TargetingReticleDecal Texture = SCCSpecRet Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 300 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End End Behavior = HelixContain ModuleTag_09 Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes ShouldDrawPips = No End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_11 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01 ;;;;;;;; End ; This allows the wingtip trails to stay stuck to the retractable wings Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;-------------------------------- ;------------------------------------------------------------------------------ Object SpectreGunshipGattlingCannon ; *** ART Parameters *** Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = CHASIS DefaultConditionState Model = AVSGUNSHIP_GUN TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY MuzzleFX End End ; ***DESIGN parameters *** Side = China EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY SpectreGattlingGun End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 160 // turn rate, in degrees per sec TurretPitchRate = 160 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = No End Behavior = DestroyDie ModuleTag_04 ;nothing End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 3.0 GeometryHeight = 3.0 GeometryIsSmall = No Shadow = NONE End ;------------------------------------------------------------------------------ Object SpectreGunshipHowitzer ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVSGUNSHIP_GHOW TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY MuzzleFX End End ; ***DESIGN parameters *** Side = China EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = No End Behavior = DestroyDie ModuleTag_04 ;nothing End Behavior = StealthDetectorUpdate ModuleTag_06 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ; Defaults to VisionRange CanDetectWhileContained = Yes End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 13.0 GeometryHeight = 8.0 GeometryIsSmall = No Shadow = NONE End ;------------------------------------------------------------------------------ Object AmericaJetRaptor ; *** ART Parameters *** SelectPortrait = SACRaptor_L ButtonImage = SACRaptor UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = avraptor_alt HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVRaptor_D1B HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVRaptor_D1B ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Raptor EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 400 Prerequisites Object = AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY RaptorJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 1400 BuildTime = 20 ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetRaptorCommandSet ; *** AUDIO Parameters *** VoiceSelect = RaptorVoiceSelect VoiceMove = RaptorVoiceMove VoiceAttack = RaptorVoiceAttack VoiceAttackAir = RaptorVoiceAttackAir VoiceGuard = RaptorVoiceAirPatrol SoundAmbient = RaptorAmbientLoop SoundAmbientRubble = NoSound ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield ; SoundAmbient = NoSound UnitSpecificSounds VoiceCreate = RaptorVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = RaptorVoiceLowFuel VoiceGarrison = RaptorVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 160.0 InitialHealth = 160.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 1.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetSlowDeathBehavior ModuleTag_05 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_RaptorDeathInitial OCLInitialDeath = OCL_RaptorDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_RaptorDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_RaptorDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_06 ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = JetAIUpdate ModuleTag_09 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL RaptorJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. End ;------------------------------------------------------------------------------ Object AmericaJetAircraftCarrierRaptor ; *** ART Parameters *** SelectPortrait = SACRaptor_L ButtonImage = SACRaptor UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PSCarRapt HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = PSCarRapt_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = PSCarRapt_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = PSCarRapt_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = PSCarRapt_D1B HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = PSCarRapt_D1B ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Raptor EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 400 WeaponSet Conditions = None Weapon = PRIMARY AircraftCarrierRaptorJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 0 BuildTime = 4 ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetRaptorCommandSet ; *** AUDIO Parameters *** VoiceSelect = RaptorVoiceSelect VoiceMove = RaptorVoiceMove VoiceAttack = RaptorVoiceAttack VoiceAttackAir = RaptorVoiceAttackAir VoiceGuard = RaptorVoiceAirPatrol SoundAmbient = RaptorAmbientLoop SoundAmbientRubble = NoSound ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield ; SoundAmbient = NoSound UnitSpecificSounds VoiceCreate = NoSound SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = RaptorVoiceLowFuel VoiceGarrison = RaptorVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 160.0 InitialHealth = 160.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 1.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetSlowDeathBehavior ModuleTag_05 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_RaptorDeathInitial OCLInitialDeath = OCL_RaptorDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_RaptorDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_RaptorDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_06 ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = JetAIUpdate ModuleTag_09 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo AutoAcquireEnemiesWhenIdle = YES ATTACK_BUILDINGS End Locomotor = SET_NORMAL RaptorJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. End ;------------------------------------------------------------------------------ Object AmericaJetB52 ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVBomber ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = RUBBLE Model = AVBomber_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVBomber_A2U Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End End ; ***DESIGN parameters *** DisplayName = OBJECT:B52 EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = B52AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 50 50 50 50 ; Experience point value at each level ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_04 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponCarpetBomb OCL = SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = DeliverPayloadAIUpdate ModuleTag_08 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_09 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_10 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = TransitionDamageFX ModuleTag_11 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_12 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 60.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaJetAurora ; *** ART Parameters *** SelectPortrait = SAAurora_L ButtonImage = SAAurora UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaCountermeasures ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVAurora HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVAurora_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVAurora_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Aurora EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 600 Prerequisites Object = AmericaAirfield Object = AmericaStrategyCenter End BuildCost = 2500 BuildTime = 30.0 ;in seconds WeaponSet Conditions = None Weapon = PRIMARY AuroraBombWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 200 200 400 400 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetAuroraCommandSet ; *** AUDIO Parameters *** VoiceSelect = AuroraBomberVoiceSelect VoiceMove = AuroraBomberVoiceMove VoiceGuard = AuroraBomberVoiceMove VoiceAttack = AuroraBomberVoiceAttack SoundAmbient = AuroraBomberAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds VoiceCreate = AuroraBomberVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = AuroraBomberVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 80.0 InitialHealth = 80.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_AuroraDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_AuroraDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = ExperienceScalarUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetAIUpdate ModuleTag_07 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 SneakyOffsetWhenAttacking = -20.0 ; this is how far behind us people aim when we are in attack mode AttackLocomotorType = SET_SUPERSONIC AttackLocomotorPersistTime = 100 ; we start slowing down almost immediately AttackersMissPersistTime = 2000 ; but remain untargetable fer a bit longer ReturnForAmmoLocomotorType = SET_SLUGGISH ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL AuroraJetLocomotor Locomotor = SET_SUPERSONIC AuroraJetSupersonicLocomotor Locomotor = SET_SLUGGISH AuroraJetSluggishLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaJetStealthFighter ; *** ART Parameters *** SelectPortrait = SAStealth_L ButtonImage = SAStealth UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures UpgradeCameo4 = Upgrade_AmericaBunkerBusters ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVStealth HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = RUBBLE Model = AVStealth_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVStealth_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:StealthFighter EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 300.0 Prerequisites Object = AmericaAirfield Science = SCIENCE_StealthFighter End WeaponSet Conditions = None Weapon = PRIMARY StealthJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 1600 BuildTime = 25.0 ;in seconds ExperienceValue = 100 100 200 300 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetStealthFighterCommandSet ; *** AUDIO Parameters *** VoiceSelect = StealthFighterVoiceSelect VoiceMove = StealthFighterVoiceMove VoiceAttack = StealthFighterVoiceAttack VoiceAttackAir = StealthFighterVoiceAttackAir VoiceGuard = StealthFighterVoiceAirPatrol SoundAmbient = StealthFighterAmbientLoop SoundAmbientRubble = NoSound SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = StealthFighterVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = StealthFighterVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = LOCAL_UNIT_ONLY KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_StealthDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_StealthFighterDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_StealthDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = JetAIUpdate ModuleTag_06 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Behavior = ExperienceScalarUpgrade ModuleTag_08 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 1500 ; msec StealthForbiddenConditions = FIRING_PRIMARY ; not currently used... but maybe someday? (srj) ;RevealDistanceFromTarget = 0.0f FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Locomotor = SET_NORMAL StealthJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 7.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaVehicleComanche ; *** ART Parameters *** SelectPortrait = SACCommanche_L ButtonImage = SACCommanche UpgradeCameo1 = Upgrade_ComancheRocketPods UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVComanche HideSubObject = MissileUpgrade Animation = AVComanche.AVComanche AnimationMode = LOOP WeaponMuzzleFlash = PRIMARY TurretFX WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED Model = AVComanche_d Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP End ConditionState = WEAPONSET_PLAYER_UPGRADE ShowSubObject = MissileUpgrade Animation = AVComanche.AVComanche AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVComanche_d ShowSubObject = MissileUpgrade Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = RUBBLE Model = AVComanche_d Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVComanche_d HideSubObject = AVComanche_Prop End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Comanche EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 600 Prerequisites Object = AmericaAirfield End WeaponSet Conditions = None ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY ComancheRocketPodWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = ComancheArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresComancheArmor DamageFX = None End BuildCost = 1500 BuildTime = 20 ; in seconds ExperienceValue = 50 50 100 200 ; Experience point value at each level ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CommandSet = AmericaVehicleComancheCommandSet ; *** AUDIO Parameters *** VoiceSelect = ComancheVoiceSelect VoiceMove = ComancheVoiceMove VoiceGuard = ComancheVoiceMove VoiceAttack = ComancheVoiceAttack SoundAmbient = ComancheAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ComancheVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceGarrison = ComancheVoiceMove TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceFireRocketPods = ComancheVoiceAttackRocket End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD Behavior = WeaponSetUpgrade ModuleTag_02 TriggeredBy = Upgrade_ComancheRocketPods End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Body = ActiveBody ModuleTag_04 MaxHealth = 220.0 InitialHealth = 220.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_ComancheStartDeath End Behavior = JetAIUpdate ModuleTag_06 MinHeight = 5 NeedsRunway = No KeepsParkingSpaceWhenAirborne = No AutoAcquireEnemiesWhenIdle = Yes ; note that comanches do not return to base when idle ; this is a bit of a trick... normally, units cannot move-and-fire at ; the same time. we need the comanche to be able to. so we give it ; a "turret" (invisible) and put the two main weapons on it, but with ; no turn rate. voila! Turret TurretTurnRate = 0 ; this "turret" does not turn TurretPitchRate = 0 ; nor does it pitch ControlledWeaponSlots = PRIMARY SECONDARY End End Locomotor = SET_NORMAL ComancheLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_08 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 ; Most things that eject pilots do so immediately upon death, ; via use of EjectPilotDie, but Helicopters are a special case... ; they need to do so after their blades are ejected. OCLEjectPilot = OCL_EjectPilotViaParachute FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 1500 FinalRubbleObject = ComancheRubbleHull End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 4000 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 3.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaJetA10Thunderbolt ; *** ART Parameters *** SelectPortrait = SAWarthog_L ButtonImage = SAWarthog Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = WeaponA01 ExtraPublicBone = WeaponA02 ExtraPublicBone = WeaponA03 ExtraPublicBone = WeaponA04 ExtraPublicBone = WeaponA05 ExtraPublicBone = WeaponA06 DefaultConditionState Model = AVWarthog WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Wingtip01 JetContrailThin ParticleSysBone = Wingtip02 JetContrailThin End ConditionState = REALLYDAMAGED Model = AVWarthog_D WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = RUBBLE ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:A10Thunderbolt EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY A10ThunderboltVulcan End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience ; *** AUDIO Parameters *** SoundAmbient = A10ThunderboltAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject StartDive = A10ThunderboltDive End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_02 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_03 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetDeathInitial OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = None FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_A10DeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike ;@@KRIS@@ UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_07 End Locomotor = SET_NORMAL A10ThunderboltLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaVehicleChinook ; *** ART Parameters *** SelectPortrait = SAChinook_L ButtonImage = SAChinook ;UpgradeCameo1 = Upgrade_AmericaCountermeasures ;UpgradeCameo1 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ; Helicopter ExtraPublicBone = RopeStart ExtraPublicBone = RopeEnd DefaultConditionState Model = AVChinook Animation = AVChinook.AVChinook AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVChinook_d HideSubObject = Props01 HideSubObject = Props02 End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 ; Cargo net ConditionState = NONE Model = None ; Nothing here TransitionKey = TRANS_Empty WaitForStateToFinishIfPossible = TRANS_Unloading End ConditionState = DYING Model = None ; Nothing here End AliasConditionState = RUBBLE AliasConditionState = CARRYING RUBBLE AliasConditionState = DOCKING RUBBLE AliasConditionState = DOCKING CARRYING RUBBLE ConditionState = CARRYING Model = AVChinook_A ;Carrying a full wobbly net of stuff Animation = AVChinook_A.AVChinook_A AnimationMode = LOOP TransitionKey = TRANS_Full WaitForStateToFinishIfPossible = TRANS_PickingUp End ConditionState = DOCKING Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST AnimationSpeedFactorRange = .75 .75 TransitionKey = TRANS_PickingUp WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End ConditionState = DOCKING CARRYING Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE AnimationSpeedFactorRange = 2.75 2.75 TransitionKey = TRANS_Unloading WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End End ; ***DESIGN parameters *** DisplayName = OBJECT:Chinook EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 600 BuildCost = 1200 BuildTime = 10.0 ;in seconds Prerequisites Object = AmericaSupplyCenter End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CommandSet = AmericaVehicleChinookCommandSet ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End ; *** AUDIO Parameters *** VoiceSelect = ChinookVoiceSelect VoiceMove = ChinookVoiceMove VoiceAttack = ChinookVoiceAttack SoundAmbient = ChinookAmbientLoop SoundAmbientRubble = NoSound SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = ChinookVoiceCreate VoiceSupply = ChinookVoiceSupply VoiceUnload = ChinookVoiceUnload VoiceCombatDrop = ChinookVoiceCombatDrop VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! VoiceGarrison = ChinookVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at ; (well, "near" actually) an Airfield to get healed... ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD Body = ActiveBody ModuleTag_03 MaxHealth = 300.0 InitialHealth = 300.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ChinookAIUpdate ModuleTag_07 MaxBoxes = 8 SupplyCenterActionDelay = 2900 ;3000 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 1200 ;1250 ; 875 ; ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted NumRopes = 4 ; these define how long we can wait, once a guy is on-rope, before throwing another ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely ; and we'll wait for each guy to clear before spawning another. PerRopeDelayMin = 900 PerRopeDelayMax = 1500 RopeWidth = 0.5 RopeColor = R:0 G:0 B:0 RopeWobbleLen = 10 RopeWobbleAmplitude = 0.25 RopeWobbleRate = 180 RopeFinalHeight = 10 ; stop this far above ground RappelSpeed = 30 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it UpgradedSupplyBoost = 60 ; increase in value of the crates when supply lines has been upgraded End Locomotor = SET_NORMAL ChinookLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = TransportContain ModuleTag_08 Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY VEHICLE ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE ExitDelay = 100 NumberOfExitPaths = 1 End Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 30 FinalRubbleObject = ChinookRubbleHull End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaJetCargoPlane ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVCargoPln Animation = AVCargoPln.AVCargoPln AnimationMode = LOOP ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End ConditionState = RUBBLE Model = AVCargoPln_D1 Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke06 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke06 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:CargoPlane EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = C130AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = PhysicsBehavior ModuleTag_04 Mass = 500.0 End ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = SuperweaponCarpetBomb OCL = SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_08 SpecialPowerTemplate = SuperweaponCrateDrop OCL = SUPERWEAPON_CrateDrop CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_09 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 1000 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_10 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE ;gs I added parachutable as a catch all to prevent making new kindofs (like CRATE) DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_11 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_12 ;;;;;;;; End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_13 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = TransitionDamageFX ModuleTag_17 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaInfantryColonelBurton ; *** ART Parameters *** SelectPortrait = SABurton_L ButtonImage = SABurton UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; idle DefaultConditionState Model = AIHERO_SKN IdleAnimation = AIHERO_SKL.AIHERO_STA 0 25 IdleAnimation = AIHERO_SKL.AIHERO_IDA IdleAnimation = AIHERO_SKL.AIHERO_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY NONE HideSubObject = MUZZLEFX01 End ; injured idle ConditionState = REALLYDAMAGED IdleAnimation = AIHERO_SKL.AIHERO_ISTA 0 30 IdleAnimation = AIHERO_SKL.AIHERO_IIDA IdleAnimation = AIHERO_SKL.AIHERO_IIDB AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_ISTAHIT AnimationMode = ONCE End ; moving ConditionState = MOVING Animation = AIHERO_SKL.AIHERO_RNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Walking ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING FIRING_B AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B AliasConditionState = MOVING RELOADING_B ; injured moving ConditionState = MOVING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IRNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_WalkingInjured ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = MOVING RELOADING_A REALLYDAMAGED AliasConditionState = MOVING FIRING_B REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = MOVING RELOADING_B REALLYDAMAGED ; Firing animation ConditionState = FIRING_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringA End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = RELOADING_A ; Injured Firing animation ConditionState = FIRING_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringAInjured End ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringAInjured End AliasConditionState = RELOADING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIHERO_SKL.AIHERO_IATAHIT AnimationMode = ONCE End ; Placing charge animation ConditionState = UNPACKING Animation = AIHERO_SKL.AIHERO_ATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING ; Injured Placing charge animation ConditionState = UNPACKING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING REALLYDAMAGED ; Stab animations ConditionState = PREATTACK_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = ONCE TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B AliasConditionState = RELOADING_B TransitionState = TRANS_Stabbing TRANS_Stand Animation = AIHERO_SKL.AIHERO_ATC2 AnimationMode = ONCE End ; Injured Stab animations ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC1 AnimationMode = ONCE TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StabbingInjured TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = ONCE End ; cheering ConditionState = SPECIAL_CHEERING Animation = AIHERO_SKL.AIHERO_CHA AnimationMode = ONCE End ; injured cheering ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_ICHA AnimationMode = ONCE End ; climbing ConditionState = CLIMBING Animation = AIHERO_SKL.AIHERO_CLMID AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING AliasConditionState = CLIMBING REALLYDAMAGED AliasConditionState = RAPPELLING REALLYDAMAGED ConditionState = CLIMBING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = CLIMBING MOVING REALLYDAMAGED ConditionState = RAPPELLING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP_BACKWARDS TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING MOVING REALLYDAMAGED ; these transitions don't really work well with our code. leave 'em out. ; TransitionState = TRANS_Climbing TRANS_Stand ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE ; End ; ; TransitionState = TRANS_Stand TRANS_Climbing ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE_BACKWARDS ; End ; dying anims ConditionState = DYING Animation = AIHERO_SKL.AIHERO_DTA Animation = AIHERO_SKL.AIHERO_DTB Animation = AIHero_SKL.AIHero_IDTA Animation = AIHero_SKL.AIHero_IDTB AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = RAPPELLING DYING AliasConditionState = CLIMBING DYING TransitionState = TRANS_Dying TRANS_Flailing Animation = AIHERO_SKL.AIHERO_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIHERO_SKL.AIHERO_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIHERO_SKL.AIHERO_ADTG23 AnimationMode = ONCE TransitionKey = None End ; misc anims ConditionState = FREEFALL Animation = AIHERO_SKL.AIHERO_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIHERO_SKL.AIHERO_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIHERO_SKL.AIHERO_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 = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:ColonelBurton Side = America EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 150 ShroudClearingRange = 500 Prerequisites Object = AmericaBarracks Object = AmericaStrategyCenter End BuildCost = 1500 BuildTime = 20.0 ;in seconds ExperienceValue = 50 100 100 150 ; Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryColonelBurtonCommandSet MaxSimultaneousOfType = 1 WeaponSet Conditions = None Weapon = PRIMARY ColonelBurtonSniperRifleWeapon Weapon = SECONDARY ColonelBurtonKnifeWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End ; *** AUDIO Parameters *** VoiceSelect = ColonelBurtonVoiceSelect VoiceMove = ColonelBurtonVoiceMove VoiceAttack = ColonelBurtonVoiceAttack VoiceFear = ColonelBurtonVoiceFear VoiceGuard = ColonelBurtonVoiceMove SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceMelee = ColonelBurtonVoiceAttackKnife VoiceCreate = ColonelBurtonVoiceCreate VoiceGarrison = ColonelBurtonVoiceGarrison VoiceEnter = ColonelBurtonVoiceMove VoiceEnterHostile = ColonelBurtonVoiceMove VoiceGetHealed = ColonelBurtonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Behavior = AutoFindHealingUpdate ModuleTag_05 ; 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 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyColonelBurtonDetected OwnDetectionEvaEvent = OwnColonelBurtonDetected End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantRemoteCharge End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = RemoteC4Charge MaxSpecialObjects = 8 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge PackTime = 0 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = SpecialAbility ModuleTag_10 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantTimedCharge End Behavior = SpecialAbilityUpdate ModuleTag_11 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = TimedC4Charge MaxSpecialObjects = 10 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = ExperienceScalarUpgrade ModuleTag_12 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_13 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_18 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End 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 AmericaInfantryRanger ; *** ART Parameters *** SelectPortrait = SARanger_L ButtonImage = SARanger UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_InfantryCaptureBuilding UpgradeCameo4 = Upgrade_AmericaChemicalSuits ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; --- Idle DefaultConditionState Model = AIRngr_SKN IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDA IdleAnimation = AIRngr_SKL.AIRngr_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDC IdleAnimation = AIRngr_SKL.AIRngr_IDD AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_SA2SB AnimationMode = ONCE End ConditionState = SNOW Model = AIRanger_S Animation = AIRanger_S.AIRanger_S AnimationMode = LOOP End ; --- attacking (Machine Gun) ConditionState = USING_WEAPON_A Animation = AIRngr_SKL.AIRngr_ATA AnimationMode = LOOP TransitionKey = TRANS_FiringA End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringAInjured End TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_A2WAA AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATAST AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringA TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATAED AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_StandInjured TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_S2WAA AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringAInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_WAA2S AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_Stand TRANS_Move Animation = AIRngr_SKL.AIRngr_STA2RNA AnimationMode = ONCE End ; --- attacking (Grenade Launcher) ConditionState = PREATTACK_B Animation = AIRngr_SKL.AIRngr_ATBA AnimationMode = ONCE TransitionKey = TRANS_FiringB End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = ONCE TransitionKey = TRANS_FiringB End ConditionState = BETWEEN_FIRING_SHOTS_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringB WaitForStateToFinishIfPossible = TRANS_FiringB End AliasConditionState = RELOADING_B TransitionState = TRANS_Stand TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATBST1 AnimationMode = ONCE End TransitionState = TRANS_FiringB TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATBST2 AnimationMode = ONCE End ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2A AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringBInjured WaitForStateToFinishIfPossible = TRANS_FiringBInjured End AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StandInjured TRANS_FiringBInjured Animation = AIRngr_SKL.AIRngr_ATB2ST1 AnimationMode = ONCE End TransitionState = TRANS_FiringBInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_ATB2ST2 AnimationMode = ONCE End ; -- cross-attack transitions TransitionState = TRANS_FiringA TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringB TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 4 4 End ; --- moving ConditionState = MOVING Animation = AIRngr_SKL.AIRngr_RNA 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_RNB 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move End AliasConditionState = MOVING REALLYDAMAGED ATTACKING ; --- dying anims ConditionState = DYING Animation = AIRngr_SKL.AIRngr_DTA Animation = AIRngr_SKL.AIRngr_DTB AnimationMode = ONCE TransitionKey = None End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRngr_SKL.AIRngr_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRngr_SKL.AIRngr_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRngr_SKL.AIRngr_ADTF3 AnimationMode = ONCE TransitionKey = None End AliasConditionState = DYING SPLATTED ; --- cheering ConditionState = SPECIAL_CHEERING Animation = AIRngr_SKL.AIRngr_CHA AnimationMode = LOOP End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_CHB AnimationMode = LOOP End ; ----- PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = AIRngr_SKL.AIRngr_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRngr_SKL.AIRngr_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 = AIRngr_SKL.AIRngr_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 = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End ; ------- Bldg-capture ConditionState = UNPACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ; --- RAPPELLING ANIMATIONS ConditionState = RAPPELLING Animation = AIRngr_SKL.AIRngr_RPL1 ;30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Rappelling End AliasConditionState = MOVING RAPPELLING TransitionState = TRANS_Rappelling TRANS_Stand Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End TransitionState = TRANS_Rappelling TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Ranger Side = America EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY RangerAdvancedCombatRifle End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY RangerAdvancedCombatRifle Weapon = SECONDARY RangerFlashBangGrenadeWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = None End VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = AmericaBarracks End BuildCost = 225 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryRangerCommandSet ; *** AUDIO Parameters *** VoiceSelect = RangerVoiceSelect VoiceMove = RangerVoiceMove VoiceGuard = RangerVoiceMove VoiceAttack = RangerVoiceAttack VoiceFear = RangerVoiceFear VoiceTaskComplete = RangerVoiceCaptureComplete UnitSpecificSounds VoiceEnter = RangerVoiceMove VoiceEnterHostile = RangerVoiceMove VoiceGarrison = RangerVoiceGarrison VoiceCreate = RangerVoiceCreate VoiceSubdue = RangerVoiceSubdue VoiceClearBuilding = RangerVoiceClearBuilding VoiceGetHealed = RangerVoiceMove VoicePrimaryWeaponMode = RangerVoiceModeGun VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang End UnitSpecificFX ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs CombatDropKillFX = FX_RangerCombatDropKill End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE Behavior = CommandButtonHuntUpdate ModuleTag_02 End Body = ActiveBody ModuleTag_03 MaxHealth = 180.0 InitialHealth = 180.0 End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AutoFindHealingUpdate ModuleTag_05 ; 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 = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 5.0 End Behavior = ProductionUpdate ModuleTag_08 ; nothing End Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit. End Behavior = WeaponSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = SquishCollide ModuleTag_12 ;nothing End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End 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 poison damage End Behavior = SpecialAbility ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes ; Unpaused by upgrade module InitiateSound = RangerVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_19 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 15 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = LockWeaponCreate ModuleTag_21 SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack. End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 13.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object AmericaInfantryMissileDefender ; *** ART Parameters *** SelectPortrait = SAMissleDefender_L ButtonImage = SAMissleDefender UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***NOTE*** ;A little history -- the MissileDefender now uses the assets of the TankHunter. ;The TH uses assets of the GLA tunnel defender, and the TD uses assets of the NEW ;MD. It was a design/art/code decision because the new missile defender animations ;don't suit that of a mobile/offensive unit with packing and unpacking. DefaultConditionState Model = NITHNT_SKN IdleAnimation = NITHNT_SKL.NITHNT_STA 0 30 IdleAnimation = NITHNT_SKL.NITHNT_IDA IdleAnimation = NITHNT_SKL.NITHNT_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 = FIRING_A Animation = NITHNT_SKL.NITHNT_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = NITHNT_SKL.NITHNT_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED ConditionState = MOVING Animation = NITHNT_SKL.NITHNT_RNA 20 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = RELOADING_A Animation = NITHNT_SKL.NITHNT_ATA 10 AnimationMode = ONCE ;WeaponLaunchBone = PRIMARY WeaponA End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = NITHNT_SKL.NITHNT_DTA Animation = NITHNT_SKL.NITHNT_DTB AnimationSpeedFactorRange = 0.9 1.25 AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NITHNT_SKL.NITHNT_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NITHNT_SKL.NITHNT_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NITHNT_SKL.NITHNT_ADTA3 AnimationMode = ONCE TransitionKey = None End ;PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = NITHNT_SKL.NITHNT_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NITHNT_SKL.NITHNT_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 = NITHNT_SKL.NITHNT_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 = NITHNT_SKL.NITHNT_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:MissileTeam Side = America EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY MissileDefenderMissileWeapon Weapon = SECONDARY MissileDefenderLaserGuidedMissileWeapon ;Controlled by special ability AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 Prerequisites Object = AmericaBarracks End BuildCost = 300 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryMissileDefenderCommandSet ; *** AUDIO Parameters *** VoiceSelect = MissileDefenderVoiceSelect VoiceMove = MissileDefenderVoiceMove VoiceGuard = MissileDefenderVoiceMove VoiceAttack = MissileDefenderVoiceAttack VoiceAttackAir = MissileDefenderVoiceAttack VoiceFear = MissileDefenderVoiceFear UnitSpecificSounds VoiceGarrison = MissileDefenderVoiceGarrison VoiceCreate = MissileDefenderVoiceCreate VoiceEnter = MissileDefenderVoiceMove VoiceGetHealed = MissileDefenderVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_05 ; 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 Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles UpdateModuleStartsAttack = Yes InitiateSound = MissileDefenderVoiceAttackLaser End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles StartAbilityRange = 200.0 AbilityAbortRange = 250.0 ;If the target moves outside this range, abort. PreparationTime = 1000 PersistentPrepTime = 500 SpecialObject = LaserBeam SpecialObjectAttachToBone = Muzzle01 End ;Added by JMC on 7/12/03 so that the skirmish AI can tell the missile defenders to hunt using ;the laser guided missiles. Behavior = CommandButtonHuntUpdate ModuleTag_CBHunt ; allows use of command button hunt script with this unit. End Behavior = SquishCollide ModuleTag_10 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End 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 ;------------------------------------------------------------------------------ ; @todo -- this entire unit is "first pass only" and needs lots of specialization Object AmericaInfantryPilot ; *** ART Parameters *** SelectPortrait = SAPilot_L ButtonImage = SAPilot UpgradeCameo1 = Upgrade_AmericaChemicalSuits UpgradeCameo2 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIRPlt_SKN IdleAnimation = AIRPlt_SKL.AIRPlt_STA 0 20 IdleAnimation = AIRPlt_SKL.AIRPlt_IDA IdleAnimation = AIRPlt_SKL.AIRPlt_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = FREEFALL Animation = AIRPlt_SKL.AIRPLT_PFL AnimationMode = ONCE TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRPlt_SKL.AIRPlt_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute WaitForStateToFinishIfPossible = TRANS_Falling End AliasConditionState = PARACHUTING DYING ConditionState = MOVING Animation = AIRPlt_SKL.AIRPlt_RNA AnimationMode = LOOP TransitionKey = TRANS_Stand ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = AIRPlt_SKL.AIRPlt_DTA Animation = AIRPlt_SKL.AIRPlt_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRPlt_SKL.AIRPlt_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRPlt_SKL.AIRPlt_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRPlt_SKL.AIRPlt_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = AIRPLT_SKL.AIRPLT_CHA AnimationMode = LOOP End ;@TODO -- MISSING ANIMATION FILE ;TransitionState = TRANS_Falling TRANS_Chute ; Animation = AIRPLT_SKL.AIRPLT_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 = AIRPlt_SKL.AIRPlt_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pilot Side = America EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ExperienceValue = 10 10 10 10 ;Experience point value at each level ExperienceRequired = 0 1 2 3 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CommandSet = AmericaInfantryPilotCommandSet ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = PilotVoiceSelect VoiceMove = PilotVoiceMove VoiceAttack = PilotVoiceMove VoiceGarrison = PilotVoiceMove VoiceFear = PilotVoiceFear UnitSpecificSounds VoiceEnter = PilotVoiceEnter VoiceEnterHostile = PilotVoiceEnter VoiceGetHealed = PilotVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE IGNORES_SELECT_ALL Behavior = VeterancyGainCreate ModuleTag_02 ; omit the "ScienceRequired" so that this upgrade always occurs. ; Pilots should never (repeat, never) be less than VETERAN status. StartingLevel = VETERAN End Behavior = VeterancyCrateCollide ModuleTag_03 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with ForbiddenKindOf = DOZER ; but not to TRANSPORTs or DOZERs! EffectRange = 0 ; 0=="affect only the thing you collide with" AddsOwnerVeterancy = Yes ; we add our own veterancy to the target (rather than just +1 level) IsPilot = Yes ; set the pilot flag because it's different than the veterancy crate and has extra checking End Body = ActiveBody ModuleTag_04 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_06 ; 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 = PilotFindVehicleUpdate ModuleTag_07 ; This update will have the unit go to a vehicle. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; MinHealth = 0.5 ; don't enter a vehicle less than 50% healthy. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25 Behavior = PhysicsBehavior ModuleTag_08 Mass = 5.0 End Behavior = LocomotorSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_Veterancy_HEROIC End Behavior = SquishCollide ModuleTag_11 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End 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 AmericaInfantryPathfinder ; *** ART Parameters *** SelectPortrait = SAPathfinder1_L ButtonImage = SAPathfinder1 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIPFDR_SKN IdleAnimation = AIPFDR_SKL.AIPFDR_STA IdleAnimation = AIPFDR_SKL.AIPFDR_IDA AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Standing End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = AIPFDR_SKL.AIPFDR_RNA 25 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Standing ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = FIRING_A Animation = AIPFDR_SKL.AIPFDR_ATB ; recoil in standing position AnimationMode = ONCE TransitionKey = TRANS_FiringA End AliasConditionState = FIRING_A MOVING AliasConditionState = FIRING_A MOVING REALLYDAMAGED AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIPFDR_SKL.AIPFDR_ATBST ; motionless in standing position AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = RELOADING_A AliasConditionState = RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = AIPFDR_SKL.AIPFDR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIPFDR_SKL.AIPFDR_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIPFDR_SKL.AIPFDR_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIPFDR_SKL.AIPFDR_ADTA3 AnimationMode = ONCE TransitionKey = None End ConditionState = FREEFALL Animation = AIPFDR_SKL.AIPFDR_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIPFDR_SKL.AIPFDR_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 DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIPFDR_SKL.AIPFDR_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_Standing Animation = AIPFDR_SKL.AIPFDR_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pathfinder Side = America EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY USAPathfinderSniperRifle End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 200 ShroudClearingRange = 400 Prerequisites Object = AmericaBarracks Science = SCIENCE_Pathfinder End BuildCost = 600 BuildTime = 10.0 ;in seconds ExperienceValue = 40 40 60 80 ;Experience point value at each level ExperienceRequired = 0 50 100 200 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryPathfinderCommandSet ; *** AUDIO Parameters *** VoiceSelect = PathfinderVoiceSelect VoiceMove = PathfinderVoiceMove VoiceGuard = PathfinderVoiceMove VoiceAttack = PathfinderVoiceAttack VoiceFear = PathfinderVoiceFear SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = PathfinderVoiceFear UnitSpecificSounds VoiceCreate = PathfinderVoiceCreate VoiceGarrison = PathfinderVoiceGarrison VoiceEnter = PathfinderVoiceMove VoiceEnterHostile = PathfinderVoiceMove VoiceGetHealed = PathfinderVoiceMove End ; *** ENGINEERING Parameters *** Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Stealthed MoodAttackCheckRate = 250 End Behavior = AutoFindHealingUpdate ModuleTag_04 ; 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 Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Behavior = ExperienceScalarUpgrade ModuleTag_05 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = StealthDetectorUpdate ModuleTag_08 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = MOVING ; stays stealthy while attacking FriendlyOpacityMin = 30.0% FriendlyOpacityMax = 80.0% PulseFrequency = 500 ; msec MoveThresholdSpeed = 3 InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SquishCollide ModuleTag_10 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this 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_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End 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 AmericaVehicleHumvee ; *** ART Parameters *** SelectPortrait = SAHummer_L ButtonImage = SAHummer UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaTOWMissile Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVHUMMER Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = REALLYDAMAGED Model = AVHUMMER_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER_d Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 1.25 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Humvee Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeaponAirDummy End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeapon Weapon = TERTIARY HumveeMissileWeaponAir PreferredAgainst = TERTIARY AIRCRAFT End ArmorSet Conditions = None Armor = HumveeArmor DamageFX = TruckDamageFX End BuildCost = 700 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 320 Prerequisites Object = AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleHumveeCommandSet ; *** AUDIO Parameters *** VoiceSelect = HumveeVoiceSelect VoiceMove = HumveeVoiceMove VoiceGuard = HumveeVoiceMove VoiceAttack = HumveeVoiceAttack VoiceAttackAir = HumveeVoiceAttackTOW SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs ;TurretMoveStart = NoSound VoiceCreate = HumveeVoiceCreate TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = HumveeVoiceCrush ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceUnload = HumveeVoiceUnload VoiceEnter = HumveeVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_03 Turret TurretTurnRate = 180 RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL HumveeLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = TransportContain ModuleTag_05 PassengersAllowedToFire = Yes Slots = 5 ; EnterSound = GarrisonEnter ; ExitSound = GarrisonExit DamagePercentToUnits = 100% ;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 Aggressive on exiting End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_14 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaTOWMissile End Behavior = ExperienceScalarUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 25 DestructionDelay = 1 OCL = INITIAL OCL_InitialHumveeDebris FX = FINAL FX_BattleMasterExplosionOneFinal OCL = FINAL OCL_FinalHumveeDebris End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End ; This is commented out per hotlist request 10/9 ML ; Behavior = CreateObjectDie ModuleTag_15 ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = OCL_AmericanRangerDebris01 ; ExemptStatus = HIJACKED ; End Behavior = EjectPilotDie ModuleTag_16 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED ; The following added out per hotlist request 10/9 as above ML VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_17 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;---------------------------------------------------------- Object AmericaVehicleTomahawk ; *** ART Parameters *** SelectPortrait = SACTomahawk_L ButtonImage = SACTomahawk UpgradeCameo1 = Upgrade_AmericaScoutDrone UpgradeCameo2 = Upgrade_AmericaBattleDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo5 = XXX Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset DefaultConditionState Model = AVTomahawk Turret = TURRET TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY WeaponA WeaponHideShowBone = PRIMARY MISSILE End ConditionState = REALLYDAMAGED Model = AVTomahawk_D End AliasConditionState = RUBBLE TrackMarks = EXTnkTrack.tga End ; ***DESIGN parameters *** DisplayName = OBJECT:Tomahawk Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1200 BuildTime = 20.0 ;in seconds VisionRange = 180 ShroudClearingRange = 200 Prerequisites Object = AmericaWarFactory Object = AmericaStrategyCenter End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience WeaponSet Conditions = None Weapon = PRIMARY TomahawkMissileWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX 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 = general vehicles CommandSet = AmericaVehicleTomahawkCommandSet ; *** AUDIO Parameters *** VoiceSelect = TomahawkVoiceSelect VoiceMove = TomahawkVoiceMove VoiceGuard = TomahawkVoiceMove VoiceAttack = TomahawkVoiceAttack SoundMoveStart = TomahawkMoveStart SoundMoveStartDamaged = TomahawkMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = TomahawkVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = TomahawkVoiceCrush VoiceEnter = TomahawkVoiceMove VoiceBombard = TomahawkVoiceAttack End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE DONT_AUTO_CRUSH_INFANTRY CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 ; turn rate, in degrees per sec TurretPitchRate = 60 FirePitch = 70 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Locomotor = SET_NORMAL TomahawkLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_15 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = DestroyDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag SalvageData CrateData = SalvageCrateData End Behavior = FXListDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End ; Behavior = FXListDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; DeathFX = FX_GenericTankDeathEffect ; End ; Behavior = CreateObjectDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = OCL_GenericTankDeathEffect ; End Behavior = EjectPilotDie ModuleTag_13 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_14 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ; Also known as the Ambulance Object AmericaVehicleMedic ; *** ART Parameters *** SelectPortrait = SAAmbulance_L ButtonImage = SAAmbulance UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 ConditionState = NONE Model = AVAmbulance Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVAmbulance_D Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = RUBBLE Model = AVAmbulance_D End TrackMarks = EXTireTrack.tga OkToChangeModelColor = Yes Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Medic Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet ;*** Fully automated and driven by the CleanupHazardUpdate *** Conditions = None Weapon = PRIMARY AmbulanceCleanHazardWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = ToxinTruckArmor DamageFX = TruckDamageFX End BuildCost = 600 BuildTime = 10.0 ;in seconds VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = AmericaWarFactory End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleAmbulanceCommandSet ; *** AUDIO Parameters *** VoiceSelect = AmbulanceVoiceSelect VoiceMove = AmbulanceVoiceMove VoiceGuard = AmbulanceVoiceMove VoiceAttack = AmbulanceVoiceDetox SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AmbulanceVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceCrush = AmbulanceVoiceCrush VoiceEnter = AmbulanceVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = CleanupHazardUpdate ModuleTag_03 WeaponSlot = PRIMARY ScanRate = 1000 ScanRange = 100.0 ;If this range exceeds the AmbulanceCleanHazardWeapon AttackRange, it'll move! End ;Can be ordered to clean up a larger area with the ability to move around at an extended range. Behavior = CleanupAreaPower ModuleTag_04 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up InitiateSound = AmbulanceVoiceDetox End Behavior = TransportAIUpdate ModuleTag_05 AutoAcquireEnemiesWhenIdle = No ;CleanupHazardUpdate handles this... Turret TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) TurretFireAngleSweep = PRIMARY 25 ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL HumveeLocomotor Behavior = TransportContain ModuleTag_06 Slots = 3 HealthRegen%PerSec = 25 DamagePercentToUnits = 10% AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No 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 Aggressive on exiting End Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 0 FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_FinalAmbulanceDebris End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_10 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_11 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = FXListDie ModuleTag_15 DeathTypes = ALL -CRUSHED -SPLATTED DeathFX = FX_GenericTankDeathEffect End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = ExperienceScalarUpgrade ModuleTag_17 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_18 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = AutoHealBehavior ModuleTag_22 HealingAmount = 4 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = INFANTRY End Behavior = AutoHealBehavior ModuleTag_23 HealingAmount = 5 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = VEHICLE ForbiddenKindOf = AIRCRAFT SkipSelfForHealing = Yes End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 ; height set to allow clear clipping of projectile streams GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AmericaVehicleBattleDrone ; *** ART Parameters *** SelectPortrait = SABattleDrone_L ButtonImage = SABattleDrone UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE ;MAIN CHASSIS Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR Animation = AVBATTLEDR.AVBATTLEDR AnimationMode = LOOP Turret = Turret01 TurretPitch = TurretEL01 WeaponMuzzleFlash = PRIMARY TurretFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = REALLYDAMAGED Model = AVBATTLEDR_D Animation = AVBATTLEDR_D.AVBATTLEDR_D AnimationMode = LOOP End End ;EXTENDING ARM (FOR REPAIRING) Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR_A End ;Unloading the arm (before starting to repair) ConditionState = UNPACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE End ;Loading the arm (after reparing complete) ConditionState = PACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_B Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE End ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_C Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:BattleDrone Side = America EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BattleDroneMachineGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 200 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = AmericaWarFactory End ExperienceValue = 10 10 10 10 ;Experience point value at each level IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_03 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_04 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 MinPhysicalPitch = -75 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BattleDroneLocomotor Locomotor = SET_PANIC BattleDronePanicLocomotor ;used for repairing master (zippy) Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = MaxHealthUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = SlavedUpdate ModuleTag_07 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. RepairRange = 8 ;How far I can zip around while repair (only moves when he stops welding) RepairMinAltitude = 18.0 ;My minimum repair hover altitude. RepairMaxAltitude = 24.0 ;My maximum repair hover altitude. RepairRatePerSecond = 10.0 ;How many health points can I repair per second. RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing. RepairMinReadyTime = 300 RepairMaxReadyTime = 750 RepairMinWeldTime = 250 RepairMaxWeldTime = 500 RepairWeldingSys = BlueSparks RepairWeldingFXBone = Muzzle02 StayOnSameLayerAsMaster = Yes End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaBattleDroneExplode End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = FXListDie ModuleTag_11 DeathTypes = ALL DeathFX = FX_AmericaBattleDroneExplode End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaBattleDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5 GeometryMinorRadius = 5 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaVehicleScoutDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVScoutDr Animation = AVScoutDr.AVScoutDr AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVScoutDr_d Animation = AVScoutDr_d.AVScoutDr_d AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:ScoutDrone Side = America EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 100 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL DroneLocomotor Behavior = StealthDetectorUpdate ModuleTag_04 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. DistToTargetToGrantRangeBonus = 20 ;How close I have to be to the master's target in order to grant master a range bonus. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaScoutDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaVehicleHellfireDrone ; *** ART Parameters *** SelectPortrait = SAHellfire_L ButtonImage = SAHellfire UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVHellDrone WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVHellDrone_d End End ; ***DESIGN parameters *** DisplayName = OBJECT:HellfireDrone Side = America EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 500 BuildTime = 5.0 ;in seconds VisionRange = 100 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound WeaponSet Conditions = NONE Weapon = PRIMARY HellfireMissileWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL HellfireDroneLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaHellfireDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaVehicleSpyDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVSpyDrone Animation = AVSpyDrone.AVSpyDrone AnimationMode = LOOP End ; Damage state waiting for pristine's approval (or may just not need one) ; ConditionState = REALLYDAMAGED ; Model = AVSpyDrone_d ; Animation = AVSpyDrone_d.AVSpyDrone_d ; AnimationMode = LOOP ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:SpyDrone Side = America EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = SmallTankDamageFX End VisionRange = 250 ShroudClearingRange = 0; Dynamic range below IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE SELECTABLE INERT NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL SpyDroneLocomtor Behavior = DynamicShroudClearingRangeUpdate ModuleTag_04 FinalVision = 250.0 ChangeInterval = 50 ShrinkDelay = 2000 ShrinkTime = 1000 GrowDelay = 0 GrowTime = 1000 GrowInterval = 10 ; Faster than most GridDecalTemplate Texture = EXGrid Style = SHADOW_ADDITIVE_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 500 Color = R:32 G:64 B:128 A:0 //dim blue, additive End End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_06 Mass = 50.0 End Behavior = DestroyDie ModuleTag_07 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = NONE InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = MaxHealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaTankCrusader ; *** ART Parameters *** SelectPortrait = SACLeopard_L ButtonImage = SACLeopard UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 DefaultConditionState Model = AVCrusader_A Turret = Turret WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End ConditionState = REALLYDAMAGED Model = AVcrusader_d End ConditionState = RUBBLE Model = AVcrusader_d1 End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Crusader Side = America EditorSorting = VEHICLE TransportSlotCount = 3 WeaponSet Conditions = None Weapon = PRIMARY CrusaderTankGun ; Uncomment this when we want the crusader to have a machine too again ;Weapon = SECONDARY CrusaderMachineGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End ;ArmorSet ; Conditions = PLAYER_UPGRADE ; Armor = UpgradedTankArmor ; DamageFX = TankDamageFX ;End BuildCost = 900 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = AmericaWarFactory End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaTankCrusaderCommandSet ; *** AUDIO Parameters *** VoiceSelect = CrusaderTankVoiceSelect VoiceMove = CrusaderTankVoiceMove VoiceGuard = CrusaderTankVoiceMove VoiceAttack = CrusaderTankVoiceAttack SoundMoveStart = CrusaderTankMoveStart SoundMoveStartDamaged = CrusaderTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = CrusaderTankVoiceCreate VoiceEnter = CrusaderTankVoiceMove TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = CrusaderTankVoiceCrush End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 480 InitialHealth = 480 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 960 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 180 ;60 // turn rate, in degrees per sec ControlledWeaponSlots= PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = ObjectCreationUpgrade ModuleTag_05 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_20 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_07 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_08 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = MaxHealthUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_CrusaderTurret End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;USA Construction Dozer or USDozer Object AmericaVehicleDozer ; *** ART Parameters *** SelectPortrait = SACDozer_L ButtonImage = SACDozer ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVCONSTDOZ_A ParticleSysBone = EXHAUSTFX01 DozerSmokeLight WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = PREATTACK_A Animation = AVCONSTDOZ_A.AVCONSTDOZ_A AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall ;gush of dirt TransitionKey = TRANS_DIGGING End ConditionState = MOVING ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy TransitionKey = TRANS_DIGGING_DAMAGED End ConditionState = MOVING REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End TrackMarks = EXTireTrack2.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = TIRE01 RightFrontTireBone = TIRE02 LeftRearTireBone = TIRE03 RightRearTireBone = TIRE04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Dozer Side = America EditorSorting = VEHICLE TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1000 BuildTime = 5.0 ; in seconds VisionRange = 200 ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY DozerMineDisarmingWeapon End ArmorSet Conditions = None Armor = DozerArmor ;Special Explosion-Proof Armor DamageFX = TankDamageFX 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 = general vehicles CommandSet = AmericaDozerCommandSet ; *** AUDIO Parameters *** VoiceSelect = DozerUSAVoiceSelect VoiceMove = DozerUSAVoiceMove VoiceGuard = DozerUSAVoiceMove VoiceTaskComplete = DozerUSAVoiceBuildComplete SoundMoveStart = DozerUSAMoveStart SoundMoveStartDamaged = DozerUSAMoveStart UnitSpecificSounds VoiceCreate = DozerUSAVoiceCreate VoiceNoBuild = DozerUSAVoiceBuildNot VoiceCrush = DozerUSAVoiceCrush VoiceRepair = DozerUSAVoiceRepair VoiceDisarm = DozerUSAVoiceClearMine TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceEnter = DozerUSAVoiceMove VoiceBuildResponse = DozerUSAVoiceBuild End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER Body = ActiveBody ModuleTag_02 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = DozerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 100 DestructionDelay = 1500 DestructionDelayVariance = 600 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_AmericaDozerExplode FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = DestroyDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaTankPaladin ; *** ART Parameters *** SelectPortrait = SAPaladin_L ButtonImage = SAPaladin UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 ExtraPublicBone = Laser ConditionState = NONE Model = AVPaladin Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End ConditionState = REALLYDAMAGED Model = AVPaladin_D Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End ConditionState = RUBBLE Model = AVPaladin_D Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Paladin Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY PaladinTankGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End ;ArmorSet ; Conditions = PLAYER_UPGRADE ; Armor = UpgradedTankArmor ; DamageFX = TankDamageFX ;End BuildCost = 1100 BuildTime = 12.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = AmericaWarFactory Science = SCIENCE_PaladinTank End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaTankPaladinCommandSet ; *** AUDIO Parameters *** VoiceSelect = PaladinTankVoiceSelect VoiceMove = PaladinTankVoiceMove VoiceGuard = PaladinTankVoiceMove VoiceAttack = PaladinTankVoiceAttack SoundMoveStart = PaladinTankMoveStart SoundMoveStartDamaged = PaladinTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = PaladinTankVoiceCreate TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = PaladinTankVoiceCrush VoiceEnter = PaladinTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 500.0 InitialHealth = 500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 180 ;60 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End ;AltTurret ; TurretTurnRate = 9000; ; ControlledWeaponSlots = SECONDARY ;End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_PaladinTankDeathEffect End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_PaladinTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = PointDefenseLaserUpdate ModuleTag_07 WeaponTemplate = PaladinPointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE SecondaryTargetTypes = INFANTRY ScanRate = 500 ScanRange = 120.0 PredictTargetVelocityFactor = 3.0 End Behavior = ObjectCreationUpgrade ModuleTag_08 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Upgrade_AmericaHallfireDrone Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_11 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = DestroyDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;Sentry Drone Object AmericaVehicleSentryDrone ; *** ART Parameters *** SelectPortrait = SAsentry_L ButtonImage = SAsentry UpgradeCameo1 = Upgrade_AmericaSentryDroneGun UpgradeCameo2 = Upgrade_AmericaDroneArmor ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 InitialRecoilSpeed = 10 MaxRecoilDistance = 1.5 RecoilSettleSpeed = 3 OkToChangeModelColor = Yes DefaultConditionState Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP Turret = TURRET01 HideSubObject = TURRETUP09 ;Hide controlled turret WeaponFireFXBone = PRIMARY TurretFX WeaponMuzzleFlash = PRIMARY TurretFX WeaponRecoilBone = PRIMARY TurretUp End ConditionState = REALLYDAMAGED Turret = TURRET01 Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP HideSubObject = TURRETUP09 ;Hide controlled turret End ConditionState = RUBBLE Model = AVSENTRY_D1 HideSubObject = TURRETUP09 ;Hide controlled turret End AliasConditionState = RUBBLE WEAPONSET_PLAYER_UPGRADE ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP ShowSubObject = TURRETUP09 End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP ShowSubObject = TURRETUP09 End TrackMarks = EXTnkTrack.tga TreadDebrisLeft = SentryDroneTrackDebrisDirtLeft TreadDebrisRight = SentryDroneTrackDebrisDirtRight TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:SentryDrone Side = America EditorSorting = VEHICLE TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY SentryDroneGun End ArmorSet Conditions = None Armor = SentryDroneArmor DamageFX = TruckDamageFX End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 350 Prerequisites Object = AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = No ;Can gain experience CrusherLevel = 0 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleSentryDroneCommandSet ; *** AUDIO Parameters *** VoiceSelect = SentryDroneVoiceSelect VoiceMove = SentryDroneVoiceMove VoiceGuard = SentryDroneVoiceMove VoiceAttack = SentryDroneVoiceMove SoundMoveStart = SentryDroneMoveStart SoundMoveStartDamaged = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = NoSound TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceEnter = NoSound Deploy = NoSound Undeploy = NoSound End Behavior = WeaponSetUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaSentryDroneGun End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTACK_NEEDS_LINE_OF_SIGHT DRONE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = MaxHealthUpgrade ModuleTag_99 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 75.0 ChangeType = ADD_CURRENT_HEALTH_TOO End Behavior = DeployStyleAIUpdate ModuleTag_04 Turret TurretTurnRate = 180 TurretPitchRate = 180 FirePitch = 0 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = No RecenterTime = 1000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY NaturalTurretAngle = 0 InitiallyDisabled = No 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 ;Stealthed ; Means "Yes when idle, even if I am stealthed" PackTime = 1000 UnpackTime = 1000 TurretsFunctionOnlyWhenDeployed = Yes TurretsMustCenterBeforePacking = Yes End Locomotor = SET_NORMAL SentryLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End Behavior = StealthUpdate ModuleTag_06 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY MOVING HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleSentryDroneDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = DestroyDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = StealthDetectorUpdate ModuleTag_12 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 225 ;Dustin, enable this for independant balancing! End Geometry = BOX GeometryMajorRadius = 9.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaTankAvengerLaserTurret ; Seperate turret object so it can attack independantly ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_ChinaUraniumShells UpgradeCameo3 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX01 ExtraPublicBone = TurretFX02 ExtraPublicBone = TURRET01 ExtraPublicBone = TURRETEL ExtraPublicBone = TURRETEL01 AttachToBoneInContainer = FIREPOINT01 DefaultConditionState Model = AVAVNGER_G Turret = TURRET01 TurretPitch = TURRETEL01 End ConditionState = REALLYDAMAGED Model = AVAVNGER_GD Turret = TURRET01 TurretPitch = TURRETEL01 End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = America EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY AvengerAirLaserOne Weapon = SECONDARY AvengerAirLaserTwo End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Avenger with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop 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 SECONDARY TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes NaturalTurretPitch = 45 End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 500 ; default is 2000 End Behavior = DestroyDie ModuleTag_05 ; End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaTankAvenger ; *** ART Parameters *** SelectPortrait = SAAvnger_L ButtonImage = SAAvnger UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DOverlordTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX03 ExtraPublicBone = LazerSpot01 ExtraPublicBone = LazerSpot02 DefaultConditionState Model = AVAVNGER HideSubObject = TURRET01 ;Hide controlled turret End ConditionState = REALLYDAMAGED Model = AVAVNGER_D HideSubObject = TURRET01 ;Hide controlled turret End ConditionState = RUBBLE Model = AVAVNGER_D1 End ;When a bombtruck disguises as an avenger, show the turret! ConditionState = DISGUISED Model = AVAVNGER ShowSubObject = TURRET01 End ConditionState = REALLYDAMAGED DISGUISED Model = AVAVNGER_D ShowSubObject = TURRET01 ;Hide controlled turret End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Avenger Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY AvengerTargetDesignator Weapon = SECONDARY AvengerAirLaserDummy End ArmorSet Conditions = None Armor = AvengerArmor DamageFX = TankDamageFX End BuildCost = 2000 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = AmericaWarFactory ; Object = AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level 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 = general vehicles CommandSet = AmericaTankAvengerCommandSet ; *** AUDIO Parameters *** VoiceSelect = AvengerVoiceSelect VoiceMove = AvengerVoiceMove VoiceGuard = AvengerVoiceMove VoiceAttack = AvengerVoicePaint VoiceAttackAir = AvengerVoiceAttack SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AvengerVoiceCreate TurretMoveLoop = NoSound SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = NoSound VoiceEnter = AvengerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AvengerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_AvengerTankDeathEffect End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_AvengerTankDeathEffect End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AvengerPointDefenseLaserOne PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two WeaponTemplate = AvengerPointDefenseLaserTwo PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 100 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = OverlordContain ModuleTag_OverlordContain Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes PayloadTemplateName = AmericaTankAvengerLaserTurret ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills End Behavior = ObjectCreationUpgrade ModuleTag_08 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_11 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = DestroyDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = FlammableUpdate ModuleTag_22 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaTankMicrowave ; *** ART Parameters *** SelectPortrait = SAThunderBolt_L ButtonImage = SAThunderBolt UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 ExtraPublicBone = WEAPON02 OkToChangeModelColor = Yes ConditionState = NONE Model = AVTHUNDRBLT ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT End ConditionState = REALLYDAMAGED RUBBLE Model = AVTHUNDRBLT_D ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = REALLYDAMAGED RUBBLE USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT_D End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Microwave Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End WeaponSet Conditions = None ; Weapon = PRIMARY MicrowaveTankVehicleDisabler Weapon = PRIMARY MicrowaveTankBuildingDisabler ;SECONDARY MicrowaveTankBuildingDisabler Weapon = SECONDARY MicrowaveTankBuildingClearer ;TERTIARY MicrowaveTankBuildingClearer End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 300 Prerequisites Object = AmericaWarFactory Object = AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaTankMicrowaveCommandSet ; *** AUDIO Parameters *** VoiceSelect = MicrowaveTankVoiceSelect VoiceMove = MicrowaveTankVoiceMove VoiceGuard = MicrowaveTankVoiceMove VoiceAttack = MicrowaveTankVoiceAttack SoundMoveStart = MicrowaveTankMoveStart SoundMoveStartDamaged = MicrowaveTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = MicrowaveTankVoiceCreate VoiceEnter = MicrowaveTankVoiceMove SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = MicrowaveTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 480 InitialHealth = 480 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 960 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_MicrowaveTankDeath FX = FINAL FX_GenericTankDeathExplosion End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_MicrowaveTankDeath_CrushEffect End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = ExperienceScalarUpgrade ModuleTag_Upgrade01 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade02 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade03 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade04 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_Prod01 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FireWeaponUpdate ModuleTag_22 Weapon = MicrowaveTankEmitterWeapon ExclusiveWeaponDelay = 1000 ; If we fire a real weapon, we turn this module off for this long End Behavior = CommandButtonHuntUpdate ModuleTag_24 ; allows use of command button hunt script with this unit. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End Object Chem_GLAHole ; *** ART Parameters *** SelectPortrait = SUHole_L ButtonImage = SUHole_L Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End ; ----------------- the door ------------------- Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:GLAHole Side = GLAToxinGeneral EditorSorting = SYSTEM Prerequisites Object = Chem_GLACommandCenter End BuildCost = 100 BuildTime = 10.0 ; in seconds EnergyProduction = 0 VisionRange = 50.0 ; Shroud clearing distance ShroudClearingRange = 50 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REBUILD_HOLE CAN_SEE_THROUGH_STRUCTURE IMMUNE_TO_CAPTURE SCORE_DESTROY MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_03 ; To set the health for a particular hole, edit the entry in the object ; that will leave the hole behind (edit the RebuildHoleExposeDie entry) MaxHealth = 9999999.9 ;bigger than anything realistic we use InitialHealth = 9999999.9 ;bigger than anything realistic we use End Behavior = RebuildHoleBehavior ModuleTag_04 WorkerObjectName = GLAInfantryWorker WorkerRespawnDelay = 20000 ;in milliseconds HoleHealthRegen%PerSecond = 0.5% ;regen this % of HoleMaxHealth per second End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureSmallDeath End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 5.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Command Center Object Chem_GLACommandCenter ; *** ART Parameters *** SelectPortrait = SUHeadquarters_L ButtonImage = SUHeadquarters UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----- The actual command center Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBCmdCG ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdCG.UBCmdCG AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBCmdHQCE ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE.UBCmdHQCE AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBCmdHQCE_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_D.UBCmdHQCE_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBCmdHQCE_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_E.UBCmdHQCE_E AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBCmdHQC_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBCmdHQCE_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_N.UBCmdHQCE_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBCmdHQCE_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_DN.UBCmdHQCE_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBCmdHQCE_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_EN.UBCmdHQCE_EN AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBCmdHQC_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBCmdHQCE_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_S.UBCmdHQCE_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBCmdHQCE_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_DS.UBCmdHQCE_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBCmdHQCE_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_ES.UBCmdHQCE_ES AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBCmdHQC_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBCmdHQCE_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_NS.UBCmdHQCE_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQCE_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_DNS.UBCmdHQCE_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQCE_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_ENS.UBCmdHQCE_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQC Animation = UBCmdHQC.UBCmdHQC AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQC_N Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQC_S Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQC_NS Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ------------ construction done flashing lights ---------- ; Draw = W3DModelDraw ; DefaultConditionState ; Model = None ; End ; ConditionState = SOLD ; Model = NONE ; End ; ConditionState = CONSTRUCTION_COMPLETE ; Model = ABWarFact_A2 ; Animation = ABWarFact_A2.ABWarFact_A2 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ; 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_BEING_CONSTRUCTED Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagGLA Animation = OCFlagGLA.OCFlagGLA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagGLA_D ; Animation = OCFlagGLA_D.OCFlagGLA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED RUBBLE ; Model = OCFlagGLA_E ; Animation = OCFlagGLA_E.OCFlagGLA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = GLAToxinGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = Chem_GLACommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE Body = StructureBody ModuleTag_04 MaxHealth = 5000.0 InitialHealth = 5000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 5200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_06 UnitCreatePoint = X: 25.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 65.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RebuildHoleExposeDie ModuleTag_07 HoleName = GLAHoleCommandCenter HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = OCLSpecialPower ModuleTag_11 SpecialPowerTemplate = SuperweaponRebelAmbush UpgradeOCL = SCIENCE_RebelAmbush3 Chem_SUPERWEAPON_RebelAmbush3 UpgradeOCL = SCIENCE_RebelAmbush2 Chem_SUPERWEAPON_RebelAmbush2 OCL = Chem_SUPERWEAPON_RebelAmbush1 CreateLocation = CREATE_AT_LOCATION OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs. End Behavior = OCLSpecialPower ModuleTag_12 SpecialPowerTemplate = SuperweaponBlackMarketNuke OCL = SUPERWEAPON_BlackMarketNuke CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_13 SpecialPowerTemplate = SuperweaponAnthraxBomb OCL = SUPERWEAPON_AnthraxBombGamma CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_14 SpecialPowerTemplate = SuperweaponEmergencyRepair UpgradeOCL = SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 UpgradeOCL = SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 OCL = SUPERWEAPON_RepairVehicles1 CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_21 SpecialPowerTemplate = SuperweaponSneakAttack OCL = OCL_CreateSneakAttackTunnelStart CreateLocation = CREATE_AT_LOCATION ReferenceObject = GLASneakAttackTunnelNetwork ;So we know what the final product is for script placement calculations End Behavior = OCLSpecialPower ModuleTag_22 SpecialPowerTemplate = SuperweaponGPSScrambler OCL = SUPERWEAPON_GPSScrambler CreateLocation = CREATE_AT_LOCATION End Behavior = CashBountyPower ModuleTag_15 SpecialPowerTemplate = SpecialAbilityCashBounty1 Bounty = 5% End Behavior = CashBountyPower ModuleTag_16 SpecialPowerTemplate = SpecialAbilityCashBounty2 Bounty = 10% End Behavior = CashBountyPower ModuleTag_17 SpecialPowerTemplate = SpecialAbilityCashBounty3 Bounty = 20% End Behavior = FlammableUpdate ModuleTag_19 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_20 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End ;Toxin General gets these for free. Behavior = GrantUpgradeCreate ModuleTag_23 UpgradeToGrant = Upgrade_GLAToxinShells End Behavior = GrantUpgradeCreate ModuleTag_24 UpgradeToGrant = Upgrade_GLAAnthraxBeta End Geometry = BOX GeometryMajorRadius = 65.0 GeometryMinorRadius = 65.0 GeometryHeight = 54.0 FactoryExitWidth = 25 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAHoleCommandCenter Chem_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBCmdHQ_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBCmdHQ_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;Fake GLA Command Center Object Chem_FakeGLACommandCenter ; *** ART Parameters *** SelectPortrait = SUHeadquarters_L ButtonImage = SUHeadquarters UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----- The actual command center Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBCmdHQC ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC.UBCmdHQC AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBCmdHQEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG.UBCmdHQEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBCmdHQEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_D.UBCmdHQEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBCmdHQEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_E.UBCmdHQEG_E AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBCmdHQC_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBCmdHQEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_N.UBCmdHQEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBCmdHQEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DN.UBCmdHQEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBCmdHQEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_EN.UBCmdHQEG_EN AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBCmdHQC_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBCmdHQEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_S.UBCmdHQEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBCmdHQEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DS.UBCmdHQEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBCmdHQEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_ES.UBCmdHQEG_ES AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBCmdHQC_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBCmdHQEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_NS.UBCmdHQEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DNS.UBCmdHQEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_ENS.UBCmdHQEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQC Animation = UBCmdHQC.UBCmdHQC AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQC_N Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQC_S Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQC_NS Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ------------ construction done flashing lights ---------- ; Draw = W3DModelDraw ; DefaultConditionState ; Model = None ; End ; ConditionState = SOLD ; Model = NONE ; End ; ConditionState = CONSTRUCTION_COMPLETE ; Model = ABWarFact_A2 ; Animation = ABWarFact_A2.ABWarFact_A2 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ; 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_BEING_CONSTRUCTED Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ 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 = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagGLA Animation = OCFlagGLA.OCFlagGLA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagGLA_D ; Animation = OCFlagGLA_D.OCFlagGLA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED RUBBLE ; Model = OCFlagGLA_E ; Animation = OCFlagGLA_E.OCFlagGLA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLACommandCenter End BuildCost = 500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = FakeGLACommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 1250.0 InitialHealth = 1250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1450 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = No End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = SlowDeathBehavior ModuleTag_11 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_12 ReplaceObject =