Hey, I got this Mobile Artillery Cannon for one of the armies on my mod...and... the cannon always fires from the turret, instead of the barrel...I dont get it, I named everything correctly [turret,turretel,barrel] and everything but it still refuses to raise the cannon... I will post the code here...
Code:
;------------------------------------------------------------------------------
Object AvaVehicleArtilleryCannon
; *** ART Parameters ***
SelectPortrait = AvaArtillery
ButtonImage = AvaArtillery
UpgradeCameo1 = Upgrade_ChinaBlackNapalm
;UpgradeCameo2 = NONE
;UpgradeCameo3 = NONE
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE
Draw = W3DTankDraw ModuleTag_01
OkToChangeModelColor = Yes
ConditionState = NONE
Model = avaartil
Turret = Turret
TurretPitch = TurretEL
WeaponFireFXBone = PRIMARY TurretMS
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY TurretFX
WeaponLaunchBone = PRIMARY TurretMS
WeaponFireFXBone = SECONDARY TurretMS
WeaponRecoilBone = SECONDARY Barrel
WeaponMuzzleFlash = SECONDARY TurretFX
WeaponLaunchBone = SECONDARY TurretMS
WeaponFireFXBone = TERTIARY TurretMS
WeaponRecoilBone = TERTIARY Barrel
WeaponMuzzleFlash = TERTIARY TurretFX
WeaponLaunchBone = TERTIARY TurretMS
End
TrackMarks = EXTnkTrack.tga
TreadAnimationRate = 2.0 ; amount of tread texture to move per second
End
; ***DESIGN parameters ***
DisplayName = OBJECT:InfernoCannon
Side = Avavairie
EditorSorting = VEHICLE
TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY ArtilleryCannonGuns
Weapon = SECONDARY ArtilleryCannonGuns
Weapon = TERTIARY ArtilleryCannonGuns
ShareWeaponReloadTime = Yes
End
ArmorSet
Conditions = None
Armor = TankArmor
DamageFX = TankDamageFX
End
BuildCost = 1900
BuildTime = 19.0 ;in seconds
VisionRange = 580
ShroudClearingRange = 400
Prerequisites
Object = AvaVehicleFactory
End
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 = 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 = AvaArtilleryCannonCommandSet
; *** AUDIO Parameters ***
VoiceSelect = InfernoCannonVoiceSelect
VoiceMove = InfernoCannonVoiceMove
VoiceGuard = InfernoCannonVoiceMove
VoiceAttack = InfernoCannonVoiceAttack
SoundMoveStart = InfernoCannonMoveStart
SoundMoveStartDamaged = InfernoCannonMoveStart
UnitSpecificSounds
; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
VoiceCreate = InfernoCannonVoiceCreate
TurretMoveStart = NoSound
TurretMoveLoop = NoSound
VoiceCrush = InfernoCannonVoiceCrush
VoiceEnter = InfernoCannonVoiceMove
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE
Body = ActiveBody ModuleTag_02
MaxHealth = 100.0
InitialHealth = 100.0
End
Behavior = AIUpdateInterface ModuleTag_04
Turret
TurretTurnRate = 100
TurretPitchRate = 100
AllowsPitch = Yes
FirePitch = 45
ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
End
AutoAcquireEnemiesWhenIdle = No NotWhileAttacking
End
Locomotor = SET_NORMAL InfernoLocomotor
Behavior = PhysicsBehavior ModuleTag_05
Mass = 50.0
End
; A crushing defeat
Behavior = FXListDie ModuleTag_06
DeathTypes = NONE +CRUSHED +SPLATTED
DeathFX = FX_CarCrush
End
Behavior = CreateObjectDie ModuleTag_07
DeathTypes = NONE +CRUSHED +SPLATTED
CreationList = OCL_CrusaderTank_CrushEffect
End
Behavior = SlowDeathBehavior ModuleTag_08
DeathTypes = ALL -CRUSHED -SPLATTED
ProbabilityModifier = 50
DestructionDelay = 2000
DestructionDelayVariance = 300
FX = INITIAL FX_CrusaderCatchFire
FX = FINAL FX_GenericTankDeathExplosion
OCL = FINAL OCL_InfernoCannonDeathEffect
End
Behavior = TransitionDamageFX ModuleTag_09
ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
ReallyDamagedFXList1 = Loc: X:-7 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
End
Behavior = CreateCrateDie ModuleTag_10
CrateData = SalvageCrateData
;CrateData = EliteTankCrateData
;CrateData = HeroicTankCrateData
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 = DestroyDie ModuleTag_22
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
and here is the Weapon
Code:
Weapon ArtilleryCannonGuns
PrimaryDamage = 180.0
PrimaryDamageRadius = 25.0
ScatterRadiusVsInfantry = 30.0 ;When this weapon is used against infantry, it can randomly miss by as much as this distance.
AttackRange = 600
MinimumAttackRange = 150.0
MinTargetPitch = -90
MaxTargetPitch = 79
DamageType = EXPLOSION
DeathType = EXPLODED
WeaponSpeed = 450 ; dist/sec
MinWeaponSpeed = 375
ScaleWeaponSpeed = Yes ; Used for lob weapons, scales speed proportional to range
ProjectileObject = ArtilleryTankShell
FireFX = WeaponFX_GenericTankGunNoTracer
VeterancyFireFX = HEROIC WeaponFX_HeroicGenericTankGunNoTracer
FireSound = ArtilleryGunzWeapon
ProjectileDetonationFX = FX_ArtilleryBarrage
RadiusDamageAffects = ENEMIES NEUTRALS ALLIES NOT_SIMILAR
DelayBetweenShots = 11000 ; time between shots, msec
ClipSize = 0 ; how many shots in a Clip (0 == infinite)
ClipReloadTime = 0 ; how long to reload a Clip, msec
End