NewNightmare
14 years ago
Sup all
I've encountered a problem on my Megahawk, I am trying to make it a cluster bomb, but I cant figure out 4 *censored* how to do this...
I have 2 weapons and an OCL as follows:
Weapons:
Weapon MegaHawkMissile
  PrimaryDamage               = 150.0            
  PrimaryDamageRadius         = 10.0      
  SecondaryDamage             = 50.0          
  SecondaryDamageRadius       = 25.0    
  ScatterRadiusVsInfantry     = 20.0     ;When this weapon is used against infantry, it can randomly miss by as much as this distance.
  AttackRange                 = 350.0
  PreAttackDelay              = 300
  PreAttackType               = PER_SHOT ; Do the delay every single shot
  MinimumAttackRange          = 100.0
  DamageType                  = EXPLOSION 
  DeathType                   = EXPLODED
  FireFX                      = FX_TomahawkIgnition
  ProjectileObject            = TomahawkMissile
  ProjectileExhaust           = TomahawkMissileExhaust
  VeterancyProjectileExhaust  = HEROIC HeroicTomahawkMissileExhaust
;  ProjectileDetonationFX      = WeaponFX_TomahawkMissileDetonation
  ProjectileDetonationFX      = WeaponFX_BombTruckDefaultBombDetonation
  ProjectileDetonationOCL     = OCL_MegaHawkMissileCluster
  RadiusDamageAffects         = SELF ALLIES ENEMIES NEUTRALS NOT_SIMILAR
  FireSound                   = TomahawkWeapon
  DelayBetweenShots           = 1
  ClipSize                    = 5                   ; how many shots in a Clip (0 == infinite)
  ClipReloadTime              = 7000               ; how long to reload a Clip, msec
  ; Uses a clip of one to get the Reloading modelcondition
  CapableOfFollowingWaypoints = Yes

  ; 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


Weapon MegaHawkClusterWeapon
  LeechRangeWeapon = Yes
  PrimaryDamage = 50.0            
  PrimaryDamageRadius = 15.0      
  SecondaryDamage = 15.0          
  SecondaryDamageRadius = 25.0 
  AttackRange = 5.0   
  DamageType = JET_MISSILES        
  DeathType = SUICIDED
  WeaponSpeed = 99999.0             
  DamageDealtAtSelfPosition = Yes   ; this is a suicide bomber... remember?
  RadiusDamageAffects = SELF ALLIES ENEMIES NEUTRALS
  DelayBetweenShots = 0                   ; time between shots, msec
  ClipSize = 1                        ; how many shots in a Clip (0 == infinite)
  ClipReloadTime = 0               ; how long to reload a Clip, msec
  AutoReloadsClip = No 
  FireSound = RemoteDemoChargeExplosion
End


OCL:
ObjectCreationList OCL_MegaHawkMissileCluster
  CreateObject 
    ObjectNames = MegaHawkCluster
    Offset      = X:0.0 Y:0.0 Z:0.0
    Count       = 1
    Disposition = SEND_IT_FLYING
    DispositionIntensity = 1
  End

  CreateObject 
    ObjectNames = MegaHawkCluster
    Offset      = X:0.0 Y:0.0 Z:0.0
    Count       = 1
    Disposition = SEND_IT_FLYING
    DispositionIntensity = 2
  End

  CreateObject 
    ObjectNames = MegaHawkCluster
    Offset      = X:0.0 Y:0.0 Z:0.0
    Count       = 1
    Disposition = SEND_IT_FLYING
    DispositionIntensity = 3
  End

  CreateObject 
    ObjectNames = MegaHawkCluster
    Offset      = X:0.0 Y:0.0 Z:0.0
    Count       = 1
    Disposition = SEND_IT_FLYING
    DispositionIntensity = 2
  End

  CreateObject 
    ObjectNames = MegaHawkCluster
    Offset      = X:0.0 Y:0.0 Z:0.0
    Count       = 1
    Disposition = SEND_IT_FLYING
    DispositionIntensity = 1
  End
End

And then the weapon object:

Object MegaHawkCluster
  ; *** 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
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
  Behavior = MissileAIUpdate ModuleTag_07

    TryToFollowTarget = No
 
    FuelLifetime = 99999999999

    IgnitionDelay = 0

    InitialVelocity = 0

    DistanceToTravelBeforeTurning = 0

    DistanceToTargetBeforeDiving = 0

    DetonateCallsKill     = Yes

    KillSelfDelay         = 50

  End
  

  Locomotor = SET_NORMAL AuroraBombLocomotor

  
  Behavior = HeightDieUpdate ModuleTag_042

    TargetHeight = 15.0

    TargetHeightIncludesStructures = Yes

    OnlyWhenMovingDown = Yes

    InitialDelay        = 1000

  End


  
  Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster01

    DeathWeapon   = MegaHawkClusterWeapon

    StartsActive  = Yes

  End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 0.01   ; we can't have a zero mass, but we want it pretty tiny...
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

I guess that's all I need to make it work... the question is.. how ???
Sponsor
NewNightmare
14 years ago
Attempted to make a new projectile with an OCL like this:
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    FX          = WeaponFX_TomahawkMissileDetonation
    OCL         = OCL_MegaHawkMissileCluster
  End
Still no effect ;/

NewNightmare
14 years ago
****EDIT**** (13/9/11 16:54 GMT+0 ;P)
****EDIT2**** (13/9/11 18:04 GMT+0 ;PP)
Solved, here it is:
Weapons:

