diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/g_combat.c | 41 | 
1 files changed, 12 insertions, 29 deletions
diff --git a/src/game/g_combat.c b/src/game/g_combat.c index c095d1c..50bfea3 100644 --- a/src/game/g_combat.c +++ b/src/game/g_combat.c @@ -1451,46 +1451,29 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,      attacker->client->bufferedBlobCount < MAX_BUFFERED_BLOBS )    {      g_damageBlob_t *blob; -    int flags = 0; + +    blob = attacker->client->blobBuffer + +      ( attacker->client->bufferedBlobCount++ ); + +    blob->flags = 0; +    blob->value = take;      if( OnSameTeam( attacker, targ ) ||        ( targ->s.eType == ET_BUILDABLE &&          attacker->client->pers.teamSelection == targ->buildableTeam ) ) -      flags |= DAMAGE_BLOB_FRIENDLY; +      blob->flags |= DAMAGE_BLOB_FRIENDLY;      if( targ->s.eType == ET_BUILDABLE ) -      flags |= DAMAGE_BLOB_BUILDABLE; +      blob->flags |= DAMAGE_BLOB_BUILDABLE;      if( dflags & DAMAGE_RADIUS )      { -      vec3_t mins = {0}, maxs = {0}; - -      flags |= DAMAGE_BLOB_SPLASH; - -      switch( targ->s.eType ) -      { -        case ET_BUILDABLE: -          BG_BuildableBoundingBox( targ->s.modelindex, mins, maxs ); -          break; - -        case ET_PLAYER: -          BG_ClassBoundingBox( targ->client->ps.stats[ STAT_CLASS ], mins, maxs, NULL, NULL, NULL ); -          break; -      } - -      VectorAdd( mins, maxs, point ); -      VectorScale( point, 0.5f, point ); -      VectorAdd( point, targ->s.origin, point ); +      blob->flags |= DAMAGE_BLOB_SPLASH; +      VectorAdd( targ->r.absmin, targ->r.absmax, blob->origin ); +      VectorScale( blob->origin, 0.5f, blob->origin );      }      else if( inflictor->s.eType == ET_MISSILE ) -      VectorCopy( inflictor->r.currentOrigin, point ); - -    blob = attacker->client->blobBuffer + -      ( attacker->client->bufferedBlobCount++ ); - -    VectorCopy( point, blob->origin ); -    blob->value = take; -    blob->flags = flags; +      VectorCopy( inflictor->r.currentOrigin, blob->origin );    }    if( targ->health <= 0 )  | 
