4,684 Commits over 976 Days - 0.20cph!
Add SecondaryShoot component, Shotgun uses this. Not a fan of how it's written though
Adjusted player movement, fixed slide sound
snd_event_alignedbox: Fixed sound position lagging behind by one frame
Decreased MaxScore for now
Fixed colors not being set via TeamComponent
Basic scoring for TDM
Fixed LastDamage never being set
TDM: Show scores on HUD
Add VR check to set VR anchor
Fix for last month's engine refactor
Doh, fixed players not being moved to spawnpoints
Chatbox: Use Team color where applicable
Update player list to match style
Chat: Fixed messages without avatars getting squished
Fixed NRE due to chat team check
Moved Camera updates to FrameSimulate, removed unnecessary DevCamera code
Create Gamemode.HudPanel if we have one, start on TDM Hud
New chatbox style https://files.facepunch.com/devultj/1b1611b1/sbox-dev_5C841eKQ0v.mp4
Changed Health / Armor Tick to 1 second instead of half a second
SegmentBar: Individually paint segments based on how far past maximum our current value is https://files.facepunch.com/devultj/1b1611b1/sbox-dev_rQS3FJ3top.png
Slowly Tick Health & Armor down if it's above the maximum
SegmentBars have a "supercharged" state if CurrentValue exceeds MaxValue
Reduced main hud footprint, added dividers - work on matching concept https://files.facepunch.com/devultj/1b1611b1/sbox-dev_56mjVVik7e.jpg
Updated colors to match concept
Set weapon icons, show weapon icon in HUD
Fixed case where you could not damage yourself with Friendly Fire off
Define Base SegmentBar color, use that in Razor to calculate gradients instead of hardcoding colors https://files.facepunch.com/devultj/1b1611b1/sbox-dev_kVh739fF5x.png
There's probably a better way to do this..
Implement SegmentBar component
Example: `<SegmentBar CurrentValue=@Dash.DashCount MaxValue=@Dash.MaxDashes Segments=@Dash.MaxDashes />`
Set up SegmentBars for health, armor, dash count
Temporary display for teams on player list
Return no teams if we've not chosen a gamemdoe
Add support to control friendly fire per-gamemode
Gamemode can provide us with a list of teams. Use it in TeamSystem
Add standard TeamSystem methods, ability to get count of clients + lowest occupied team
Started work on Team Deathmatch
Reduce repetitive code, store current clothing entities and clear them out on setup
PlayerColor affects current clothing, and networks updates properly
When TeamComponent's team changes, set the player color if we've got a player to match the team.
AllowMovement ignores camera input, so players can still look around if movement is disabled.
Don't simulate controller mechanics if movement is disabled
Centered the chatbox for now
Add temporary gamemode info to the HUD https://files.facepunch.com/devultj/1b1411b1/sbox-dev_k5uR9xA9bd.jpg
Prepare TimeLeft / GameState labels for UI
Add wait when the game ends, we'll replace this with a map vote task when it exists.
Create TeamComponent, Player accessor
Hook Gamemode OnPlayerKilled & PostPlayerKilled up - set default life state to Respawning on death
Give gamemode spawnpoint decisions
Run gamemode buildinput so we can disallow movement at the gamemode level
Fixed MoveToSpawnpoint running twice, hook up PlayerLoadout so gamemodes can define custom loadouts
Hook up Gamemode.AllowDamage
Hook up OnClientJoined, OnClientDisconnected
Created Gamemode Entity, initialize gamemode if found / convar is set
Glow.Material made into a property, get rid of the Error List warning
Style adjustments to PartyDeck, give a crown to the current party owner, add horizontal padding to player-info
Don't grab convars all the time for ServerInformation - do it properly in NetworkServer.FillInfo, so it's included in our manifest
Add ServerInformation.MaxPlayers, fixed ServerInformation.ServerTitle being incorrect on client.
Menu: Ignore #local in GameIcon, since we cache favourited packages, they were all returning as non-remote packages, and weren't able to be clicked to open their game front.
Remove InteractionMechanic
Add shortcuts to go to specific weapons, (E = Lightning, R = Railgun, F = Rocket Launcher)
InputButton.Menu (Q) swaps between current weapon and previous weapon
Add support for scrolling to swap weapons, as well as InvPrev/InvNext (gamepad)
Set up tags for the outfit so it's grabbed by ragdoll code