Weapon MegaHawkMissile
  PrimaryDamage               = 150.0

  PrimaryDamageRadius         = 10.0

  SecondaryDamage             = 50.0

  SecondaryDamageRadius       = 30.0

  ScatterRadius               = 50.0

  AttackRange                 = 350.0

  MinimumAttackRange          = 100.0

  DamageType                  = EXPLOSION
 
 DeathType                   = EXPLODED

  WeaponSpeed                 = 180         ; dist/sec
  ProjectileObject            = MegaHawkMissile
  ProjectileExhaust           = TomahawkMissileExhaust
  VeterancyProjectileExhaust  = HEROIC HeroicTomahawkMissileExhaust
  FireFX                      = FX_TomahawkIgnition
  FireSound                   = TomahawkWeapon
  ProjectileDetonationFX      = WeaponFX_BombTruckDefaultBombDetonation
  RadiusDamageAffects         = ALLIES ENEMIES NEUTRALS

  ClipSize                    = 5

  ClipReloadTime              = 10000
  PreAttackDelay              = 500

  PreAttackType               = PER_SHOT
  WeaponRecoil                = 2

End


Weapon MegaHawkClusterWeapon
  PrimaryDamage           = 30.0

  PrimaryDamageRadius     = 20.0

  AttackRange             = 230.0

  ScatterRadius           = 40.0
  DamageType              = JET_MISSILES

  DeathType               = EXPLODED

  WeaponSpeed             = 80

  ProjectileObject        = MegaHawkCluster
  ProjectileDetonationFX  = WeaponFX_MegaHawClusterWeaponExplosionFX
  RadiusDamageAffects     = ALLIES ENEMIES NEUTRALS NOT_SIMILAR

  AutoReloadsClip         = Yes
  ;ProjectileCollidesWith  = STRUCTURES WALLS
End

Objects:
Object MegaHawkMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVTomahawk_M
    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
    ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting
    ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have
    ;*AntiBallisticMissile = Yes set in the Weapon.ini.
    Armor           = ProjectileArmor 
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End
 
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End

  Behavior = MissileAIUpdate ModuleTag_07

    TryToFollowTarget = No
 
    FuelLifetime = 99999999999

    IgnitionDelay = 0

    InitialVelocity = 50

    DistanceToTravelBeforeTurning = 80

    DistanceToTargetBeforeDiving = 150

    DetonateCallsKill     = Yes

    KillSelfDelay         = 2000

  End
 
 
  Locomotor = SET_NORMAL MegahawkMissileLocomotor

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster01

    DeathWeapon   = MegaHawkClusterWeapon
    StartsActive  = Yes

  End
  
  Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster02
    DeathWeapon   = MegaHawkClusterWeapon
    StartsActive  = Yes

  End
  
  Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster03
    DeathWeapon   = MegaHawkClusterWeapon
    StartsActive  = Yes

  End
  
  Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster04
    DeathWeapon   = MegaHawkClusterWeapon
    StartsActive  = Yes

  End
  
  Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster05

    DeathWeapon   = MegaHawkClusterWeapon
    StartsActive  = Yes

  End
  
  Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster06

    DeathWeapon   = MegaHawkClusterWeapon
    StartsActive  = Yes

  End
  
  Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster07

    DeathWeapon   = MegaHawkClusterWeapon
    StartsActive  = Yes

  End
  
  Behavior = FireWeaponWhenDeadBehavior ModuleTag_Cluster08

    DeathWeapon   = MegaHawkClusterWeapon
    StartsActive  = Yes

  End

;  Behavior = DeletionUpdate ModuleTag_03

;    MinLifetime = 8000   ; min lifetime in msec

;    MaxLifetime = 8000   ; max lifetime in msec

;  End

  Behavior = HeightDieUpdate ModuleTag_042

    TargetHeight = 15.0

    TargetHeightIncludesStructures = Yes

    OnlyWhenMovingDown = Yes

    InitialDelay        = 1000
    DestroyAttachedParticlesAtHeight = 25.0
  End
; ---- begin Projectile death behaviors
;  Behavior = InstantDeathBehavior DeathModuleTag_01
;    DeathTypes = NONE +DETONATED
;    ; we detonated normally.
;    FX          = WeaponFX_TomahawkMissileDetonation
;  End
;  Behavior = InstantDeathBehavior DeathModuleTag_02
;    DeathTypes = NONE +LASERED
;    ; shot down by laser.
;    FX         = FX_GenericMissileDisintegrate
;    OCL        = OCL_GenericMissileDisintegrate
;  End
;  Behavior = InstantDeathBehavior DeathModuleTag_03
;    DeathTypes = ALL -LASERED -DETONATED
;    ; shot down by nonlaser.
;    FX         = FX_GenericMissileDeath
;  End

;  Behavior = DestroyDie ModuleTag_03

;    ;nothing

;  End
; ---- end Projectile death behaviors
  Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake
  GeometryMajorRadius = 8.0
  GeometryHeight = 4.0
  GeometryIsSmall = Yes    

  Shadow = SHADOW_DECAL
End

;-----
;-----
;-----


Object MegaHawkCluster
  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
 OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = AVTankShel
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:DaisyCutterBomb
  EditorSorting       = SYSTEM  
  ArmorSet
    Armor           = ProjectileArmor
  End
  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE NO_COLLIDE
  Body                  = ActiveBody ModuleTag_02
    MaxHealth           = 100000000000000.0
    InitialHealth       = 100000000000000.0
  End
  Behavior = PhysicsBehavior ModuleTag_07
    Mass                = 1.0
  End

  Behavior = DestroyDie ModuleTag_03

    ;nothing

  End

  Behavior = DumbProjectileBehavior ModuleTag_05

    TumbleRandomly                = Yes

    FirstHeight                   = 20; Height of Bezier control points above highest intervening terrain

    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.0

End

P.S I've my own fx added so you might get some bugs