diff options
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/g_weapon.c | 16 | ||||
| -rw-r--r-- | src/game/tremulous.h | 1 | 
2 files changed, 9 insertions, 8 deletions
diff --git a/src/game/g_weapon.c b/src/game/g_weapon.c index 7c3ed254..d71de3dd 100644 --- a/src/game/g_weapon.c +++ b/src/game/g_weapon.c @@ -466,14 +466,21 @@ MASS DRIVER  void massDriverFire( gentity_t *ent )  {    trace_t   tr; +  vec3_t    end;    gentity_t *tent;    gentity_t *traceEnt; -  G_WideTrace( &tr, ent, 8192.0f * 16.0f, MDRIVER_WIDTH, MDRIVER_WIDTH, &traceEnt ); +  VectorMA( muzzle, 8192.0f * 16.0f, forward, end ); + +  G_UnlaggedOn( ent, muzzle, 8192.0f * 16.0f ); +  trap_Trace( &tr, muzzle, NULL, NULL, end, ent->s.number, MASK_SHOT ); +  G_UnlaggedOff( );    if( tr.surfaceFlags & SURF_NOIMPACT )      return; +  traceEnt = &g_entities[ tr.entityNum ]; +    // snap the endpos to integers, but nudged towards the line    SnapVectorTowards( tr.endpos, muzzle ); @@ -482,15 +489,10 @@ void massDriverFire( gentity_t *ent )        (traceEnt->s.eType == ET_BUILDABLE ||          traceEnt->s.eType == ET_PLAYER ) )    { -    WideBloodSpurt( ent, traceEnt, &tr ); +    BloodSpurt( ent, traceEnt, &tr );    }    else    { -    // If we missed, G_WideTrace hasn't traced against the world -    // so we need to do another trace to find the endpoint -    vec3_t end; -    VectorMA( muzzle, 8192.0f * 16.0f, forward, end ); -    trap_Trace( &tr, muzzle, NULL, NULL, end, ent->s.number, CONTENTS_SOLID );      tent = G_TempEntity( tr.endpos, EV_MISSILE_MISS );      tent->s.eventParm = DirToByte( tr.plane.normal );      tent->s.weapon = ent->s.weapon; diff --git a/src/game/tremulous.h b/src/game/tremulous.h index 8c5b00b1..f4ba22c4 100644 --- a/src/game/tremulous.h +++ b/src/game/tremulous.h @@ -423,7 +423,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA  #define MDRIVER_REPEAT              1000  #define MDRIVER_K_SCALE             1.0f  #define MDRIVER_RELOAD              2000 -#define MDRIVER_WIDTH               5  #define CHAINGUN_PRICE              400  #define CHAINGUN_BULLETS            300  | 
