branchrust_reboot/main/building_system_3cancel
47 Commits over 30 Days - 0.07cph!
Fixed possible race condition when building splits / merges were deferred
Fixed building merge not sending out network updates for building blocks that changed their IDs
Building privilege extends out for 10 meters around a building
FIxed NRE on decay entities without decay component
Tweaked wall secondary stability socket volumes
Added neighbour socket to low (1/3) walls
Prevent half height offset wall stacking
Adjusted neighbour sockets for roof side conditional models to properly work with half height walls
Added one missing half wall deploy volume
Updated conditional model test of the bottom roof piece
Removed occluder meshes from half wall building block (no longer required, don't cherry pick this)
Removed occluder meshes from building blocks (no longer required, cherry pick this)
Removed BuildPrivilegeTrigger from cupboard (no longer required)
Removed some super old obsolete "WorldItem_" components (all unused)
Removed PlaceSourceObjects procedural component (obsolete for a long time)
New entity socket finder checks all player building layers + the crater layer
Removed socket handle components (no longer required)
Removed construct vision trigger (no longer required)
Fixed proximity issue on foundations with walls
Roofs now occupy the wall socket at their bottom end
Made ConstructionSocket.DoPlacement all nice
Eliminated the need for client side building socket colliders (better performance with building plan / deployable in hand)
Added Building.GetDominatingBuildingPrivilege
Adjusted building block order in the radial menu
Added half height walls (needs new models)
Foundations can be attached to other foundations with a half height offset
Foundation and floor placement guides no longer jitter when attaching them to other foundations or floors
Additional building proximity checks
New building proximity checks to counteract wallstacking / honeycombing exploits
Sockets / constructions can check if they can connect to other sockets / constructions at a simulated position and rotation (before placement)
Eliminated ConstructionLink, NeighbourLink and StabilityLink special cases (now all using EntityLink)
Building ID save / load happens in DecayEntity instead of BuildingBlock
Building privilege is emitted by all building blocks that are connected to a tool cupboard
Only move building to new ID if it was split, not whenever block is removed
When placing block, refresh building ID only if connected blocks mismatch
Update building ID when buildings are merged / split
Added extended building API to BuildingManager
Added building ID to DecayEntity (for upkeep)