Things that are not on the turf floor should no longer drop through catwalks. YOU CAN NOW SAFELY BAG YOUR CRAP WITHOUT LOSING IT TO THE VOID THAT IS THE FLOOR DOWNSTAIRS.
* Remove remaining hard del()'s in our code.
* Replace deleted() and gcDestroyed with QDELETED macro.
* Fix some strange calls directly to Del() (capital D)
* Make Destroy() return qdel hints.
* Make a few of the Destroy()'s more comprehensive in cleaning up references.
* In edited Destroy() procs, converted to use qdel_null and qdel_null_list macros when possible for pretty code.
* Removed unused variable `sleevecard`
* Lattices no longer block all downward movement out of their turf, they only block downward falling out of their turf.
* Objects are once again pullable on catwalks (not 100% sure why they were not, but had to do with the falling code calling Move())
* Falling on top of a mob will no longer do an infinate loop of swapping places vertically.
* Don't infinately accumulate underlays!
* Ease up on the New() and Destroy(), make sure they are a top level object (loc is a turf)
* The open space darkness overlay is always the same, make it a global.
* New atom to hold a turf's decal overlays instead of the turf itself.
* Change floor_decal initialization to use it instead, and change other decal/overlay interaction procs to use it instead.
* Add floor decal initialization to master controller to do them in one fel swoop instead of nickel and diming.
* Stop area init from updating open space turfs; let the open space controller do it.
* Fix falling to check if movement actually succeeds before taking damage from falling.
* De-snowflakes how objects prevent you from falling out of their turf (catwalks and latticue)
* Improved the messaging and the way falling procs are called to make it more flexible and possible to hit things in a turf before the turf itself.
* Colored zpipes (like scrubbers or supply for example) would always lose color in game becuase atmospherics machinery sets color = null since most pipes use overlays and the icon cache. For better or worse, zpipes don't, they just use a normal icon_state, so they need color set.
* The proc obj/machinery/atmospherics/pipe/up/process was supposed to be obj/machinery/atmospherics/pipe/zpipe/process.
* Also changed hard coded integers to use constants while I was editing the file anyway.
* Instead of open spaces simply showing a static image of the turf below, it shows the turf, all objects, and even moving mobs.
* Controller updates the view to floor below fairly quickly; mobs update in real time.
* Open space can be examined to see how deep it is.
* Mobs are examinable even when on floor below, using a special "zshadow" mob.
* Changes from Eris: Heavily re-written to handle layering, special cases, rewrote controller etc. Shadow mobs don't break entering turfs, etc.
* Update to properly layer the objects from multiple "below" floors in the case of tripple-stacked or more z levels.
* Added constant defines for the planes in use.
* Added open_space.dmi with blank_open icon state for open space's darkening overlay.
* Now they won't try and bump you up to the next z on the "lower" step of the stairway. They also don't directly set `loc` Therefore pulling objects up/down actually works.
* Sets their layer so they won't appear above actual objects and mobs.
* Catwalks are an upgrade to lattice; instead of just a framework of wires its a mostly solid grid walkway.
* They are semi-transparent so you can see wires/pipes below them a bit.
* Smoothly auto-joining sprites to look proper.
* Constructed by upgrading lattice; like lattice it will stop you falling if build over an open space.
* Changes from Eris: Converted << to to_chat(), fix redraw on Destroy(), Fix color macros in text.
* Port of https://github.com/Baystation12/Baystation12/pull/16942
* Actually tell turfs when a thrown object hits them, and let them decide what to do about it!
* We do this by calling hitby(), which is how it already works for obj and mob, so this makes behavior consistent.
* This allows us to cleanly solve the problem of a thrown object landing on open space without falling.
* Global procs should start with /proc
* Use to_chat() macro
* Added utility to find all z-levels are connected (transitively adjacent) and utility to test if two levels are connected.
More tweaks to IPC fixes.
Merge resolution/compile fixes.
Further work on properly integrating, updating and fixing prosthetic options.
Repathed internal organs to organ/internal.
More work on full synthetics, changelings, overheating.
Working on getting organs to qdel properly and spawn properly when robotized.
Finalized some overheating values, added remaining prosthetic icons.
Finalizing the testing version of the full prosthetic bodies branch.
Added suit cyclers to the autolathe and map.
Fixing runtime errors.
Fixing errors.
Changelog.
Replacing limb and organ strings with constants.
Prevented brainless species from becoming full cyborgs.
Fixed issues with brain/MMIs renaming themselves inappropriately.
Various fixes and oversights.