7,479 Commits over 3,622 Days - 0.09cph!
Add knife weapon. Add option to force weapon view model opposite hand.
Add BotThink func to just move all that shit out of Tick
Barrel bot distance to target uses horitzontal position
Add spawn offset to spectators
Destroy entity after registering death so it's still valid to use
Fix barrels registering death using attacker as victim
Add team colors to scoreboard
Add Controllable.GetSpawnOffset so you can make sure the bottom of the collider is level with the spawn point
Add DestroyTimer class, destroy entity after duration and optionally when not the local view target
Give barrel debris a destroy timer
SuicideBarrels: Add friendly fire convar, default true
Replace spring arm camera in engine addon with better version
Increase barrel sound attenuation radius
SuicideBarrels: Call base.OnPlayerDied so death camera and respawning works
Make barrel bots follow then explode on you
Make barrel bots move around
Make them taunt at random between 2 and 5 seconds
Make sure shooter base MyHud property is set
Forgot to make it virtual
Add BaseWeaponControllable.CanDropWeapon to give more control over when weapons can be dropped. SuicideBarrel humans can never drop their weapon.
SuicideBarrels: Don't create weapon selection hud, give pistol and pistol ammo on spawn, add IsInventoryFull to ensure only one weapon
ShooterBase: Only spawn hud once internally, ask gamemode to create the hud
SuicideBarrels: Use teaminfo for teams. Only allow user team joins to spectator (for now)
Start using shooter base for suicide barrels, don't create team selection hud (gamemode phase decides teams)
Add virtual functions for giving default ammo and weapons on spawn
Add gamerule can damage player, default true
Only throw grenade if pin is pulled and has been 2 seconds since last throw to avoid spamming
Add anim nodes RotationOffsetBlendSpace, ApplyAdditive, MakeDynamicAdditive. Experiment with aim blend spaces
Add num grid subdivisions and interp time to blend parameters
Add 8 direction run animations, change play rate if moving faster than the run animation speed
Fix blendspace players by creating native blendspace objects, same for sequence players and two-way blends.
ViewInfo takes Angles instead of Quaternion
Add throw force min and max to throwable weapon
Shake the view of the local view target so spectators can also see it
Add entity bounds scale. Scal viewmodel bounds by 2 to make sure animations stay inside
Fix mdl models that have multiple root bones by inserting a dummy root node (hands and grenades aren't attached together so both have root nodes) Show grenade weapon viewmodel
Disable grenade physics when taking damage so they don't get launched across the map before the delayed explosion
Controllable.AddEyeInput now takes Angles instead of Quaternion. Change camera controllable into an actual camera entity so it can be used completely client side.
Add explosion radial impulse client side for client side physics entities
Controllables with authority cache their controllers view angles so they can be used when they don't have a controller
Make grenade throw more powerful the longer fire is held
Add test explosion effect. Add Weapon.Droppable
Add TakeWeaponFromInventory, take and destroy grenade weapon when ran out of grenades, switch to next weapon in inventory.
Shake view on explosion
Grenade impact sounds
Add consumable weapon and throwable weapon. Add grenades.
Add cancel button to team selection
Add fire duration, don't reload while still firing
Play clip empty sound on dry fire
Add convar vm_righthand
Broadcast register damage through hud so spectators can also know about it
Add damage dealt sounds
Add Ammo.MaxCount and Ammo.Fill
Weapon.EmitSound can choose to only play on the view target (for viewmodels)
Try reloading when clip is empty
Weapon reloading
Start reloading animation when reloading state is replicated
Move ICanBeDamaged to engine addon, no reason to make this internal
Weapon prediction and client side hit reg (can trust clients in internal playtests)
Display target info for 500ms after target is no longer in view