Page 1 of 1

Pseudo Target Lock for Lasers (Guide)

Posted: Sat Dec 23, 2017 7:01 pm
by Samee3
This is the most convincing (and fair) I've been able to make it so far. Feel free to play around with the values if you like.
Anyhow, here goes nothing......

Parent Weapon ODF
Hidden/Spoiler:
[code]
[WeaponClass]
ClassLabel = "launcher" // let us use target lock

[Properties]
HUDTag = "hud_vehicle_lasers" // make everyone think it's actually lasers

ShotDelay = "0.14 0.16" // add some randomness
RoundsPerClip = "0"
ReloadTime = "0.0"

SalvoCount = "1"
ShotsPerSalvo = "1"
SalvoDelay = "0"
InitialSavloDelay = "0"

TriggerSingle = "1" // this is purely personal preference

MaxPressedTime = "0.0"

HeatRecoverRate = "0.0"
HeatThreshold = "0.0"
HeatPerShot = "0.0" // you can set up heat values if you want; I just haven't gotten around to it

MinRange = "10"
OptimalRange = "300"
MaxRange = "500" // check the ordnance to understand this one

LockOnRange = "1000" // this section is VERY IMPORTANT. Don't use AutoAimSize: it makes thing go wonky on larger targets (like capital ships)
LockOnAngle = "0.5" // not too big, or it can look wrong
LockOffAngle = "1.0" //
LockTime = "0.1" // this is the only way I could get it to work convincingly

TargetLockMaxDistance = "1000"
TargetLockMaxDistanceLose = "2000"

TargetEnemy = "1"
TargetNeutral = "0"
TargetFriendly = "0"

TargetAll = "1" // Target EVERYTHING!


FireSoundStop = "1"
OverheatSound = "com_weap_energy_depleted"
OverheatSoundPitch = "0.5"
OverheatStopSound = "com_weap_energy_refilled"
[/code]
Parent Ordnance ODF
Hidden/Spoiler:
[code]
[OrdnanceClass]
ClassLabel = "missile" // make it obey target lock

[Properties]

LifeSpan = "0.25" // not too long, or it will turn into a missile and come back around. Besides, plasma is the most unstable state of matter.
MinSpeed = "0" // allow the TurnRate to take effect
Acceleration = "10000" // just not for too long
Velocity = "2000"
Gravity = "0.0"
Rebound = "0.0"

MaxDamage = "" // whatever you like
DamageTransitionDelay = "0.175"
DamageTransitionPeriod = "0.125"
DamageFinalDamage = "" // I recommend setting to 1/10th of MaxDamage

PersonScale = "1.0"
AnimalScale = "1.0"
DroidScale = "1.0"
VehicleScale = "0.5"
BuildingScale = "0.5"

// you can set your own damage scales if you want

HealthScale = "1.0"
ArmorScale = "0.5"
ShieldScale = "0.1"

TurnRate = "20.0" // important. Makes the ordnance chase the target momentarily.

WaverRate = "0.0"
WaverTurn = "0.0"

// Visuals ------------------------------------------- You can set your own

ImpactEffectSoft = ""
ImpactEffectRigid = ""
ImpactEffectStatic = ""
ImpactEffectTerrain = ""
ImpactEffectWater = "com_sfx_watersplash_ord_lg"
ImpactEffectShieldSmall = "com_sfx_shieldimpact_sm"
ImpactEffectShieldLarge = "com_sfx_shieldimpact_xl"

// Sounds ---------------------------------------------

