mirror of
https://github.com/Ragora/TribesReplay.git
synced 2026-01-20 01:54:47 +00:00
215 lines
5.6 KiB
C#
215 lines
5.6 KiB
C#
// Sound datablocks
|
|
|
|
datablock AudioProfile(SentryTurretSwitchSound)
|
|
{
|
|
filename = "fx/powered/turret_sentry_activate.wav";
|
|
description = AudioClose3d;
|
|
preload = true;
|
|
};
|
|
|
|
datablock AudioProfile(SentryTurretFireSound)
|
|
{
|
|
filename = "fx/powered/turret_sentry_fire.wav";
|
|
description = AudioDefault3d;
|
|
preload = true;
|
|
};
|
|
|
|
datablock AudioProfile(SentryTurretExpSound)
|
|
{
|
|
filename = "fx/powered/turret_sentry_impact.WAV";
|
|
description = AudioClosest3d;
|
|
preload = true;
|
|
};
|
|
|
|
datablock AudioProfile(SentryTurretProjectileSound)
|
|
{
|
|
filename = "fx/weapons/blaster_projectile.WAV";
|
|
description = AudioExplosion3d;
|
|
preload = true;
|
|
};
|
|
|
|
// Explosion
|
|
|
|
datablock ParticleData(SentryTurretExplosionParticle1)
|
|
{
|
|
dragCoefficient = 0.65;
|
|
gravityCoefficient = 0.3;
|
|
inheritedVelFactor = 0.0;
|
|
constantAcceleration = 0.0;
|
|
lifetimeMS = 500;
|
|
lifetimeVarianceMS = 150;
|
|
textureName = "particleTest";
|
|
colors[0] = "0.26 0.36 0.56 1.0";
|
|
colors[1] = "0.26 0.36 0.56 0.0";
|
|
sizes[0] = 0.0425;
|
|
sizes[1] = 0.15;
|
|
};
|
|
|
|
datablock ParticleEmitterData(SentryTurretExplosionEmitter)
|
|
{
|
|
ejectionPeriodMS = 10;
|
|
periodVarianceMS = 0;
|
|
ejectionVelocity = 0.75;
|
|
velocityVariance = 0.25;
|
|
ejectionOffset = 0.0;
|
|
thetaMin = 0;
|
|
thetaMax = 60;
|
|
phiReferenceVel = 0;
|
|
phiVariance = 360;
|
|
overrideAdvances = false;
|
|
particles = "SentryTurretExplosionParticle1";
|
|
};
|
|
|
|
datablock ExplosionData(SentryTurretExplosion)
|
|
{
|
|
explosionShape = "energy_explosion.dts";
|
|
soundProfile = SentryTurretExpSound;
|
|
|
|
particleEmitter = SentryTurretExplosionEmitter;
|
|
particleDensity = 120;
|
|
particleRadius = 0.15;
|
|
|
|
faceViewer = false;
|
|
};
|
|
|
|
// Projectile
|
|
|
|
datablock LinearFlareProjectileData(SentryTurretEnergyBolt)
|
|
{
|
|
directDamage = 0.1;
|
|
directDamageType = $DamageType::SentryTurret;
|
|
|
|
explosion = "SentryTurretExplosion";
|
|
kickBackStrength = 0.0;
|
|
|
|
dryVelocity = 200.0;
|
|
wetVelocity = 150.0;
|
|
velInheritFactor = 0.5;
|
|
fizzleTimeMS = 2000;
|
|
lifetimeMS = 3000;
|
|
explodeOnDeath = false;
|
|
reflectOnWaterImpactAngle = 0.0;
|
|
explodeOnWaterImpact = false;
|
|
deflectionOnWaterImpact = 0.0;
|
|
fizzleUnderwaterMS = 3000;
|
|
|
|
numFlares = 10;
|
|
size = 0.35;
|
|
flareColor = "0.35 0.35 1";
|
|
flareModTexture = "flaremod";
|
|
flareBaseTexture = "flarebase";
|
|
|
|
sound = SentryTurretProjectileSound;
|
|
|
|
hasLight = true;
|
|
lightRadius = 1.5;
|
|
lightColor = "0.35 0.35 1";
|
|
};
|
|
|
|
// Turret data
|
|
|
|
datablock SensorData(SentryMotionSensor)
|
|
{
|
|
detects = true;
|
|
detectsUsingLOS = true;
|
|
detectsActiveJammed = false;
|
|
detectsPassiveJammed = true;
|
|
detectsCloaked = true;
|
|
detectionPings = false;
|
|
detectRadius = 60;
|
|
detectMinVelocity = 2;
|
|
};
|
|
|
|
datablock TurretData(SentryTurret) : TurretDamageProfile
|
|
{
|
|
//className = Turret;
|
|
catagory = "Turrets";
|
|
shapeFile = "turret_sentry.dts";
|
|
|
|
//Uses the same stats as an outdoor deployable turret (balancing info for Dave)
|
|
mass = 5.0;
|
|
|
|
barrel = SentryTurretBarrel;
|
|
|
|
maxDamage = 1.2;
|
|
destroyedLevel = 1.2;
|
|
disabledLevel = 0.84;
|
|
explosion = ShapeExplosion;
|
|
expDmgRadius = 5.0;
|
|
expDamage = 0.4;
|
|
expImpulse = 1000.0;
|
|
repairRate = 0;
|
|
|
|
thetaMin = 89;
|
|
thetaMax = 175;
|
|
emap = true;
|
|
|
|
|
|
isShielded = true;
|
|
energyPerDamagePoint = 100;
|
|
maxEnergy = 150;
|
|
rechargeRate = 0.40;
|
|
|
|
canControl = true;
|
|
cmdCategory = "Tactical";
|
|
cmdIcon = CMDTurretIcon;
|
|
cmdMiniIconName = "commander/MiniIcons/com_turret_grey";
|
|
targetNameTag = 'Sentry';
|
|
targetTypeTag = 'Turret';
|
|
sensorData = SentryMotionSensor;
|
|
sensorRadius = SentryMotionSensor.detectRadius;
|
|
sensorColor = "9 136 255";
|
|
firstPersonOnly = true;
|
|
};
|
|
|
|
datablock TurretImageData(SentryTurretBarrel)
|
|
{
|
|
shapeFile = "turret_muzzlepoint.dts";
|
|
|
|
projectile = SentryTurretEnergyBolt;
|
|
projectileType = LinearFlareProjectile;
|
|
usesEnergy = true;
|
|
fireEnergy = 6.00;
|
|
minEnergy = 6.00;
|
|
emap = true;
|
|
|
|
// Turret parameters
|
|
activationMS = 300;
|
|
deactivateDelayMS = 500;
|
|
thinkTimeMS = 200;
|
|
degPerSecTheta = 520;
|
|
degPerSecPhi = 960;
|
|
attackRadius = 60;
|
|
|
|
// State transitions
|
|
stateName[0] = "Activate";
|
|
stateTimeoutValue[0] = 0.01;
|
|
stateTransitionOnTimeout[0] = "Ready";
|
|
stateSound[0] = SentryTurretSwitchSound;
|
|
|
|
stateName[1] = "Ready";
|
|
stateTransitionOnTriggerDown[1] = "Fire";
|
|
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
|
|
|
stateName[2] = "Fire";
|
|
stateTransitionOnTimeout[2] = "Reload";
|
|
stateTimeoutValue[2] = 0.13;
|
|
stateFire[2] = true;
|
|
stateRecoil[2] = LightRecoil;
|
|
stateAllowImageChange[2] = false;
|
|
stateSequence[2] = "Fire";
|
|
stateSound[2] = SentryTurretFireSound;
|
|
stateScript[2] = "onFire";
|
|
|
|
stateName[3] = "Reload";
|
|
stateTimeoutValue[3] = 0.40;
|
|
stateAllowImageChange[3] = false;
|
|
stateTransitionOnTimeout[3] = "Ready";
|
|
stateTransitionOnNoAmmo[3] = "NoAmmo";
|
|
|
|
stateName[4] = "NoAmmo";
|
|
stateTransitionOnAmmo[4] = "Reload";
|
|
stateSequence[4] = "NoAmmo";
|
|
};
|
|
|