View Single Post
Old 10-13-2005, 08:40 PM   #5 (permalink)
CommieDog
Senior Member
 
CommieDog's Avatar
 
Join Date: Oct 2004
Location: Alaska (Hell Frozen Over)
Posts: 369
Default

Here you go:

WeaponObject.ini
Code:
;------------------------------------------------------------------------------
Object MultiMissile1

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = UBScudStrm_M
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:MultiMissile
  Side = Tibs
  EditorSorting   = SYSTEM
  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf            = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100000.0
    InitialHealth   = 100000.0
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = ALL
    ; we detonated normally.  No effect, since it is in weapon.  Don't want to double.
    ; FX        = FX_ArtilleryBarrage
    OCL         = OCL_MultiMissileWarhead1
  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
; ---- end Projectile death behaviors

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_07
    DeathWeapon   = MinigunnerCreationWeapon;MultiMissileWarheadWeapon1
    StartsActive  = Yes
  End

  Behavior = PhysicsBehavior ModuleTag_08
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_09
    TryToFollowTarget = Yes 
    FuelLifetime = 10000
    InitialVelocity = 30                ; in dist/sec
    IgnitionDelay = 0
  End
  Locomotor = SET_NORMAL A10ThunderboltMissileLocomotor

  Behavior = HeightDieUpdate ModuleTag_10
    TargetHeight        = 75.0
    TargetHeightIncludesStructures = No
    OnlyWhenMovingDown  = Yes
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_11
    SpecialPowerTemplate = SuperweaponMultiMissile
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object MultiMissileBomblet

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

  ; ***DESIGN parameters ***
  EditorSorting     = SYSTEM
  VisionRange       = 0.0
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

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

    ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
    ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors

  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  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

; ---- end Projectile death behaviors

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
    DeathWeapon   = MultiMissileBombletWeapon
    StartsActive  = Yes
  End

  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget               = Yes
    FuelLifetime                    = 1800
    InitialVelocity                 = 150                ; in dist/sec
    IgnitionDelay                   = 0
    DistanceToTravelBeforeTurning   = 3
    IgnitionFX                      = FX_BuggyMissileIgnition
  End
  Locomotor = SET_NORMAL GenericTDMissileLocomotor

  Behavior = HeightDieUpdate ModuleTag_08
    TargetHeight        = 1.0
    TargetHeightIncludesStructures = Yes
    OnlyWhenMovingDown  = Yes
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End
Weapon.ini:
Code:
;------------------------------------------------------------------------------
Weapon MultiMissileWarheadWeapon1
  DamageType = FLAME
  DeathType = BURNED
  ProjectileDetonationOCL = OCL_MultiMissileWarhead1
  MissileCallsOnDie = Yes
End

;------------------------------------------------------------------------------
Weapon MultiMissileBombletWeapon
  PrimaryDamage         = 150.0
  PrimaryDamageRadius   = 40.0
  AttackRange           = 125.0
  DamageType            = EXPLOSION
  DeathType             = EXPLODED
  WeaponSpeed           = 99999.0
  ProjectileDetonationFX = FX_ArtilleryBarrage
  RadiusDamageAffects   = ENEMIES NEUTRALS ALLIES
  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
End
ObjectCreationList.ini:
Code:
; -----------------------------------------------------------------------------
ObjectCreationList SUPERWEAPON_MultiMissile1
  DeliverPayload
    Transport                       = BigMissile ;Can substitute with another transport vehicle, look at the Artillery Barrage OCL code
    FormationSize                   = 1
    StartAtPreferredHeight          = Yes
    StartAtMaxSpeed                 = Yes
    MaxAttempts                     = 1                   ;max attempts
    DeliveryDistance                = 50                  ;distance from target allowed to start/stop dropping.
    VisibleItemsDroppedPerInterval  = 1                   ;Drops two bombs at a time
    VisibleDropBoneBaseName         = RootTransform       ;The bombs are created and dropped at this bone base
    VisibleSubObjectBaseName        = Bomb                ;The bombs are visible until dropped.
    VisibleNumBones                 = 1                   ;Number of bones.
    VisiblePayloadTemplateName      = MultiMissile1       ;Created when payload is dropped.
    VisiblePayloadWeaponTemplate    = MinigunnerCreationWeapon ;Doesn't really matter
    InheritTransportVelocity        = Yes                 ;The bombs will start at transport velocity.
    SelfDestructObject              = Yes                 ; so the delivery vehicle goes away 'POP!'
    DeliveryDecalRadius = 150
    DeliveryDecal
      Texture           = SCCNuclearMissile_China
      Style             = SHADOW_ALPHA_DECAL
      OpacityMin        = 25%
      OpacityMax        = 50%
      OpacityThrobTime  = 500
      Color             = R:255 G:0 B:0 A:255 
      OnlyVisibleToOwningPlayer = Yes
    End
  End
End

; -----------------------------------------------------------------------------
ObjectCreationList OCL_MultiMissileWarhead1
  CreateObject
    ObjectNames = MultiMissileBomblet
    Disposition = SEND_IT_FLYING RANDOM_FORCE
    DispositionIntensity = 0.4
    Count = 5
  End
End
CommieDog is offline   Reply With Quote