Fix runes.

This commit is contained in:
Night Owl 2018-04-18 04:22:31 +05:00
parent 4fc0286735
commit 7f548aa57a
4 changed files with 47 additions and 7 deletions

View File

@ -404,8 +404,27 @@ void EV_HLDM_DecalGunshot( pmtrace_t *pTrace, int iBulletType )
void EV_Quake_PlayQuadSound ( int idx, float *origin, int iFlag )
{
if( iFlag == 1 )
gEngfuncs.pEventAPI->EV_PlaySound( idx, origin, CHAN_ITEM, "items/damage3.wav", 1, ATTN_NORM, 0, PITCH_NORM);
const char *pszSound;
switch( iFlag )
{
case 1:
pszSound = "items/damage3.wav";
break;
case 2:
pszSound = "rune/rune2.wav";
break;
case 3:
pszSound = "rune/rune22.wav";
break;
case 4:
pszSound = "rune/rune3.wav";
break;
default:
return;
}
gEngfuncs.pEventAPI->EV_PlaySound( idx, origin, CHAN_ITEM, pszSound, 1, ATTN_NORM, 0, PITCH_NORM );
}
/*

View File

@ -146,15 +146,26 @@ BOOL CQuakeGun::Deploy( )
// Plays quad sound if needed
int CQuakeGun::SuperDamageSound()
{
if ( m_pPlayer->m_iQuakeItems & IT_QUAD )
if( m_pPlayer->m_iQuakeItems & IT_QUAD )
{
if ( m_pPlayer->m_flNextQuadSound < gpGlobals->time)
if( m_pPlayer->m_flNextQuadSound < gpGlobals->time)
{
m_pPlayer->m_flNextQuadSound = gpGlobals->time + 1;
return 1;
return ( m_pPlayer->m_iRuneStatus == ITEM_RUNE2_FLAG ) ? 3 : 1;
}
}
else if( m_pPlayer->m_iRuneStatus == ITEM_RUNE2_FLAG
&& m_pPlayer->m_flNextQuadSound < gpGlobals->time )
{
m_pPlayer->m_flNextQuadSound = gpGlobals->time + 1;
return 2;
}
else if( m_pPlayer->m_iRuneStatus == ITEM_RUNE3_FLAG
&& m_pPlayer->m_flNextQuadSound < gpGlobals->time )
{
m_pPlayer->m_flNextQuadSound = gpGlobals->time + 1;
return 4;
}
return 0;
}

View File

@ -258,7 +258,7 @@ void CItemHealth::MegahealthRot( void )
{
CBasePlayer *pPlayer = ((CBasePlayer *)((CBaseEntity *)m_hRotTarget));
if (pPlayer->pev->health > pPlayer->pev->max_health )
if( pPlayer->pev->health > pPlayer->pev->max_health && pPlayer->m_iRuneStatus != ITEM_RUNE4_FLAG )
{
pPlayer->pev->health--;
pev->nextthink = gpGlobals->time + 1;

View File

@ -126,8 +126,18 @@ int CBasePlayer::TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, fl
else
flDamage *= 4;
}
if( ( (CBasePlayer*)pAttacker )->m_iRuneStatus == ITEM_RUNE2_FLAG )
{
flDamage *= 2;
}
}
if( m_iRuneStatus == ITEM_RUNE1_FLAG )
{
flDamage /= 2;
EMIT_SOUND( ENT( pev ), CHAN_ITEM, "rune/rune1.wav", 1, ATTN_NORM );
}
//++ BulliT
if( g_pGameRules->m_iGameMode >= LMS )
{