View Single Post
Old 06-19-2004, 11:26 AM   #15 (permalink)
Ambershee
Senior Member
 
Join Date: Apr 2003
Location: Derby, UK / Den Haag, NL
Posts: 590
Default

Sorry that this isn't complete, but it's very close to being there (but untested), if you still need assistance then give me a shout and I'll continue early tommorow morning. Until then I've a lovely young lady to attend to (big grins).

Okay, here's your weapon.ini entry as far as I've gotten. It's still missing that all important tag that makes it detonate mid-air. I'm wondering if a lifetime of sorts should be specified in the projectile entry itself (see if the Tomahawk missile has something like that - it dissapears if it spends too much time in the air).

Code:
Weapon AirBurstMissileWeapon
  PrimaryDamage               = 75.0            
  PrimaryDamageRadius         = 5.0      
  SecondaryDamage             = 40.0          
  SecondaryDamageRadius       = 30.0
  DamageType                  = EXPLOSION
  DeathType                   = EXPLODED
  AttackRange                 = 320.0
  MinimumAttackRange          = 80.0
  LeechRangeWeapon = Yes
  ProjectileObject            = AirBurstMissileObject
  ProjectileExhaust           = MissileExhaust
  VeterancyProjectileExhaust  = HEROIC HeroicMissileExhaust
  RadiusDamageAffects         = SELF SUICIDE ALLIES ENEMIES NEUTRALS
  DelayBetweenShots           = 300
  ClipReloadTime              = 8000
  ProjectileDetonationFX      = WeaponFX_NapalmMissileDetonation
  ProjectileDetonationOCL     = OCL_AirBurstBombs
  DamageDealtAtSelfPosition   = Yes
  ProjectileCollidesWith      = STRUCTURES
End
Okay, now here come your weaponobject.ini entries. The first is the missile itself, which is pretty standard minus it's locomotor. The second is a bomb object that drops and hits the ground and detonates, which is also pretty standard.

Code:
Object AirBurstMissileObject

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVRaptor_M
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:Missile
  EditorSorting       = SYSTEM
  VisionRange         = 0.0
  TransportSlotCount  = 1
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED

  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    FX         = FX_GenericMissileDeath
  End

  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget   = No
    FuelLifetime        = 10000
    InitialVelocity     = 75                ; in dist/sec
    IgnitionDelay       = 30
    IgnitionFX          = FX_NapalmMissileIgnition
  End
  Locomotor = SET_NORMAL AirBurstMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End


Object AirBurstBombObject

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = EXCarptBmb
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:CarpetBomb
  Side = America
  EditorSorting   = SYSTEM
  TransportSlotCount = 1
  VisionRange = 300.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***

  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 2000.0
    InitialHealth   = 2000.0
  End

  Behavior = AIUpdateInterface ModuleTag_03
  End
  Locomotor = SET_NORMAL None

  Behavior = PhysicsBehavior ModuleTag_04

    Mass                  = 75.0
    AerodynamicFriction   = 1
    ForwardFriction       = 33
    CenterOfMassOffset    = 2
  End

  Behavior = HeightDieUpdate ModuleTag_06
    TargetHeight = 1.0
    TargetHeightIncludesStructures = No
  End

  Behavior = FXListDie ModuleTag_08
    DeathFX = FX_CarpetBomb
  End
  Behavior = DestroyDie ModuleTag_09
    ;nothing
  End

End
Here's an OCL entry, which creates multiple bomb objects when triggered (already triggered by the collision with target death of the first weapon projectile). There shouldn't be any problems seeing what I've done here. I'm assuming that I can inherit velocity and send something flying at the same time, I may be wrong.

Code:
ObjectCreationList OCL_AirBurstBombs
  CreateObject
    ObjectNames = AirBurstBombObject
    Disposition = SEND_IT_FLYING INHERIT_VELOCITY
    DispositionIntensity = 1
    Count = 4
    RequiresLivePlayer = No
  End
End
Lastly, here's a locomotor for your missile. It may need tweaking to allow it to climb after launch. Take a look at aircraft for that. It basically is a normal missile with no turning ability which has a minimum flight height, like an airburst missile should to allow it to burst in mid-air.

Hope there's enough to work with. If you're lucky, someone will finish that off this afternoon / tonight anyhow.

AmberZ

Edit: Forgot the locomotor. Women really ARE distracting eh?

Code:
Locomotor AirBurstMissileLocomotor
  Surfaces = AIR
  Speed = 300
  MinSpeed = 120
  Acceleration = 900
  Braking = 0
  TurnRate = 0
  MaxThrustAngle = 15
  AllowAirborneMotiveForce = Yes
  Appearance = THRUST
  PreferredHeight = 70
End
There we go ^_^
Ambershee is offline   Reply With Quote