diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/cgame/cg_draw.c | 2 | ||||
| -rw-r--r-- | src/cgame/cg_event.c | 5 | ||||
| -rw-r--r-- | src/cgame/cg_players.c | 4 | ||||
| -rw-r--r-- | src/cgame/cg_scanner.c | 2 | ||||
| -rw-r--r-- | src/game/g_active.c | 7 | ||||
| -rw-r--r-- | src/game/g_combat.c | 6 | 
6 files changed, 17 insertions, 9 deletions
diff --git a/src/cgame/cg_draw.c b/src/cgame/cg_draw.c index 4782c00..6328f42 100644 --- a/src/cgame/cg_draw.c +++ b/src/cgame/cg_draw.c @@ -4043,7 +4043,7 @@ static void CG_DrawHealthBars( void )      cent  = cg_entities + cg.snap->entities[ i ].number;      es = ¢->currentState; -    if( es->eFlags & ( EF_DEAD | EF_NODRAW ) ) +    if( es->eFlags & ( EF_DEAD | EF_NODRAW | EF_WARPING ) )        continue;      switch( es->eType ) diff --git a/src/cgame/cg_event.c b/src/cgame/cg_event.c index c1d4ee8..4ce475e 100644 --- a/src/cgame/cg_event.c +++ b/src/cgame/cg_event.c @@ -1177,8 +1177,9 @@ void CG_EntityEvent( centity_t *cent, vec3_t position )        break;      case EV_BLEED: -      if( cg_bleedSelfWounds.integer || -          cent->currentState.number != cg.snap->ps.clientNum ) +      if( !warpingEnemyWraith && +          ( cg_bleedSelfWounds.integer || +            cent->currentState.number != cg.snap->ps.clientNum ) )        {          particleSystem_t *ps = NULL;          if( ci->team == TEAM_ALIENS ) diff --git a/src/cgame/cg_players.c b/src/cgame/cg_players.c index 8da8757..c3afab3 100644 --- a/src/cgame/cg_players.c +++ b/src/cgame/cg_players.c @@ -1898,8 +1898,8 @@ void CG_Player( centity_t *cent )      return;    if( ( es->eFlags & EF_WARPING ) && -      ( cgs.clientinfo[ es->number ].team != cg.snap->ps.stats[ STAT_TEAM ] || -        cg.snap->ps.stats[ STAT_TEAM ] == TEAM_NONE ) ) +      ( cgs.clientinfo[ es->number ].team != cg.snap->ps.stats[ STAT_TEAM ] && +        cg.snap->ps.stats[ STAT_TEAM ] != TEAM_NONE ) )    {      return;    } diff --git a/src/cgame/cg_scanner.c b/src/cgame/cg_scanner.c index 5e134cd..3699551 100644 --- a/src/cgame/cg_scanner.c +++ b/src/cgame/cg_scanner.c @@ -58,7 +58,7 @@ void CG_UpdateEntityPositions( void )    {      cent = &cg_entities[ cg.snap->entities[ i ].number ]; -    if( cent->currentState.eFlags & EF_NODRAW ) +    if( cent->currentState.eFlags & EF_WARPING )      {        continue;      } diff --git a/src/game/g_active.c b/src/game/g_active.c index cac7e7f..e23b0c5 100644 --- a/src/game/g_active.c +++ b/src/game/g_active.c @@ -1471,6 +1471,7 @@ void ClientThink_real( gentity_t *ent )    int       msec;    usercmd_t *ucmd;    int       i; +  float     modifier = 1.0f;    client = ent->client; @@ -1596,7 +1597,6 @@ void ClientThink_real( gentity_t *ent )        int       i, num;        int       count, interval;        vec3_t    range, mins, maxs; -      float     modifier = 1.0f;        VectorSet( range, REGEN_BOOST_RANGE, REGEN_BOOST_RANGE,                   REGEN_BOOST_RANGE ); @@ -1670,9 +1670,10 @@ void ClientThink_real( gentity_t *ent )    }    if( client->ps.weapon == WP_ALEVEL1 && -      client->lastWarpTime + LEVEL1_WARP_REGEN_DELAY <= level.time ) +      client->lastWarpTime + LEVEL1_WARP_REGEN_DELAY <= level.time && +      G_Overmind( ) )    { -    client->ps.stats[ STAT_MISC ] += msec * LEVEL1_WARP_REGEN_RATE; +    client->ps.stats[ STAT_MISC ] += msec * LEVEL1_WARP_REGEN_RATE * modifier;      if( client->ps.stats[ STAT_MISC ] > LEVEL1_WARP_TIME )      { diff --git a/src/game/g_combat.c b/src/game/g_combat.c index 50eca22..bfe0de9 100644 --- a/src/game/g_combat.c +++ b/src/game/g_combat.c @@ -1575,6 +1575,9 @@ qboolean G_SelectiveRadiusDamage( vec3_t origin, gentity_t *attacker, float dama      if( !ent->takedamage )        continue; +    if( ent->s.eFlags & EF_WARPING ) +      continue; +      if( ent->flags & FL_NOTARGET )        continue; @@ -1692,6 +1695,9 @@ qboolean G_RadiusDamage( vec3_t origin, gentity_t *attacker, float damage,      if( ent == ignore )        continue; +    if( ent->s.eFlags & EF_WARPING ) +      continue; +      if( !ent->takedamage )        continue;  | 
