diff options
Diffstat (limited to 'src/game/g_weapon.c')
-rw-r--r-- | src/game/g_weapon.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/game/g_weapon.c b/src/game/g_weapon.c index 29800953..12509b90 100644 --- a/src/game/g_weapon.c +++ b/src/game/g_weapon.c @@ -723,6 +723,15 @@ qboolean CheckPounceAttack( gentity_t *ent ) return qtrue; } +void slowBlobFire( gentity_t *ent ) +{ + gentity_t *m; + + m = fire_slowBlob( ent, muzzle, forward ); + +// VectorAdd( m->s.pos.trDelta, ent->client->ps.velocity, m->s.pos.trDelta ); // "real" physics +} + /* ====================================================================== @@ -890,6 +899,37 @@ void CalcMuzzlePoint( gentity_t *ent, vec3_t forward, vec3_t right, vec3_t up, v /* =============== +FireWeapon3 +=============== +*/ +void FireWeapon3( gentity_t *ent ) +{ + if( ent->client ) + { + // set aiming directions + AngleVectors( ent->client->ps.viewangles, forward, right, up ); + CalcMuzzlePoint( ent, forward, right, up, muzzle ); + } + else + { + AngleVectors( ent->s.angles2, forward, right, up ); + VectorCopy( ent->s.pos.trBase, muzzle ); + } + + // fire the specific weapon + switch( ent->s.weapon ) + { + case WP_POUNCE_UPG: + slowBlobFire( ent ); + break; + + default: + break; + } +} + +/* +=============== FireWeapon2 =============== */ @@ -942,6 +982,7 @@ void FireWeapon2( gentity_t *ent ) break; case WP_VENOM: case WP_POUNCE: + case WP_POUNCE_UPG: break; case WP_LUCIFER_CANON: LCChargeFire( ent, qtrue ); @@ -1014,6 +1055,7 @@ void FireWeapon( gentity_t *ent ) gClawFire( ent ); break; case WP_POUNCE: + case WP_POUNCE_UPG: clawFire( ent ); break; case WP_AREA_ZAP: |