302 Commits over 59 Days - 0.21cph!
Die if we dip below 1 health, ceil health on hud, resolves #73
Add scorch to explosions
Reduced shell bounce sound range significantly
WorldModel/BaseCarryable doesn't define/implement backpack feature, instead send events on creation/destruction of WorldModel
Add WeaponPlayerAttachment, can either attach a prefab (that'll get spawned) or a referenced GameObject in WorldModel's hierarchy
Don't need these
Add component that plays only self collision sounds, add to bullet eject prefab
Get rid of the game / overlay render code in ViewModel because it's fucking up some of the guns (ones we're using mp5 anims for)
Use Application.IsDedicatedServer wherever we were using IsHeadless before
Add CrossbowWeapon, CrossbowProjectile, needs some polish/improvements but is working
Fixed renderer viewmodel logic
Shotgun: Alternate attack with higher damage per pellet, takes 2 bullets, has higher shoot dleay
Fixed TakeAmmo not working with count param
Shotgun: Increase crosshair gap
Adjust shotgun punch and shake, don't eject 12 casings per shot
Python: Add shoot delay only if we can shoot
Automatically set render options for viewmodel renderers so we don't have to fuck around every time we make a weapon
Add Shotgun, incremental reloading, reload cancelling option
Add voices UI, tweaked voice transmitter properties to not be worldspace
Don't do effects if we're the server in many cases
Rat: if on ground, keep pitch at 0
Update item inventory slots to be more consistent (throwables in 5, special weapons in 4)
Rat: die after a set period of time (30s by default)
TriggerHurt: Look for a collider instead of RequireComponent
Remove transform offset from map loader
Use our new map by default
Rat: give weapon a svg icon
Fix rat pickup item prefab reference
Rat: try to bite target if we're lunging and they're close enough
Rat: add grounded checks instead of arbitrary timing
Add rat weapon that throws a rat
Rat NPC (doesn't hurt the player yet)
Rat cleanup
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
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
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
HandGrenadeWeapon: use SwitchAway
Remove unused reloadTask from BaseCarryable
Uncomment now-working armour pickup code
Add Armour - when taking damage, take from armour first
ChargeStation supports armour, add armour charge station prefab
Gauss: fix NRE if we shoot in a direction where a trace never hits
Mp5: reduce punch/shake
Reverse mouse wheel inventory direction
Bespoke crosshair for Rpg
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
Fixed explosion damage networking
Set correct network mode on charger, tweak netcode a bit
Gauss: Add penetration to charged shots, can configure max thickness
Gauss: add loads of screen punch when firing a charged shot
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
Bespoke grenade crosshair
Don't play notice when topping up on grenades
Grenade supports consuming ammo
Set up throwable anims, defer deletion