Brain transplants, synthetics, and languages

Brains now retain languages from the mob they were removed from, rather than forgetting them. Languages are also retained when a brain is transplanted into a new body.

AIs, as well as cyborgs/robots/drones, will load languages from your currently-active preferences when they spawn (just like humanoid mobs do). Brains removed from cyborgs/robots/drones will retain their original languages regardless of the current module.

Brains in MMIs can now speak EAL if they know it, and additionally fixes #2832 - sign language will no longer be usable when lacking both hands. Also fixes silicons being told the wrong language prefix by the known languages window, as it was still showing ':', leading to much confusion among new borg players.

Known issues:
AIs who can use sign language can use it even without a holopad - I'm not sure how to have it check for that. This could be seen as a non-issue, as signs could conceivably be displayed on the AI's screen.

AIs signing over holopad will also have the language verbs overridden by the synth speech verbs (states/queries/declares). I'm pretty sure this has something to do with the already-existing bug that all languages can be understood by everyone when an AI speaks them over holopad.
This commit is contained in:
PrismaticGynoid
2017-09-06 20:14:17 -07:00
parent 7198ea086e
commit 9c1bb56522
13 changed files with 48 additions and 4 deletions
+2
View File
@@ -82,6 +82,8 @@
if(H.mind)
H.mind.transfer_to(brainmob)
brainmob.languages = H.languages
brainmob << "<span class='notice'>You feel slightly disoriented. That's normal when you're just \a [initial(src.name)].</span>"
callHook("debrain", list(brainmob))