branchrust_reboot/main/building_system_3cancel
47 Commits over 30 Days - 0.07cph!
Update building ID when buildings are merged / split
Added extended building API to BuildingManager
Added building ID to DecayEntity (for upkeep)
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
Building privilege is emitted by all building blocks that are connected to a tool cupboard
Building ID save / load happens in DecayEntity instead of BuildingBlock
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)
New building proximity checks to counteract wallstacking / honeycombing exploits
Additional building proximity checks
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
Added half height walls (needs new models)
Adjusted building block order in the radial menu
Added Building.GetDominatingBuildingPrivilege
Eliminated the need for client side building socket colliders (better performance with building plan / deployable in hand)
Roofs now occupy the wall socket at their bottom end
Made ConstructionSocket.DoPlacement all nice
Fixed proximity issue on foundations with walls
Removed construct vision trigger (no longer required)
Removed socket handle components (no longer required)
New entity socket finder checks all player building layers + the crater layer
Removed PlaceSourceObjects procedural component (obsolete for a long time)
Removed some super old obsolete "WorldItem_" components (all unused)
Removed BuildPrivilegeTrigger from cupboard (no longer required)
Removed occluder meshes from building blocks (no longer required, cherry pick this)
Removed occluder meshes from half wall building block (no longer required, don't cherry pick this)
Updated conditional model test of the bottom roof piece
Added one missing half wall deploy volume
Adjusted neighbour sockets for roof side conditional models to properly work with half height walls
Prevent half height offset wall stacking
Tweaked wall secondary stability socket volumes
Added neighbour socket to low (1/3) walls
FIxed NRE on decay entities without decay component
Building privilege extends out for 10 meters around a building
Fixed building merge not sending out network updates for building blocks that changed their IDs
Fixed possible race condition when building splits / merges were deferred