Work in progress Pawn refactor
Moved PlayerScore to PlayerState, scoreboard uses PlayerStates instead of relying on an active Pawn
Voice is on PlayerState, Kill Feed, Voice panel all use PlayerState
Chat system also uses player states, for now if we have a pawn, check zone that way. Needs a rethink, because we'll want to grab zones from possessed pawns, like the drone.
Can deploy drone by using left mouse button, removed dev menu debug for it
When possessing a pawn, set its PlayerState
Vitals UI works for any pawn
Kill bots playerstates as well as their pawn
Support Buy Menu items again
Use PlayerPawn in BuyMenu, not PlayerState
Cleanup, removed unused stuff
Removed a bunch of code we don't need on the Drone anymore
Fix NRE when shooting
Better logic for player marker vis
Another NRE fix
Don't destroy playerstate when orphaning. When connecting, look for a candidate playerstate that matches our SteamId and is unowned, so we can re-claim it
I don't think we need this stuff
Equipment renderer adjustments
Just use Property for PlayerBody.Player, instead of fetching OnStart
Fix team assignment
Use GameUtils.LocalPlayerState where we can
Spectating works again
Fix player nameplate conditions
More sensible accessors for local/viewer PlayerStates
Rename CurrentPlayerPawn->PlayerPawn, use rather than casting Pawn in a bunch of places (so we actually get what we're expecting)
Network client respawn event properly
Use PlayerState.Local.PlayerPawn directly
Fix not depossessing current pawn
Simplify pawn stuff a bit
Can now freely destroy/respawn player pawns
Tidy PlayerState a bit, streamline flow for spawning/possession
Don't enter spectate when respawning, do immediate spawns for joiners where we can
Add PlayerState.IsConnected
Fix non-host players sometimes spawning in incorrect locations
Fix error when no PlayerState.Viewer
Don't send team chat messages to bot connections