;---------------------------------------------------------------------------------------------------------- Object ChinaVehicleHelix ; *** ART Parameters *** SelectPortrait = SNHelix_L ButtonImage = SNHelix UpgradeCameo3 = Upgrade_ChinaHelixGattlingCannon UpgradeCameo4 = Upgrade_ChinaHelixPropagandaTower UpgradeCameo5 = Upgrade_ChinaHelixBattleBunker Draw = W3DOverlordAircraftDraw ModuleTag_01; Works with the dependencyModelDraw of the upgrade portable structures ParticlesAttachedToAnimatedBones = Yes DefaultConditionState Model = NVHELIX Animation = NVHELIX.NVHELIX AnimationMode = LOOP WeaponFireFXBone = PRIMARY Muzzle03 WeaponMuzzleFlash = PRIMARY TurretFX03 HideSubObject = BombWing End ConditionState = MOVING ParticleSysBone = SMOKE01 HelixExhaust ParticleSysBone = SMOKE02 HelixExhaust End ConditionState = REALLYDAMAGED Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP End ConditionState = REALLYDAMAGED MOVING Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP ParticleSysBone = SMOKE01 HelixExhaust ParticleSysBone = SMOKE02 HelixExhaust End ConditionState = RUBBLE Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP End ConditionState = RUBBLE MOVING Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP ParticleSysBone = SMOKE01 HelixExhaust ParticleSysBone = SMOKE02 HelixExhaust End ConditionState = RUBBLE SPECIAL_DAMAGED Model = NVHELIX_d End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Helix EditorSorting = VEHICLE Side = China TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 600 BuildCost = 1500 BuildTime = 20.0 ;in seconds Prerequisites Object = ChinaAirfield End ExperienceValue = 50 100 150 200 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes CommandSet = ChinaVehicleHelixCommandSet ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End WeaponSet Conditions = None ;---------------------------- Weapon = PRIMARY HelixMinigunWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ;---------------------------- End WeaponSet Conditions = PLAYER_UPGRADE ;---------------------------- Weapon = PRIMARY HelixMinigunWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ;---------------------------- End ; *** AUDIO Parameters *** VoiceSelect = HelixVoiceSelect VoiceMove = HelixVoiceMove VoiceAttack = HelixVoiceAttack SoundAmbient = HelixAmbientLoop SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = HelixVoiceCreate VoiceUnload = HelixVoiceUnload VoiceGarrison = HelixVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE HUGE_VEHICLE TRANSPORT AIRCRAFT SCORE PRODUCED_AT_HELIPAD CAN_ATTACK 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 AutoAcquireEnemiesWhenIdle = Yes RotorWashParticleSystem = HelixRotorWashRing End Locomotor = SET_NORMAL HelixLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 80.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 110.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 210 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = HelixDamagedLoop MinSelfSpin = 40 ; in degrees per second MaxSelfSpin = 120 ; in degrees per second SelfSpinUpdateDelay = 300 ; in milliseconds SelfSpinUpdateAmount = 5 ; in degrees FallHowFast = 8.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1000 ; in milliseconds MaxBladeFlyOffDelay = 1000 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = HelixBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_HelixHelicopterBlowUpBig OCLFinalBlowUp = OCL_HelixBlades DelayFromGroundToFinalDeath = 30 FinalRubbleObject = HelixRubbleHull 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 = ProductionUpdate ModuleTag_25 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End ;-------------------------- Behavior = ObjectCreationUpgrade ModuleTag_22 UpgradeObject = OCL_HelixGattlingCannon TriggeredBy = Upgrade_ChinaHelixGattlingCannon ConflictsWith = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker End Behavior = CommandSetUpgrade ModuleTag_26 CommandSet = ChinaHelixGattlingCannonCommandSet TriggeredBy = Upgrade_ChinaHelixGattlingCannon ConflictsWith = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker End Behavior = WeaponSetUpgrade ModuleTag_35 TriggeredBy = Upgrade_ChinaHelixGattlingCannon End ; lorenzen commented out 8/4... the helix now keeps its minigun, even when upgraded to gattling ; Behavior = SubObjectsUpgrade ModuleTag_36 ; TriggeredBy = Upgrade_ChinaHelixGattlingCannon ; ConflictsWith = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker ; HideSubObjects = MINIGUN ; End ;-------------------------- Behavior = ObjectCreationUpgrade ModuleTag_23 UpgradeObject = OCL_HelixPropagandaTower TriggeredBy = Upgrade_ChinaHelixPropagandaTower ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixBattleBunker End Behavior = CommandSetUpgrade ModuleTag_27 CommandSet = ChinaHelixPropagandaTowerCommandSet TriggeredBy = Upgrade_ChinaHelixPropagandaTower ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixBattleBunker End ;-------------------------- Behavior = ObjectCreationUpgrade ModuleTag_24 UpgradeObject = OCL_HelixBattleBunker TriggeredBy = Upgrade_ChinaHelixBattleBunker ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixPropagandaTower End Behavior = CommandSetUpgrade ModuleTag_28 CommandSet = ChinaHelixBattleBunkerCommandSet TriggeredBy = Upgrade_ChinaHelixBattleBunker ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixPropagandaTower End Behavior = PassengersFireUpgrade ModuleTag_34 TriggeredBy = Upgrade_ChinaHelixBattleBunker End ;-------------------------- Behavior = HelixContain ModuleTag_29 Slots = 5 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY VEHICLE PORTABLE_STRUCTURE ForbidInsideKindOf = AIRCRAFT ExitDelay = 100 NumberOfExitPaths = 1 PassengersAllowedToFire = No End Behavior = WeaponSetUpgrade ModuleTag_30 TriggeredBy = Upgrade_ChinaBlackNapalm End Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb UpdateModuleStartsAttack = Yes StartsPaused = Yes; so the UnpauseSpecialPowerUpgrade, below can turn it on InitiateSound = HelixVoiceAttack End Behavior = SpecialAbilityUpdate ModuleTag_33 SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb StartAbilityRange = 3.0 PreparationTime = 0 SpecialObject = NapalmBomb MaxSpecialObjects = 1 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = No ;This would prevent multiple charges placed on the same object. UnpackTime = 500 ;slight delay to drop bomb FlipOwnerAfterUnpacking = No FleeRangeAfterCompletion = 0.0 ;DOes not run away after finishing ability UnpackSound = NoSound LoseStealthOnTrigger = No ApproachRequiresLOS = No ; we are a helicopter, we can see everything NeedToFaceTarget = No ; can drop the bomb at any angle to target PersistentPrepTime = 100 PersistenceRequiresRecharge = Yes End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_38 SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb TriggeredBy = Upgrade_HelixNapalmBomb End Behavior = SubObjectsUpgrade ModuleTag_39 TriggeredBy = Upgrade_HelixNapalmBomb ShowSubObjects = BombWing End Geometry = CYLINDER GeometryMajorRadius = 35.0 GeometryHeight = 30.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object ChinaHelixGattlingCannon ; *** ART Parameters *** SelectPortrait = SNGatTower_L ButtonImage = SNGatTower Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = CHASSISBONE DefaultConditionState Model = NVHelix_G Turret = TURRET01 TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_SLOW Model = NVHelix_G Animation = NVHelix_G.NVHelix_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN Model = NVHelix_G Animation = NVHelix_G.NVHelix_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST Model = NVHelix_G Animation = NVHelix_G.NVHelix_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = REALLYDAMAGED Model = NVHelix_GD Turret = TURRET01 TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED Model = NVHelix_GD Animation = NVHelix_GD.NVHelix_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED Model = NVHelix_GD Animation = NVHelix_GD.NVHelix_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED Model = NVHelix_GD Animation = NVHelix_GD.NVHelix_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End End ; ***DESIGN parameters *** Side = China EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY GattlingBuildingGun PreferredAgainst = PRIMARY INFANTRY Weapon = SECONDARY GattlingBuildingGunAir PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT 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 = StealthDetectorUpdate ModuleTag_SDU DetectionRate = 1500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = Yes ;Contained means being in a transport or tunnel network. End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = Yes End Behavior = DestroyDie ModuleTag_04 ;nothing End Behavior = WeaponBonusUpgrade ModuleTag_05 TriggeredBy = Upgrade_ChinaChainGuns End Geometry = BOX GeometryMajorRadius = 8.0 GeometryMinorRadius = 8.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object ChinaHelixPropagandaTower ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = CHASSISBONE ConditionState = NONE Model = NVHELIX_S Animation = NVHELIX_S.NVHELIX_S AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = NVHELIX_SD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; night ConditionState = NIGHT Model = NVHELIX_S Animation = NVHELIX_S.NVHELIX_S AnimationMode = LOOP End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = China EditorSorting = SYSTEM TransportSlotCount = 1 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 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 ; End Behavior = PropagandaTowerBehavior ModuleTag_04 Radius = 150.0 DelayBetweenUpdates = 2000 ; in milliseconds HealPercentEachSecond = 1% ; get this % of max health every second PulseFX = FX_HelixPropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates UpgradeRequired = Upgrade_ChinaSubliminalMessaging UpgradedHealPercentEachSecond = 2% ; get this % of max health every second UpgradedPulseFX = FX_HelixPropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates End Behavior = DestroyDie ModuleTag_05 ; End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object ChinaHelixBattleBunker ; *** ART Parameters *** SelectPortrait = SNBunker_L ButtonImage = SNBunker Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = CHASSISBONE ConditionState = NONE Model = NVHELIX_B End ConditionState = REALLYDAMAGED Model = NVHELIX_BD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; night ConditionState = NIGHT Model = NVHELIX_B End ConditionState = NIGHT REALLYDAMAGED Model = NVHELIX_BD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = China EditorSorting = SYSTEM TransportSlotCount = 1 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 VoiceUnload = OverlordTankVoiceUnload End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = DestroyDie ModuleTag_04 ;nothing End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object ChinaJetMIG ; *** ART Parameters *** SelectPortrait = T12 ButtonImage = T12 UpgradeCameo1 = Upgrade_ChinaAircraftArmor UpgradeCameo2 = Upgrade_ChinaBlackNapalm ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVMIG HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Exhaust01 JetExhaust ParticleSysBone = Exhaust02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED Model = NVMIG ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = NVMIG End ConditionState = REALLYDAMAGED JETEXHAUST Model = NVMIG ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = NVMIG ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER ; @todo srj -- model missing ;Model = NVMIG Model = NVMIG ;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 End ; ***DESIGN parameters *** DisplayName = OBJECT:MIG EditorSorting = VEHICLE Side = China TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 300.0 Prerequisites Object = ChinaAirfield End WeaponSet Conditions = None Weapon = PRIMARY NapalmMissileWeapon ; AutoChooseSources = PRIMARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BlackNapalmMissileWeapon ; AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End BuildCost = 1200 BuildTime = 10 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 = ChinaJetMIGCommandSet ; *** AUDIO Parameters *** VoiceSelect = MigVoiceSelect VoiceMove = MigVoiceMove VoiceAttack = MigVoiceAttack VoiceAttackAir = MigVoiceAttackAir VoiceGuard = MigVoiceAirPatrol SoundAmbient = MigAmbientLoop UnitSpecificSounds VoiceCreate = MigVoiceCreate Afterburner = RaptorAfterburner VoiceGarrison = MigVoiceMove 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 = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp 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_MigDeathInitial OCLInitialDeath = OCL_MIGDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_MIGDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_MIGDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp End Behavior = WeaponSetUpgrade ModuleTag_04 TriggeredBy = Upgrade_ChinaBlackNapalm 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 Locomotor = SET_NORMAL MIGLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor 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 = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = MaxHealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_ChinaAircraftArmor AddMaxHealth = 40.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object ChinaJetCargoPlane ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NVCargoPln Animation = NVCargoPln.NVCargoPln AnimationMode = LOOP ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = NVCargoPln_D Animation = NVCargoPln_D.NVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = REALLYDAMAGED Model = NVCargoPln_D Animation = NVCargoPln_D.NVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke04 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 JetSmokeLarge ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = RUBBLE Model = NVCargoPln_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke06 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke04 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke06 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 JetSmokeLarge End OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = NVCargoPln_A2 Animation = NVCargoPln_A2.NVCargoPln_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = NVCargoPln_A2 Animation = NVCargoPln_A2.NVCargoPln_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = NVCargoPln_A2 Animation = NVCargoPln_A2.NVCargoPln_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:CargoPlane EditorSorting = VEHICLE Side = China TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = C130AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE TRANSPORT AIRCRAFT SCORE FORCEATTACKABLE IGNORED_IN_GUI CAN_ATTACK 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 Behavior = DeliverPayloadAIUpdate ModuleTag_05 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ;500 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_06 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 ;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_07 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_08 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_09 SpecialPowerTemplate = SuperweaponCarpetBomb OCL = SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_10 SpecialPowerTemplate = SuperweaponClusterMines OCL = SUPERWEAPON_ClusterMines CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_11 SpecialPowerTemplate = SuperweaponEMPPulse OCL = SUPERWEAPON_EMPPulse CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = JetSlowDeathBehavior ModuleTag_12 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 End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_13 ;;;;;;;; End Behavior = TransitionDamageFX ModuleTag_14 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