From f4413207a03658c719987d02fdbb87443843f43b Mon Sep 17 00:00:00 2001 From: enneract Date: Sun, 23 Nov 2014 22:29:30 +0100 Subject: Remove Smoke Grenade. --- src/game/g_weapon.c | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'src/game/g_weapon.c') diff --git a/src/game/g_weapon.c b/src/game/g_weapon.c index 5453913..d869fb1 100644 --- a/src/game/g_weapon.c +++ b/src/game/g_weapon.c @@ -696,18 +696,6 @@ void acidBombFire2x( gentity_t *ent, int wp ) m = fire_acidBomb2( ent, muzzle, forward, wp ); } -/* -====================================================================== -SMOKE -====================================================================== -*/ - -void throwSmoke( gentity_t *ent ) -{ - gentity_t *m; - m = launch_smoke( ent, muzzle, forward ); -} - /* ====================================================================== LAS GUN @@ -1994,9 +1982,6 @@ void FireWeapon( gentity_t *ent ) case WP_MINE: throwMine( ent ); break; - case WP_SMOKE: - throwSmoke( ent ); - break; case WP_LOCKBLOB_LAUNCHER: lockBlobLauncherFire( ent ); break; -- cgit From b0a9981e09bbc7c30769f680a4e0ff17c9ea8239 Mon Sep 17 00:00:00 2001 From: enneract Date: Mon, 24 Nov 2014 02:20:51 +0100 Subject: Implement the Lightning Gun. --- src/game/g_weapon.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) (limited to 'src/game/g_weapon.c') diff --git a/src/game/g_weapon.c b/src/game/g_weapon.c index d869fb1..1c333ab 100644 --- a/src/game/g_weapon.c +++ b/src/game/g_weapon.c @@ -819,9 +819,7 @@ void LCChargeFire( gentity_t *ent, qboolean secondary ) /* ====================================================================== - -PULSE RIFLE - +ROCKET LAUNCHER ====================================================================== */ @@ -830,6 +828,48 @@ void rocketLauncherFire( gentity_t *ent ) fire_rocket( ent, muzzle, forward ); } + +/* +====================================================================== +LIGHTNING GUN +====================================================================== +*/ + +void lightningGunFire( gentity_t *ent ) +{ + vec3_t start, end; + trace_t tr; + gentity_t *target; + + VectorMA( muzzle, LIGHTNING_RANGE, forward, end ); + + G_UnlaggedOn( ent, muzzle, LIGHTNING_RANGE ); + trap_Trace( &tr, muzzle, NULL, NULL, end, ent->s.number, MASK_SHOT ); + G_UnlaggedOff( ); + + if( tr.fraction == 1.0f || + tr.entityNum == ENTITYNUM_NONE || + ( tr.surfaceFlags & SURF_NOIMPACT ) ) + return; + + target = g_entities + tr.entityNum; + + if( target->s.eType == ET_PLAYER || target->s.eType == ET_BUILDABLE ) + BloodSpurt( ent, target, &tr ); + else + { + gentity_t *tent; + + tent = G_TempEntity( tr.endpos, EV_MISSILE_MISS ); + tent->s.eventParm = DirToByte( tr.plane.normal ); + tent->s.weapon = ent->s.weapon; + tent->s.generic1 = ent->s.generic1; + } + + G_Damage( target, ent, ent, forward, tr.endpos, LIGHTNING_DAMAGE, 0, MOD_LIGHTNING ); +} + + /* ====================================================================== TESLA GENERATOR @@ -1976,6 +2016,9 @@ void FireWeapon( gentity_t *ent ) case WP_ROCKET_LAUNCHER: rocketLauncherFire( ent ); break; + case WP_LIGHTNING_GUN: + lightningGunFire( ent ); + break; case WP_GRENADE: throwGrenade( ent ); break; -- cgit