diff --git a/dlls/game.cpp b/dlls/game.cpp index eb4ae16b..57defc57 100644 --- a/dlls/game.cpp +++ b/dlls/game.cpp @@ -35,6 +35,7 @@ cvar_t weaponstay = { "mp_weaponstay","0", FCVAR_SERVER }; cvar_t selfgauss = { "selfgauss", "1", FCVAR_SERVER }; cvar_t chargerfix = { "chargerfix", "0", FCVAR_SERVER }; cvar_t satchelfix = { "satchelfix", "0", FCVAR_SERVER }; +cvar_t explosionfix = { "explosionfix", "0", FCVAR_SERVER }; cvar_t monsteryawspeedfix = { "monsteryawspeedfix", "1", FCVAR_SERVER }; cvar_t forcerespawn = { "mp_forcerespawn","1", FCVAR_SERVER }; cvar_t flashlight = { "mp_flashlight","0", FCVAR_SERVER }; @@ -486,6 +487,7 @@ void GameDLLInit( void ) CVAR_REGISTER( &selfgauss ); CVAR_REGISTER( &chargerfix ); CVAR_REGISTER( &satchelfix ); + CVAR_REGISTER( &explosionfix ); CVAR_REGISTER( &monsteryawspeedfix ); CVAR_REGISTER( &forcerespawn ); CVAR_REGISTER( &flashlight ); diff --git a/dlls/game.h b/dlls/game.h index 3119351a..17c15219 100644 --- a/dlls/game.h +++ b/dlls/game.h @@ -30,6 +30,7 @@ extern cvar_t weaponstay; extern cvar_t selfgauss; extern cvar_t chargerfix; extern cvar_t satchelfix; +extern cvar_t explosionfix; extern cvar_t monsteryawspeedfix; extern cvar_t forcerespawn; extern cvar_t flashlight; diff --git a/dlls/ggrenade.cpp b/dlls/ggrenade.cpp index 60b658b9..5995fe53 100644 --- a/dlls/ggrenade.cpp +++ b/dlls/ggrenade.cpp @@ -26,6 +26,7 @@ #include "nodes.h" #include "soundent.h" #include "decals.h" +#include "game.h" //===================grenade @@ -59,7 +60,10 @@ void CGrenade::Explode( TraceResult *pTrace, int bitsDamageType ) // Pull out of the wall a bit if( pTrace->flFraction != 1.0f ) { - pev->origin = pTrace->vecEndPos + ( pTrace->vecPlaneNormal * ( pev->dmg - 24 ) * 0.6f ); + if (explosionfix.value) + pev->origin = pTrace->vecEndPos + ( pTrace->vecPlaneNormal * 0.6f ); + else + pev->origin = pTrace->vecEndPos + ( pTrace->vecPlaneNormal * ( pev->dmg - 24 ) * 0.6f ); } int iContents = UTIL_PointContents( pev->origin );