Without meaning to split sand and ash (since they are not distinct enough) it is fair to add it to the relevant recipe of sandstone, mainly since you can dig up the turf the patch it over again
Currently `occupant` in /obj/machinery is a /mob/living type. I have
changed it to /atom/movable, and made a type cache to determine what to
"look for" when `close_machine()` is called.
This means that machines can have non-mob occupants. I have some design
ideas for this, but that's after the freeze.
Ported the GPS system to TGUI.
GPS signals may now be updated automatically or manually, based on a new toggle.
The GPS now has the option to scan only the same Z-level, or all of them.
Toggling GPS power may now be done from the interface as well as the alt-click.
The user's own GPS unit is no longer displayed in the signal list, and is now its own section for quick and easy self-location.
Signals on the same z-level now have distance and direction information added to aid with hunting and exploration.
The scanning range and auto-update buttons have tooltips to explain how they work.
In cases where you're creating an image to use as an overlay, it makes more sense to use a mutable_appearance if you can. The image will create a static appearance for not just the image but also each intermediate step if you change vars along the way. The mutable appearance avoids this unnecessary and expensive process. The only situation that requires an image instead of a mutable_appearance is if the overlay is supposed to be directional. MA's ignore direction while images don't. I dunno why, probably another BYOND-ism.
I added a convenience function, mutable_appearance(), designed to emulate image(). Also went ahead and set the default plane of /mutable_appearance to FLOAT_PLANE because it's fucking 0 by default.
Several overlays that were image() calls were changed to just text strings when I could. overlays += "string" has the same result as overlays += image(icon, "string") and saves a proc call.
Fixes mounted chainsaws leaving a limb if acided
Adds species support for mutanthands, basically hard-equipped items like zombie claws
Fixes zombies not having claws on new arms
Mobs manually set to zombie species revert to human when their infection is removed
Inserts organs back into the mob when a bodypart is reattached
No longer generates eyes or ears when a mob changes species without having a head
Todo:
fix the initial problem of zombies being able to not have claws due to having a nodrop item before zombification and losing it