diff --git a/dlls/func_break.cpp b/dlls/func_break.cpp index 23e7167a5..5548e2c73 100644 --- a/dlls/func_break.cpp +++ b/dlls/func_break.cpp @@ -973,6 +973,8 @@ class CPushable : public CBreakable // breakables use an overridden takedamage virtual int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType ); + int DamageDecal(int bitsDamageType); + static TYPEDESCRIPTION m_SaveData[]; static const char *m_soundNames[3]; @@ -1227,3 +1229,11 @@ int CPushable::TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, floa return 1; } + +int CPushable::DamageDecal(int bitsDamageType) +{ + if (FBitSet(pev->spawnflags, SF_PUSH_BREAKABLE)) + return CBreakable::DamageDecal(bitsDamageType); + + return CBaseEntity::DamageDecal(bitsDamageType); +} diff --git a/dlls/player.cpp b/dlls/player.cpp index 6813c1ed1..7553f937a 100644 --- a/dlls/player.cpp +++ b/dlls/player.cpp @@ -3220,7 +3220,6 @@ void CBasePlayer::Precache( void ) m_flgeigerRange = 1000; m_igeigerRangePrev = 1000; - m_bitsDamageType = 0; m_bitsHUDDamage = -1; m_iClientBattery = -1; @@ -3234,6 +3233,8 @@ void CBasePlayer::Precache( void ) m_iUpdateTime = 5; // won't update for 1/2 a second + m_nCustomSprayFrames = -1; + if( gInitHUD ) m_fInitHUD = TRUE;