diff --git a/code/__DEFINES/language.dm b/code/__DEFINES/language.dm index f13304f10c2..9189ae20b2e 100644 --- a/code/__DEFINES/language.dm +++ b/code/__DEFINES/language.dm @@ -39,6 +39,7 @@ #define LANGUAGE_RADIOKEY "radiokey" #define LANGUAGE_BABEL "babel" #define LANGUAGE_EMP "emp" +#define LANGUAGE_TONGUE "tongue" // Language flags. Used in granting and removing languages. /// This language can be spoken. diff --git a/code/modules/surgery/organs/internal/tongue/_tongue.dm b/code/modules/surgery/organs/internal/tongue/_tongue.dm index 13e91c02b1f..8553c786403 100644 --- a/code/modules/surgery/organs/internal/tongue/_tongue.dm +++ b/code/modules/surgery/organs/internal/tongue/_tongue.dm @@ -561,6 +561,18 @@ /obj/item/organ/tongue/robot/modify_speech(datum/source, list/speech_args) speech_args[SPEECH_SPANS] |= SPAN_ROBOT +/obj/item/organ/tongue/robot/on_mob_insert(mob/living/carbon/receiver) + . = ..() + receiver.grant_language(/datum/language/machine, source = LANGUAGE_TONGUE) + to_chat(receiver, span_boldnotice("You gain a new understanding of [/datum/language/machine::name].")) + +/obj/item/organ/tongue/robot/on_mob_remove(mob/living/carbon/owner) + . = ..() + if(QDELING(owner)) + return + owner.remove_language(/datum/language/machine, source = LANGUAGE_TONGUE) + to_chat(owner, span_boldnotice("You're not really sure what beeps and boops mean anymore.")) + /obj/item/organ/tongue/snail name = "radula" desc = "A minutely toothed, chitinous ribbon, which as a side effect, makes all snails talk IINNCCRREEDDIIBBLLYY SSLLOOWWLLYY."