4,020 Commits over 1,096 Days - 0.15cph!
Refactor Item.ammoCount -> Item.clientAmmoCount
- was confusing as the code was setting the item's ammo count but also reading ammoCount from the entity when being networked to make it reliable
- this worked for client but caused the server's item ammoCount to not always be correct
- remove server assigning ammoCount to the item since it's redundant
- switch VendingMachine to look directly for HeldEntity instead of looking at item's ammo count
Fix chainsaws not showing their fuel count when inside a chest
Fix #SERVER compile error for attack helicopter `timeReloadHeldDown`
merge from qol_attack_heli_ammo_select -> main
Add ability to select either HV rockets or incendiary rockets when you are the pilot of an attack helicopter
- default to only using HV rockets
- hold 'R' to open radial menu to switch ammo (similar to guns)
- switching ammo doesn't trigger reload, it only chooses what rockets are prioritized
Press 'R' to trigger manual reload of attack helicopter rockets
- same as reload when you use full volley of rockets
- won't reload if you have 6/6 rockets available to shoot
Pass delta into LocalInput method so holding 'R' for 0.25s brings up radial menu
- at some point the method was changed from Update() to ClientTick() meaning it's called at 32hz instead of at client framerate
- clamp delta to 0.25s so it doesn't feed a huge delta value into ClientInput if the client doesn't send ticks for a larger interval
merge from main -> building_los_fix
merge from fix_outbreak_scientist_underground -> main
merge from main -> fix_outbreak_scientist_underground
Don't spawn outbreak scientists under ground (aka inside train tunnels)
merge from qol_explosive_protection_max -> main
Add `max_explosive_protection` convar to limit maximum amount of explosive protection a player can get
- default 75% protection
- only applies to real players, not NPCs
- show [MAX] 75% when at limit, similar to radiation
merge from outbreak_outfit -> jungle_update
NVG outfit stomped it's death icon again?
merge from outbreak_outfit -> jungle_update
Reimplement loadout stripbehavior with bools
- only clear wearables for NVG outfit
- only clear wearables for outbreak outfit (don't clear belt, only add item)
Reserialize loadouts with their new fields
Switch loadouts from an enum to control what contains are stripped to a separate bool per container
- allows to to control what items are replaced vs added additively
Add jungle loadout to SpawnHandler
- for jungle only for now because Unity doesn't want to serialize Dictionary<Biome,Loadout>
Give out jungle outfit to scientists that spawn in the jungle biome
- handle in base level SpawnGroup
- covers junkpiles and monuments, manually spawned scientists don't follow this
only overwrite death icon when a loadout has a death icon provided
Fix NVG loadout for military tunnel scientists having it's death icon stomped in CS
110444
Commit all reserialized prefabs from the manifest being generated (without loot tables!)
Cherrypick from CS
118901 (manifest don't generate loot tables)
merge from outbreak_scientist -> jungle_update
merge from fix_tree_tool_init -> main
Commented out [InitializeOnLoad] for TreeToolRenderer but it still shows in scene after restart, guess it's not needed?
merge from fix_manifest_generate_loot -> main
Ensure all assets are written to disk after `Update Loot Tables` is ran
Prevent generating manifest from generating new loot tables
- only runs manually via `Tools/Update Loot Tables`
▋▌▆ ▄▄█▅█▆▄▊ ▋█▉▍▅ ▆▄▍▌▅▌▊ ▊▍█▄ ▋▌▍▉▄ ▉▉ ▊▇▅▉▆▆▌ ▄▆▉█▅▆ █▌▅▉▅▊▇▋
▅▌▇ ▉▍▇ ▄▍▇▉ █▇▊▌▄▋▆▋ ▋▅▆▄█▆▆▍ ▄▇▍▇ ▍▆▋ ▇▅▄▇▋▄▆ ▉▄▆▋▋ ▍▌▇▆▆▋ ▄▉▍▇▄▇▅
Fix HE grenade having 80 explosive player damage instead of 90 (after making player specific damage)
Configure lanes on client when connecting to server (previously it didn't set any lanes on client)
- fixes client paste in steam networking not having a lane to send on
- use same lanes the server uses
Apply GameSetup initializationCommands to the commandline so you can set steam networking from inside the editor
Assign player specific damage values for the rest of explosives
- convert blunt + bullet + explosive -> explosive damage for players only
Update F1 grenade, HV rocket and HE grenade with their player specific damage values
Attempt #2: Instead of adding a new damage type, allow explosives to provide player-specific lists of damage
- similar to how salvaged hammer has a separate damage list for deployables vs walls
- pass in normal damage vs player damage depending on what is hit
- default to normal damage if player damage is unassigned
- allows better control when trying to untangle the web of melee + bullet + explosive damage from explosives than a single PlayerExplosive damage type provided
Add 180 PlayerExplosion damage to HV rocket (30 explosion + 150 blunt)
Convert PlayerExplosion damage -> Explosion damage when players are attacked
- functions as "player specific explosion damage" while keeping normal explosion resistances of armor
Scale PlayerExplosion damage to zero for all other entities (so PlayerExplosion doesn't anything other than players)
All ProtectionProperties get reserialized after adding new damage type
Add "PlayerExplosion" damage type
Add `setwornarmorslots` command to change the amount of armor insert slots your worn armor has
- default to setting all worn items to max slots, can provide number after
merge from fix_copy_paste_steam_networking -> main
Fix copy paste not working on steam networking
- switch copy paste to use channel 2 (same as admin UGC content) rather than adding another lane to steam networking
merge from fix_building_split_corpses -> main
Fix building split being incorrect because it was iterating over the decayEntiites field instead of the parameter fed into the method
- make method static so it can't unintentionally read fields
- switch decayEntities -> list variable
merge from fix_ownership_tape_recorder -> main
Fix cassette recorder losing item ownership when it's thrown into the world and picked back up
merge from fix_deployable_corpse_place_lock -> main