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.
* Adds new debug verb for highlighting roundstart ATs
Debug -> Debug Verbs enable
then
Mapping -> Show roundstart AT markers
Will highlight AT turfs, for easier location and comprehension rather
than looking at the list of coords. List of coords still works fine
though.
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.
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!
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.
🆑 coiax
balance: Wizard traps automatically disappear five minutes after being
summoned.
balance: Wizard traps disappear after firing, whether triggered via
person or something being thrown across it.
balance: Wizards are immune to their own traps.
tweak: The Traps are now marked as a Defensive spell, rather than an
Offensive spell.
/🆑
So a permament structure that has to be beaten down in order to remove
isn't really fun in the long term. So instead, they fire once, and then
disappear. They also disappear after a bit, so they're not long term
hazards, but they do stick around long enough so the wizard can feel
comfortable running back into an area they've already trapped, for that
AREA CONTROL.
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
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
So I changed lootspawners to Initialize, which caused some code in
easter.dm to start working and added eggs and baskets to maint loot
table.
- The maintenance loot table is now a global list
- The easter event now modifies that global list.
- Maintenance loot spawners now run on roundstart