176 Commits over 61 Days - 0.12cph!
Halve explosion shake duration
Add CameraSetup component to control camera effects better
Apply env shake using ICameraSetup, so we still shake even if we don't have a player
Place viewmodel using ICameraSetup, applies camera shake to viewmodel
Move camera shake effects to a GameSystem
Fix damage indicator showing for local player when shooting bots
Merge branch 'main' of sbox-deathmatch
Make bots shoot at players and other bots
Add Projectile with common functionality, RpgProjectile derives from it
Moved GaussWeapon into its respective folder
BaseWeapon can check / take ammo from name (good for secondary attack)
Give MP5 grenade launcher secondary attack
RpgWeapon structure cleanup
Mp5: Fixed not being able to secondary attack if we run out of primary ammo
Add EnvShake component, add it to explosion and rpg projectile
Gauss: spin viewmodel's coil every time we consume a bit of ammo
Make gauss coil parent to a separate bone so we can rotate it later
Update Gauss model to use blockout
Use correct model for Rpg item
Add WithAimCone extensions
Add radius to glock, python, mp5 weapons
Rename map - upload wip version
Use correct network orphaning for Rpg projectile - if we host transfer, it should naturally become unguided and continue moving forward
Rpg projectile is created by the host
Make the laser pointer for the Rpg visible for other clients
Fix Rpg guided mode
Implemented ILocalPlayerEvent.OnTakeDamage. Pass DamageInfo instead of just amount so we can get more info from the event
Added PlayerDamageIndicators Component, flashes a red vignette when taking damage
Added directional damage indicators when hurt
(lifetime is exaggerated for video)
https://files.facepunch.com/CarsonKompon/2025/January/08_10-07-TartFruitfly.mp4
Merge LinearMove and Rotation into 1 component FuncMover
Func Rotation
Func Linear Mover
Trigger Push
Lets use a light for the rpg laser pointer
Add TemporaryEffect.CreateOrphans
Sex up the rpg projectile
HandGrenadeWeapon: use SwitchAway
Remove unused reloadTask from BaseCarryable
Fix NRE when bot task tries to respawn after ending game/exiting play mode
Use IsOwner checks instead of IsProxy in `PlayerCameraEffects` so bot players don't affect the local player's camera
Tweak gauss tracer, aimcone, give weapon icon
Uncomment now-working armour pickup code
Add Armour - when taking damage, take from armour first
ChargeStation supports armour, add armour charge station prefab
Add GameConfig
Add BaseCarryable.SwitchAway()
Satchel fixup
Gauss: fix NRE if we shoot in a direction where a trace never hits
Mp5: reduce punch/shake
Fix exception when changing weapons
Add basic bots can be spawned via `bot_add <count>`
Tripmine placing cleanup
Fix tripmine damaging you whetever you stand
Broadcast tripmine explosion
Fix tripmine not activating if its laser didn't hit anything, clean up
Fix tripmine being triggered on spawn
Reverse mouse wheel inventory direction
Bespoke crosshair for Rpg
Run by default, shift is walk
Tweak tripmine laser, colors
FuncDoor Open away from player bool
RpgWeapon -> BaseWeapon, doesn't use ShootEffects
Death notices - validate player, could've been killed and removed
Add RPG, has unguided and guided modes
Gauss: add ricochet to last trace
Moved rpg pointer glow texture into project
Update RPG icon
Increase collision on tripmine so you don't slide off them
Fixed explosion damage networking
Set correct network mode on charger, tweak netcode a bit
Gauss: Add penetration to charged shots, can configure max thickness
removed obsoletes
Remove old spray component
Gauss: add loads of screen punch when firing a charged shot
Health and Armour kit pickup
Add continuous shake whilst charging the gauss gun
Gauss: Damage is evaluated on a curve based on charge power, drain ammo whilst charging until fully charged
Add Gauss Gun, missing ricochet, screenshake, charged damage bonus