* Fixes being unable to empty an emag'd cloning pod via manual ejection.
* No longer keeps the brain, prevents people from getting back into a body which doesn't exist any more, lets people suffer in an emagged cloner a little longer
* Better prevention of re-entering body
Shouldn't break anything, stops warning spam, logs errors qdel style at the end of the game.
Initialize now expects a hint to be returned, one of:
INITIALIZE_HINT_NORMAL - Does nothing, returned by the root proc
INITIALIZE_HINT_LATELOAD - Call atom/proc/LateInitialize
INITIALIZE_HINT_QDEL - Calls qdel on the atom
LateInitialize currently defaults to the old re-calling behavior so there should be no issues with that.
Things that didn't return a hint or fucked up somehow will be logged less loudly than they were before
No more world start warnings!
🆑 coiax
add: Anomalous crystals can be examined by ghosts to determine their
function and activation method.
del: Lightbringers can understand Slime and Galactic Common, and can
only speak Slime, as before.
add: The helper anomalous crystal is in the orbit list after it has been
activated.
/🆑
- Makes anomalous crystal use Initialize
- Replaces the "random" type with a lootdrop spawner.
- The language change to Lightbringers was an accidental change, they
originally only spoke Slime, but I figure they can understand Common
too, as well, why not.
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
* Plasmamen tongues, plasmaman lung sprites
🆑 coiax, WJohnston
add: Plasmamen lungs, also known as "plasma filters" now look different
from human lungs.
add: Plasmamen now have their own special type of bone tongue. They
still sound the same, it's just purple. Like them.
/🆑
Thanks to @WJohnston for the sprites.
* Actually uses new tongue sprite
* Changes ling brains to be more completely fake
* whoops forgot to convert this
* Fixes cloned changelings having the wrong sort of brain, prevents brains from holding onto brainmobs for too long, renames brains as soon as they're inserted rather than on removal so you can't remove an item called B's brain from A's head
* travis pls fix
* Safeties in case a brain inside someone is destroyed.
obj/on_log changed to atom/on_log. Boolean parameter in
No admin irc message now checked in client/Del instead of mob/Logout
Removed an empty New()
1 -> TRUE
removed a potential crash in mob/Login