CBaseHLCombatWeapon

is a code class defining common behavior between weapons in Half-Life 2, the Episodes, and Portal (excluding the portal gun).