2,296 Commits over 731 Days - 0.13cph!
Fix walls not resetting when sent to pool
Fix voxels being reset when a nearby building block is destroyed
Fix splash damage being inconsistant with voxels
Set health of building block to average health of all voxels
Add 3x3 voxels to stone floor (since it looks nicer artwork wise to line up with the 3x3 tiles)
Fix destroyed entities NREing because voxel entities can technically be hit multiple times
Split stone wall into 16 segments (4x4 grid)
Explosive damage applied to each part of the stone wall individiually
When a piece reaches 0 hp, it is destroyed
Stone wall deletes when every "voxel" is destroyed
When a voxel is destroyed it spawns gibs for that specific piec
Fix analytics NRE that occured on startup
Fix clientside NRE when trying to connect a pending wire with one side missing
Fix potential NREs in `WireTool.RequestClear()`
Fix repair bench only playing repair sound within 1s of eachother instead of skipping sounds within 1s of eachother
Fix wiretool trying to resume a wire after clearing it and reholstering wire tool
Fix wiretool not resuming a direct connection with 0 extra points between it
Force disable GNB because of issues with mirrors
Start with caching the list of nearby turrets so we don't need to do a spherecast every time we want to update interference
Disable frustum culling when a mirror is visible
Render global networking from each mirror's camera
Add toggle back to culling shader for frustum culling
Disabled global rendering on armored window
Add `job_system_threads` to control the number of workers in the job system
`0` or `-1` will set it back to default amount
Moved #CLIENT outside of #SERVER block to fix unload ammo menu option not showing
Merge from main -> ammo_count_in_chests
▌▋▊ ▉█▌▉▇▌ ▉▅ ▌▄▊▍▊▅█▆ ▊▆█▄▆ ▅▋ ▇ ▋▅▋▆▆ ▍█ ▇▌██▄▋ ▊ ▄▊▍▆▊▉▄▍ ▊▄▍ ▅ ▆ ▊▇▋▇▇▋ █▋▅▄▆▍▍▉▆▅▅▋█
█▍▆▌▄ ▄▉ ▅ ▇▋▉▋▇▄ ▊▌ ▍▅▅▄▆▇ ▌ ▌▉▊▆▋▍▋▌ █▆█▊▆█▉▊ ▆▌▉▅▄▊▇ ▍▌▆▋ ▆▄▄ ▊▅▅▄▇▇ (▇▋ ▋▆▊▌▄ █▌▇█▇██▌▅ ▋▆▌▆▆▋▇▉▅█▌ █▊▆▉▆▅ ▅▆ █▅ & ▇▉▅▉▍▄ ▉▌█▌▉▅)
Fixed SERVER compile errors
Remove tracking every item on the server
Instead, get the ammo count from the held entity when calling Item.Save()
Merge from main -> ammo_count_in_chests
Add radiation to oil rig to prevent players camping and preventing crate from respawning
Add `oilrig_radiation_amount_scale` and `oilrig_radiation_time_scale` to scale the delay and amount of rads
Add `oil_rig_radiation` entity that controls the radiation and listens for crate hacking & puzzle reset
S2P both oil rigs
Codegen
PLACEHOLDER VALUES:
- starts 45min after crate starts being hacked
- ramps up to 100 rads over 5 minutes
thumb_up
126
thumb_down
6
Only allow bait & caught fish to go into the survival fish trap's inventory
Allow jackhammer to be repaired inside the workbench for free
Add `ItemModRepairable.canUseRepairBench` to control which `ItemModRepairable` can also be repaired in the repair bench
Play the air sound effect when it is repaired
Keep backpack panel open when selecting items inside the backpack
merge from main -> backpacks
Allow unloading guns inside chests
Update ItemIcon.selectedItem before calling OnInventoryUpdated() so that menu options update when your selected item changes
Add `ammoCount` to Item and fallback to the item's ammo count when inside a chest / locker / player inventory (other than hotbar)
Track all items on the server in `ItemManager.serverItems` dictionary so the item can be updated every time the `BaseProjectile` ammo is modified (normally it only can find item when inside player inventory)
Save ammoCount in protobuf as an Int where 0 = null, 1 = 0, etc (since protobuf doesn't support nullable types)
Holding shift while right clicking items into the repair bench will apply the last skin automatically
Allow skinning <0.75s but don't play the effect if it occured under that delay
Only save number of storage slots for client, let server recalculate them on startup
Fix using phrase `Examine` instead of `Loot`
Add `CheckParent` as an optional parameter to the `MaxDistance` attribue instead of manual checks
Apply `CheckParent` to Keylock as well
Apply same fix to picking up the codelock
Fix not being able to enter code on one side of the door, when you are too far away from the codelock but within interaction range of the door
Merge from main -> horse_loot_panel_fix_2
Add IO slots to spooky speaker to turn it on and off, no power required to run
Save the equipment & storage inventory separately in protobuf
Don't show "Open Storage" menu option if they have no saddle bags equipped / no storage slots
Create seperate loot panels for horse equipment + stats & horse storage to support >6 storage per saddle bag
Increase saddle bag from 6 -> 12 storage slots again
Split into two inventories: one for equipment, one for storage (rather than first 4 slots being only for equipment and using clientside loot panel to pretend they are different)
Create a new menu option for "animal storage", keep examine as the equipment loot panel
Fix #SERVER compile error
When resuming industrial line, check LOS of each segment incase a wall was placed that blocks part of the pending pipe (clientside, server already validates it)
Fix pending wire sometimes not being cleared when starting a new wire
Don't play wire connect effect when reconnecting wire
Wire tool saves current wire when unequipping it
Right click for <0.15s to disconnect wire
Hold right click to clear wire
Make disconnect & clear duration configurable in the wiretool entity (rather than hardcoded)
Apply same values to pipe tool & hose tool
Fixed wire not being reversed when connecting a wire to the same IO entity and disconnecting the input
Fix protobuf generator not having updated generated code from `threadsafe_protobuf`
#CLIENT and #SERVER compile fixes
merge from main -> wire_tool_reconnect
Refactor "altMove" and "backpackOpen" into a enum "ItemMoveModifiers", add in ctrl + shift modifiers as well (unused)