* Fixes Runtime in tools.dm,239: undefined variable /mob/living/simple_animal/retaliate/solargrub/var/handcuffed
* Add logging to help identify the cause of runtime in examining zshadow mobs.
* Fix Runtime in buckling.dm,165: Cannot execute null.forceMove().
* Fixes Runtime in robot_items.dm,31: Cannot read null.origin_tech
* Fixes Runtime in paper_bundle.dm,183: Cannot read null.loc
* Added "Display Initialize() Log" admin debug command so you can see it mid-round.
* Ported the core of the overlays management subsystem from /tg
- Added SSoverlays subsystem for compiling overlay lists and applying them to atoms in a controlled anti-lag subsystem.
- Added vars and procs to atom which should eventually replace all direct interaction with BYOND's /atom/overlays var outside the subsystem.
- Added OVERLAY_QUEUED flag to var/atom/flags bitfield.
- Added small framework for subsystem performance tracking. So far used only by SSoverlays
- Added admin debug command "Display overlay Log" to see performance stats mid-round.
* Fix runtime on universal pipe adaptor update_icons
* Workaround for appearance_bro not initialized
Unfortuantely BYOND's initialization order is strange, and the appearance_bro var is only half initialized when map starts to load, causing errors. We temporarily fix by moving it to be a global-scoped global.
* Convert fire alarms to use add_overlay() A good first test.
* Convert turfs to use add_overlays(), eliminating the turf_overlay_holder!
- Converted as much as I could find about turf overlays to use add_overlay().
- This should be enough to stop BYOND from crashing, so we can eliminate the turf_overlay_holder hack.
- This also lets us remove the anti-corruption hacks from walls and open space.
- ZAS gas overlays can use priority overlays, so this also fixes the gas-goes-away-when-crowbarring-plating issue.
- Stuff like that
* Convert turf overlay interactions to use add_overlay.
Note: This is a plain and simple conversion of existing code to use SSoverlays. However I look at the line changed, and note that that line likely never fully worked as intended, as it has no way of re-applying itself.
I would make it use a priority overlay, but there is no code present for *removing* said overlay from neighbors when it is no longer required. That code should be implemented by original author.
* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
* Moves proc/initialize() from being on /atom/movable, /are and /turf/simulated to being on /atom - Now turfs can initialize too
* Added the SSatoms subsystem which controls initialization of atoms at roundstart and during normal conditions.
* Disabled the old auto_init = 0 behavior, ALL atoms should get initialized() called on them now.
* Refactored the way initialize() is called during /New() to utilize SSatoms instead of SScreation
* Removed SScreation, as it was only a stop-gap until SSatoms could be ported.
* Updated the maploader to inform SSatoms when it is loading maps instead of SScreation.
* Updated the template map loader to use SSatoms to perform initTemplateBounds
* Renamed 'initialized' var in seed_storage to deconflict.
* Removed usage of auto_init = 0, replaced with a no-op initialize() proc for atoms that don't need initialization.
On Multi-Z compatible maps, if a tile is missing a ceiling (IE there is an open space above it), it will display an overlay to show this. This makes it easier to know where the hole in the ceiling is without having to go to the ceiling. Overlay sprite by Mechoid.
Also fixes space tiles appearing when meteors/explosions/other fun things occur on the Southern Cross map instead of open space.
Fixes Destroy() proc on zpipes and cryo cells gets rid of a `loc = X`
Updates remaining atmos machinery to use atmos_init
Fixes area atmos computer to use initialize() instead of spawn-in-New
Ported 'see-down' open spaces from Vore, who ported it from Eris
Ported talking and visible messages traveling upwards through open spaces
Tested, seems to work? Does not seem to break anything, maybe.
Maybe made a changelog.
Added catwalks and railings. Ported from Vorestation who ported them from Eris.
Note, catwalks can be placed on plating (as is seen on the vorestation map Tether) and is done so here as well. However it doesn't seem like it is possible to build said catwalks on plating. Did not bother to adjust this at this time. Something to sort in the future.
Adjusted SC station dmm to use both the railing and catwalks as well as a couple fixes for the floor tile adjustment in a earlier commit.
* 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.
* 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.