From Valve Developer Community
This article is a stub. You can help by adding to it.
CBasePlayer is the class from which all player classes should inherit. See also Category:CBasePlayer.
On the client, CBasePlayer is
#define C_BasePlayerso that shared code works. Unfortunately, Visual Studio's Intellisense system (prior to 2010, which fixes this) is confused by this and will apply the #def even when you are looking at the server: you'll keep getting sent to
C_BasePlayerwhen looking up references, definitions, and so on. This issue doesn't affect the compiler, thankfully!
This list is cursory and may be inaccurate:
- Weapon selection
- Viewmodel state
- FOV (including zoom)
- Eye position & smoothing
- Current PVS (for network updates)
- Flashlight state
- Battery state (sprinting, flashight drain, oxygen supply...)
- Ladder state
- Hint system
- Respawn state
- Connection state
- Receiving & managing usercmds (
- Some prediction setup
- CreatePlayer (called from <game>_client)
- Autokick enabled/disabled
- Player name, chat, team & serverID
- Spectator system
- Bot plug-in support
- Client-to-server console commands
- MP tonemap Hammer input (new addition, available in SDK but has yet to roll out to Valve's own games)
- Armour amount
- Score, kills, deaths
- Time-based damage (drowning, fire...)
- VPhysics shadow
- Special QPhysics movement code
- "Player-simulated entities"
- HEV suit (vox, Geiger counter)
- HUD updates (inc. damage received)
- Using/picking up objects
- Vehicle interaction
- "Replay mode"
- Gamepad rumble
- Debug overlays
- Level fog