mirror of https://github.com/FWGS/hlsdk-xash3d
Fix player pain sound.
This commit is contained in:
parent
c15514ea16
commit
b7bf8d90fb
|
@ -415,44 +415,33 @@ void CBasePlayer::TraceAttack( entvars_t *pevAttacker, float flDamage, Vector ve
|
||||||
TraceBleed( flDamage, vecDir, ptr, bitsDamageType );
|
TraceBleed( flDamage, vecDir, ptr, bitsDamageType );
|
||||||
AddMultiDamage( pevAttacker, this, flDamage, bitsDamageType );
|
AddMultiDamage( pevAttacker, this, flDamage, bitsDamageType );
|
||||||
|
|
||||||
if( bitsDamageType & ( DMG_BLAST | DMG_SHOCK | DMG_SONIC | DMG_ENERGYBEAM ) )
|
if( flDamage >= pev->health * 0.333 )
|
||||||
{
|
{
|
||||||
float flRand = RANDOM_FLOAT( 0, 1 );
|
switch( ptr->iHitgroup )
|
||||||
|
|
||||||
// Blast damage always trigger pain sounds.
|
|
||||||
if( bitsDamageType & DMG_BLAST )
|
|
||||||
flRand = 0;
|
|
||||||
|
|
||||||
//
|
|
||||||
// 25% chances playing damage location based pain sound.
|
|
||||||
//
|
|
||||||
if( flRand <= 0.25 )
|
|
||||||
{
|
{
|
||||||
switch( ptr->iHitgroup )
|
case HITGROUP_HEAD:
|
||||||
{
|
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/pain_head.wav", 1, ATTN_NORM );
|
||||||
case HITGROUP_HEAD:
|
break;
|
||||||
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/pain_head.wav", 1, ATTN_NORM );
|
case HITGROUP_CHEST:
|
||||||
break;
|
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/pain_chest.wav", 1, ATTN_NORM );
|
||||||
case HITGROUP_CHEST:
|
break;
|
||||||
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/pain_chest.wav", 1, ATTN_NORM );
|
case HITGROUP_STOMACH:
|
||||||
break;
|
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/pain_stomach.wav", 1, ATTN_NORM );
|
||||||
case HITGROUP_STOMACH:
|
break;
|
||||||
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/pain_stomach.wav", 1, ATTN_NORM );
|
case HITGROUP_LEFTARM:
|
||||||
break;
|
case HITGROUP_RIGHTARM:
|
||||||
case HITGROUP_LEFTARM:
|
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/pain_arm.wav", 1, ATTN_NORM );
|
||||||
case HITGROUP_RIGHTARM:
|
break;
|
||||||
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/pain_arm.wav", 1, ATTN_NORM );
|
case HITGROUP_LEFTLEG:
|
||||||
break;
|
case HITGROUP_RIGHTLEG:
|
||||||
case HITGROUP_LEFTLEG:
|
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/pain_leg.wav", 1, ATTN_NORM );
|
||||||
case HITGROUP_RIGHTLEG:
|
break;
|
||||||
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/pain_leg.wav", 1, ATTN_NORM );
|
default:
|
||||||
break;
|
break;
|
||||||
default:
|
|
||||||
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/spout.wav", 1, ATTN_NORM );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
EMIT_SOUND( ENT( pev ), CHAN_VOICE, "player/pain/spout.wav", 1, ATTN_NORM );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue