27 Commits over 31 Days - 0.04cph!
Crossbow pickup gives you the crossbow, up starting ammo
Build killfeed entries thru code, show icons for headshots
Killfeed suicide icon
Killfeed explosion icon
Swap some weapon icons for consistency/readability
Health/armour pickup sfx
Don't spatialise our pickup sounds
Add Explosion.SpawnEffect
Give all explosions scorchmark decals, triplanar mapping
Add cleardecals cmd
Crank up gluon beam damage, do first inflict tick immediately
Discard ShootEffects if the player's already dead
Show scoreboard ping in ms
PlayerData.Ping pulls from Connection.Ping instead of syncing from host now we can do that
Steamline OnDeath events a bit, highlight killfeed events involving us
Discard TraceAttack if the player's already dead
HostSync HasLongJumpModule
Trigger long jump on IPlayerEvent.OnJump
Untangle hornet projectile firemode, fix player targeting
Spit out little fishes from my big fish
Disable hornet projectile collision sounds
Fix crossbow projectile not dealing damage, better handling for projectile clientside hitmarkers
Rename Projectile.Explode -> OnHit
Move hardcoded projectile/particles collision ignore to collision rules
Do hornet damage on host
Tweak hornet bounce math, prevent phys from changing orientation
Give hornet some stupid and wet sounds, fix alt fire
Track projectile owning player, ignore collisions based on that and not time
Add Sandbox.Diagnostics global using
Inflict damage thru IDamageable.Damage extension, complain when we're doing silly things
Run fall damage on host
Do explosives on host
We don't want to Broadcast this
Perform gluon damage at intervals, not every frame (!)
Add infinite ammo cvar (sbdm.infammo)
Add BaseCarryable.OnEquipped/OnHolstered so that's more obvious
Streamline gluon networking, don't rpc the beam fx let everyone update that on their end
Refactor item pickups, streamline logic/validation
Fix hornetgun using rpg AmmoResource
Disable pickup collider when not active
Smite GiveHealth/GiveArmour
Just rpc PickupNotice to the owner
Snip dodgy GetHashCode override, make sure inventory slots are rebuilt when contents change
Stop gluon fx, gauss chargeup on disabled not destroy
Use PlayerData.All when spawning players on StartGame, some may be connected but not yet active
Disable gluon beam shadows
Prevent negative gluon beam length
Stop gluon gun white noise machine
Gluon hitmarkers
Add godmode cmd
Hornet gun: hitmarkers on projectile explode
Snip 2nd collider on ejected 9mm casings, reduce lifetime to 10s
Fix exception when bots pick up weapons
Swap !IsProxy && !IsBot checks for Player.IsLocalPlayer
Don't show bots hitmarkers on my screen
Replace SteamId usage with PlayerId (unique per connection and bot), streamline spawning logic
Don't draw bots hud vitals on my screen
Just reference PlayerData instead of keeping two copies of all this, looking it up etc
Tidy up death logs, don't double up
Toggleable weapon autoswitch when picking up something better #92 (player.autowepswitch cvar)
Fix NRE when killing self
InventorySlot IsValid check
Shotgun uses correct muzzle transform