ClearMultiDamage(); CTakeDamageInfo info( pPlayer, pPlayer, 20, DMG_BULLET | DMG_NEVERGIB ); if ( (m_flNextPrimaryAttack + 0.4 < gpGlobals->curtime) ) { // first swing does full damage info.SetDamage( 20 ); } else { // subsequent swings do less info.SetDamage( 15 ); } CalculateMeleeDamageForce( &info, vForward, tr.endpos ); pEntity->DispatchTraceAttack( info, vForward, &tr ); ApplyMultiDamage();