Posted by: NewNightmare - Wednesday, January 18, 2012 1:48:12 PM
Hi, I've created a simple cluster weapon, using 2 Weapons and 2 WeaponObjects. The code is: Weapon.ini [code]Weapon WarhammerCannonGun PrimaryDamage = 300.0 PrimaryDamageRadius = 60.0 ScatterRadius = 60.0 ;When this weapon is used against infantry, it can randomly miss by as much as this distance. AttackRange = 600 MinimumAttackRange = 200.0 AcceptableAimDelta = 180 ; Don't need to turn at all. DamageType = EXPLOSION DeathType = EXPLODED WeaponSpeed = 450 ; dist/sec ProjectileObject = WarHammerCannonShellMain FireFX = WeaponFX_NukeCannonMuzzleFlash VeterancyFireFX = HEROIC WeaponFX_HeroicNukeCannonMuzzleFlash FireSound = NukeCannonWeapon ProjectileDetonationFX = FX_WarhammerExplosion RadiusDamageAffects = ENEMIES NEUTRALS ALLIES NOT_SIMILAR PreAttackDelay = 350 PreAttackType = PER_SHOT DelayBetweenShots = 12000 ; time between shots, msec ClipSize = 0 ; how many shots in a Clip (0 == infinite) ClipReloadTime = 0 ; how long to reload a Clip, msec End Weapon WarhammerCannonCluster PrimaryDamage = 30.0 PrimaryDamageRadius = 20.0 AttackRange = 230.0 ScatterRadius = 80 DamageType = JET_MISSILES DeathType = EXPLODED WeaponSpeed = 80 ProjectileObject = WarHammerCannonShellCluster RadiusDamageAffects = ALLIES ENEMIES NEUTRALS NOT_SIMILAR AutoReloadsClip = Yes ProjectileDetonationFX = FX_WarhammerExplosionCluster End[/code] WeaponObjects.ini [code]Object WarHammerCannonShellMain ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVWrhmmrCn_S ParticleSysBone = None ArtilleryBarrageTrail End ConditionState = JAMMED ParticleSysBone = None SparksMedium End AliasConditionState = RUBBLE JAMMED AliasConditionState = RUBBLE End ; ***DESIGN parameters *** DisplayName = OBJECT:TomahawkMissile EditorSorting = SYSTEM VisionRange = 0.0 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** AUDIO Parameters *** ;SoundAmbient = NukeCannonIncomingWhistle ; *** ENGINEERING Parameters *** KindOf = PROJECTILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = PhysicsBehavior ModuleTag_05 Mass = 1 ; we can't have a zero mass, but we want it pretty tiny... End ; Behavior = DumbProjectileBehavior ModuleTag_07 ; ; To tweak a Bezier path, please see GS ; FirstHeight = 700 ; Height of Bezier control points above highest intervening terrain ; SecondHeight = 700 ; FirstPercentIndent = 30% ; Percentage of shot distance control points are placed ; SecondPercentIndent = 80% ; FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. ; End Behavior = MissileAIUpdate ModuleTag_07 TryToFollowTarget = No ; FuelLifetime = 9999999999 IgnitionDelay = 0 InitialVelocity = 300 DistanceToTravelBeforeTurning = 200 ; DistanceToTravelBeforeDiving = 300 DetonateCallsKill = Yes KillSelfDelay = 2000 End Locomotor = SET_NORMAL WarHammerShellLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster01 DeathWeapon = WarhammerCannonCluster StartsActive = Yes End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster02 DeathWeapon = WarhammerCannonCluster StartsActive = Yes End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster03 DeathWeapon = WarhammerCannonCluster StartsActive = Yes End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster04 DeathWeapon = WarhammerCannonCluster StartsActive = Yes End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster05 DeathWeapon = WarhammerCannonCluster StartsActive = Yes End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster06 DeathWeapon = WarhammerCannonCluster StartsActive = Yes End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster07 DeathWeapon = WarhammerCannonCluster StartsActive = Yes End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster08 DeathWeapon = WarhammerCannonCluster StartsActive = Yes End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster21 DeathWeapon = WarhammerCannonCluster StartsActive = Yes End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster22 DeathWeapon = WarhammerCannonCluster StartsActive = Yes End Behavior = HeightDieUpdate ModuleTag_042 TargetHeight = 5.0 TargetHeightIncludesStructures = No OnlyWhenMovingDown = Yes InitialDelay = 1000 DestroyAttachedParticlesAtHeight = 25.0 End Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 1.0 End Object WarHammerCannonShellCluster ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 ConditionState = NONE Model = AVTankShel End End ; ***DESIGN parameters *** DisplayName = OBJECT:TankShell EditorSorting = SYSTEM ArmorSet Armor = ProjectileArmor End VisionRange = 0.0 ; *** ENGINEERING Parameters *** KindOf = PROJECTILE NO_COLLIDE Body = ActiveBody ModuleTag_02 MaxHealth = 10000000000.0 InitialHealth = 10000000000.0 End Behavior = PhysicsBehavior ModuleTag_04 Mass = 1 End Behavior = DestroyDie ModuleTag_03 ;nothing End Behavior = DumbProjectileBehavior ModuleTag_08 TumbleRandomly = Yes FirstHeight = 20 SecondHeight = 55 FirstPercentIndent = 30% ; Percentage of shot distance control points are placed SecondPercentIndent = 60% FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. End Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 1 Scale = 0.66 End[/code] Also, I'll drop the Locomotor I use for the projectile (note: it's meant to make a fake artilery shell fly path) [code]Locomotor WarHammerShellLocomotor Surfaces = AIR Speed = 600 ; in dist/sec MinSpeed = 300 ; in dist/sec. (THRUST items must have nonzero minspeeds!) Acceleration = 1000 ; in dist/(sec^2) Braking = 0 ; in dist/(sec^2) TurnRate = 540 ; in degrees/sec MaxThrustAngle = 45 ; in degrees (NOT degrees/sec) AllowAirborneMotiveForce = Yes Appearance = THRUST PreferredHeight = 1200 AirborneTargetingHeight = 30 ;Note, PreferredHeight and DistanceToTargetBeforeDiving work in tandem for missiles. PreferredHeightDamping = 0.7 ; so that we gradually adjust our height End[/code] And the problem is that the little cluster bombs have a random (literally, regardless of whether landing on flat ground, on target, or via special power) chance of exploding without 'tumbling randomly' - i.e immediately after the main explosion, and in exact same position. Any1 will challange himself to help me with this crap ? P.S. does any1 knows why in the 'Main' weaponobject I had to disable two parts of MissileAIupdate? I've got them enabled in [url=http://www.cnclabs.com/forums/default.aspx?g=posts&t=10586]here[/url] (last post), and they just crash the game now.

Posted by: precision_bomber - Thursday, January 19, 2012 3:09:33 AM
Try making an OCL for the Cluster weapon object.

Posted by: NewNightmare - Thursday, January 19, 2012 5:05:55 AM
well, the previous cluster works, so I'll try re-coding it after dinner.

Posted by: NewNightmare - Thursday, January 19, 2012 5:59:34 AM
[quote]P.S. does any1 knows why in the 'Main' weaponobject I had to disable two parts of MissileAIupdate? I've got them enabled in here (last post), and they just crash the game now.[/quote] Got one of them, it's mean't to be distanceto[b]target[/b] not travel

Posted by: NewNightmare - Thursday, January 19, 2012 11:17:31 AM
got it working, to an extent, I had to change the fire method to nuke-cannon like from 'fire to the sky and fall on the target', the fireweaponwhendead thing seem to haveproblems with speedy projectiles, and it works quite well with the nuke cannon dumbprojectile style flying.