mirror of
https://github.com/Ragora/T2-BoL.git
synced 2026-04-29 08:35:02 +00:00
Brought up to date with the newest T2BoL I've located
This commit is contained in:
parent
8c96cba3e1
commit
accd31895e
287 changed files with 108557 additions and 107608 deletions
|
|
@ -1,156 +1,156 @@
|
|||
//--------------------------------------------------------------------------
|
||||
// ELF Turret barrel
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds
|
||||
//--------------------------------------------------------------------------
|
||||
datablock EffectProfile(EBLSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_light_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(EBLFireEffect)
|
||||
{
|
||||
effectname = "weapons/ELF_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(EBLSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_light_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = EBLSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(EBLFireSound)
|
||||
{
|
||||
filename = "fx/weapons/ELF_fire.wav";
|
||||
description = AudioDefaultLooping3d;
|
||||
preload = true;
|
||||
effect = EBLFireEffect;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Projectile
|
||||
//--------------------------------------
|
||||
|
||||
datablock ELFProjectileData(ELFTurretBolt)
|
||||
{
|
||||
beamRange = 75;
|
||||
numControlPoints = 8;
|
||||
restorativeFactor = 3.75;
|
||||
dragFactor = 4.5;
|
||||
endFactor = 2.25;
|
||||
randForceFactor = 2;
|
||||
randForceTime = 0.125;
|
||||
drainEnergy = 1.0;
|
||||
drainHealth = 0.0015;
|
||||
directDamageType = $DamageType::ELFTurret;
|
||||
|
||||
mainBeamWidth = 0.1; // width of blue wave beam
|
||||
mainBeamSpeed = 9.0; // speed that the beam travels forward
|
||||
mainBeamRepeat = 0.25; // number of times the texture repeats
|
||||
lightningWidth = 0.1;
|
||||
lightningDist = 0.15; // distance of lightning from main beam
|
||||
|
||||
fireSound = EBLFireSound;
|
||||
|
||||
textures[0] = "special/ELFBeam";
|
||||
textures[1] = "special/ELFLightning";
|
||||
textures[2] = "special/BlueImpact";
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// z0dd - ZOD, 4/04/02. Was missing this parameter, (console spam fix).
|
||||
emitter = ELFSparksEmitter;
|
||||
// ------------------------
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// ELF Turret Image
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
datablock TurretImageData(ELFBarrelLarge)
|
||||
{
|
||||
shapeFile = "turret_elf_large.dts";
|
||||
item = ELFBarrelPack; // z0dd - ZOD, 4/25/02. Was wrong: ELFBarrelLargePack
|
||||
|
||||
projectile = ELFTurretBolt;
|
||||
projectileType = ELFProjectile;
|
||||
deleteLastProjectile = true;
|
||||
usesEnergy = true;
|
||||
fireEnergy = 0.0;
|
||||
minEnergy = 0.0;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 350; // z0dd - ZOD, 3/27/02. Was 500. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 100;
|
||||
thinkTimeMS = 70; // z0dd - ZOD, 3/27/02. Was 100. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 580;
|
||||
degPerSecPhi = 960;
|
||||
attackRadius = 75;
|
||||
|
||||
yawVariance = 30.0; // these will smooth out the elf tracking code.
|
||||
pitchVariance = 30.0; // more or less just tolerances
|
||||
|
||||
// State transiltions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = EBLSwitchSound;
|
||||
stateTimeoutValue[1] = 1;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateFire[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = EBLFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
stateTransitionOnTriggerUp[3] = "Deconstruction";
|
||||
stateTransitionOnNoAmmo[3] = "Deconstruction";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 0.01;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 1;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
|
||||
stateName[8] = "Deconstruction";
|
||||
stateScript[8] = "deconstruct";
|
||||
stateTransitionOnNoAmmo[8] = "NoAmmo";
|
||||
stateTransitionOnTimeout[8] = "Reload";
|
||||
stateTimeoutValue[8] = 0.1;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// ELF Turret barrel
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds
|
||||
//--------------------------------------------------------------------------
|
||||
datablock EffectProfile(EBLSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_light_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(EBLFireEffect)
|
||||
{
|
||||
effectname = "weapons/ELF_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(EBLSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_light_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = EBLSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(EBLFireSound)
|
||||
{
|
||||
filename = "fx/weapons/ELF_fire.wav";
|
||||
description = AudioDefaultLooping3d;
|
||||
preload = true;
|
||||
effect = EBLFireEffect;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Projectile
|
||||
//--------------------------------------
|
||||
|
||||
datablock ELFProjectileData(ELFTurretBolt)
|
||||
{
|
||||
beamRange = 75;
|
||||
numControlPoints = 8;
|
||||
restorativeFactor = 3.75;
|
||||
dragFactor = 4.5;
|
||||
endFactor = 2.25;
|
||||
randForceFactor = 2;
|
||||
randForceTime = 0.125;
|
||||
drainEnergy = 1.0;
|
||||
drainHealth = 0.0015;
|
||||
directDamageType = $DamageType::ELFTurret;
|
||||
|
||||
mainBeamWidth = 0.1; // width of blue wave beam
|
||||
mainBeamSpeed = 9.0; // speed that the beam travels forward
|
||||
mainBeamRepeat = 0.25; // number of times the texture repeats
|
||||
lightningWidth = 0.1;
|
||||
lightningDist = 0.15; // distance of lightning from main beam
|
||||
|
||||
fireSound = EBLFireSound;
|
||||
|
||||
textures[0] = "special/ELFBeam";
|
||||
textures[1] = "special/ELFLightning";
|
||||
textures[2] = "special/BlueImpact";
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// z0dd - ZOD, 4/04/02. Was missing this parameter, (console spam fix).
|
||||
emitter = ELFSparksEmitter;
|
||||
// ------------------------
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// ELF Turret Image
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
datablock TurretImageData(ELFBarrelLarge)
|
||||
{
|
||||
shapeFile = "turret_elf_large.dts";
|
||||
item = ELFBarrelPack; // z0dd - ZOD, 4/25/02. Was wrong: ELFBarrelLargePack
|
||||
|
||||
projectile = ELFTurretBolt;
|
||||
projectileType = ELFProjectile;
|
||||
deleteLastProjectile = true;
|
||||
usesEnergy = true;
|
||||
fireEnergy = 0.0;
|
||||
minEnergy = 0.0;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 350; // z0dd - ZOD, 3/27/02. Was 500. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 100;
|
||||
thinkTimeMS = 70; // z0dd - ZOD, 3/27/02. Was 100. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 580;
|
||||
degPerSecPhi = 960;
|
||||
attackRadius = 75;
|
||||
|
||||
yawVariance = 30.0; // these will smooth out the elf tracking code.
|
||||
pitchVariance = 30.0; // more or less just tolerances
|
||||
|
||||
// State transiltions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = EBLSwitchSound;
|
||||
stateTimeoutValue[1] = 1;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateFire[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = EBLFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
stateTransitionOnTriggerUp[3] = "Deconstruction";
|
||||
stateTransitionOnNoAmmo[3] = "Deconstruction";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 0.01;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 1;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
|
||||
stateName[8] = "Deconstruction";
|
||||
stateScript[8] = "deconstruct";
|
||||
stateTransitionOnNoAmmo[8] = "NoAmmo";
|
||||
stateTransitionOnTimeout[8] = "Reload";
|
||||
stateTimeoutValue[8] = 0.1;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,263 +1,263 @@
|
|||
//--------------------------------------
|
||||
// Default blaster
|
||||
//--------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds and feedback effects
|
||||
//--------------------------------------
|
||||
|
||||
datablock EffectProfile(AASwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_light_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(AAFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_aa_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(AASwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_aa_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = AASwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(AAFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_aa_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = AAFireEffect;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Particle effects
|
||||
//--------------------------------------
|
||||
//--------------------------------------------------------------------------
|
||||
// Explosion
|
||||
//--------------------------------------
|
||||
datablock ParticleData(AABulletExplosionParticle1)
|
||||
{
|
||||
dragCoefficient = 2;
|
||||
gravityCoefficient = 0.0;
|
||||
inheritedVelFactor = 0.2;
|
||||
constantAcceleration = -0.0;
|
||||
lifetimeMS = 600;
|
||||
lifetimeVarianceMS = 000;
|
||||
textureName = "special/crescent4";
|
||||
colors[0] = "0.57 0.41 1.0 1.0";
|
||||
colors[1] = "0.57 0.41 1.0 1.0";
|
||||
colors[2] = "0.57 0.41 0.0 0.0";
|
||||
sizes[0] = 0.25;
|
||||
sizes[1] = 0.5;
|
||||
sizes[2] = 1.0;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(AABulletExplosionEmitter)
|
||||
{
|
||||
ejectionPeriodMS = 7;
|
||||
periodVarianceMS = 0;
|
||||
ejectionVelocity = 2;
|
||||
velocityVariance = 1.5;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 70;
|
||||
thetaMax = 80;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
orientParticles = true;
|
||||
lifetimeMS = 200;
|
||||
particles = "AABulletExplosionParticle1";
|
||||
};
|
||||
|
||||
datablock ParticleData(AABulletExplosionParticle2)
|
||||
{
|
||||
dragCoefficient = 2;
|
||||
gravityCoefficient = 0.0;
|
||||
inheritedVelFactor = 0.2;
|
||||
constantAcceleration = -0.0;
|
||||
lifetimeMS = 600;
|
||||
lifetimeVarianceMS = 000;
|
||||
textureName = "special/blasterHit";
|
||||
colors[0] = "0.57 0.41 1.0 0.6";
|
||||
colors[1] = "0.57 0.41 1.0 0.6";
|
||||
colors[2] = "0.57 0.41 0.0 0.0";
|
||||
sizes[0] = 0.3;
|
||||
sizes[1] = 0.90;
|
||||
sizes[2] = 1.50;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(AABulletExplosionEmitter2)
|
||||
{
|
||||
ejectionPeriodMS = 30;
|
||||
periodVarianceMS = 0;
|
||||
ejectionVelocity = 1;
|
||||
velocityVariance = 0.0;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 0;
|
||||
thetaMax = 80;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
orientParticles = false;
|
||||
lifetimeMS = 200;
|
||||
particles = "AABulletExplosionParticle2";
|
||||
};
|
||||
|
||||
datablock ExplosionData(AABulletExplosion)
|
||||
{
|
||||
soundProfile = blasterExpSound;
|
||||
emitter[0] = AABulletExplosionEmitter;
|
||||
emitter[1] = AABulletExplosionEmitter2;
|
||||
};
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Projectile
|
||||
//--------------------------------------
|
||||
datablock TracerProjectileData(AABullet)
|
||||
{
|
||||
doDynamicClientHits = true;
|
||||
|
||||
projectileShapeName = "energy_bolt.dts";
|
||||
directDamage = 0.25;
|
||||
directDamageType = $DamageType::AATurret;
|
||||
explosion = "AABulletExplosion";
|
||||
splash = ChaingunSplash;
|
||||
|
||||
dryVelocity = 150.0;
|
||||
wetVelocity = 100.0;
|
||||
velInheritFactor = 1.0;
|
||||
fizzleTimeMS = 3000;
|
||||
lifetimeMS = 3000;
|
||||
explodeOnDeath = false;
|
||||
reflectOnWaterImpactAngle = 0.0;
|
||||
explodeOnWaterImpact = false;
|
||||
deflectionOnWaterImpact = 0.0;
|
||||
fizzleUnderwaterMS = 3000;
|
||||
|
||||
tracerLength = 20;
|
||||
tracerAlpha = false;
|
||||
tracerMinPixels = 3;
|
||||
tracerColor = "1 1 1 1";
|
||||
tracerTex[0] = "special/shrikeBolt";
|
||||
tracerTex[1] = "special/shrikeBoltCross";
|
||||
tracerWidth = 0.55;
|
||||
crossSize = 0.99;
|
||||
crossViewAng = 0.990;
|
||||
renderCross = true;
|
||||
emap = true;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Weapon
|
||||
//--------------------------------------
|
||||
datablock TurretImageData(AABarrelLarge)
|
||||
{
|
||||
shapeFile = "turret_aa_large.dts";
|
||||
item = AABarrelPack; // z0dd - ZOD, 4/25/02. Was wrong: AABarrelLargePack
|
||||
|
||||
projectileType = TracerProjectile;
|
||||
projectile = AABullet;
|
||||
usesEnergy = true;
|
||||
fireEnergy = 4.0;
|
||||
minEnergy = 4.0;
|
||||
emap = true;
|
||||
isSeeker = true;
|
||||
seekRadius = 200;
|
||||
maxSeekAngle = 6;
|
||||
seekTime = 1.0;
|
||||
minSeekHeat = 0.6;
|
||||
useTargetAudio = false;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 175; // z0dd - ZOD, 3/27/02. Was 250. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 500;
|
||||
thinkTimeMS = 140; // z0dd - ZOD, 3/27/02. Was 200. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 600;
|
||||
degPerSecPhi = 1080;
|
||||
attackRadius = 200;
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = AASwitchSound;
|
||||
stateTimeoutValue[1] = 1.0;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
stateScript[1] = "AAActivateReady";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire1";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
stateScript[2] = "AAReady";
|
||||
|
||||
stateName[3] = "Fire1";
|
||||
stateTransitionOnTimeout[3] = "Reload1";
|
||||
stateTimeoutValue[3] = 0.15;
|
||||
stateFire[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire1";
|
||||
stateSound[3] = AAFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload1";
|
||||
stateTimeoutValue[4] = 0.2;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Fire2";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Fire2";
|
||||
stateTransitionOnTimeout[5] = "Reload2";
|
||||
stateTimeoutValue[5] = 0.15;
|
||||
stateFire[5] = true;
|
||||
stateRecoil[5] = LightRecoil;
|
||||
stateAllowImageChange[5] = false;
|
||||
stateSequence[5] = "Fire2";
|
||||
stateSound[5] = AAFireSound;
|
||||
stateScript[5] = "onFire";
|
||||
|
||||
stateName[6] = "Reload2";
|
||||
stateTimeoutValue[6] = 0.2;
|
||||
stateAllowImageChange[6] = false;
|
||||
stateSequence[6] = "Reload";
|
||||
stateTransitionOnTimeout[6] = "Ready";
|
||||
stateTransitionOnNotLoaded[6] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[6] = "NoAmmo";
|
||||
|
||||
stateName[7] = "Deactivate";
|
||||
stateSequence[7] = "Activate";
|
||||
stateDirection[7] = false;
|
||||
stateTimeoutValue[7] = 1.0;
|
||||
stateTransitionOnLoaded[7] = "ActivateReady";
|
||||
stateTransitionOnTimeout[7] = "Dead";
|
||||
|
||||
stateName[8] = "Dead";
|
||||
stateTransitionOnLoaded[8] = "ActivateReady";
|
||||
|
||||
stateName[9] = "NoAmmo";
|
||||
stateTransitionOnAmmo[9] = "Reload2";
|
||||
stateSequence[9] = "NoAmmo";
|
||||
};
|
||||
|
||||
//--------------------------------------
|
||||
// Default blaster
|
||||
//--------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds and feedback effects
|
||||
//--------------------------------------
|
||||
|
||||
datablock EffectProfile(AASwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_light_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(AAFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_aa_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(AASwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_aa_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = AASwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(AAFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_aa_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = AAFireEffect;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Particle effects
|
||||
//--------------------------------------
|
||||
//--------------------------------------------------------------------------
|
||||
// Explosion
|
||||
//--------------------------------------
|
||||
datablock ParticleData(AABulletExplosionParticle1)
|
||||
{
|
||||
dragCoefficient = 2;
|
||||
gravityCoefficient = 0.0;
|
||||
inheritedVelFactor = 0.2;
|
||||
constantAcceleration = -0.0;
|
||||
lifetimeMS = 600;
|
||||
lifetimeVarianceMS = 000;
|
||||
textureName = "special/crescent4";
|
||||
colors[0] = "0.57 0.41 1.0 1.0";
|
||||
colors[1] = "0.57 0.41 1.0 1.0";
|
||||
colors[2] = "0.57 0.41 0.0 0.0";
|
||||
sizes[0] = 0.25;
|
||||
sizes[1] = 0.5;
|
||||
sizes[2] = 1.0;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(AABulletExplosionEmitter)
|
||||
{
|
||||
ejectionPeriodMS = 7;
|
||||
periodVarianceMS = 0;
|
||||
ejectionVelocity = 2;
|
||||
velocityVariance = 1.5;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 70;
|
||||
thetaMax = 80;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
orientParticles = true;
|
||||
lifetimeMS = 200;
|
||||
particles = "AABulletExplosionParticle1";
|
||||
};
|
||||
|
||||
datablock ParticleData(AABulletExplosionParticle2)
|
||||
{
|
||||
dragCoefficient = 2;
|
||||
gravityCoefficient = 0.0;
|
||||
inheritedVelFactor = 0.2;
|
||||
constantAcceleration = -0.0;
|
||||
lifetimeMS = 600;
|
||||
lifetimeVarianceMS = 000;
|
||||
textureName = "special/blasterHit";
|
||||
colors[0] = "0.57 0.41 1.0 0.6";
|
||||
colors[1] = "0.57 0.41 1.0 0.6";
|
||||
colors[2] = "0.57 0.41 0.0 0.0";
|
||||
sizes[0] = 0.3;
|
||||
sizes[1] = 0.90;
|
||||
sizes[2] = 1.50;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(AABulletExplosionEmitter2)
|
||||
{
|
||||
ejectionPeriodMS = 30;
|
||||
periodVarianceMS = 0;
|
||||
ejectionVelocity = 1;
|
||||
velocityVariance = 0.0;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 0;
|
||||
thetaMax = 80;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
orientParticles = false;
|
||||
lifetimeMS = 200;
|
||||
particles = "AABulletExplosionParticle2";
|
||||
};
|
||||
|
||||
datablock ExplosionData(AABulletExplosion)
|
||||
{
|
||||
soundProfile = blasterExpSound;
|
||||
emitter[0] = AABulletExplosionEmitter;
|
||||
emitter[1] = AABulletExplosionEmitter2;
|
||||
};
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Projectile
|
||||
//--------------------------------------
|
||||
datablock TracerProjectileData(AABullet)
|
||||
{
|
||||
doDynamicClientHits = true;
|
||||
|
||||
projectileShapeName = "energy_bolt.dts";
|
||||
directDamage = 0.25;
|
||||
directDamageType = $DamageType::AATurret;
|
||||
explosion = "AABulletExplosion";
|
||||
splash = ChaingunSplash;
|
||||
|
||||
dryVelocity = 150.0;
|
||||
wetVelocity = 100.0;
|
||||
velInheritFactor = 1.0;
|
||||
fizzleTimeMS = 3000;
|
||||
lifetimeMS = 3000;
|
||||
explodeOnDeath = false;
|
||||
reflectOnWaterImpactAngle = 0.0;
|
||||
explodeOnWaterImpact = false;
|
||||
deflectionOnWaterImpact = 0.0;
|
||||
fizzleUnderwaterMS = 3000;
|
||||
|
||||
tracerLength = 20;
|
||||
tracerAlpha = false;
|
||||
tracerMinPixels = 3;
|
||||
tracerColor = "1 1 1 1";
|
||||
tracerTex[0] = "special/shrikeBolt";
|
||||
tracerTex[1] = "special/shrikeBoltCross";
|
||||
tracerWidth = 0.55;
|
||||
crossSize = 0.99;
|
||||
crossViewAng = 0.990;
|
||||
renderCross = true;
|
||||
emap = true;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Weapon
|
||||
//--------------------------------------
|
||||
datablock TurretImageData(AABarrelLarge)
|
||||
{
|
||||
shapeFile = "turret_aa_large.dts";
|
||||
item = AABarrelPack; // z0dd - ZOD, 4/25/02. Was wrong: AABarrelLargePack
|
||||
|
||||
projectileType = TracerProjectile;
|
||||
projectile = AABullet;
|
||||
usesEnergy = true;
|
||||
fireEnergy = 4.0;
|
||||
minEnergy = 4.0;
|
||||
emap = true;
|
||||
isSeeker = true;
|
||||
seekRadius = 200;
|
||||
maxSeekAngle = 6;
|
||||
seekTime = 1.0;
|
||||
minSeekHeat = 0.6;
|
||||
useTargetAudio = false;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 175; // z0dd - ZOD, 3/27/02. Was 250. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 500;
|
||||
thinkTimeMS = 140; // z0dd - ZOD, 3/27/02. Was 200. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 600;
|
||||
degPerSecPhi = 1080;
|
||||
attackRadius = 200;
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = AASwitchSound;
|
||||
stateTimeoutValue[1] = 1.0;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
stateScript[1] = "AAActivateReady";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire1";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
stateScript[2] = "AAReady";
|
||||
|
||||
stateName[3] = "Fire1";
|
||||
stateTransitionOnTimeout[3] = "Reload1";
|
||||
stateTimeoutValue[3] = 0.15;
|
||||
stateFire[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire1";
|
||||
stateSound[3] = AAFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload1";
|
||||
stateTimeoutValue[4] = 0.2;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Fire2";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Fire2";
|
||||
stateTransitionOnTimeout[5] = "Reload2";
|
||||
stateTimeoutValue[5] = 0.15;
|
||||
stateFire[5] = true;
|
||||
stateRecoil[5] = LightRecoil;
|
||||
stateAllowImageChange[5] = false;
|
||||
stateSequence[5] = "Fire2";
|
||||
stateSound[5] = AAFireSound;
|
||||
stateScript[5] = "onFire";
|
||||
|
||||
stateName[6] = "Reload2";
|
||||
stateTimeoutValue[6] = 0.2;
|
||||
stateAllowImageChange[6] = false;
|
||||
stateSequence[6] = "Reload";
|
||||
stateTransitionOnTimeout[6] = "Ready";
|
||||
stateTransitionOnNotLoaded[6] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[6] = "NoAmmo";
|
||||
|
||||
stateName[7] = "Deactivate";
|
||||
stateSequence[7] = "Activate";
|
||||
stateDirection[7] = false;
|
||||
stateTimeoutValue[7] = 1.0;
|
||||
stateTransitionOnLoaded[7] = "ActivateReady";
|
||||
stateTransitionOnTimeout[7] = "Dead";
|
||||
|
||||
stateName[8] = "Dead";
|
||||
stateTransitionOnLoaded[8] = "ActivateReady";
|
||||
|
||||
stateName[9] = "NoAmmo";
|
||||
stateTransitionOnAmmo[9] = "Reload2";
|
||||
stateSequence[9] = "NoAmmo";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,325 +1,325 @@
|
|||
datablock EffectProfile(IBLSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_light_activate";
|
||||
minDistance = 5.0;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(IBLFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_indoor_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(IBLSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_light_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = IBLSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(IBLFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_indoor_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = IBLFireEffect;
|
||||
};
|
||||
|
||||
datablock SensorData(DeployedIndoorTurretSensor)
|
||||
{
|
||||
detects = true;
|
||||
detectsUsingLOS = true;
|
||||
detectsPassiveJammed = false;
|
||||
detectsActiveJammed = false;
|
||||
detectsCloaked = false;
|
||||
detectionPings = true;
|
||||
detectRadius = 40;
|
||||
};
|
||||
|
||||
datablock ShockwaveData(IndoorTurretMuzzleFlash)
|
||||
{
|
||||
width = 0.5;
|
||||
numSegments = 13;
|
||||
numVertSegments = 1;
|
||||
velocity = 2.0;
|
||||
acceleration = -1.0;
|
||||
lifetimeMS = 300;
|
||||
height = 0.1;
|
||||
verticalCurve = 0.5;
|
||||
|
||||
mapToTerrain = false;
|
||||
renderBottom = false;
|
||||
orientToNormal = true;
|
||||
renderSquare = true;
|
||||
|
||||
texture[0] = "special/blasterHit";
|
||||
texture[1] = "special/gradient";
|
||||
texWrap = 3.0;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
|
||||
colors[0] = "1.0 0.3 0.3 1.0";
|
||||
colors[1] = "1.0 0.3 0.3 1.0";
|
||||
colors[2] = "1.0 0.3 0.3 0.0";
|
||||
};
|
||||
|
||||
datablock TurretData(TurretDeployedFloorIndoor) : TurretDamageProfile
|
||||
{
|
||||
className = DeployedTurret;
|
||||
shapeFile = "turret_indoor_deployf.dts";
|
||||
|
||||
mass = 5.0;
|
||||
maxDamage = 0.5;
|
||||
destroyedLevel = 0.5;
|
||||
disabledLevel = 0.21;
|
||||
explosion = SmallTurretExplosion;
|
||||
expDmgRadius = 5.0;
|
||||
expDamage = 0.25;
|
||||
expImpulse = 500.0;
|
||||
repairRate = 0;
|
||||
heatSignature = 0.0;
|
||||
|
||||
deployedObject = true;
|
||||
|
||||
thetaMin = 5;
|
||||
thetaMax = 145;
|
||||
thetaNull = 90;
|
||||
|
||||
primaryAxis = zaxis;
|
||||
|
||||
isShielded = true;
|
||||
energyPerDamagePoint = 110;
|
||||
maxEnergy = 30;
|
||||
rechargeRate = 0.10;
|
||||
barrel = DeployableIndoorBarrel;
|
||||
|
||||
canControl = true;
|
||||
cmdCategory = "DTactical";
|
||||
cmdIcon = CMDTurretIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_turret_grey";
|
||||
targetNameTag = 'Spider Clamp';
|
||||
targetTypeTag = 'Turret';
|
||||
sensorData = DeployedIndoorTurretSensor;
|
||||
sensorRadius = DeployedIndoorTurretSensor.detectRadius;
|
||||
sensorColor = "191 0 226";
|
||||
|
||||
firstPersonOnly = true;
|
||||
renderWhenDestroyed = false;
|
||||
|
||||
debrisShapeName = "debris_generic_small.dts";
|
||||
debris = TurretDebrisSmall;
|
||||
};
|
||||
|
||||
datablock TurretData(TurretDeployedWallIndoor) : TurretDamageProfile
|
||||
{
|
||||
className = DeployedTurret;
|
||||
shapeFile = "turret_indoor_deployw.dts";
|
||||
|
||||
mass = 5.0;
|
||||
maxDamage = 0.5;
|
||||
destroyedLevel = 0.5;
|
||||
disabledLevel = 0.21;
|
||||
explosion = SmallTurretExplosion;
|
||||
expDmgRadius = 5.0;
|
||||
expDamage = 0.25;
|
||||
expImpulse = 500.0;
|
||||
repairRate = 0;
|
||||
heatSignature = 0.0;
|
||||
|
||||
thetaMin = 5;
|
||||
thetaMax = 145;
|
||||
thetaNull = 90;
|
||||
|
||||
deployedObject = true;
|
||||
|
||||
primaryAxis = yaxis;
|
||||
|
||||
isShielded = true;
|
||||
energyPerDamagePoint = 110;
|
||||
maxEnergy = 30;
|
||||
rechargeRate = 0.10;
|
||||
barrel = DeployableIndoorBarrel;
|
||||
|
||||
canControl = true;
|
||||
cmdCategory = "DTactical";
|
||||
cmdIcon = CMDTurretIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_turret_grey";
|
||||
targetNameTag = 'Spider Clamp';
|
||||
targetTypeTag = 'Turret';
|
||||
sensorData = DeployedIndoorTurretSensor;
|
||||
sensorRadius = DeployedIndoorTurretSensor.detectRadius;
|
||||
sensorColor = "191 0 226";
|
||||
|
||||
firstPersonOnly = true;
|
||||
renderWhenDestroyed = false;
|
||||
|
||||
debrisShapeName = "debris_generic_small.dts";
|
||||
debris = TurretDebrisSmall;
|
||||
};
|
||||
|
||||
datablock TurretData(TurretDeployedCeilingIndoor) : TurretDamageProfile
|
||||
{
|
||||
className = DeployedTurret;
|
||||
shapeFile = "turret_indoor_deployc.dts";
|
||||
|
||||
mass = 5.0;
|
||||
maxDamage = 0.5;
|
||||
destroyedLevel = 0.5;
|
||||
disabledLevel = 0.21;
|
||||
explosion = SmallTurretExplosion;
|
||||
expDmgRadius = 5.0;
|
||||
expDamage = 0.25;
|
||||
expImpulse = 500.0;
|
||||
repairRate = 0;
|
||||
explosion = SmallTurretExplosion;
|
||||
|
||||
//thetaMin = 5;
|
||||
//thetaMax = 145;
|
||||
thetaMin = 35;
|
||||
thetaMax = 175;
|
||||
thetaNull = 90;
|
||||
heatSignature = 0.0;
|
||||
|
||||
deployedObject = true;
|
||||
|
||||
primaryAxis = revzaxis;
|
||||
|
||||
isShielded = true;
|
||||
energyPerDamagePoint = 110;
|
||||
maxEnergy = 30;
|
||||
rechargeRate = 0.10;
|
||||
barrel = DeployableIndoorBarrel;
|
||||
|
||||
canControl = true;
|
||||
cmdCategory = "DTactical";
|
||||
cmdIcon = CMDTurretIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_turret_grey";
|
||||
targetNameTag = 'Spider Clamp';
|
||||
targetTypeTag = 'Turret';
|
||||
sensorData = DeployedIndoorTurretSensor;
|
||||
sensorRadius = DeployedIndoorTurretSensor.detectRadius;
|
||||
sensorColor = "191 0 226";
|
||||
|
||||
firstPersonOnly = true;
|
||||
renderWhenDestroyed = false;
|
||||
|
||||
debrisShapeName = "debris_generic_small.dts";
|
||||
debris = TurretDebrisSmall;
|
||||
};
|
||||
|
||||
datablock LinearFlareProjectileData(IndoorTurretBolt)
|
||||
{
|
||||
directDamage = 0.14;
|
||||
directDamageType = $DamageType::IndoorDepTurret;
|
||||
explosion = "BlasterExplosion";
|
||||
kickBackStrength = 0.0;
|
||||
|
||||
dryVelocity = 120.0;
|
||||
wetVelocity = 40.0;
|
||||
velInheritFactor = 0.5;
|
||||
fizzleTimeMS = 2000;
|
||||
lifetimeMS = 3000;
|
||||
explodeOnDeath = false;
|
||||
reflectOnWaterImpactAngle = 0.0;
|
||||
explodeOnWaterImpact = false;
|
||||
deflectionOnWaterImpact = 0.0;
|
||||
fizzleUnderwaterMS = 3000;
|
||||
|
||||
numFlares = 20;
|
||||
size = 0.45;
|
||||
flareColor = "1 0.35 0.35";
|
||||
flareModTexture = "flaremod";
|
||||
flareBaseTexture = "flarebase";
|
||||
|
||||
sound = BlasterProjectileSound;
|
||||
|
||||
hasLight = true;
|
||||
lightRadius = 3.0;
|
||||
lightColor = "1 0.35 0.35";
|
||||
};
|
||||
|
||||
datablock TurretImageData(DeployableIndoorBarrel)
|
||||
{
|
||||
shapeFile = "turret_muzzlepoint.dts";
|
||||
item = TurretIndoorDeployable; // z0dd - ZOD, 4/25/02. Was wrong: IndoorTurretBarrel
|
||||
|
||||
projectile = IndoorTurretBolt;
|
||||
projectileType = LinearFlareProjectile;
|
||||
|
||||
usesEnergy = true;
|
||||
fireEnergy = 4.5;
|
||||
minEnergy = 4.5;
|
||||
|
||||
lightType = "WeaponFireLight";
|
||||
lightColor = "0.25 0.15 0.15 1.0";
|
||||
lightTime = "1000";
|
||||
lightRadius = "2";
|
||||
|
||||
muzzleFlash = IndoorTurretMuzzleFlash;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 105; // z0dd - ZOD, 3/27/02. Was 150. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 300;
|
||||
thinkTimeMS = 105; // z0dd - ZOD, 3/27/02. Was 150. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 580;
|
||||
degPerSecPhi = 960;
|
||||
attackRadius = 60;
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = IBLSwitchSound;
|
||||
stateTimeoutValue[1] = 1;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateTransitionOnTimeout[3] = "Reload";
|
||||
stateTimeoutValue[3] = 0.3;
|
||||
stateFire[3] = true;
|
||||
stateShockwave[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = IBLFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 0.8;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 1;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
};
|
||||
|
||||
|
||||
datablock EffectProfile(IBLSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_light_activate";
|
||||
minDistance = 5.0;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(IBLFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_indoor_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(IBLSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_light_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = IBLSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(IBLFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_indoor_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = IBLFireEffect;
|
||||
};
|
||||
|
||||
datablock SensorData(DeployedIndoorTurretSensor)
|
||||
{
|
||||
detects = true;
|
||||
detectsUsingLOS = true;
|
||||
detectsPassiveJammed = false;
|
||||
detectsActiveJammed = false;
|
||||
detectsCloaked = false;
|
||||
detectionPings = true;
|
||||
detectRadius = 40;
|
||||
};
|
||||
|
||||
datablock ShockwaveData(IndoorTurretMuzzleFlash)
|
||||
{
|
||||
width = 0.5;
|
||||
numSegments = 13;
|
||||
numVertSegments = 1;
|
||||
velocity = 2.0;
|
||||
acceleration = -1.0;
|
||||
lifetimeMS = 300;
|
||||
height = 0.1;
|
||||
verticalCurve = 0.5;
|
||||
|
||||
mapToTerrain = false;
|
||||
renderBottom = false;
|
||||
orientToNormal = true;
|
||||
renderSquare = true;
|
||||
|
||||
texture[0] = "special/blasterHit";
|
||||
texture[1] = "special/gradient";
|
||||
texWrap = 3.0;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
|
||||
colors[0] = "1.0 0.3 0.3 1.0";
|
||||
colors[1] = "1.0 0.3 0.3 1.0";
|
||||
colors[2] = "1.0 0.3 0.3 0.0";
|
||||
};
|
||||
|
||||
datablock TurretData(TurretDeployedFloorIndoor) : TurretDamageProfile
|
||||
{
|
||||
className = DeployedTurret;
|
||||
shapeFile = "turret_indoor_deployf.dts";
|
||||
|
||||
mass = 5.0;
|
||||
maxDamage = 0.5;
|
||||
destroyedLevel = 0.5;
|
||||
disabledLevel = 0.21;
|
||||
explosion = SmallTurretExplosion;
|
||||
expDmgRadius = 5.0;
|
||||
expDamage = 0.25;
|
||||
expImpulse = 500.0;
|
||||
repairRate = 0;
|
||||
heatSignature = 0.0;
|
||||
|
||||
deployedObject = true;
|
||||
|
||||
thetaMin = 5;
|
||||
thetaMax = 145;
|
||||
thetaNull = 90;
|
||||
|
||||
primaryAxis = zaxis;
|
||||
|
||||
isShielded = true;
|
||||
energyPerDamagePoint = 110;
|
||||
maxEnergy = 30;
|
||||
rechargeRate = 0.10;
|
||||
barrel = DeployableIndoorBarrel;
|
||||
|
||||
canControl = true;
|
||||
cmdCategory = "DTactical";
|
||||
cmdIcon = CMDTurretIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_turret_grey";
|
||||
targetNameTag = 'Spider Clamp';
|
||||
targetTypeTag = 'Turret';
|
||||
sensorData = DeployedIndoorTurretSensor;
|
||||
sensorRadius = DeployedIndoorTurretSensor.detectRadius;
|
||||
sensorColor = "191 0 226";
|
||||
|
||||
firstPersonOnly = true;
|
||||
renderWhenDestroyed = false;
|
||||
|
||||
debrisShapeName = "debris_generic_small.dts";
|
||||
debris = TurretDebrisSmall;
|
||||
};
|
||||
|
||||
datablock TurretData(TurretDeployedWallIndoor) : TurretDamageProfile
|
||||
{
|
||||
className = DeployedTurret;
|
||||
shapeFile = "turret_indoor_deployw.dts";
|
||||
|
||||
mass = 5.0;
|
||||
maxDamage = 0.5;
|
||||
destroyedLevel = 0.5;
|
||||
disabledLevel = 0.21;
|
||||
explosion = SmallTurretExplosion;
|
||||
expDmgRadius = 5.0;
|
||||
expDamage = 0.25;
|
||||
expImpulse = 500.0;
|
||||
repairRate = 0;
|
||||
heatSignature = 0.0;
|
||||
|
||||
thetaMin = 5;
|
||||
thetaMax = 145;
|
||||
thetaNull = 90;
|
||||
|
||||
deployedObject = true;
|
||||
|
||||
primaryAxis = yaxis;
|
||||
|
||||
isShielded = true;
|
||||
energyPerDamagePoint = 110;
|
||||
maxEnergy = 30;
|
||||
rechargeRate = 0.10;
|
||||
barrel = DeployableIndoorBarrel;
|
||||
|
||||
canControl = true;
|
||||
cmdCategory = "DTactical";
|
||||
cmdIcon = CMDTurretIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_turret_grey";
|
||||
targetNameTag = 'Spider Clamp';
|
||||
targetTypeTag = 'Turret';
|
||||
sensorData = DeployedIndoorTurretSensor;
|
||||
sensorRadius = DeployedIndoorTurretSensor.detectRadius;
|
||||
sensorColor = "191 0 226";
|
||||
|
||||
firstPersonOnly = true;
|
||||
renderWhenDestroyed = false;
|
||||
|
||||
debrisShapeName = "debris_generic_small.dts";
|
||||
debris = TurretDebrisSmall;
|
||||
};
|
||||
|
||||
datablock TurretData(TurretDeployedCeilingIndoor) : TurretDamageProfile
|
||||
{
|
||||
className = DeployedTurret;
|
||||
shapeFile = "turret_indoor_deployc.dts";
|
||||
|
||||
mass = 5.0;
|
||||
maxDamage = 0.5;
|
||||
destroyedLevel = 0.5;
|
||||
disabledLevel = 0.21;
|
||||
explosion = SmallTurretExplosion;
|
||||
expDmgRadius = 5.0;
|
||||
expDamage = 0.25;
|
||||
expImpulse = 500.0;
|
||||
repairRate = 0;
|
||||
explosion = SmallTurretExplosion;
|
||||
|
||||
//thetaMin = 5;
|
||||
//thetaMax = 145;
|
||||
thetaMin = 35;
|
||||
thetaMax = 175;
|
||||
thetaNull = 90;
|
||||
heatSignature = 0.0;
|
||||
|
||||
deployedObject = true;
|
||||
|
||||
primaryAxis = revzaxis;
|
||||
|
||||
isShielded = true;
|
||||
energyPerDamagePoint = 110;
|
||||
maxEnergy = 30;
|
||||
rechargeRate = 0.10;
|
||||
barrel = DeployableIndoorBarrel;
|
||||
|
||||
canControl = true;
|
||||
cmdCategory = "DTactical";
|
||||
cmdIcon = CMDTurretIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_turret_grey";
|
||||
targetNameTag = 'Spider Clamp';
|
||||
targetTypeTag = 'Turret';
|
||||
sensorData = DeployedIndoorTurretSensor;
|
||||
sensorRadius = DeployedIndoorTurretSensor.detectRadius;
|
||||
sensorColor = "191 0 226";
|
||||
|
||||
firstPersonOnly = true;
|
||||
renderWhenDestroyed = false;
|
||||
|
||||
debrisShapeName = "debris_generic_small.dts";
|
||||
debris = TurretDebrisSmall;
|
||||
};
|
||||
|
||||
datablock LinearFlareProjectileData(IndoorTurretBolt)
|
||||
{
|
||||
directDamage = 0.14;
|
||||
directDamageType = $DamageType::IndoorDepTurret;
|
||||
explosion = "BlasterExplosion";
|
||||
kickBackStrength = 0.0;
|
||||
|
||||
dryVelocity = 120.0;
|
||||
wetVelocity = 40.0;
|
||||
velInheritFactor = 0.5;
|
||||
fizzleTimeMS = 2000;
|
||||
lifetimeMS = 3000;
|
||||
explodeOnDeath = false;
|
||||
reflectOnWaterImpactAngle = 0.0;
|
||||
explodeOnWaterImpact = false;
|
||||
deflectionOnWaterImpact = 0.0;
|
||||
fizzleUnderwaterMS = 3000;
|
||||
|
||||
numFlares = 20;
|
||||
size = 0.45;
|
||||
flareColor = "1 0.35 0.35";
|
||||
flareModTexture = "flaremod";
|
||||
flareBaseTexture = "flarebase";
|
||||
|
||||
sound = BlasterProjectileSound;
|
||||
|
||||
hasLight = true;
|
||||
lightRadius = 3.0;
|
||||
lightColor = "1 0.35 0.35";
|
||||
};
|
||||
|
||||
datablock TurretImageData(DeployableIndoorBarrel)
|
||||
{
|
||||
shapeFile = "turret_muzzlepoint.dts";
|
||||
item = TurretIndoorDeployable; // z0dd - ZOD, 4/25/02. Was wrong: IndoorTurretBarrel
|
||||
|
||||
projectile = IndoorTurretBolt;
|
||||
projectileType = LinearFlareProjectile;
|
||||
|
||||
usesEnergy = true;
|
||||
fireEnergy = 4.5;
|
||||
minEnergy = 4.5;
|
||||
|
||||
lightType = "WeaponFireLight";
|
||||
lightColor = "0.25 0.15 0.15 1.0";
|
||||
lightTime = "1000";
|
||||
lightRadius = "2";
|
||||
|
||||
muzzleFlash = IndoorTurretMuzzleFlash;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 105; // z0dd - ZOD, 3/27/02. Was 150. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 300;
|
||||
thinkTimeMS = 105; // z0dd - ZOD, 3/27/02. Was 150. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 580;
|
||||
degPerSecPhi = 960;
|
||||
attackRadius = 60;
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = IBLSwitchSound;
|
||||
stateTimeoutValue[1] = 1;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateTransitionOnTimeout[3] = "Reload";
|
||||
stateTimeoutValue[3] = 0.3;
|
||||
stateFire[3] = true;
|
||||
stateShockwave[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = IBLFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 0.8;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 1;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,176 +1,176 @@
|
|||
//--------------------------------------------------------------------------
|
||||
// Large Missile Turret
|
||||
//
|
||||
// z0dd - ZOD, 4/25/02. Labels for sound datablocks were wrong.
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds
|
||||
//--------------------------------------
|
||||
datablock EffectProfile(MILSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_heavy_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(MILFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_missile_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MILSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_missile_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = MILSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MILFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_missile_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = MILFireEffect;
|
||||
};
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Particle effects: Note that we pull the below datablocks from
|
||||
// scripts/weapons/missileLauncher.cs
|
||||
//--------------------------------------
|
||||
//datablock ParticleData(MissileSmokeParticle)
|
||||
//datablock ParticleEmitterData(MissileSmokeEmitter)
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Explosion: from scripts/weapons/disc.cs
|
||||
//--------------------------------------
|
||||
//dataBlock ExplosionData(DiscExplosion)
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Projectile
|
||||
//--------------------------------------
|
||||
datablock SeekerProjectileData(TurretMissile)
|
||||
{
|
||||
casingShapeName = "weapon_missile_casement.dts";
|
||||
projectileShapeName = "weapon_missile_projectile.dts";
|
||||
hasDamageRadius = true;
|
||||
indirectDamage = 1.0;
|
||||
damageRadius = 4.0;
|
||||
radiusDamageType = $DamageType::MissileTurret;
|
||||
kickBackStrength = 2500;
|
||||
|
||||
flareDistance = 200;
|
||||
flareAngle = 30;
|
||||
minSeekHeat = 0.6;
|
||||
|
||||
explosion = "MissileExplosion";
|
||||
velInheritFactor = 0.2;
|
||||
|
||||
splash = MissileSplash;
|
||||
baseEmitter = MissileSmokeEmitter;
|
||||
delayEmitter = MissileFireEmitter;
|
||||
puffEmitter = MissilePuffEmitter;
|
||||
|
||||
lifetimeMS = 20000;
|
||||
muzzleVelocity = 90.0; // z0dd - ZOD, 3/27/02. Was 80. Velocity of projectile
|
||||
turningSpeed = 90.0;
|
||||
|
||||
proximityRadius = 4;
|
||||
|
||||
terrainAvoidanceSpeed = 180;
|
||||
terrainScanAhead = 25;
|
||||
terrainHeightFail = 12;
|
||||
terrainAvoidanceRadius = 100;
|
||||
|
||||
useFlechette = true;
|
||||
flechetteDelayMs = 550;
|
||||
casingDeb = FlechetteDebris;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
//-------------------------------------- Fusion Turret Image
|
||||
//
|
||||
datablock TurretImageData(MissileBarrelLarge)
|
||||
{
|
||||
shapeFile = "turret_missile_large.dts";
|
||||
item = MissileBarrelPack; // z0dd - ZOD, 4/25/02. Was wrong: MissileBarrelLargePack
|
||||
|
||||
projectile = TurretMissile;
|
||||
projectileType = SeekerProjectile;
|
||||
|
||||
usesEnergy = true;
|
||||
fireEnergy = 60.0;
|
||||
minEnergy = 60.0;
|
||||
|
||||
isSeeker = true;
|
||||
seekRadius = 300;
|
||||
maxSeekAngle = 30;
|
||||
seekTime = 1.0;
|
||||
minSeekHeat = 0.6;
|
||||
emap = true;
|
||||
minTargetingDistance = 40;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 175; // z0dd - ZOD, 3/27/02. Was 250. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 500;
|
||||
thinkTimeMS = 140; // z0dd - ZOD, 3/27/02. Was 200. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 580;
|
||||
degPerSecPhi = 1080;
|
||||
attackRadius = 250;
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = MILSwitchSound; // z0dd - ZOD, 3/27/02. Was MBLSwitchSound, changed for sound fix.
|
||||
stateTimeoutValue[1] = 2;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateTransitionOnTimeout[3] = "Reload";
|
||||
stateTimeoutValue[3] = 0.3;
|
||||
stateFire[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = MILFireSound; // z0dd - ZOD, 3/27/02. Was MBLFireSound, changed for sound fix.
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 3.5;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 2;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Large Missile Turret
|
||||
//
|
||||
// z0dd - ZOD, 4/25/02. Labels for sound datablocks were wrong.
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds
|
||||
//--------------------------------------
|
||||
datablock EffectProfile(MILSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_heavy_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(MILFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_missile_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MILSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_missile_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = MILSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MILFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_missile_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = MILFireEffect;
|
||||
};
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Particle effects: Note that we pull the below datablocks from
|
||||
// scripts/weapons/missileLauncher.cs
|
||||
//--------------------------------------
|
||||
//datablock ParticleData(MissileSmokeParticle)
|
||||
//datablock ParticleEmitterData(MissileSmokeEmitter)
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Explosion: from scripts/weapons/disc.cs
|
||||
//--------------------------------------
|
||||
//dataBlock ExplosionData(DiscExplosion)
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Projectile
|
||||
//--------------------------------------
|
||||
datablock SeekerProjectileData(TurretMissile)
|
||||
{
|
||||
casingShapeName = "weapon_missile_casement.dts";
|
||||
projectileShapeName = "weapon_missile_projectile.dts";
|
||||
hasDamageRadius = true;
|
||||
indirectDamage = 1.0;
|
||||
damageRadius = 4.0;
|
||||
radiusDamageType = $DamageType::MissileTurret;
|
||||
kickBackStrength = 2500;
|
||||
|
||||
flareDistance = 200;
|
||||
flareAngle = 30;
|
||||
minSeekHeat = 0.6;
|
||||
|
||||
explosion = "MissileExplosion";
|
||||
velInheritFactor = 0.2;
|
||||
|
||||
splash = MissileSplash;
|
||||
baseEmitter = MissileSmokeEmitter;
|
||||
delayEmitter = MissileFireEmitter;
|
||||
puffEmitter = MissilePuffEmitter;
|
||||
|
||||
lifetimeMS = 20000;
|
||||
muzzleVelocity = 90.0; // z0dd - ZOD, 3/27/02. Was 80. Velocity of projectile
|
||||
turningSpeed = 90.0;
|
||||
|
||||
proximityRadius = 4;
|
||||
|
||||
terrainAvoidanceSpeed = 180;
|
||||
terrainScanAhead = 25;
|
||||
terrainHeightFail = 12;
|
||||
terrainAvoidanceRadius = 100;
|
||||
|
||||
useFlechette = true;
|
||||
flechetteDelayMs = 550;
|
||||
casingDeb = FlechetteDebris;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
//-------------------------------------- Fusion Turret Image
|
||||
//
|
||||
datablock TurretImageData(MissileBarrelLarge)
|
||||
{
|
||||
shapeFile = "turret_missile_large.dts";
|
||||
item = MissileBarrelPack; // z0dd - ZOD, 4/25/02. Was wrong: MissileBarrelLargePack
|
||||
|
||||
projectile = TurretMissile;
|
||||
projectileType = SeekerProjectile;
|
||||
|
||||
usesEnergy = true;
|
||||
fireEnergy = 60.0;
|
||||
minEnergy = 60.0;
|
||||
|
||||
isSeeker = true;
|
||||
seekRadius = 300;
|
||||
maxSeekAngle = 30;
|
||||
seekTime = 1.0;
|
||||
minSeekHeat = 0.6;
|
||||
emap = true;
|
||||
minTargetingDistance = 40;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 175; // z0dd - ZOD, 3/27/02. Was 250. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 500;
|
||||
thinkTimeMS = 140; // z0dd - ZOD, 3/27/02. Was 200. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 580;
|
||||
degPerSecPhi = 1080;
|
||||
attackRadius = 250;
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = MILSwitchSound; // z0dd - ZOD, 3/27/02. Was MBLSwitchSound, changed for sound fix.
|
||||
stateTimeoutValue[1] = 2;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateTransitionOnTimeout[3] = "Reload";
|
||||
stateTimeoutValue[3] = 0.3;
|
||||
stateFire[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = MILFireSound; // z0dd - ZOD, 3/27/02. Was MBLFireSound, changed for sound fix.
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 3.5;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 2;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,161 +1,161 @@
|
|||
//--------------------------------------------------------------------------
|
||||
// Large Mortar Turret
|
||||
//
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds
|
||||
//--------------------------------------
|
||||
datablock EffectProfile(MBLSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_heavy_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(MBLFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_mortar_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MBLSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_heavy_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = MBLSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MBLFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_mortar_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = MBLFireEffect;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Projectile
|
||||
//--------------------------------------
|
||||
|
||||
datablock AudioProfile(MortarTurretProjectileSound)
|
||||
{
|
||||
filename = "fx/weapons/mortar_projectile.wav";
|
||||
description = ProjectileLooping3d;
|
||||
preload = true;
|
||||
};
|
||||
|
||||
datablock GrenadeProjectileData(MortarTurretShot)
|
||||
{
|
||||
projectileShapeName = "mortar_projectile.dts";
|
||||
emitterDelay = -1;
|
||||
directDamage = 0.0;
|
||||
hasDamageRadius = true;
|
||||
indirectDamage = 1.32;
|
||||
damageRadius = 30.0;
|
||||
radiusDamageType = $DamageType::MortarTurret;
|
||||
kickBackStrength = 3000;
|
||||
|
||||
explosion = "MortarExplosion";
|
||||
velInheritFactor = 0.5;
|
||||
splash = MortarSplash;
|
||||
|
||||
baseEmitter = MortarSmokeEmitter;
|
||||
bubbleEmitter = MortarBubbleEmitter;
|
||||
|
||||
grenadeElasticity = 0.25;
|
||||
grenadeFriction = 0.4;
|
||||
armingDelayMS = 1500; // z0dd - ZOD, 4/25/02. Was 2000
|
||||
gravityMod = 1.2; // z0dd - ZOD, 5/18/02. Make mortar projectile heavier, less floaty
|
||||
muzzleVelocity = 75.95; // z0dd - ZOD, 8/13/02. More speed to compensate for higher gravity. Was 63.7
|
||||
drag = 0.1;
|
||||
|
||||
sound = MortarTurretProjectileSound;
|
||||
|
||||
hasLight = true;
|
||||
lightRadius = 3;
|
||||
lightColor = "0.05 0.2 0.05";
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
//-------------------------------------- Fusion Turret Image
|
||||
//
|
||||
datablock TurretImageData(MortarBarrelLarge)
|
||||
{
|
||||
shapeFile = "turret_mortar_large.dts";
|
||||
item = MortarBarrelPack; // z0dd - ZOD, 4/25/02. Was wrong: MortarBarrelLargePack
|
||||
|
||||
projectile = MortarTurretShot;
|
||||
projectileType = GrenadeProjectile;
|
||||
usesEnergy = true;
|
||||
fireEnergy = 30;
|
||||
minEnergy = 30;
|
||||
emap = true;
|
||||
|
||||
// don't let a mortar turret blow itself up
|
||||
dontFireInsideDamageRadius = true;
|
||||
damageRadius = 40;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 700; // z0dd - ZOD, 4/25/02. Was 1000. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 1500;
|
||||
thinkTimeMS = 140; // z0dd - ZOD, 4/25/02. Was 200. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 580;
|
||||
degPerSecPhi = 960;
|
||||
attackRadius = 400; // z0dd - ZOD, 4/25/02. Was 160
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = MBLSwitchSound;
|
||||
stateTimeoutValue[1] = 1;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateTransitionOnTimeout[3] = "Reload";
|
||||
stateTimeoutValue[3] = 0.3;
|
||||
stateFire[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = MBLFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 1.5;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 1;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
};
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Large Mortar Turret
|
||||
//
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds
|
||||
//--------------------------------------
|
||||
datablock EffectProfile(MBLSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_heavy_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(MBLFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_mortar_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MBLSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_heavy_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = MBLSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MBLFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_mortar_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = MBLFireEffect;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Projectile
|
||||
//--------------------------------------
|
||||
|
||||
datablock AudioProfile(MortarTurretProjectileSound)
|
||||
{
|
||||
filename = "fx/weapons/mortar_projectile.wav";
|
||||
description = ProjectileLooping3d;
|
||||
preload = true;
|
||||
};
|
||||
|
||||
datablock GrenadeProjectileData(MortarTurretShot)
|
||||
{
|
||||
projectileShapeName = "mortar_projectile.dts";
|
||||
emitterDelay = -1;
|
||||
directDamage = 0.0;
|
||||
hasDamageRadius = true;
|
||||
indirectDamage = 1.32;
|
||||
damageRadius = 30.0;
|
||||
radiusDamageType = $DamageType::MortarTurret;
|
||||
kickBackStrength = 3000;
|
||||
|
||||
explosion = "MortarExplosion";
|
||||
velInheritFactor = 0.5;
|
||||
splash = MortarSplash;
|
||||
|
||||
baseEmitter = MortarSmokeEmitter;
|
||||
bubbleEmitter = MortarBubbleEmitter;
|
||||
|
||||
grenadeElasticity = 0.25;
|
||||
grenadeFriction = 0.4;
|
||||
armingDelayMS = 1500; // z0dd - ZOD, 4/25/02. Was 2000
|
||||
gravityMod = 1.2; // z0dd - ZOD, 5/18/02. Make mortar projectile heavier, less floaty
|
||||
muzzleVelocity = 75.95; // z0dd - ZOD, 8/13/02. More speed to compensate for higher gravity. Was 63.7
|
||||
drag = 0.1;
|
||||
|
||||
sound = MortarTurretProjectileSound;
|
||||
|
||||
hasLight = true;
|
||||
lightRadius = 3;
|
||||
lightColor = "0.05 0.2 0.05";
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
//-------------------------------------- Fusion Turret Image
|
||||
//
|
||||
datablock TurretImageData(MortarBarrelLarge)
|
||||
{
|
||||
shapeFile = "turret_mortar_large.dts";
|
||||
item = MortarBarrelPack; // z0dd - ZOD, 4/25/02. Was wrong: MortarBarrelLargePack
|
||||
|
||||
projectile = MortarTurretShot;
|
||||
projectileType = GrenadeProjectile;
|
||||
usesEnergy = true;
|
||||
fireEnergy = 30;
|
||||
minEnergy = 30;
|
||||
emap = true;
|
||||
|
||||
// don't let a mortar turret blow itself up
|
||||
dontFireInsideDamageRadius = true;
|
||||
damageRadius = 40;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 700; // z0dd - ZOD, 4/25/02. Was 1000. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 1500;
|
||||
thinkTimeMS = 140; // z0dd - ZOD, 4/25/02. Was 200. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 580;
|
||||
degPerSecPhi = 960;
|
||||
attackRadius = 400; // z0dd - ZOD, 4/25/02. Was 160
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = MBLSwitchSound;
|
||||
stateTimeoutValue[1] = 1;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateTransitionOnTimeout[3] = "Reload";
|
||||
stateTimeoutValue[3] = 0.3;
|
||||
stateFire[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = MBLFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 1.5;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 1;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,251 +1,251 @@
|
|||
// --------------------------------------------------------------
|
||||
// Outdoor Deployable Turret barrel
|
||||
// --------------------------------------------------------------
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Sound datablocks
|
||||
// --------------------------------------------------------------
|
||||
datablock EffectProfile(OBLSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_light_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(OBLFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_outdoor_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(OBLSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_light_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = OBLSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(OBLFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_outdoor_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = OBLFireEffect;
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Projectile data
|
||||
// --------------------------------------------------------------
|
||||
|
||||
datablock TracerProjectileData(FusionBolt)
|
||||
{
|
||||
doDynamicClientHits = true;
|
||||
|
||||
projectileShapeName = "";
|
||||
directDamage = 0.0;
|
||||
directDamageType = $DamageType::OutdoorDepTurret;
|
||||
hasDamageRadius = true;
|
||||
indirectDamage = 0.24;
|
||||
damageRadius = 4.0;
|
||||
kickBackStrength = 0.0;
|
||||
radiusDamageType = $DamageType::OutdoorDepTurret;
|
||||
sound = BlasterProjectileSound;
|
||||
explosion = PlasmaBoltExplosion;
|
||||
|
||||
dryVelocity = 60.0;
|
||||
wetVelocity = 40.0;
|
||||
velInheritFactor = 1.0;
|
||||
fizzleTimeMS = 4000;
|
||||
lifetimeMS = 6000;
|
||||
explodeOnDeath = false;
|
||||
reflectOnWaterImpactAngle = 0.0;
|
||||
explodeOnWaterImpact = true;
|
||||
deflectionOnWaterImpact = 0.0;
|
||||
fizzleUnderwaterMS = -1;
|
||||
|
||||
activateDelayMS = 100;
|
||||
|
||||
tracerLength = 5;
|
||||
tracerAlpha = false;
|
||||
tracerMinPixels = 3;
|
||||
tracerColor = "1 0 0 1";
|
||||
tracerTex[0] = "special/landSpikeBolt";
|
||||
tracerTex[1] = "special/landSpikeBoltCross";
|
||||
tracerWidth = 0.35;
|
||||
crossSize = 0.79;
|
||||
crossViewAng = 0.990;
|
||||
renderCross = true;
|
||||
emap = true;
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------
|
||||
|
||||
datablock SensorData(DeployedOutdoorTurretSensor)
|
||||
{
|
||||
detects = true;
|
||||
detectsUsingLOS = true;
|
||||
detectsPassiveJammed = false;
|
||||
detectsActiveJammed = false;
|
||||
detectsCloaked = false;
|
||||
detectionPings = true;
|
||||
detectRadius = 60;
|
||||
};
|
||||
|
||||
datablock ShockwaveData(OutdoorTurretMuzzleFlash)
|
||||
{
|
||||
width = 0.5;
|
||||
numSegments = 13;
|
||||
numVertSegments = 1;
|
||||
velocity = 2.0;
|
||||
acceleration = -1.0;
|
||||
lifetimeMS = 300;
|
||||
height = 0.1;
|
||||
verticalCurve = 0.5;
|
||||
|
||||
mapToTerrain = false;
|
||||
renderBottom = false;
|
||||
orientToNormal = true;
|
||||
renderSquare = true;
|
||||
|
||||
texture[0] = "special/blasterHit";
|
||||
texture[1] = "special/gradient";
|
||||
texWrap = 3.0;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
|
||||
colors[0] = "1.0 0.8 0.5 1.0";
|
||||
colors[1] = "1.0 0.8 0.5 1.0";
|
||||
colors[2] = "1.0 0.8 0.5 0.0";
|
||||
};
|
||||
|
||||
datablock TurretData(TurretDeployedOutdoor) : TurretDamageProfile
|
||||
{
|
||||
className = DeployedTurret;
|
||||
shapeFile = "turret_outdoor_deploy.dts";
|
||||
|
||||
rechargeRate = 0.15;
|
||||
|
||||
mass = 5.0;
|
||||
maxDamage = 0.80;
|
||||
destroyedLevel = 0.80;
|
||||
disabledLevel = 0.35;
|
||||
explosion = HandGrenadeExplosion;
|
||||
expDmgRadius = 5.0;
|
||||
expDamage = 0.3;
|
||||
expImpulse = 500.0;
|
||||
repairRate = 0;
|
||||
|
||||
deployedObject = true;
|
||||
|
||||
thetaMin = 0;
|
||||
thetaMax = 145;
|
||||
thetaNull = 90;
|
||||
|
||||
yawVariance = 30.0; // these will smooth out the elf tracking code.
|
||||
pitchVariance = 30.0; // more or less just tolerances
|
||||
|
||||
isShielded = true;
|
||||
energyPerDamagePoint = 110;
|
||||
maxEnergy = 60;
|
||||
renderWhenDestroyed = false;
|
||||
barrel = DeployableOutdoorBarrel;
|
||||
heatSignature = 0;
|
||||
|
||||
canControl = true;
|
||||
cmdCategory = "DTactical";
|
||||
cmdIcon = CMDTurretIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_turret_grey";
|
||||
targetNameTag = 'Landspike';
|
||||
targetTypeTag = 'Turret';
|
||||
sensorData = DeployedOutdoorTurretSensor;
|
||||
sensorRadius = DeployedOutdoorTurretSensor.detectRadius;
|
||||
sensorColor = "191 0 226";
|
||||
|
||||
firstPersonOnly = true;
|
||||
|
||||
debrisShapeName = "debris_generic_small.dts";
|
||||
debris = TurretDebrisSmall;
|
||||
};
|
||||
|
||||
datablock TurretImageData(DeployableOutdoorBarrel)
|
||||
{
|
||||
shapeFile = "turret_muzzlepoint.dts";
|
||||
item = TurretOutdoorDeployable; // z0dd - ZOD, 4/25/02. Was wrong: OutdoorTurretBarrel
|
||||
|
||||
projectileType = TracerProjectile;
|
||||
projectile = FusionBolt;
|
||||
usesEnergy = true;
|
||||
fireEnergy = 11.0;
|
||||
minEnergy = 11.0;
|
||||
|
||||
lightType = "WeaponFireLight";
|
||||
lightColor = "0.25 0.25 0.15 0.2";
|
||||
lightTime = "1000";
|
||||
lightRadius = "2";
|
||||
|
||||
muzzleFlash = OutdoorTurretMuzzleFlash;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 210; // z0dd - ZOD, 3/27/02. Was 300. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 600;
|
||||
thinkTimeMS = 140; // z0dd - ZOD, 3/27/02. Was 200. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 580;
|
||||
degPerSecPhi = 960;
|
||||
attackRadius = 100;
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = OBLSwitchSound;
|
||||
stateTimeoutValue[1] = 1;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateTransitionOnTimeout[3] = "Reload";
|
||||
stateTimeoutValue[3] = 0.3;
|
||||
stateFire[3] = true;
|
||||
stateShockwave[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = OBLFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 1.2;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 1;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Outdoor Deployable Turret barrel
|
||||
// --------------------------------------------------------------
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Sound datablocks
|
||||
// --------------------------------------------------------------
|
||||
datablock EffectProfile(OBLSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_light_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(OBLFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_outdoor_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(OBLSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_light_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = OBLSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(OBLFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_outdoor_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = OBLFireEffect;
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Projectile data
|
||||
// --------------------------------------------------------------
|
||||
|
||||
datablock TracerProjectileData(FusionBolt)
|
||||
{
|
||||
doDynamicClientHits = true;
|
||||
|
||||
projectileShapeName = "";
|
||||
directDamage = 0.0;
|
||||
directDamageType = $DamageType::OutdoorDepTurret;
|
||||
hasDamageRadius = true;
|
||||
indirectDamage = 0.24;
|
||||
damageRadius = 4.0;
|
||||
kickBackStrength = 0.0;
|
||||
radiusDamageType = $DamageType::OutdoorDepTurret;
|
||||
sound = BlasterProjectileSound;
|
||||
explosion = PlasmaBoltExplosion;
|
||||
|
||||
dryVelocity = 60.0;
|
||||
wetVelocity = 40.0;
|
||||
velInheritFactor = 1.0;
|
||||
fizzleTimeMS = 4000;
|
||||
lifetimeMS = 6000;
|
||||
explodeOnDeath = false;
|
||||
reflectOnWaterImpactAngle = 0.0;
|
||||
explodeOnWaterImpact = true;
|
||||
deflectionOnWaterImpact = 0.0;
|
||||
fizzleUnderwaterMS = -1;
|
||||
|
||||
activateDelayMS = 100;
|
||||
|
||||
tracerLength = 5;
|
||||
tracerAlpha = false;
|
||||
tracerMinPixels = 3;
|
||||
tracerColor = "1 0 0 1";
|
||||
tracerTex[0] = "special/landSpikeBolt";
|
||||
tracerTex[1] = "special/landSpikeBoltCross";
|
||||
tracerWidth = 0.35;
|
||||
crossSize = 0.79;
|
||||
crossViewAng = 0.990;
|
||||
renderCross = true;
|
||||
emap = true;
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------
|
||||
|
||||
datablock SensorData(DeployedOutdoorTurretSensor)
|
||||
{
|
||||
detects = true;
|
||||
detectsUsingLOS = true;
|
||||
detectsPassiveJammed = false;
|
||||
detectsActiveJammed = false;
|
||||
detectsCloaked = false;
|
||||
detectionPings = true;
|
||||
detectRadius = 60;
|
||||
};
|
||||
|
||||
datablock ShockwaveData(OutdoorTurretMuzzleFlash)
|
||||
{
|
||||
width = 0.5;
|
||||
numSegments = 13;
|
||||
numVertSegments = 1;
|
||||
velocity = 2.0;
|
||||
acceleration = -1.0;
|
||||
lifetimeMS = 300;
|
||||
height = 0.1;
|
||||
verticalCurve = 0.5;
|
||||
|
||||
mapToTerrain = false;
|
||||
renderBottom = false;
|
||||
orientToNormal = true;
|
||||
renderSquare = true;
|
||||
|
||||
texture[0] = "special/blasterHit";
|
||||
texture[1] = "special/gradient";
|
||||
texWrap = 3.0;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
|
||||
colors[0] = "1.0 0.8 0.5 1.0";
|
||||
colors[1] = "1.0 0.8 0.5 1.0";
|
||||
colors[2] = "1.0 0.8 0.5 0.0";
|
||||
};
|
||||
|
||||
datablock TurretData(TurretDeployedOutdoor) : TurretDamageProfile
|
||||
{
|
||||
className = DeployedTurret;
|
||||
shapeFile = "turret_outdoor_deploy.dts";
|
||||
|
||||
rechargeRate = 0.15;
|
||||
|
||||
mass = 5.0;
|
||||
maxDamage = 0.80;
|
||||
destroyedLevel = 0.80;
|
||||
disabledLevel = 0.35;
|
||||
explosion = HandGrenadeExplosion;
|
||||
expDmgRadius = 5.0;
|
||||
expDamage = 0.3;
|
||||
expImpulse = 500.0;
|
||||
repairRate = 0;
|
||||
|
||||
deployedObject = true;
|
||||
|
||||
thetaMin = 0;
|
||||
thetaMax = 145;
|
||||
thetaNull = 90;
|
||||
|
||||
yawVariance = 30.0; // these will smooth out the elf tracking code.
|
||||
pitchVariance = 30.0; // more or less just tolerances
|
||||
|
||||
isShielded = true;
|
||||
energyPerDamagePoint = 110;
|
||||
maxEnergy = 60;
|
||||
renderWhenDestroyed = false;
|
||||
barrel = DeployableOutdoorBarrel;
|
||||
heatSignature = 0;
|
||||
|
||||
canControl = true;
|
||||
cmdCategory = "DTactical";
|
||||
cmdIcon = CMDTurretIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_turret_grey";
|
||||
targetNameTag = 'Landspike';
|
||||
targetTypeTag = 'Turret';
|
||||
sensorData = DeployedOutdoorTurretSensor;
|
||||
sensorRadius = DeployedOutdoorTurretSensor.detectRadius;
|
||||
sensorColor = "191 0 226";
|
||||
|
||||
firstPersonOnly = true;
|
||||
|
||||
debrisShapeName = "debris_generic_small.dts";
|
||||
debris = TurretDebrisSmall;
|
||||
};
|
||||
|
||||
datablock TurretImageData(DeployableOutdoorBarrel)
|
||||
{
|
||||
shapeFile = "turret_muzzlepoint.dts";
|
||||
item = TurretOutdoorDeployable; // z0dd - ZOD, 4/25/02. Was wrong: OutdoorTurretBarrel
|
||||
|
||||
projectileType = TracerProjectile;
|
||||
projectile = FusionBolt;
|
||||
usesEnergy = true;
|
||||
fireEnergy = 11.0;
|
||||
minEnergy = 11.0;
|
||||
|
||||
lightType = "WeaponFireLight";
|
||||
lightColor = "0.25 0.25 0.15 0.2";
|
||||
lightTime = "1000";
|
||||
lightRadius = "2";
|
||||
|
||||
muzzleFlash = OutdoorTurretMuzzleFlash;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 210; // z0dd - ZOD, 3/27/02. Was 300. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 600;
|
||||
thinkTimeMS = 140; // z0dd - ZOD, 3/27/02. Was 200. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 580;
|
||||
degPerSecPhi = 960;
|
||||
attackRadius = 100;
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = OBLSwitchSound;
|
||||
stateTimeoutValue[1] = 1;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateTransitionOnTimeout[3] = "Reload";
|
||||
stateTimeoutValue[3] = 0.3;
|
||||
stateFire[3] = true;
|
||||
stateShockwave[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = OBLFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 1.2;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 1;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,324 +1,324 @@
|
|||
//--------------------------------------------------------------------------
|
||||
// Plasma Turret
|
||||
//
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds
|
||||
//--------------------------------------------------------------------------
|
||||
datablock EffectProfile(PBLSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_light_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(PBLFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_plasma_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(PBLSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_light_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = PBLSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(PBLFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_plasma_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = PBLFireEffect;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Explosion
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
datablock AudioProfile(PlasmaBarrelExpSound)
|
||||
{
|
||||
filename = "fx/powered/turret_plasma_explode.wav";
|
||||
description = "AudioExplosion3d";
|
||||
preload = true;
|
||||
};
|
||||
|
||||
|
||||
datablock ParticleData( PlasmaBarrelCrescentParticle )
|
||||
{
|
||||
dragCoefficient = 2;
|
||||
gravityCoefficient = 0.0;
|
||||
inheritedVelFactor = 0.2;
|
||||
constantAcceleration = -0.0;
|
||||
lifetimeMS = 600;
|
||||
lifetimeVarianceMS = 000;
|
||||
textureName = "special/crescent3";
|
||||
|
||||
colors[0] = "0.3 0.4 1.0 1.0";
|
||||
colors[1] = "0.3 0.4 1.0 0.5";
|
||||
colors[2] = "0.3 0.4 1.0 0.0";
|
||||
sizes[0] = 2.0;
|
||||
sizes[1] = 4.0;
|
||||
sizes[2] = 5.0;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData( PlasmaBarrelCrescentEmitter )
|
||||
{
|
||||
ejectionPeriodMS = 25;
|
||||
periodVarianceMS = 0;
|
||||
ejectionVelocity = 20;
|
||||
velocityVariance = 5.0;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 0;
|
||||
thetaMax = 80;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
orientParticles = true;
|
||||
lifetimeMS = 200;
|
||||
particles = "PlasmaBarrelCrescentParticle";
|
||||
};
|
||||
|
||||
datablock ParticleData(PlasmaBarrelExplosionParticle)
|
||||
{
|
||||
dragCoefficient = 2;
|
||||
gravityCoefficient = 0.2;
|
||||
inheritedVelFactor = 0.2;
|
||||
constantAcceleration = 0.0;
|
||||
lifetimeMS = 750;
|
||||
lifetimeVarianceMS = 150;
|
||||
textureName = "particleTest";
|
||||
colors[0] = "0.3 0.4 1.0 1.0";
|
||||
colors[1] = "0.3 0.4 1.0 0.0";
|
||||
sizes[0] = 1;
|
||||
sizes[1] = 2;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(PlasmaBarrelExplosionEmitter)
|
||||
{
|
||||
ejectionPeriodMS = 7;
|
||||
periodVarianceMS = 0;
|
||||
ejectionVelocity = 12;
|
||||
velocityVariance = 1.75;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 0;
|
||||
thetaMax = 60;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
particles = "PlasmaBarrelExplosionParticle";
|
||||
};
|
||||
|
||||
|
||||
datablock ExplosionData(PlasmaBarrelSubExplosion1)
|
||||
{
|
||||
explosionShape = "disc_explosion.dts";
|
||||
faceViewer = true;
|
||||
|
||||
delayMS = 50;
|
||||
|
||||
offset = 3.0;
|
||||
|
||||
playSpeed = 1.5;
|
||||
|
||||
sizes[0] = "0.25 0.25 0.25";
|
||||
sizes[1] = "0.25 0.25 0.25";
|
||||
times[0] = 0.0;
|
||||
times[1] = 1.0;
|
||||
|
||||
};
|
||||
|
||||
datablock ExplosionData(PlasmaBarrelSubExplosion2)
|
||||
{
|
||||
explosionShape = "disc_explosion.dts";
|
||||
faceViewer = true;
|
||||
|
||||
delayMS = 100;
|
||||
|
||||
offset = 3.5;
|
||||
|
||||
playSpeed = 1.0;
|
||||
|
||||
sizes[0] = "0.5 0.5 0.5";
|
||||
sizes[1] = "0.5 0.5 0.5";
|
||||
times[0] = 0.0;
|
||||
times[1] = 1.0;
|
||||
};
|
||||
|
||||
datablock ExplosionData(PlasmaBarrelSubExplosion3)
|
||||
{
|
||||
explosionShape = "disc_explosion.dts";
|
||||
faceViewer = true;
|
||||
|
||||
delayMS = 0;
|
||||
|
||||
offset = 0.0;
|
||||
|
||||
playSpeed = 0.7;
|
||||
|
||||
|
||||
sizes[0] = "0.5 0.5 0.5";
|
||||
sizes[1] = "1.0 1.0 1.0";
|
||||
times[0] = 0.0;
|
||||
times[1] = 1.0;
|
||||
|
||||
};
|
||||
|
||||
datablock ExplosionData(PlasmaBarrelBoltExplosion)
|
||||
{
|
||||
soundProfile = PlasmaBarrelExpSound;
|
||||
particleEmitter = PlasmaBarrelExplosionEmitter;
|
||||
particleDensity = 250;
|
||||
particleRadius = 1.25;
|
||||
faceViewer = true;
|
||||
|
||||
emitter[0] = PlasmaBarrelCrescentEmitter;
|
||||
|
||||
subExplosion[0] = PlasmaBarrelSubExplosion1;
|
||||
subExplosion[1] = PlasmaBarrelSubExplosion2;
|
||||
subExplosion[2] = PlasmaBarrelSubExplosion3;
|
||||
|
||||
shakeCamera = true;
|
||||
camShakeFreq = "10.0 9.0 9.0";
|
||||
camShakeAmp = "10.0 10.0 10.0";
|
||||
camShakeDuration = 0.5;
|
||||
camShakeRadius = 15.0;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Projectile
|
||||
//--------------------------------------
|
||||
|
||||
datablock LinearFlareProjectileData(PlasmaBarrelBolt)
|
||||
{
|
||||
doDynamicClientHits = true;
|
||||
|
||||
directDamage = 0;
|
||||
directDamageType = $DamageType::PlasmaTurret;
|
||||
hasDamageRadius = true;
|
||||
indirectDamage = 1.2; // z0dd - ZOD, 4/25/02. Was 0.5
|
||||
damageRadius = 10.0;
|
||||
kickBackStrength = 500;
|
||||
radiusDamageType = $DamageType::PlasmaTurret;
|
||||
explosion = PlasmaBarrelBoltExplosion;
|
||||
splash = PlasmaSplash;
|
||||
|
||||
dryVelocity = 75.0; // z0dd - ZOD, 4/25/02. Was 50. Velocity of projectile out of water
|
||||
wetVelocity = -1;
|
||||
velInheritFactor = 1.0;
|
||||
fizzleTimeMS = 4000;
|
||||
lifetimeMS = 4000; // z0dd - ZOD, 4/25/02. Was 6000
|
||||
explodeOnDeath = false;
|
||||
reflectOnWaterImpactAngle = 0.0;
|
||||
explodeOnWaterImpact = true;
|
||||
deflectionOnWaterImpact = 0.0;
|
||||
fizzleUnderwaterMS = -1;
|
||||
|
||||
activateDelayMS = 100;
|
||||
|
||||
scale = "1.5 1.5 1.5";
|
||||
numFlares = 30;
|
||||
flareColor = "0.1 0.3 1.0";
|
||||
flareModTexture = "flaremod";
|
||||
flareBaseTexture = "flarebase";
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Plasma Turret Image
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
datablock TurretImageData(PlasmaBarrelLarge)
|
||||
{
|
||||
shapeFile = "turret_fusion_large.dts";
|
||||
item = PlasmaBarrelPack; // z0dd - ZOD, 4/25/02. Was wrong: PlasmaBarrelLargePack
|
||||
|
||||
projectile = PlasmaBarrelBolt;
|
||||
projectileType = LinearFlareProjectile;
|
||||
usesEnergy = true;
|
||||
fireEnergy = 10;
|
||||
minEnergy = 10;
|
||||
emap = true;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 700; // z0dd - ZOD, 3/27/02. Was 1000. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 1500;
|
||||
thinkTimeMS = 140; // z0dd - ZOD, 3/27/02. Was 200. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 300;
|
||||
degPerSecPhi = 500;
|
||||
attackRadius = 150; // z0dd - ZOD, 3/27/02. Was 120
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = PBLSwitchSound;
|
||||
stateTimeoutValue[1] = 1;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateTransitionOnTimeout[3] = "Reload";
|
||||
stateTimeoutValue[3] = 0.3;
|
||||
stateFire[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = PBLFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 0.80;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 1;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Plasma Turret
|
||||
//
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds
|
||||
//--------------------------------------------------------------------------
|
||||
datablock EffectProfile(PBLSwitchEffect)
|
||||
{
|
||||
effectname = "powered/turret_light_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(PBLFireEffect)
|
||||
{
|
||||
effectname = "powered/turret_plasma_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock AudioProfile(PBLSwitchSound)
|
||||
{
|
||||
filename = "fx/powered/turret_light_activate.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = PBLSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(PBLFireSound)
|
||||
{
|
||||
filename = "fx/powered/turret_plasma_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = PBLFireEffect;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Explosion
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
datablock AudioProfile(PlasmaBarrelExpSound)
|
||||
{
|
||||
filename = "fx/powered/turret_plasma_explode.wav";
|
||||
description = "AudioExplosion3d";
|
||||
preload = true;
|
||||
};
|
||||
|
||||
|
||||
datablock ParticleData( PlasmaBarrelCrescentParticle )
|
||||
{
|
||||
dragCoefficient = 2;
|
||||
gravityCoefficient = 0.0;
|
||||
inheritedVelFactor = 0.2;
|
||||
constantAcceleration = -0.0;
|
||||
lifetimeMS = 600;
|
||||
lifetimeVarianceMS = 000;
|
||||
textureName = "special/crescent3";
|
||||
|
||||
colors[0] = "0.3 0.4 1.0 1.0";
|
||||
colors[1] = "0.3 0.4 1.0 0.5";
|
||||
colors[2] = "0.3 0.4 1.0 0.0";
|
||||
sizes[0] = 2.0;
|
||||
sizes[1] = 4.0;
|
||||
sizes[2] = 5.0;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData( PlasmaBarrelCrescentEmitter )
|
||||
{
|
||||
ejectionPeriodMS = 25;
|
||||
periodVarianceMS = 0;
|
||||
ejectionVelocity = 20;
|
||||
velocityVariance = 5.0;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 0;
|
||||
thetaMax = 80;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
orientParticles = true;
|
||||
lifetimeMS = 200;
|
||||
particles = "PlasmaBarrelCrescentParticle";
|
||||
};
|
||||
|
||||
datablock ParticleData(PlasmaBarrelExplosionParticle)
|
||||
{
|
||||
dragCoefficient = 2;
|
||||
gravityCoefficient = 0.2;
|
||||
inheritedVelFactor = 0.2;
|
||||
constantAcceleration = 0.0;
|
||||
lifetimeMS = 750;
|
||||
lifetimeVarianceMS = 150;
|
||||
textureName = "particleTest";
|
||||
colors[0] = "0.3 0.4 1.0 1.0";
|
||||
colors[1] = "0.3 0.4 1.0 0.0";
|
||||
sizes[0] = 1;
|
||||
sizes[1] = 2;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(PlasmaBarrelExplosionEmitter)
|
||||
{
|
||||
ejectionPeriodMS = 7;
|
||||
periodVarianceMS = 0;
|
||||
ejectionVelocity = 12;
|
||||
velocityVariance = 1.75;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 0;
|
||||
thetaMax = 60;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
particles = "PlasmaBarrelExplosionParticle";
|
||||
};
|
||||
|
||||
|
||||
datablock ExplosionData(PlasmaBarrelSubExplosion1)
|
||||
{
|
||||
explosionShape = "disc_explosion.dts";
|
||||
faceViewer = true;
|
||||
|
||||
delayMS = 50;
|
||||
|
||||
offset = 3.0;
|
||||
|
||||
playSpeed = 1.5;
|
||||
|
||||
sizes[0] = "0.25 0.25 0.25";
|
||||
sizes[1] = "0.25 0.25 0.25";
|
||||
times[0] = 0.0;
|
||||
times[1] = 1.0;
|
||||
|
||||
};
|
||||
|
||||
datablock ExplosionData(PlasmaBarrelSubExplosion2)
|
||||
{
|
||||
explosionShape = "disc_explosion.dts";
|
||||
faceViewer = true;
|
||||
|
||||
delayMS = 100;
|
||||
|
||||
offset = 3.5;
|
||||
|
||||
playSpeed = 1.0;
|
||||
|
||||
sizes[0] = "0.5 0.5 0.5";
|
||||
sizes[1] = "0.5 0.5 0.5";
|
||||
times[0] = 0.0;
|
||||
times[1] = 1.0;
|
||||
};
|
||||
|
||||
datablock ExplosionData(PlasmaBarrelSubExplosion3)
|
||||
{
|
||||
explosionShape = "disc_explosion.dts";
|
||||
faceViewer = true;
|
||||
|
||||
delayMS = 0;
|
||||
|
||||
offset = 0.0;
|
||||
|
||||
playSpeed = 0.7;
|
||||
|
||||
|
||||
sizes[0] = "0.5 0.5 0.5";
|
||||
sizes[1] = "1.0 1.0 1.0";
|
||||
times[0] = 0.0;
|
||||
times[1] = 1.0;
|
||||
|
||||
};
|
||||
|
||||
datablock ExplosionData(PlasmaBarrelBoltExplosion)
|
||||
{
|
||||
soundProfile = PlasmaBarrelExpSound;
|
||||
particleEmitter = PlasmaBarrelExplosionEmitter;
|
||||
particleDensity = 250;
|
||||
particleRadius = 1.25;
|
||||
faceViewer = true;
|
||||
|
||||
emitter[0] = PlasmaBarrelCrescentEmitter;
|
||||
|
||||
subExplosion[0] = PlasmaBarrelSubExplosion1;
|
||||
subExplosion[1] = PlasmaBarrelSubExplosion2;
|
||||
subExplosion[2] = PlasmaBarrelSubExplosion3;
|
||||
|
||||
shakeCamera = true;
|
||||
camShakeFreq = "10.0 9.0 9.0";
|
||||
camShakeAmp = "10.0 10.0 10.0";
|
||||
camShakeDuration = 0.5;
|
||||
camShakeRadius = 15.0;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Projectile
|
||||
//--------------------------------------
|
||||
|
||||
datablock LinearFlareProjectileData(PlasmaBarrelBolt)
|
||||
{
|
||||
doDynamicClientHits = true;
|
||||
|
||||
directDamage = 0;
|
||||
directDamageType = $DamageType::PlasmaTurret;
|
||||
hasDamageRadius = true;
|
||||
indirectDamage = 1.2; // z0dd - ZOD, 4/25/02. Was 0.5
|
||||
damageRadius = 10.0;
|
||||
kickBackStrength = 500;
|
||||
radiusDamageType = $DamageType::PlasmaTurret;
|
||||
explosion = PlasmaBarrelBoltExplosion;
|
||||
splash = PlasmaSplash;
|
||||
|
||||
dryVelocity = 75.0; // z0dd - ZOD, 4/25/02. Was 50. Velocity of projectile out of water
|
||||
wetVelocity = -1;
|
||||
velInheritFactor = 1.0;
|
||||
fizzleTimeMS = 4000;
|
||||
lifetimeMS = 4000; // z0dd - ZOD, 4/25/02. Was 6000
|
||||
explodeOnDeath = false;
|
||||
reflectOnWaterImpactAngle = 0.0;
|
||||
explodeOnWaterImpact = true;
|
||||
deflectionOnWaterImpact = 0.0;
|
||||
fizzleUnderwaterMS = -1;
|
||||
|
||||
activateDelayMS = 100;
|
||||
|
||||
scale = "1.5 1.5 1.5";
|
||||
numFlares = 30;
|
||||
flareColor = "0.1 0.3 1.0";
|
||||
flareModTexture = "flaremod";
|
||||
flareBaseTexture = "flarebase";
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Plasma Turret Image
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
datablock TurretImageData(PlasmaBarrelLarge)
|
||||
{
|
||||
shapeFile = "turret_fusion_large.dts";
|
||||
item = PlasmaBarrelPack; // z0dd - ZOD, 4/25/02. Was wrong: PlasmaBarrelLargePack
|
||||
|
||||
projectile = PlasmaBarrelBolt;
|
||||
projectileType = LinearFlareProjectile;
|
||||
usesEnergy = true;
|
||||
fireEnergy = 10;
|
||||
minEnergy = 10;
|
||||
emap = true;
|
||||
|
||||
// Turret parameters
|
||||
activationMS = 700; // z0dd - ZOD, 3/27/02. Was 1000. Amount of time it takes turret to unfold
|
||||
deactivateDelayMS = 1500;
|
||||
thinkTimeMS = 140; // z0dd - ZOD, 3/27/02. Was 200. Amount of time before turret starts to unfold (activate)
|
||||
degPerSecTheta = 300;
|
||||
degPerSecPhi = 500;
|
||||
attackRadius = 150; // z0dd - ZOD, 3/27/02. Was 120
|
||||
|
||||
// State transitions
|
||||
stateName[0] = "Activate";
|
||||
stateTransitionOnNotLoaded[0] = "Dead";
|
||||
stateTransitionOnLoaded[0] = "ActivateReady";
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateSequence[1] = "Activate";
|
||||
stateSound[1] = PBLSwitchSound;
|
||||
stateTimeoutValue[1] = 1;
|
||||
stateTransitionOnTimeout[1] = "Ready";
|
||||
stateTransitionOnNotLoaded[1] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNotLoaded[2] = "Deactivate";
|
||||
stateTransitionOnTriggerDown[2] = "Fire";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateTransitionOnTimeout[3] = "Reload";
|
||||
stateTimeoutValue[3] = 0.3;
|
||||
stateFire[3] = true;
|
||||
stateRecoil[3] = LightRecoil;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateSequence[3] = "Fire";
|
||||
stateSound[3] = PBLFireSound;
|
||||
stateScript[3] = "onFire";
|
||||
|
||||
stateName[4] = "Reload";
|
||||
stateTimeoutValue[4] = 0.80;
|
||||
stateAllowImageChange[4] = false;
|
||||
stateSequence[4] = "Reload";
|
||||
stateTransitionOnTimeout[4] = "Ready";
|
||||
stateTransitionOnNotLoaded[4] = "Deactivate";
|
||||
stateTransitionOnNoAmmo[4] = "NoAmmo";
|
||||
|
||||
stateName[5] = "Deactivate";
|
||||
stateSequence[5] = "Activate";
|
||||
stateDirection[5] = false;
|
||||
stateTimeoutValue[5] = 1;
|
||||
stateTransitionOnLoaded[5] = "ActivateReady";
|
||||
stateTransitionOnTimeout[5] = "Dead";
|
||||
|
||||
stateName[6] = "Dead";
|
||||
stateTransitionOnLoaded[6] = "ActivateReady";
|
||||
|
||||
stateName[7] = "NoAmmo";
|
||||
stateTransitionOnAmmo[7] = "Reload";
|
||||
stateSequence[7] = "NoAmmo";
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue