zzc
  • zzc
  • 50.25% (Neutral)
  • Major Topic Starter
8 years ago
How to make a long range flame weapon.

projectile stream



Object FlamethrowerProjectileStreamUpgraded2

; *** ART Parameters ***
Draw = W3DProjectileStreamDraw ModuleTag_01
Texture = EXfthrowerStreamUpgraded.tga
Width = 1.5
TileFactor = 3.0 ; put the texture on the line segment this many times
ScrollRate = 2.0; scroll the texture offset this fast
MaxSegments = 4 ; only play the first X if there are a ton of them. 0 means play all
End

; *** ENGINEERING Parameters ***
KindOf = INERT
Behavior = ProjectileStreamUpdate ModuleTag_02
;nothing
End

End



flameprojectile



Object DragonTankFlameProjectileUpgraded2

; Explanation - Particles can't do damage, so this is a fast shooting low
; damage invisible missile launcher with a flame trail for exhaust

; *** ART Parameters ***
Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = Yes
ConditionState = NONE
Model = NULL
End
End
; Must have a draw module to be allowed to draw detonation FX

; ***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
End

Behavior = DestroyDie ModuleTag_03
;nothing
End

Behavior = PhysicsBehavior ModuleTag_04
Mass = 1
AllowCollideForce = No ; flames collide, but never apply forces when they do so
End
Behavior = MissileAIUpdate ModuleTag_05
TryToFollowTarget = No
FuelLifetime = 7000
InitialVelocity = 120 ; in dist/sec
IgnitionDelay = 0
DistanceToTravelBeforeTurning = 2
GarrisonHitKillRequiredKindOf = INFANTRY
GarrisonHitKillForbiddenKindOf = NONE
GarrisonHitKillCount = 2
GarrisonHitKillFX = FX_DragonFlameGarrisonBuildingHit

End
Locomotor = SET_NORMAL DragonTankFlameLocomotor

Behavior = BoneFXUpdate ModuleTag_06
PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail01Upgraded ; Covers gap at beginning of line
PristineParticleSystem2 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail02Upgraded
PristineParticleSystem3 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail03Upgraded
PristineParticleSystem4 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail04Upgraded
PristineParticleSystem5 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail06Upgraded

PristineParticleSystem6 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerSmoke01
End

Behavior = BoneFXDamage ModuleTag_07
;nothing
End

Geometry = Sphere
GeometryIsSmall = Yes
GeometryMajorRadius = 2.0

End



weapon entry



Weapon KellGunGamma

PrimaryDamage = 20.0
PrimaryDamageRadius = 5.0
SecondaryDamage = 1.0
SecondaryDamageRadius = 20.0
ScatterRadiusVsInfantry = 0.0 ;When this weapon is used against infantry, it can randomly miss by as much as this distance.
AttackRange = 375.0
MinimumAttackRange = 0; 10.0
DamageType = FLAME
DeathType = BURNED
WeaponSpeed = 900 ; dist/sec
WeaponRecoil = 0 ; angle to deflect the model when firing
ProjectileObject = DragonTankFlameProjectileUpgraded2
FireFX = WeaponFX_DragonTankFlameWeaponUpgraded
ProjectileDetonationFX = WeaponFX_DragonTankMissileDetonationUpgraded
FireSound = DragonTankWeaponLoop
FireSoundLoopTime = 80 ; loop the firing sound until there's this much delay between shots
RadiusDamageAffects = ALLIES ENEMIES NEUTRALS
DelayBetweenShots = 40 ; time between shots, msec
ClipSize = 30 ; how many shots in a Clip (0 == infinite)
ClipReloadTime = 40 ; how long to reload a Clip, msec
ProjectileStreamName = FlamethrowerProjectileStreamUpgraded2 ; Drawing helper for this weapon. Tracks all projectiles in air
ProjectileCollidesWith = ENEMIES STRUCTURES WALLS SHRUBBERY
AllowAttackGarrisonedBldgs = Yes
WeaponBonus = PLAYER_UPGRADE DAMAGE 250%

End




UserPostedImage

The stream is not connecting to the target... what is wrong? yes the target will get damaged but just looks weird.

I did a long range toxin rebel weapon by just extending the range and it worked fine - the stream connected to the target just fine.
Sponsor
CommieDog
8 years ago
If I had to guess, I'd say that your new flamethrower's projectiles have an extended lifetime (which is why they hit the target) but the projectile's particle systems don't (causing it to disappear prematurely).

If this is the case, then the solution is to add new particle effects to DragonTankFlameProjectileUpgraded2's BoneFXUpdate module to cover the new case that your new flamethrower's projectiles might be beyond the original projectile's intended range. Give that a try.
UserPostedImage 
CommieDog: Because someone has to do your dirty work for you
zzc
  • zzc
  • 50.25% (Neutral)
  • Major Topic Starter
8 years ago
OK so I gave it a fuel lifetime of 0, which means infinite. It still cuts out 3/4ths the distance. How to find more flame effects? I am a total newbie at modelling.