Hello, with PR #26717 merged, I think it's a good time to add devils to the standardized antag datum system.
This PR is mostly a refactor, which shouldn't be noticed by the playerbase. Changes that might be noticed are below.
🆑
tweak: Modified chances for returning someone's soul using an employment contract. Now everyone has a chance, not just lawyers and HoP.
add: Particularly brain damaged people can no longer sign infernal contracts properly.
tweak: Infernal contracts for power no longer give fireball, and instead give robeless 'lightning bolt' spell.
add: Devils can now sell you a friend, for the cost of your soul.
tweak: The codex gigas should now be easier to use, and less finicky.
del: The codex gigas no longer sintouches readers.
/🆑
🆑 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
* Lizard language
🆑 coiax
add: Restrictions on Lizardpeople using their native language on the
station have been lifted by Centcom, in order to maximise worker
productivity. The language's key is ",o".
/🆑
- The language is added as part of the job equipping code, changing your
species to lizard via xenobio will not magically teach you the language.
- Normal human tongues are capable of speaking Unathi.
- pAIs with translator and Librarians are capable of speaking and
understanding Unathi.
The design lead has instructed me to grant lizardpeople their own
language, in order to increase paranoia in the crew. Also, it'll be
funny to see how much people overreact to this.
* Rename unathi to draconic
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.
* Refactors ear damage into ear organs
🆑 coiax
add: Centcom would like to inform all employees that they have ears.
add: Adds "ear" organs to all carbons. These organs store ear damage and
deafness. A carbon without any ears is deaf. Genetic
deafness functions as before.
/🆑
- `ear_damage` and `ear_deaf` vars removed from /mob.
- All mobs have a `can_hear` proc, which returns TRUE always except for
carbons.
- Carbons need to have an ear organ that has 0 `deaf` var.
- Explanation of how ear damage works is in the code, it hasn't been
changed from previously. Deafness is applied in number of Life ticks
until you regain hearing, while damage is long team, heals slower, and
when high enough, can cause flashbangs to make you go permamently deaf,
as before.
- Wearing earmuffs halves the healing time of deafness, and promotes
healing long term ear damage, as before. Earmuffs now have a secondary
flag HEALS_EARS, which currently only they own.
* Changes how soundbang deafness works slightly
* Ear organ icon
* Code review I
* Makes fully healing carbons not dependent on having a dna and species
* Gives monkeys and aliens ears
* Whoops
* Split organs into seperate files
* Tweaks.
* Un-removes brain damage lines
* Moved procs onto /mob for ear stuff
* Massages things into compiling
* Replacement of spam_flag with world.time tracker