branchsbox-gunfight/maincancel
871 Commits over 609 Days - 0.06cph!
Field of view programmatic adjustments, force two-handedness for viewmodels, weapon function tags
Fixed a few asset references
Much faster FX decay time
UI reflects entire inventory now. Add USP, fixed bug where all weapons would be active on startup
Fixed other player's HUD rendering always
More robust method of weapon equip events
Add PlayerInventory, can hold multiple weapons, and can holster current
Go from target GameObject's root downward for detecting IDamageables
Add Weapon.UpdateRenderMode, to hide the world model when locally controlling a player
Simplify damage, make it less shit
Fixed case where the player might not have a weapon
Create PlayerBody component, move weapon to hold bone when it's set to current
Organized some prefabs/resources
Can't aim while sprint/sliding ("no_aiming" mechanic tag)
Add proxy update for mechanics, so we can grab tags for networked players, crouch/slide/etc sync'd this way
More work on networked players
Wrap player input around IsLocallyControlled
Code refactor, start working on pawn possession (so we can do networked spectators later)
.gitignore update, case sens changes
Adjust recoil system to be more sane
Add some UI components back, start on ammo hud. Default map facepunch.prison
Reflect real ammo counts, fixed MP5 ammo container
Fixes
Fix input to work on the controller
Removed some bullshit files, compile fix
Stub out player HUD setup, only enable hud gameobject if we're the local player
Made a few things on the PlayerController use RequireComponent so there's less setup
Refactor how viewmodels are made, to work in multiplayer
Fixed compile
GameManager -> Game, removed some useless code
Removed recoil pattern system (cool experiment, not something I want to use in practice)
Use GameObject references in WeaponDataResource, instead of dumb hack from months ago
Fixed weapon instantiation bugs
Align impact decals correctly instead of accounting for the 90 degree offset bug
Fix error spam from sound emitter
Add an access point for the player controller to influence recoil
Cleanup, add horizontal and vertical spread ranges
Add loop points to recoil patterns
https://files.facepunch.com/tony/1b2611b1/Zwf2E8V68x.png
https://files.facepunch.com/tony/1b2611b1/sbox-dev_9zVXae9zXk.mp4
Update style of recoil pattern UI, draw line with all points https://files.facepunch.com/tony/1b2611b1/z5ZQTeqnS5.png
Use recoil pattern in RecoilFunction
https://files.facepunch.com/tony/1b2611b1/sbox-dev_xaXurG5u7E.mp4 https://files.facepunch.com/tony/1b2611b1/CS5fvYwsxo.png
Add editor for designing recoil patterns
https://files.facepunch.com/tony/1b2611b1/rNGbSsl88U.mp4
Fixed not finding the ammo container
Move weapon functions into a separate gameobject on the weapon for organization
Refactor weapon abilities to be weapon functions, stats can be modified by weapon functions
Update camera animation code to use local bone transform, ty @aylaylay
https://files.facepunch.com/tony/1b2511b1/sbox-dev_iEfv2HkNNa.mp4
Don't overcomplicate stats
Add weapon stats system baseline
Add test code for local bone transform
Remove unused field from SoundEmitter
Add main menu, default scene is main menu, add play button
Add GameObject.PlaySound as a fire and forget way to play sounds on a gameobject (and have it follow the object)
Apply decal random rotation, spawn particles
Bullshit reloading system for now
Add GameObject.DestroyAsync extension
Add SurfaceComponent and GameObject.GetSurface extension method
Prefab updates
Get surface from weapon shoot trace, create impact effect gameobject from decal definition
https://files.facepunch.com/tony/1b2311b1/sbox-dev_M7K7YcLTh5.mp4