OrdnanceSound = "com_weap_inf_ord_hum_lg"
CollisionSound = "com_veh_laser_imp_exp"
[/code]
FX file: to make it look like a laser. This one's red. Just make an FX file and paste this inside.
Hidden/Spoiler:
[code]
ParticleEmitter("Smoke")
{
MaxParticles(-1.0000,-1.0000);
StartDelay(0.0000,0.0000);
BurstDelay(0.0100, 0.0100);
BurstCount(1.0000,1.0000);
MaxLodDist(1000.0000);
MinLodDist(800.0000);
BoundingRadius(30.0);
SoundName("")
Size(1.0000, 1.0000);
Hue(255.0000, 255.0000);
Saturation(255.0000, 255.0000);
Value(255.0000, 255.0000);
Alpha(255.0000, 255.0000);
Spawner()
{
Circle()
{
PositionX(-1.0000,1.0000);
PositionY(-1.0000,1.0000);
PositionZ(-1.0000,1.0000);
}
Offset()
{
PositionX(0.0000,0.0000);
PositionY(0.0000,0.0000);
PositionZ(0.0000,0.0000);
}
PositionScale(0.0000,0.0000);
VelocityScale(0.0000,0.0000);
InheritVelocityFactor(0.0000,0.0000);
Size(0, 0.2000, 0.2500);
Red(0, 255.0000, 255.0000);
Green(0, 50.0000, 50.0000);
Blue(0, 50.0000, 50.0000);
Alpha(0, 255.0000, 255.0000);
StartRotation(0, 90.0000, 90.0000);
RotationVelocity(0, 0.0000, 1.0000);
FadeInTime(0.0000);
}
Transformer()
{
LifeTime(0.0500);
Position()
{
LifeTime(1.5000)
Scale(0.0000);
}
Size(0)
{
LifeTime(1.0000)
Scale(0.1000);
}
Color(0)
{
LifeTime(0.0100)
Move(0.0000,0.0000,0.0000,255.0000);
Next()
{
LifeTime(0.0900)
Move(0.0000,0.0000,0.0000,-255.0000);
}
}
}
Geometry()
{
BlendMode("NORMAL");
Type("STREAK");
Texture("com_sfx_smoketrail");
ParticleEmitter("BlackSmoke")
{
MaxParticles(4.0000,4.0000);
StartDelay(0.0000,0.0000);
BurstDelay(0.0250, 0.0250);
BurstCount(1.0000,1.0000);
MaxLodDist(50.0000);
MinLodDist(10.0000);
BoundingRadius(5.0);
SoundName("")
Size(1.0000, 1.0000);
Hue(255.0000, 255.0000);
Saturation(255.0000, 255.0000);
Value(255.0000, 255.0000);
Alpha(255.0000, 255.0000);
Spawner()
{
Spread()
{
PositionX(-2.6250,2.6250);
PositionY(-2.6250,2.6250);
PositionZ(-2.6250,2.6250);
}
Offset()
{
PositionX(-0.1313,0.1313);
PositionY(-0.1313,0.1313);
PositionZ(-0.1313,0.1313);
}
PositionScale(0.0000,0.0000);
VelocityScale(2.6250,2.6250);
InheritVelocityFactor(0.2000,0.2000);
Size(0, 1.3125, 1.8375);
Hue(0, 12.0000, 20.0000);
Saturation(0, 5.0000, 10.0000);
Value(0, 200.0000, 220.0000);
Alpha(0, 0.0000, 0.0000);
StartRotation(0, -20.0000, 20.0000);
RotationVelocity(0, -20.0000, 20.0000);
FadeInTime(0.0000);
}
Transformer()
{
LifeTime(1.5000);
Position()
{
LifeTime(1.5000)
Scale(0.0000);
}
Size(0)
{
LifeTime(2.0000)
Scale(6.0000);
}
Color(0)
{
LifeTime(0.1000)
Move(0.0000,0.0000,0.0000,255.0000);
Next()
{
LifeTime(1.4000)
Move(0.0000,0.0000,0.0000,-255.0000);
}
}
}
Geometry()
{
BlendMode("NORMAL");
Type("PARTICLE");
Texture("thicksmoke3");
}
}
}
}
[/code]
Sorry, I won't post any of the files: I have a terrible internet connection.
I'm pretty sure this is everything, so if you have any issues, tell me.