diff --git a/Source/Shared/WeaponFlashbang.c b/Source/Shared/WeaponFlashbang.c index e1540fb3..734108a0 100755 --- a/Source/Shared/WeaponFlashbang.c +++ b/Source/Shared/WeaponFlashbang.c @@ -119,6 +119,12 @@ void WeaponFLASHBANG_Throw( void ) { remove( self ); } static void Weapon_FLASHBANG_Touch( void ) { + if ( other.solid == SOLID_TRIGGER ) { + return; + } + if ( other == self.owner ) { + return; + } if ( other.classname == "func_breakable" ) { Damage_Apply( other, self, 10, self.origin ); } diff --git a/Source/Shared/WeaponHEGrenade.c b/Source/Shared/WeaponHEGrenade.c index 19a3d216..991f2552 100755 --- a/Source/Shared/WeaponHEGrenade.c +++ b/Source/Shared/WeaponHEGrenade.c @@ -101,6 +101,9 @@ void WeaponHEGRENADE_Throw( void ) { remove( self ); } static void Weapon_HEGRENADE_Touch( void ) { + if ( other.solid == SOLID_TRIGGER ) { + return; + } if ( other == self.owner ) { return; } diff --git a/Source/Shared/WeaponSmokeGrenade.c b/Source/Shared/WeaponSmokeGrenade.c index 687f77f1..bc585a7b 100755 --- a/Source/Shared/WeaponSmokeGrenade.c +++ b/Source/Shared/WeaponSmokeGrenade.c @@ -107,6 +107,12 @@ void WeaponSMOKEGRENADE_Throw( void ) { self.nextthink = time + 5.0f; } static void Weapon_SMOKEGRENADE_Touch( void ) { + if ( other.solid == SOLID_TRIGGER ) { + return; + } + if ( other == self.owner ) { + return; + } if ( other.classname == "func_breakable" ) { Damage_Apply( other, self, 10, self.origin ); } diff --git a/freecs/progs.dat b/freecs/progs.dat index 32018350..59f15cf1 100644 Binary files a/freecs/progs.dat and b/freecs/progs.dat differ