;----------------------------------------------------------------------------- SpecialPower SuperweaponTomahawkStorm Enum = SPECIAL_SCUD_STORM ReloadTime = 50000 ; in milliseconds. min is 2x door/open close time! InitiateSound = ScudStormInitiated PublicTimer = No ViewObjectDuration = 40000 ViewObjectRange = 250 RadiusCursorRadius = 150 ; align with ObjectCreationList.ini's DeliveryDecalRadius ShortcutPower = Yes ;Capable of being fired by the side-bar shortcut. AcademyClassify = ACT_SUPERPOWER ;Considered a powerful special power that a player could fire. Not for simpler unit based powers. End ; ----------------------------------------------------------------------------- ObjectCreationList SUPERWEAPON_TomahawkStorm Attack WeaponSlot = PRIMARY NumberOfShots = 18;9 DeliveryDecalRadius = 150 ; align with SpecialPower.ini's RadiusCursorRadius DeliveryDecal Texture = SCCArtilleryBarrage_China Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 500 Color = R:67 G:33 B:255 A:255 OnlyVisibleToOwningPlayer = Yes End End End ;------------------------------------------------------------------------------ Weapon TomahawkStormDamageWeapon PrimaryDamage = 150.0 PrimaryDamageRadius = 30.0 SecondaryDamage = 50.0 SecondaryDamageRadius = 50.0 AttackRange = 200.0 DamageType = EXPLOSION DeathType = EXPLODED WeaponSpeed = 600 ; dist/sec RadiusDamageAffects = ALLIES ENEMIES NEUTRALS DelayBetweenShots = 0 ; time between shots, msec ClipSize = 0 ; how many shots in a Clip (0 == infinite) ClipReloadTime = 0 ; how long to reload a Clip, msec End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object TomahawkStormMissile ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVTomahawk_M End End ; ***DESIGN parameters *** KindOf = PROJECTILE ;BALLISTIC_MISSILE EditorSorting = SYSTEM VisionRange = 300.0 ShroudClearingRange = 0 TransportSlotCount = 10 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** AUDIO Parameters *** ; SoundFallingFromPlane = DaisyCutterWeapon ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 10000.0 InitialHealth = 10000.0 End Behavior = PhysicsBehavior ModuleTag_03 Mass = 500.0 End Behavior = MissileAIUpdate ModuleTag_04 TryToFollowTarget = No FuelLifetime = 0 ; zero is infinite InitialVelocity = 0 ; in dist/sec IgnitionFX = FX_TomahawkIgnition DistanceToTravelBeforeTurning = 500 DistanceToTargetBeforeDiving = 200 ; When I hit this close to target, I ignore PreferredHeight. End Locomotor = SET_NORMAL SCUDStormMissileLocomotor Behavior = HeightDieUpdate ModuleTag_05 TargetHeight = 10.0 TargetHeightIncludesStructures = No OnlyWhenMovingDown = Yes SnapToGroundOnDeath = Yes InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad End Behavior = DestroyDie ModuleTag_06 ;nothing End Behavior = SpecialPowerCompletionDie ModuleTag_07 SpecialPowerTemplate = SuperweaponTomahawkStorm End Behavior = FireWeaponWhenDeadBehavior ModuleTag_08 DeathWeapon = TomahawkStormDamageWeapon StartsActive = Yes End Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake GeometryMajorRadius = 2.0 GeometryHeight = 4.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ Weapon TomahawkStormWeapon PrimaryDamage = 0 ; not used for this weapon (it's "special") PrimaryDamageRadius = 0 ; not used for this weapon (it's "special") AttackRange = 999999 ; not used for this weapon (it's "special") DamageType = EXPLOSION ; not used for this weapon (it's "special") DeathType = EXPLODED WeaponSpeed = 99999 ; not used for this weapon (it's "special") ProjectileObject = TomahawkStormMissile ProjectileExhaust = TomahawkMissileExhaust FireFX = FX_TomahawkIgnition FireSound = TomahawkWeapon ProjectileDetonationFX = WeaponFX_BombTruckDefaultBombDetonation RadiusDamageAffects = ALLIES ENEMIES NEUTRALS DelayBetweenShots = Min:100 Max:1000 ClipSize = 18;9 ClipReloadTime = 10;000 ; give it time to sink into the ground AutoReloadsClip = Yes ScatterRadius = 130;changed to zero, unless you want to soften the results of the table below PreAttackDelay = 3;000 ; Give the missiles time to get up, since we can't watch the animation. (If too short, missiles will pop up) PreAttackType = PER_CLIP ; Do the delay the first shot of each clip AcceptableAimDelta = 180 ; Don't need to turn at all. ; note, these only apply to units that aren't the explicit target ; (ie, units that just happen to "get in the way"... projectiles ; always collide with the Designated Target, regardless of these flags ProjectileCollidesWith = STRUCTURES End ;----------------------------------------------------------------------- ;------------------------------------------------------------------------------ Object USATomahawkStorm ; *** ART Parameters *** SelectPortrait = SAToHkStm_L ButtonImage = SAToHkStm Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset ; day ConditionState = NONE ; lying around Model = ABTmHkStmSW_A1 Animation = ABTmHkStmSW_A1.ABTmHkStmSW_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY MISSILE ShowSubObject = MISSILE01 MISSILE02 MISSILE03 MISSILE04 MISSILE05 MISSILE06 MISSILE07 MISSILE08 MISSILE09 TransitionKey = Trans_READY End TransitionState = Trans_READY Trans_ATTACKING ; from lying around to straight up Model = ABTmHkStmSW_A1 Animation = ABTmHkStmSW_A1.ABTmHkStmSW_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY MISSILE End ConditionState = ATTACKING ; Projectile feedback code selectively hiding missiles as they shoot Model = ABTmHkStmSW_A2 Animation = ABTmHkStmSW_A2.ABTmHkStmSW_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY MISSILE TransitionKey = Trans_ATTACKING End AliasConditionState = ATTACKING FIRING_A AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A TransitionState = Trans_ATTACKING Trans_READY ; empty arms going underground, coming up with presents for bad people Model = ABTmHkStmSW_A3 Animation = ABTmHkStmSW_A3.ABTmHkStmSW_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABTmHkStmSW Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABTmHkStmSW_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABTmHkStmSW_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ; day ConditionState = DAMAGED Model = ABTmHkStmSW_DA1 Animation = ABTmHkStmSW_DA1.ABTmHkStmSW_DA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY MISSILE ShowSubObject = MISSILE01 MISSILE02 MISSILE03 MISSILE04 MISSILE05 MISSILE06 MISSILE07 MISSILE08 MISSILE09 TransitionKey = Trans_READY_DAMAGED End TransitionState = Trans_READY_DAMAGED Trans_ATTACKING_DAMAGED Model = ABTmHkStmSW_DA1 Animation = ABTmHkStmSW_DA1.ABTmHkStmSW_DA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY MISSILE End ConditionState = ATTACKING DAMAGED Model = ABTmHkStmSW_DA2 Animation = ABTmHkStmSW_DA2.ABTmHkStmSW_DA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY MISSILE TransitionKey = Trans_ATTACKING_DAMAGED End AliasConditionState = ATTACKING FIRING_A DAMAGED AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED TransitionState = Trans_ATTACKING_DAMAGED Trans_READY_DAMAGED Model = ABTmHkStmSW_DA3 Animation = ABTmHkStmSW_DA3.ABTmHkStmSW_DA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE Model = ABTmHkStmSW_EA1 Animation = ABTmHkStmSW_EA1.ABTmHkStmSW_EA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY MISSILE ShowSubObject = MISSILE01 MISSILE02 MISSILE03 MISSILE04 MISSILE05 MISSILE06 MISSILE07 MISSILE08 MISSILE09 TransitionKey = Trans_READY_REALLYDAMAGED End TransitionState = Trans_READY_REALLYDAMAGED Trans_ATTACKING_REALLYDAMAGED Model = ABTmHkStmSW_EA1 Animation = ABTmHkStmSW_EA1.ABTmHkStmSW_EA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY MISSILE End ConditionState = ATTACKING REALLYDAMAGED RUBBLE Model = ABTmHkStmSW_EA2 Animation = ABTmHkStmSW_EA2.ABTmHkStmSW_EA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY MISSILE TransitionKey = Trans_ATTACKING_REALLYDAMAGED End AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE TransitionState = Trans_ATTACKING_REALLYDAMAGED Trans_READY_REALLYDAMAGED Model = ABTmHkStmSW_EA3 Animation = ABTmHkStmSW_EA3.ABTmHkStmSW_EA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = SOLD Model = NONE End AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED End ;------------------------------------------------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------------------------- ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End TransitionState = DOWN_DEFAULT UP_DAY Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB 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 = PARTIALLY_CONSTRUCTED Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC 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:TomahawkStorm Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE Prerequisites Object = SupW_AmericaStrategyCenter End BuildCost = 5000 BuildTime = 30.0 ; in seconds EnergyProduction = -5 CommandSet = AmericaTomahawkStormCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 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! WeaponSet Conditions = None Weapon = PRIMARY TomahawkStormWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End 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 = ScudStormSelect 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 IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_SUPERWEAPON Body = StructureBody ModuleTag_07 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 = AIUpdateInterface ModuleTag_09 End Behavior = OCLSpecialPower ModuleTag_10 SpecialPowerTemplate = SuperweaponTomahawkStorm OCL = SUPERWEAPON_TomahawkStorm End Behavior = SpecialPowerCreate ModuleTag_11 ;nothing End Behavior = DestroyDie ModuleTag_12 ;nothing End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_ABPowerPlantExplode ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureMediumDeath ExemptStatus = UNDER_CONSTRUCTION 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 = RadiusDecalUpdate ModuleTag_17 ; nothing End Behavior = TransitionDamageFX ModuleTag_18 ;-------------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 = FXListDie ModuleTag_19 DeathFX = FX_BuildingDie End Geometry = BOX GeometryMajorRadius = 71.0 GeometryMinorRadius = 67.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End