TWM2/scripts/weapons/Other/Flamethrower.cs
Robert Fritzen 52ad2235c7 PGD Connect Removal
First pass on files to strip PGD Connect from the mod.
2021-01-13 12:41:00 -06:00

248 lines
6.3 KiB
C#

datablock AudioProfile(FlamethrowerFireSound) {
filename = "fx/Bonuses/Nouns/snake.wav";
description = AudioClose3d;
preload = true;
};
//Muzzle Emmiter
datablock ParticleData(ThrowerMuzzleParticle) {
dragCoeffiecient = 0.4;
gravityCoefficient = -0.0; // rises slowly
inheritedVelFactor = 0.125;
lifetimeMS = 800;
lifetimeVarianceMS = 500;
useInvAlpha = false;
spinRandomMin = 500.0;
spinRandomMax = 700.0;
textureName = "special/cloudFlash";
colors[0] = "1.0 0.2 0.0 0.5";
colors[1] = "1.0 0.2 0.0 0.8";
colors[2] = "1.0 0.2 0.0 0.0";
colors[3] = "1.0 0.2 0.0 0.0";
sizes[0] = 0.2;
sizes[1] = 0.3;
sizes[2] = 0.5;
sizes[3] = 0.6;
times[0] = 0.2; //.2
times[1] = 0.5; //.5
times[2] = 0.7; //.7
times[3] = 1.0; //1.0
};
datablock ParticleEmitterData(ThrowerMuzzleEmitter) {
ejectionPeriodMS = 3;
periodVarianceMS = 1;
ejectionVelocity = 0.0;
velocityVariance = 0.0;
thetaMin = 0.0;
thetaMax = 45.0;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvances = false;
particles = "ThrowerMuzzleParticle";
};
//
datablock ParticleData(ThrowerExplosionParticle) {
dragCoefficient = 2;
gravityCoefficient = 0.2;
inheritedVelFactor = 0.2;
constantAcceleration = 0.0;
lifetimeMS = 500;
lifetimeVarianceMS = 0;
textureName = "special/cloudflash";
colors[0] = "1 0.18 0.03 0.6";
colors[1] = "1 0.18 0.03 0.0";
sizes[0] = 2;
sizes[1] = 2.5;
};
datablock ParticleEmitterData(ThrowerExplosionEmitter) {
ejectionPeriodMS = 1;
periodVarianceMS = 0;
ejectionOffset = 2.0;
ejectionVelocity = 4.0;
velocityVariance = 0.0;
thetaMin = 60.0;
thetaMax = 90.0;
lifetimeMS = 250;
particles = "ThrowerExplosionParticle";
};
datablock ExplosionData(ThrowerExplosion) {
particleEmitter = ThrowerExplosionEmitter;
particleDensity = 75;
particleRadius = 1.25;
faceViewer = true;
};
datablock LinearFlareProjectileData(FlamethrowerBolt) {
projectileShapeName = "turret_muzzlepoint.dts";
scale = "1.0 1.0 1.0";
faceViewer = true;
directDamage = 0.07;
hasDamageRadius = true;
indirectDamage = 0.02;
damageRadius = 4.0;
kickBackStrength = 0.0;
radiusDamageType = $DamageType::Fire;
ImageSource = "flamerImage";
explosion = "ThrowerExplosion";
splash = PlasmaSplash;
baseEmitter = ThrowerBaseEmitter;
dryVelocity = 50.0; // z0dd - ZOD, 7/20/02. Faster plasma projectile. was 55
wetVelocity = -1;
velInheritFactor = 0.3;
fizzleTimeMS = 250;
lifetimeMS = 745;
explodeOnDeath = false;
reflectOnWaterImpactAngle = 0.0;
explodeOnWaterImpact = true;
deflectionOnWaterImpact = 0.0;
fizzleUnderwaterMS = -1;
//activateDelayMS = 100;
activateDelayMS = -1;
size[0] = 0.2;
size[1] = 0.5;
size[2] = 0.1;
numFlares = 35;
flareColor = "1 0.18 0.03";
flareModTexture = "flaremod";
flareBaseTexture = "flarebase";
sound = PlasmaProjectileSound;
fireSound = FlamethrowerFireSound;
wetFireSound = PlasmaFireWetSound;
hasLight = true;
lightRadius = 10.0;
lightColor = "0.94 0.03 0.12";
};
//THE GUN
datablock ItemData(flamerAmmo) {
className = Ammo;
catagory = "Ammo";
shapeFile = "ammo_plasma.dts";
mass = 1;
elasticity = 0.2;
friction = 0.6;
pickupRadius = 2;
pickUpName = "some flame thrower fuel";
};
//--------------------------------------------------------------------------
// Weapon
//--------------------------------------
datablock ItemData(flamer) {
className = Weapon;
catagory = "Spawn Items";
shapeFile = "weapon_plasma.dts";
image = flamerImage;
mass = 1.0;
elasticity = 0.2;
friction = 0.6;
pickupRadius = 2;
pickUpName = "a flame thrower";
};
datablock ShapeBaseImageData(flamerImage) {
className = WeaponImage;
shapeFile = "weapon_grenade_launcher.dts";
mass = 10;
item = flamer;
ammo = flamerAmmo;
offset = "0 0 0"; // L/R - F/B - T/B
rotation = "0 1 0 180"; // L/R - F/B - T/B
projectileSpread = 5.0 / 1000.0;
//ClipStuff
ClipName = "FlamerClip";
ClipPickupName["FlamerClip"] = "some flamethrower fuel canisters";
ShowsClipInHud = 1;
ClipReloadTime = 5;
ClipReturn = 100;
InitialClips = 6;
GunName = "A|V|X Flamethrower";
//
MedalRequire = 10;
projectile = FlamethrowerBolt;
projectileType = LinearFlareProjectile;
stateName[0] = "Activate";
stateTransitionOnTimeout[0] = "ActivateReady";
stateTimeoutValue[0] = 0.5;
stateSequence[0] = "Activate";
stateSound[0] = PlasmaSwitchSound;
stateName[1] = "ActivateReady";
stateTransitionOnLoaded[1] = "Ready";
stateTransitionOnNoAmmo[1] = "NoAmmo";
stateName[2] = "Ready";
stateEmitter[2] = "ThrowerMuzzleEmitter";
stateEmitterNode[2] = "muzzlepoint1";
stateEmitterTime[2] = 10000;
stateTransitionOnNoAmmo[2] = "NoAmmo";
stateTransitionOnTriggerDown[2] = "CheckWet";
stateName[3] = "Fire";
stateTransitionOnTimeout[3] = "Reload";
stateTimeoutValue[3] = 0.02;
stateFire[3] = true;
stateAllowImageChange[3] = false;
stateScript[3] = "onFire";
stateSound[3] = FlamethrowerFireSound;
stateEmitterTime[3] = 0.02;
stateName[4] = "Reload";
stateTransitionOnNoAmmo[4] = "NoAmmo";
stateTransitionOnTimeout[4] = "Ready";
stateTimeoutValue[4] = 0.02;
stateAllowImageChange[4] = false;
stateSequence[4] = "Reload";
stateSound[4] = PlasmaReloadSound;
stateName[5] = "NoAmmo";
stateTransitionOnAmmo[5] = "Reload";
stateSequence[5] = "NoAmmo";
stateTransitionOnTriggerDown[5] = "DryFire";
stateName[6] = "DryFire";
stateSound[6] = PlasmaDryFireSound;
stateTimeoutValue[6] = 1.0;
stateTransitionOnTimeout[6] = "NoAmmo";
stateName[7] = "WetFire";
stateSound[7] = PlasmaFireWetSound;
stateTimeoutValue[7] = 1.0;
stateTransitionOnTimeout[7] = "Ready";
stateName[8] = "CheckWet";
stateTransitionOnWet[8] = "WetFire";
stateTransitionOnNotWet[8] = "Fire";
};