* Adds locations to speech and related communications
Refactors how logging is handled for these.
* changes
* ahhhhh
* preemptive merge conflict undoing maybe?
* Let's not delay this further
Ready | Not Ready | Observe is now a three way toggle
The player ready status has been refactored into an ENUM of the three
states, READY, NOT_READY and OBSERVING
if the tickerstate is at least PREGAME they will spawn as observers,
before then you can only register your interest in observing.
All the observer code has been centralised into a single
make_me_an_observer proc on new_player mobs
Ready | Not Ready | Observe is now a three way toggle
The player ready status has been refatored into an ENUM of the three
states, READY, NOT_READY and OBSERVING
if the tickerstate is at least PREGAME they will spawn as observers,
before then you can only register your interest
* Ghosts now have a language menu
🆑 coiax
add: Ghosts can now modify their own understood languages with the
language menu.
/🆑
- Language menu is now on /atom/movable, and can be opened by any atom
with the `open_language_menu` proc.
- Used for testing, and simulating what various station members hear.
* Language holders, I
* Language holder, II
* Dos line endings
* MIND LANGUAGES
* Fixes some mobs not having language holders in their minds
* Shadow languages
* How did you lose the holder?
* Mob level IC->Open Language Menu verb
* Gives draconic to silicons
* Lazy breeki
* Use of pre-initialized global lists for languages
* Fixes bugs with lazy holders
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.
* Refactors conveyor movement
* Fixes effects being affected by conveyors
* Fixes jetpacks not stopping conveyors
* Fixes /mob/dead being affected by conveyors
* Fixes butterflys being affected by conveyors
* Ghosts call Moved() after Move()
I was tinkering around with making ghosts glow when visible, and I had
to put this in to make lighting and stuff work. This seems sensible
anyway?
* Locate->get_turf
* Removes step trigger calling (done by Moved)
* Removes hacky see in darkness invisibility bullshit, uses planes.
Also removed the use of invisibility for ghosts of others, instead using override images.
Per client lighting visibility now has 4 levels, all on, all off, and two midways, this allows for things to be able to see in the dark while still being able to see what is dark and what has light, ghosts and aliens and other shit can cycle between all 4, other things were given one of the 3 values depending.
* Remove qdel global var search.
* Cleans up code, makes changing lighting/NV level easier.
🆑 coiax
add: Examining a ghost determines whether it is visible.
/🆑
This is for ghosts, who are trying to determine if they can be percieved
by the living, since they see no difference if visible.