diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm
old mode 100644
new mode 100755
index 1a8b76c11c..4bd6627122
--- a/code/modules/mob/language.dm
+++ b/code/modules/mob/language.dm
@@ -54,7 +54,7 @@
speech_verb = "shrieks"
colour = "vox"
key = "v"
- flags = RESTRICTED | UNTRANSLATABLE
+ flags = RESTRICTED
/datum/language/diona
name = "Rootspeak"
@@ -62,7 +62,7 @@
speech_verb = "creaks and rustles"
colour = "soghun"
key = "q"
- flags = RESTRICTED | UNTRANSLATABLE
+ flags = RESTRICTED
/datum/language/human
name = "Sol Common"
@@ -106,7 +106,7 @@
// Can we speak this language, as opposed to just understanding it?
/mob/proc/can_speak(datum/language/speaking)
- return ((universal_speak && !(speaking.flags & UNTRANSLATABLE)) || speaking in src.languages)
+ return (universal_speak || speaking in src.languages)
//TBD
/mob/verb/check_languages()
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
old mode 100644
new mode 100755
index 95e6dac83e..fba71205fc
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -52,6 +52,8 @@
var/obj/item/radio/integrated/signal/sradio // AI's signaller
+ var/translator_on = 0 // keeps track of the translator module
+
/mob/living/silicon/pai/New(var/obj/item/device/paicard)
canmove = 0
diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm
old mode 100644
new mode 100755
index 757b04b1ea..8ca741724e
--- a/code/modules/mob/living/silicon/pai/software.dm
+++ b/code/modules/mob/living/silicon/pai/software.dm
@@ -266,7 +266,7 @@
src.medHUD = !src.medHUD
if("translator")
if(href_list["toggle"])
- src.universal_speak = !src.universal_speak
+ src.translator_toggle()
if("doorjack")
if(href_list["jack"])
if(src.cable && src.cable.machine)
@@ -325,7 +325,7 @@
if(s == "medical HUD") //This file has to be saved as ANSI or this will not display correctly
dat += "Medical Analysis Suite [(src.medHUD) ? "•" : "•"]
"
if(s == "universal translator") //This file has to be saved as ANSI or this will not display correctly
- dat += "Universal Translator [(src.universal_speak) ? "•" : "•"]
"
+ dat += "Universal Translator [(src.translator_on) ? "•" : "•"]
"
if(s == "projection array")
dat += "Projection Array
"
if(s == "camera jack")
@@ -438,9 +438,9 @@
for (var/ch_name in radio.channels)
dat+=radio.text_sec_channel(ch_name, radio.channels[ch_name])
dat+={"[radio.text_wires()]