Rather then remove the light from all tiles, then re-add the light to all tiles, we just go thru each tile and diff the light level from the last value we added to it. (since this is tracked)
This cut the proc calls for updating lights in half.
Lighting objects now default to full brite rather then full dark so shuttles aren't as immersion breaking when they transit.
Made lighting more agressive about clearing empty lists.
🆑 coiax
add: Adamantine golems have special vocal cords that allow them to send
one-way messages to all golems, due to fragments of resonating
adamantine in their heads. Both of these are organs, and can be removed
and put in other species.
add: You can use adamantine vocal cords by prefixing your message with
":x".
del: Xenobiology is no longer capable of making golem runes with plasma.
Instead, inject iron into the adamantine slime core to get an incomplete
golem shell, then complete it with 10 sheets of a suitable material.
/🆑
Adamantine Golems are the starting Free Golem spawns, and they are
previously just as ordinary as Iron Golems, which are strictly worse
than a variety of other golem materials. This gives them limited one way
telepathy, to act as leaders and communicate to the other golems.
They're vocal cords because it's a suitable fit for the vocal cord code,
and recieving it is organ based because more organs are always fun.
Making "leadership" slave golems is somewhat of a contradiction, and
they're also somewhat easy to spam. This requires xenobio to at least
have some spare materials lying around (remember, you can use metal and
glass or plasteel).
* 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
set_client_age_from_db() and sync_client_with_db() have been merged.
New clients are now added to the user table in a separate query than the one used to update their details upon connection; their player and account age is then calculated with DATEDIFF.
The code and regex used in findJoinDate() was changed a bit.