diff --git a/src/game/server/tf/tf_player.cpp b/src/game/server/tf/tf_player.cpp index fa944e35611..0253fe56f56 100644 --- a/src/game/server/tf/tf_player.cpp +++ b/src/game/server/tf/tf_player.cpp @@ -11268,7 +11268,7 @@ void CTFPlayer::Event_KilledOther( CBaseEntity *pVictim, const CTakeDamageInfo & flRefill *= 0.2; } - if ( flRefill > 0 && ((info.GetDamageType() & DMG_MELEE) || ( info.GetDamageCustom() == TF_DMG_CUSTOM_CHARGE_IMPACT ) ) ) + if ( flRefill > 0 && ( ( info.GetDamageType() & DMG_MELEE ) || ( info.GetDamageCustom() == TF_DMG_CUSTOM_STICKBOMB_EXPLOSION ) || ( info.GetDamageCustom() == TF_DMG_CUSTOM_CHARGE_IMPACT ) ) ) { m_Shared.SetDemomanChargeMeter( m_Shared.GetDemomanChargeMeter() + flRefill * 100.0f ); } diff --git a/src/game/shared/tf/tf_gamerules.cpp b/src/game/shared/tf/tf_gamerules.cpp index c3ec6c0d998..4029e0527e5 100644 --- a/src/game/shared/tf/tf_gamerules.cpp +++ b/src/game/shared/tf/tf_gamerules.cpp @@ -7258,7 +7258,7 @@ float CTFGameRules::ApplyOnDamageAliveModifyRules( const CTakeDamageInfo &info, outParams.bPlayDamageReductionSound = CheckMedicResist( TF_COND_MEDIGUN_SMALL_BULLET_RESIST, TF_COND_MEDIGUN_UBER_BULLET_RESIST, pVictim, flRawDamage, flDamageBase, bCrit, flDamageBonus ); } - if ( info.GetDamageType() & DMG_MELEE ) + if ( ( info.GetDamageType() & DMG_MELEE ) || ( info.GetDamageCustom() == TF_DMG_CUSTOM_STICKBOMB_EXPLOSION ) ) { CALL_ATTRIB_HOOK_FLOAT_ON_OTHER( pVictim, flDamageBase, mult_dmgtaken_from_melee ); } diff --git a/src/game/shared/tf/tf_weapon_bottle.cpp b/src/game/shared/tf/tf_weapon_bottle.cpp index ff74cff1227..a84b87add04 100644 --- a/src/game/shared/tf/tf_weapon_bottle.cpp +++ b/src/game/shared/tf/tf_weapon_bottle.cpp @@ -254,19 +254,13 @@ void CTFStickBomb::Smack( void ) TE_TFExplosion( filter, 0.0f, explosion, Vector(0,0,1), TF_WEAPON_GRENADELAUNCHER, pTFPlayer->entindex(), -1, SPECIAL1, iCustomParticleIndex ); - int dmgType = DMG_BLAST | DMG_USEDISTANCEMOD | DMG_MELEE; + int dmgType = DMG_BLAST | DMG_USEDISTANCEMOD; if ( IsCurrentAttackACrit() ) dmgType |= DMG_CRITICAL; - float flDamage = 75.0f; - CALL_ATTRIB_HOOK_FLOAT( flDamage, mult_dmg ); + CTakeDamageInfo info( pTFPlayer, pTFPlayer, this, explosion, explosion, 75.0f, dmgType, TF_DMG_CUSTOM_STICKBOMB_EXPLOSION, &explosion ); - CTakeDamageInfo info( pTFPlayer, pTFPlayer, this, explosion, explosion, flDamage, dmgType, TF_DMG_CUSTOM_STICKBOMB_EXPLOSION, &explosion ); - - float flRadius = 100.f; - CALL_ATTRIB_HOOK_FLOAT( flRadius, mult_explosion_radius ); - - CTFRadiusDamageInfo radiusinfo( &info, explosion, flRadius ); + CTFRadiusDamageInfo radiusinfo( &info, explosion, 100.0f ); TFGameRules()->RadiusDamage( radiusinfo ); } #endif