Merge pull request #3769 from PrismaticGynoid/forgottenlanguages

Brain transplants, synthetics, and languages
This commit is contained in:
Anewbe
2017-09-16 15:35:29 -05:00
committed by GitHub
13 changed files with 48 additions and 4 deletions
+5 -1
View File
@@ -120,4 +120,8 @@
signlang_verb = list("gestures")
colour = "say_quote"
key = "s"
flags = SIGNLANG|NO_STUTTER|NONVERBAL
flags = SIGNLANG|NO_STUTTER|NONVERBAL
/datum/language/sign/can_speak_special(var/mob/speaker)
var/obj/item/organ/external/hand/hands = locate() in speaker //you can't sign without hands
return (hands || !iscarbon(speaker))
@@ -177,6 +177,7 @@
/obj/item/device/mmi/digital/New()
src.brainmob = new(src)
src.brainmob.add_language("Robot Talk")
src.brainmob.add_language(LANGUAGE_GALCOM)
src.brainmob.add_language(LANGUAGE_EAL)
src.brainmob.loc = src
src.brainmob.container = src
@@ -58,7 +58,7 @@
return canmove
/mob/living/carbon/brain/isSynthetic()
return istype(loc, /obj/item/device/mmi/digital)
return istype(loc, /obj/item/device/mmi)
/mob/living/carbon/brain/binarycheck()
return isSynthetic()
@@ -102,6 +102,7 @@
spark_system.attach(src)
add_language("Robot Talk", 1)
add_language(LANGUAGE_GALCOM, 1)
add_language(LANGUAGE_EAL, 1)
wires = new(src)
@@ -219,6 +220,12 @@
var/turf/T = get_turf(loc)//To hopefully prevent run time errors.
if(T) mmi.loc = T
if(mmi.brainmob)
var/obj/item/weapon/robot_module/M = locate() in contents
if(M)
mmi.brainmob.languages = M.original_languages
else
mmi.brainmob.languages = languages
mmi.brainmob.remove_language("Robot Talk")
mind.transfer_to(mmi.brainmob)
else
src << "<span class='danger'>Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug.</span>"
+1 -1
View File
@@ -232,7 +232,7 @@
default_str = " - <a href='byond://?src=\ref[src];default_lang=\ref[L]'>set default</a>"
var/synth = (L in speech_synthesizer_langs)
dat += "<b>[L.name] (:[L.key])</b>[synth ? default_str : null]<br/>Speech Synthesizer: <i>[synth ? "YES" : "NOT SUPPORTED"]</i><br/>[L.desc]<br/><br/>"
dat += "<b>[L.name] ([get_language_prefix()][L.key])</b>[synth ? default_str : null]<br/>Speech Synthesizer: <i>[synth ? "YES" : "NOT SUPPORTED"]</i><br/>[L.desc]<br/><br/>"
src << browse(dat, "window=checklanguage")
return
@@ -150,6 +150,7 @@
src.mind.key = M.brainmob.key
src.ckey = M.brainmob.ckey
src.name = "spider-bot ([M.brainmob.name])"
src.languages = M.brainmob.languages
/mob/living/simple_animal/spiderbot/proc/explode() //When emagged.
src.visible_message("<span class='danger'>\The [src] makes an odd warbling noise, fizzles, and explodes!</span>")
+10
View File
@@ -77,6 +77,11 @@
else
O.key = key
if(O.client && O.client.prefs)
var/datum/preferences/B = O.client.prefs
for(var/language in B.alternate_languages)
O.add_language(language)
if(move)
var/obj/loc_landmark
for(var/obj/effect/landmark/start/sloc in landmarks_list)
@@ -154,6 +159,11 @@
O.mmi.transfer_identity(src)
if(O.client && O.client.prefs)
var/datum/preferences/B = O.client.prefs
for(var/language in B.alternate_languages)
O.add_language(language)
callHook("borgify", list(O))
O.Namepick()
+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))
+7 -1
View File
@@ -62,6 +62,8 @@
stored_mmi.icon_state = "mmi_full"
icon_state = stored_mmi.icon_state
stored_mmi.brainmob.languages = owner.languages
if(owner && owner.stat == DEAD)
owner.stat = 0
dead_mob_list -= owner
@@ -91,6 +93,8 @@
stored_mmi.icon_state = "posibrain-occupied"
icon_state = stored_mmi.icon_state
stored_mmi.brainmob.languages = owner.languages
/obj/item/organ/internal/mmi_holder/robot
name = "digital brain interface"
brain_type = /obj/item/device/mmi/digital/robot
@@ -99,4 +103,6 @@
/obj/item/organ/internal/mmi_holder/robot/update_from_mmi()
..()
stored_mmi.icon_state = "mainboard"
icon_state = stored_mmi.icon_state
icon_state = stored_mmi.icon_state
stored_mmi.brainmob.languages = owner.languages
+1
View File
@@ -421,6 +421,7 @@
if(M.brainmob && M.brainmob.mind)
M.brainmob.mind.transfer_to(target)
target.languages = M.brainmob.languages
spawn(0) //Name yourself on your own damn time
var/new_name = ""