Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions src/game/shared/tf/tf_weaponbase_melee.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@

ConVar tf_weapon_criticals_melee( "tf_weapon_criticals_melee", "1", FCVAR_REPLICATED | FCVAR_NOTIFY, "Controls random crits for melee weapons. 0 - Melee weapons do not randomly crit. 1 - Melee weapons can randomly crit only if tf_weapon_criticals is also enabled. 2 - Melee weapons can always randomly crit regardless of the tf_weapon_criticals setting." );

ConVar tf_shield_charge_melee_range("tf_shield_charge_melee_range", "0", FCVAR_REPLICATED | FCVAR_NOTIFY, "The range of a melee attack performed during a shield charge. Set to 0 for no change.");

//=============================================================================
//
// TFWeaponBase Melee tables.
Expand Down Expand Up @@ -166,8 +168,13 @@ int CTFWeaponBaseMelee::GetSwingRange( void )
CTFPlayer *pOwner = ToTFPlayer( GetOwner() );
if ( pOwner && pOwner->m_Shared.InCond( TF_COND_SHIELD_CHARGE ) )
{
// mvm bots that can attack while charging
return 128;
}
else if ( IsCurrentAttackDuringDemoCharge() && tf_shield_charge_melee_range.GetInt() > 0 )
{
return tf_shield_charge_melee_range.GetInt();
}
else
{
int iIsSword = 0;
Expand Down Expand Up @@ -200,11 +207,11 @@ void CTFWeaponBaseMelee::PrimaryAttack()

pPlayer->EndClassSpecialSkill();

m_bCurrentAttackIsDuringDemoCharge = pPlayer->m_Shared.GetNextMeleeCrit() != MELEE_NOCRIT;

// Swing the weapon.
Swing( pPlayer );

m_bCurrentAttackIsDuringDemoCharge = pPlayer->m_Shared.GetNextMeleeCrit() != MELEE_NOCRIT;

if ( pPlayer->m_Shared.GetNextMeleeCrit() == MELEE_MINICRIT )
{
m_bMiniCrit = true;
Expand Down