The problem is fixed. The battery now launches a rocket, leaving the turret temporarily empty. It can also rotate and attack in all directions. What I did was copy a certain block of text from the TomahawkBattery.ini file in Command and Conquer Generals Armageddon and combined that with the line "ProjectileBoneFeedbackEnabledSlots". Here is the code:
Code:
Object USABoss_AmericaTomahawkBattery
SelectPortrait = SATmhkPatriot
ButtonImage = SATmhkPatriot
UpgradeCameo1 = Upgrade_AmericaTomahawkRemoteControl
Draw = W3DModelDraw Tomahawk
ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY
OkToChangeModelColor = Yes
DefaultConditionState
Model = TomahawkBattery
Turret = TURRET
TurretPitch = TURRETEL
WeaponLaunchBone = PRIMARY WeaponA01
WeaponLaunchBone = SECONDARY WeaponA01
WeaponHideShowBone = PRIMARY MISSILE
WeaponHideShowBone = SECONDARY MISSILE
End
ConditionState = SOLD
Model = NONE
End
AliasConditionState = NIGHT
ConditionState = DAMAGED
Model = TomahawkBattery_D
End
AliasConditionState = DAMAGED NIGHT
ConditionState = REALLYDAMAGED RUBBLE
Model = TomahawkBattery_D
End
AliasConditionState = REALLYDAMAGED RUBBLE NIGHT
ConditionState = SNOW
Model = TomahawkBattery_D
End
AliasConditionState = SNOW NIGHT
ConditionState = DAMAGED SNOW
Model = TomahawkBattery
End
AliasConditionState = SNOW NIGHT DAMAGED
ConditionState = REALLYDAMAGED RUBBLE SNOW
Model = TomahawkBattery_D
End
AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE
ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
Model = TomahawkBattery_D
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 = TomahawkBattery
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 = TomahawkBattery_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 = TomahawkBattery_D
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 = TomahawkBattery_D
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 = TomahawkBattery_D
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
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 = 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
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
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
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
Flags = START_FRAME_LAST
End
End
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 = 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
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
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
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
Flags = START_FRAME_LAST
End
End
PlacementViewAngle = -45
DisplayName = OBJECT:TomahawkBattery
Side = USABoss
EditorSorting = STRUCTURE
Prerequisites
; Object = USABoss_AmericaPowerPlant
; Object = USABoss_AmericaStrategyCenter
End
BuildCost = 900
BuildTime = 1.0
EnergyProduction = -5
WeaponSet
Conditions = None
Weapon = PRIMARY TomahawkBatteryWeapon
AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT
PreferredAgainst = PRIMARY VEHICLE INFANTRY
ShareWeaponReloadTime = Yes
End
VisionRange = 360.0
ShroudClearingRange = 360
ArmorSet
Conditions = None
Armor = BaseDefenseArmor
DamageFX = StructureDamageFXNoShake
End
CommandSet = AmericaPatriotBatteryCommandSet
ExperienceValue = 200 200 200 200
VoiceSelect = PatriotBatterySelect
SoundOnDamaged = BuildingDamagedStateLight
SoundOnReallyDamaged = BuildingDestroy
UnitSpecificSounds
UnderConstruction = UnderConstructionLoop
End
UnitSpecificSounds
TurretMoveStart = NoSound
TurretMoveLoop = TurretMoveLoopLoud
End
RadarPriority = STRUCTURE
KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_TECHNOLOGY POWERED FS_BASE_DEFENSE IMMUNE_TO_CAPTURE EMP_HARDENED
Body = StructureBody ModuleTag_04
MaxHealth = 1000.0
InitialHealth = 1000.0
SubdualDamageCap = 1200
SubdualDamageHealRate = 500
SubdualDamageHealAmount = 100
End
Behavior = StealthDetectorUpdate ModuleTag_05
DetectionRate = 500
DetectionRange = 200
CanDetectWhileGarrisoned = No
CanDetectWhileContained = No
End
Behavior = BaseRegenerateUpdate ModuleTag_06
End
Behavior = AIUpdateInterface ModuleTag_07
Turret
TurretTurnRate = 180
TurretPitchRate = 180
AllowsPitch = Yes
NaturalTurretPitch = 45
GroundUnitPitch = 40
MinPhysicalPitch = -20
ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
MinIdleScanInterval = 250
MaxIdleScanInterval = 250
MinIdleScanAngle = 0
MaxIdleScanAngle = 360
End
AutoAcquireEnemiesWhenIdle = Yes
MoodAttackCheckRate = 250
End
Behavior = DestroyDie ModuleTag_09
End
Behavior = FXListDie ModuleTag_10
DeathFX = FX_StructureTinyDeath
End
Behavior = FlammableUpdate ModuleTag_12
AflameDuration = 5000
AflameDamageAmount = 5
AflameDamageDelay = 500
End
Behavior = TransitionDamageFX ModuleTag_20
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
Behavior = CreateObjectDie ModuleTag_21
CreationList = Boss_OCL_AmericanRangerDebris03
ExemptStatus = UNDER_CONSTRUCTION
End
Geometry = CYLINDER
GeometryMajorRadius = 12.0
GeometryMinorRadius = 1.0
GeometryHeight = 14.0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
BuildCompletion = PLACED_BY_PLAYER
End
Thanks for your help, although it really was a no-brainer.