diff --git a/dlls/func_break.cpp b/dlls/func_break.cpp index f1829d6ca..bc04c1c8b 100644 --- a/dlls/func_break.cpp +++ b/dlls/func_break.cpp @@ -792,6 +792,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]; @@ -1044,3 +1046,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 05c6673b0..5a5f0418a 100644 --- a/dlls/player.cpp +++ b/dlls/player.cpp @@ -3026,7 +3026,6 @@ void CBasePlayer::Precache( void ) m_flgeigerRange = 1000; m_igeigerRangePrev = 1000; - m_bitsDamageType = 0; m_bitsHUDDamage = -1; m_iClientBattery = -1; @@ -3040,6 +3039,8 @@ void CBasePlayer::Precache( void ) m_iUpdateTime = 5; // won't update for 1/2 a second + m_nCustomSprayFrames = -1; + if( gInitHUD ) m_fInitHUD = TRUE;