3 Months Ago
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