* Port holopads to Initialize
* Small optimization
* Holocalls
* What dunc said
* Revert "What dunc said"
This reverts commit dd9f26762aab86c3ce981fd7deab700299d4ed94.
* 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.