4,936 Commits over 1,431 Days - 0.14cph!
Don't run upkeep for non-rented apartments
merge from fix_c4_deployable_damage -> main
Fix C4 & satchels doing 2x damage to the deployable it's attached to
- was doing splash damage + direct damage to the entity it's parented to if it was a deployable (stuff like workbenches, not building blocks, doors or anything you would be raiding)
- fixed by skipping splash damage on the entity it's attached to so it only does direct damage
merge from dump_prefabpreprocess -> main
Add `dumppreprocess` to specifically dump the list of prefabs inside prefabpreprocess & their component counts
- will also be included when running full `dump` command
merge from fix_dump_dontdestroyonload -> main
Refactor dumping objects per scene into separate folders because it was copy pasted between `dump` and `dumprootobjects`
Fix DontDestroyOnLoad scene including all the objects in other scenes instead of all the objects not in other scenes
Send daily rent to client in apartment room entity
Link apartment upkeep terminal -> apartment room on client
Switch loot panel for apartment upkeep terminal to new one
Add support for the TC loot panel to show the upkeep for the apartment rooms
- use the apartment room to get the daily scrap rent
update apartment_complex_monument/prototype
merge from main -> apartment_complex_monument
Reapply the increased building blocked + added safezone from the merge
merge from apartment_complex_monument/prototype -> apartment_complex_monument
Take scrap from the apartment every 30m for rent payment
Remove TC prefab from medium apartment
Teleport players back into their rooms (if possible) instead of killing them after being disconnected for >20m in the apartment safezone
- will still show warning when logging out but worth giving them a chance since players will spend more time inside apartment safezone
- assign the apartment complex to the safezone during startup
Add teleport anchors to the apartment rooms
Fix upkeep calculations not being correct & persist reference to terminal across restarts
Remove 'if !CLIENT' region that caused the snapshot command to not work in the editor
Add collider for upkeep terminal
Print error if upkeep terminal isn't found when calculating rent so we don't get kicked in editor
Add upkeep terminals to all the apartment rooms
Add the "Rent Due" vital to `GameUI.Hud.Vitals` and shift all the existing vitals so you can see them all in the editor
Add new vital for "Rent Due" and show it when they don't have any upkeep time paid for
Reprocess apartment upkeep terminal prefab
Add protobuf reference from ApartmentRoom -> Upkeep terminal
Include the code we removed when splitting into files
Split apartment room code into multiple files and subscribe for inventory updates from all furniture so we can recalculate upkeep every time it changes
- same code as TC that debounces the updates to only recalculate 1x per second
- this shouldn't be too many updates: without industrial the only time upkeep will recalculate is when paying for upkeep or a player is actively in their room looting
Start making upkeep terminal entity for apartments
Add upkeep terminal to medium apartment so there is a place to store scrap for upkeep (rather than it magically taking it out of a chest) and see how much your daily upkeep (rent) is
Swap the small apartment from the loot crate prefab to a small wooden box so it has something to store items
Add safezone trigger to apartment complex and make the building blocked + safezone triggers a bit bigger
Calculate upkeep time per apartment based on amount of items inside storage
- only network to the players who own the apartment rooms
- cost is based on explosive items (as configured previously)
- payment is based on scrap that is inside your chests (may make a dedicated payment box later)
Show upkeep in bottom right when you are within the apartment complex
update apartment_complex_monument/prototype
Fix priority on apartment scene menu item
merge from main -> apartment_complex_monument
merge from main -> fix_dynamic_occlusion_pausing
Fix pooling error where LODComponent was calling Refresh() before the GameObject was enabled & parenting was finished causing it to pull a LOD cell at 0,0,0 instead of the LOD cell at it's world position
- fixes codelocks attached to chests being invisible when pausing dynamic occlusion is enabled (because it would only refresh it's LOD cell when it was considered dynamic)
merge from main -> fix_dynamic_occlusion_pausing
merge from fix_hover_loot_attachments -> main
Fix hover looting multiple attachments inside a gun only moving the first one because it was toggling all item info panels which cancelled the other pending loot actions