7,479 Commits over 3,622 Days - 0.09cph!
Add Q quick weapon switch
Add BaseWeapon.EquipDuration
Replicate Weapon.IsActiveWeapon to control visibility and equip/holster events instead of multicast rpc (shouldn't use rpc for persistent state)
Move AutoKeyedDictionary to Engine addon
Remove gamemode player join team accept/refuse and use callbacks in Player.JoinTeam instead. Close team selection hud on accepted callback.
Add Gamemode.OnPlayerJoinTeamRefused
Merge branch 'master' of github.com:Facepunch/SandboxGame
Gamemode.FindSpawnPoint takes player arg so gamemodes can choose different spawn points depending on team etc
Allow spectator team on hud
Hook up team selection hud to Player.JoinTeam
Add Player.JoinTeam and Gamemode.OnPlayerJoinTeam (it's up to gamemodes to allow the team join or not)
Make characters walk around in circles when not controlled or controlled by bot
Take damage from phys collide
Add shotgun
Transfer player velocity to weapon throw
Add fov command (110 fov club)
Fix post process entities for 4.19, hardcode outline material blendable for now. Add outline when looking at weapon pickups.
Use pickup mesh bounds to place weapon center
Pick up weapon with use key for when not touching pickup trigger
Add entry state name to anim state machine, use the first added state by default (fixes view models showing idle for a frame when equipping sometimes)
Only play weapon view model animation when weapon is active
Add weapon switching and weapon selection Hud. Add give_weapon command. Add Entity.ClassName. Weapon world and view models hidden by default. Run character controllable physics on server when no player or player is a bot.
Add left and right hand socket names to player model. Add Weapon.HideModel and Weapon.AttachToPlayerModel (probably come up with better names)
Broadcast weapon drops so the model can be hidden and detached
Create player model before giving weapons. Attach weapon world model to player model
Hide weapon models on holster. Only give weapon if it's unique
Place weapon instead of throwing it if surface is flat and near us
Throw weapon with some angular velocity
Only play weapon viewmodel sounds if there's an owner
Set weapons owner to null on drop
Remove weapon from inventory when dropping weapon
Have weapon create it's own pickup
Throw weapon with some velocity
Disable replication on weapon model. Only trigger weapon pickup on server
Add view shake to shooter base
Allow weapons to update owners view (zoom in and out)
Add weapon model entity (weapons world model, client side only)
Add virtual OnEquip and OnHolster to BaseWeapon, called on weapon change
Play view model animation on equip by default, override Weapon.OnEquip to do something different
Add WeaponPickup
Give weapon to pickup trigger activator, destroy pickup if activator can put the weapon in their inventory
Add thirdperson camera collision back
Merge branch 'master' of github.com:Facepunch/SandboxGame
Move Gamemode.FindSpawnPoint to Engine addon, no reason to make this an internal function
Turn off skeletal animations properly without T-posing it when in ragdoll
Only rotate player model with yaw angle when controllable is alive
Fix exception in vpk reading
Keep reading bsp entity lump if a line fails
Remove some uneeded logging
View next player if target leaves
Add some authority asserts for safety
Don't change spectator mode if there's no target. Move spectator to thirdperson camera when switching to null target (no targets left to spectate)
Allow spectator movement if there's no target
Only use thirdperson camera as spectator if in that mode or target is ragdoll
Set spectator view target when target respawns
Merge
Merge branch 'master' of github.com:Facepunch/SandboxGame
Fix weapon viewmodel swinging around when first spectating
Don't do spectator eye input when in firstperson mode
Only do spectator movement when in free mode
Set spectator view target back to itself unless switching to firstperson mode and there's a target, just incase there's a situation where mode is changed from firstperson to free.
Add spectator free mode back, move it to where the thirdperson camera would be so it looks like we just detach from the target nice and clean
Rename ControllingViewTarget to ControllingTarget to distinguish between the actual view target, target is just a way of player having an entity of interest (example: don't remove ragdoll while player is targeting it)