mirror of
https://github.com/Ragora/T2-ACCM.git
synced 2026-01-20 03:14:44 +00:00
179 lines
5.9 KiB
C#
179 lines
5.9 KiB
C#
//--------------------------------------------------------------------------
|
|
// Chaingun Turret - Created by Dondelium_X, Greatly Modified by Blnukem
|
|
//--------------------------------------------------------------------------
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Sounds
|
|
//--------------------------------------------------------------------------
|
|
datablock EffectProfile(HeavyCGTurretSwitchEffect)
|
|
{
|
|
effectname = "powered/turret_light_activate";
|
|
minDistance = 2.5;
|
|
maxDistance = 5.0;
|
|
};
|
|
datablock AudioProfile(HeavyCGTurretSwitchSound)
|
|
{
|
|
filename = "fx/powered/turret_light_activate.wav";
|
|
description = AudioClose3d;
|
|
preload = true;
|
|
effect = HeavyCGTurretSwitchEffect;
|
|
};
|
|
|
|
datablock EffectProfile(HeavyCGTurretFireEffect)
|
|
{
|
|
filename = "fx/vehicles/tank_chaingun.wav";
|
|
minDistance = 2.5;
|
|
maxDistance = 8.0;
|
|
};
|
|
|
|
datablock AudioProfile(HeavyCGTurretFireSound)
|
|
{
|
|
filename = "fx/vehicles/tank_chaingun.wav";
|
|
description = AudioDefaultLooping3d;
|
|
preload = true;
|
|
effect = HeavyCGTurretFireEffect;
|
|
};
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Projectile
|
|
//--------------------------------------------------------------------------
|
|
|
|
datablock TracerProjectileData(HVCGTurretBullet)
|
|
{
|
|
doDynamicClientHits = true;
|
|
|
|
directDamage = 0.13;
|
|
directDamageType = $DamageType::PlasmaTurret;
|
|
explosion = "ChaingunExplosion";
|
|
splash = ChaingunSplash;
|
|
HeadMultiplier = 1.5;
|
|
LegsMultiplier = 0.5;
|
|
|
|
kickBackStrength = 50.0;
|
|
sound = ChaingunProjectile;
|
|
|
|
dryVelocity = 3000.0;
|
|
wetVelocity = 1000.0;
|
|
velInheritFactor = 1.0;
|
|
fizzleTimeMS = 3000;
|
|
lifetimeMS = 3000;
|
|
explodeOnDeath = false;
|
|
reflectOnWaterImpactAngle = 0.0;
|
|
explodeOnWaterImpact = false;
|
|
deflectionOnWaterImpact = 0.0;
|
|
fizzleUnderwaterMS = 3000;
|
|
|
|
tracerLength = 15.0;
|
|
tracerAlpha = false;
|
|
tracerMinPixels = 6;
|
|
tracerColor = 10.0/255.0 @ " " @ 30.0/255.0 @ " " @ 240.0/255.0 @ " 0.75";
|
|
tracerTex[0] = "special/tracer00";
|
|
tracerTex[1] = "special/tracercross";
|
|
tracerWidth = 0.2;
|
|
crossSize = 0.20;
|
|
crossViewAng = 0.990;
|
|
renderCross = true;
|
|
|
|
decalData[0] = MG42Decal1;
|
|
decalData[1] = MG42Decal2;
|
|
decalData[2] = MG42Decal3;
|
|
decalData[3] = MG42Decal4;
|
|
decalData[4] = MG42Decal5;
|
|
decalData[5] = MG42Decal6;
|
|
|
|
hasLight = true;
|
|
lightRadius = 4.0;
|
|
lightColor = "0.5 0.5 0.175";
|
|
|
|
};
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Chaingun Turret Image
|
|
//--------------------------------------------------------------------------
|
|
|
|
datablock TurretImageData(PlasmaBarrelLarge)
|
|
{
|
|
shapeFile = "turret_tank_barrelchain.dts";
|
|
item = ChaingunBarrelPack; // z0dd - ZOD, 4/25/02. Was wrong: ChaingunBarrelLargePack
|
|
mountPoint = 0;
|
|
|
|
projectile = HVCGTurretBullet;
|
|
projectileType = TracerProjectile;
|
|
|
|
casing = ShellDebris;
|
|
shellExitDir = "0.0 -10.0 10.0";
|
|
shellExitOffset = "0.0 0.0 1.0";
|
|
shellExitVariance = 10.0;
|
|
shellVelocity = 3.5;
|
|
|
|
usesEnergy = true;
|
|
fireEnergy = 0;
|
|
minEnergy = 1;
|
|
emap = true;
|
|
|
|
projectileSpread = 6.0 / 1000.0;
|
|
|
|
// Turret parameters
|
|
activationMS = 700; // z0dd - ZOD, 3/27/02. Was 1000. Amount of time it takes turret to unfold
|
|
deactivateDelayMS = 1500;
|
|
thinkTimeMS = 120; // z0dd - ZOD, 3/27/02. Was 200. Amount of time before turret starts to unfold (activate)
|
|
degPerSecTheta = 300;
|
|
degPerSecPhi = 500;
|
|
attackRadius = 200; // 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] = HeavyCGTurretSwitchSound;
|
|
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";
|
|
stateSequence[3] = "Fire";
|
|
stateSequenceRandomFlash[3] = true;
|
|
stateFire[3] = true;
|
|
stateAllowImageChange[3] = false;
|
|
stateSound[3] = HeavyCGTurretFireSound;
|
|
stateScript[3] = "onFire";
|
|
stateFire[3] = true;
|
|
stateEjectShell[3] = true;
|
|
stateTimeoutValue[3] = 0.1;
|
|
stateTransitionOnTimeout[3] = "Fire";
|
|
stateTransitionOnTriggerUp[3] = "Reload";
|
|
stateTransitionOnNoAmmo[3] = "noAmmo";
|
|
|
|
stateName[4] = "Reload";
|
|
stateTimeoutValue[4] = 0.01;
|
|
stateAllowImageChange[4] = false;
|
|
stateWaitForTimeout[4] = true;
|
|
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";
|
|
};
|