7,603 Commits over 3,684 Days - 0.09cph!
Fix hotloading GameEvent
Allow states transitioning to themselves
Tweak when states activate / deactivate
GameEvent<T>.Dispatch(sender, eventArgs) now only notifies within sender
Basic state machine system
Add sbox-libevents library
Replace IKillListener with PlayerKilledEventArgs event
Initial commit
Basic event dispatching / handler ordering
Use Sandbox.Json.options in BaseFileSystem JSON methods
Gizmo.Draw.LineCapsule fix (#5600)
DataHelper for reading / writing to FileSystem.Data
Makes sure that custom converters are used, for things like GameResource references.
Fix UFItems defaults
Default item resources had been moved to resources/items/default, and
let's use them as the defaults in SetUpUnicycle in case any are null in
unicycle.dress.json
Show winning team at end of TDM
Desaturate while spawn protected
TDM spawn point selection rewrite
Put deathmatch spawns under a parent object
Tweak deathmatch spawns, add a bunch more
Fix status text / timer networking for late joiners
Fixes #59
Fix NRE in PlayerInventory.Balance
Make TDM end after 1 round
RandomSpawnAssigner: only care about non-friendly player aim dir
UnlimitedMoney setting in GameMode
Only remove helmet if not god mode, and on host
More spawn protection tweaks
Only reduce armor if not god mode
Spawn protection outline tweaks
Spawn protection for deathmatch modes
Gamemode selection when hosting
Maps can include multiple GameMode obejcts, lobby creation page lists them
Started on deathmatch game mode
WIP TDM
Deathmatch spawn points
Duration option in ShowToast
TDM game rules
Update bomb_defusal components
Basic weapon state persisting system for dropped weapons
Persist AmmoComponent for dropped weapons
Fixes #39
Mark chunks as changed when cleared (#29)
Get rid of plant cancel reset delay
It was just confusing
Weapons can be limited to one team
Don't let CTs pick up C4
IUse.OnUse can return void
Make sure held C4 gets destroyed between rounds
Can buy anywhere while waiting for players
Use WeaponSlot for UI / change weapon inputs
Primary is always 1, secondary always 2, etc
Expose some more stuff for UI
Some helpers to get planting / defusing state for UI
C4 can be planted with Use too
PlayerController IUse refactor
Defusal scenario objective bonus income
Fix loss streak income
Kill rewards, friendly fire penalty
Half time team swap
Remove defuse kit on inventory clear
PlayerController.Teleport(Transform), redo spawn point logic
NetDictionary.GetValueOrDefault() extension
Loss streak income
Some default status text for game phases
Disable BuyAnywhere in bomb_defusal
JsonIgnore some stuff in TeamScoring
Keep track of round win history
Everyone has a defuse kit
Team income from round win / loss
Some team income values
Getting started on income, set start money
Shuffle around where weapons get allocated to fix bomb not spawning
Look for game state change listeners in the whole scene