From 9a03faec585848d706560fbd59f1262cff719a54 Mon Sep 17 00:00:00 2001 From: SanyaSho Date: Tue, 16 Aug 2022 18:38:47 +0300 Subject: [PATCH] game: fix satchel/tripmine damage and damage radius cvars (hrgve/hl2dm-bugfix@d2aa89fc0fbe732396be37cd65144dd3a9a943c3) --- game/server/hl2mp/grenade_satchel.cpp | 13 ++++++------- game/server/hl2mp/grenade_tripmine.cpp | 20 +++++++++----------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/game/server/hl2mp/grenade_satchel.cpp b/game/server/hl2mp/grenade_satchel.cpp index 9b304ad8..29983712 100644 --- a/game/server/hl2mp/grenade_satchel.cpp +++ b/game/server/hl2mp/grenade_satchel.cpp @@ -19,9 +19,9 @@ #define SLAM_SPRITE "sprites/redglow1.vmt" -ConVar sk_plr_dmg_satchel ( "sk_plr_dmg_satchel","0"); -ConVar sk_npc_dmg_satchel ( "sk_npc_dmg_satchel","0"); -ConVar sk_satchel_radius ( "sk_satchel_radius","0"); +ConVar sk_plr_dmg_satchel ( "sk_plr_dmg_satchel","150"); // commented lines in hl2/skill.cfg +ConVar sk_npc_dmg_satchel ( "sk_npc_dmg_satchel","75"); +ConVar sk_satchel_radius ( "sk_satchel_radius","150"); BEGIN_DATADESC( CSatchelCharge ) @@ -73,15 +73,14 @@ void CSatchelCharge::Spawn( void ) SetThink( &CSatchelCharge::SatchelThink ); SetNextThink( gpGlobals->curtime + 0.1f ); - m_flDamage = sk_plr_dmg_satchel.GetFloat(); - m_DmgRadius = sk_satchel_radius.GetFloat(); m_takedamage = DAMAGE_YES; m_iHealth = 1; SetGravity( UTIL_ScaleForGravity( 560 ) ); // slightly lower gravity SetFriction( 1.0 ); SetSequence( 1 ); - SetDamage( 150 ); + SetDamage( sk_plr_dmg_satchel.GetFloat() ); + SetDamageRadius( sk_satchel_radius.GetFloat() ); m_bIsAttached = false; m_bInAir = true; @@ -118,7 +117,7 @@ void CSatchelCharge::CreateEffects( void ) //----------------------------------------------------------------------------- void CSatchelCharge::InputExplode( inputdata_t &inputdata ) { - ExplosionCreate( GetAbsOrigin() + Vector( 0, 0, 16 ), GetAbsAngles(), GetThrower(), GetDamage(), 200, + ExplosionCreate( GetAbsOrigin() + Vector( 0, 0, 16 ), GetAbsAngles(), GetThrower(), GetDamage(), GetDamageRadius(), SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE, 0.0f, this); UTIL_Remove( this ); diff --git a/game/server/hl2mp/grenade_tripmine.cpp b/game/server/hl2mp/grenade_tripmine.cpp index e14a929d..5c67503d 100644 --- a/game/server/hl2mp/grenade_tripmine.cpp +++ b/game/server/hl2mp/grenade_tripmine.cpp @@ -18,9 +18,9 @@ extern const char* g_pModelNameLaser; -ConVar sk_plr_dmg_tripmine ( "sk_plr_dmg_tripmine","0"); -ConVar sk_npc_dmg_tripmine ( "sk_npc_dmg_tripmine","0"); -ConVar sk_tripmine_radius ( "sk_tripmine_radius","0"); +ConVar sk_plr_dmg_tripmine ( "sk_plr_dmg_tripmine","150"); // commented values in hl2/skill.cfg +ConVar sk_npc_dmg_tripmine ( "sk_npc_dmg_tripmine","125"); +ConVar sk_tripmine_radius ( "sk_tripmine_radius","200"); LINK_ENTITY_TO_CLASS( npc_tripmine, CTripmineGrenade ); @@ -59,22 +59,19 @@ void CTripmineGrenade::Spawn( void ) SetSolid( SOLID_BBOX ); SetModel( "models/Weapons/w_slam.mdl" ); - IPhysicsObject *pObject = VPhysicsInitNormal( SOLID_BBOX, GetSolidFlags() | FSOLID_TRIGGER, true ); + IPhysicsObject *pObject = VPhysicsInitNormal( SOLID_BBOX, GetSolidFlags() | FSOLID_TRIGGER, true ); pObject->EnableMotion( false ); SetCollisionGroup( COLLISION_GROUP_WEAPON ); SetCycle( 0.0f ); m_nBody = 3; - m_flDamage = sk_plr_dmg_tripmine.GetFloat(); - m_DmgRadius = sk_tripmine_radius.GetFloat(); - ResetSequenceInfo( ); m_flPlaybackRate = 0; - + UTIL_SetSize(this, Vector( -4, -4, -2), Vector(4, 4, 2)); m_flPowerUp = gpGlobals->curtime + 2.0; - + SetThink( &CTripmineGrenade::PowerupThink ); SetNextThink( gpGlobals->curtime + 0.2 ); @@ -83,7 +80,8 @@ void CTripmineGrenade::Spawn( void ) m_iHealth = 1; EmitSound( "TripmineGrenade.Place" ); - SetDamage ( 200 ); + SetDamage( sk_plr_dmg_tripmine.GetFloat() ); + SetDamageRadius( sk_tripmine_radius.GetFloat() ); // Tripmine sits at 90 on wall so rotate back to get m_vecDir QAngle angles = GetAbsAngles(); @@ -268,7 +266,7 @@ void CTripmineGrenade::DelayDeathThink( void ) UTIL_TraceLine ( GetAbsOrigin() + m_vecDir * 8, GetAbsOrigin() - m_vecDir * 64, MASK_SOLID, this, COLLISION_GROUP_NONE, & tr); UTIL_ScreenShake( GetAbsOrigin(), 25.0, 150.0, 1.0, 750, SHAKE_START ); - ExplosionCreate( GetAbsOrigin() + m_vecDir * 8, GetAbsAngles(), m_hOwner, GetDamage(), 200, + ExplosionCreate( GetAbsOrigin() + m_vecDir * 8, GetAbsAngles(), m_hOwner, GetDamage(), GetDamageRadius(), SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE, 0.0f, this); UTIL_Remove( this );