diff --git a/code/game/machinery/dna_infuser/organ_sets/gondola_organs.dm b/code/game/machinery/dna_infuser/organ_sets/gondola_organs.dm index b3d400ac39d..d8c0ee95f53 100644 --- a/code/game/machinery/dna_infuser/organ_sets/gondola_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/gondola_organs.dm @@ -57,6 +57,7 @@ Fluoride Stare: After someone says 5 words, blah blah blah... post_init_icon_state = "tongue" greyscale_config = /datum/greyscale_config/mutant_organ greyscale_colors = GONDOLA_COLORS + speakable_with = FALSE organ_traits = list(TRAIT_MUTE) /obj/item/organ/tongue/gondola/Initialize(mapload) diff --git a/code/game/machinery/dna_infuser/organ_sets/stoat_organs.dm b/code/game/machinery/dna_infuser/organ_sets/stoat_organs.dm index 343767421da..90c5c2c1f4f 100644 --- a/code/game/machinery/dna_infuser/organ_sets/stoat_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/stoat_organs.dm @@ -161,7 +161,7 @@ liked_foodtypes = MEAT | RAW | GORE | BUGS disliked_foodtypes = FRUIT | VEGETABLES taste_sensitivity = 12 - organ_traits = list(TRAIT_SPEAKS_CLEARLY, TRAIT_FERAL_BITER) + organ_traits = list(TRAIT_FERAL_BITER) /obj/item/organ/tongue/stoat/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index fb891df0f26..02084030a40 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -155,7 +155,6 @@ icon_state = "tongue_vampire" actions_types = list(/datum/action/item_action/organ_action/vampire) organ_traits = list( - TRAIT_SPEAKS_CLEARLY, TRAIT_DRINKS_BLOOD, // future todo : tie nobreath and nohunger to a vampire organ set bonus TRAIT_NOBREATH, diff --git a/code/modules/surgery/organs/internal/tongue/_tongue.dm b/code/modules/surgery/organs/internal/tongue/_tongue.dm index 87d69bac891..4198b1726df 100644 --- a/code/modules/surgery/organs/internal/tongue/_tongue.dm +++ b/code/modules/surgery/organs/internal/tongue/_tongue.dm @@ -8,7 +8,6 @@ attack_verb_continuous = list("licks", "slobbers", "slaps", "frenches", "tongues") attack_verb_simple = list("lick", "slobber", "slap", "french", "tongue") voice_filter = "" - organ_traits = list(TRAIT_SPEAKS_CLEARLY) /** * A cached list of paths of all the languages this tongue is capable of speaking * @@ -31,6 +30,8 @@ ///for temporary overrides of the above variable. var/temp_say_mod = "" + /// Whether the owner of this tongue can speak clearly. Being set to FALSE means they mumble and slur things + var/speakable_with = TRUE /// Whether the owner of this tongue can taste anything. Being set to FALSE will mean no taste feedback will be provided. var/sense_of_taste = TRUE /// Determines how "sensitive" this tongue is to tasting things, lower is more sensitive. @@ -52,6 +53,8 @@ // - then we cache it via string list // this results in tongues with identical possible languages sharing a cached list instance languages_possible = string_list(get_possible_languages()) + if(speakable_with) + add_organ_trait(TRAIT_SPEAKS_CLEARLY) if(!sense_of_taste) add_organ_trait(TRAIT_AGEUSIA) @@ -155,7 +158,8 @@ add_organ_trait(TRAIT_AGEUSIA) /obj/item/organ/tongue/on_failure_recovery() - add_organ_trait(TRAIT_SPEAKS_CLEARLY) + if(speakable_with) + add_organ_trait(TRAIT_SPEAKS_CLEARLY) if(sense_of_taste) remove_organ_trait(TRAIT_AGEUSIA) @@ -548,7 +552,7 @@ attack_verb_simple = list("beep", "boop") modifies_speech = TRUE taste_sensitivity = 25 // not as good as an organic tongue - organ_traits = list(TRAIT_SPEAKS_CLEARLY, TRAIT_SILICON_EMOTES_ALLOWED) + organ_traits = list(TRAIT_SILICON_EMOTES_ALLOWED) voice_filter = "alimiter=0.9,acompressor=threshold=0.2:ratio=20:attack=10:release=50:makeup=2,highpass=f=1000" /obj/item/organ/tongue/robot/could_speak_language(datum/language/language_path) @@ -610,7 +614,7 @@ say_mod = "meows" liked_foodtypes = SEAFOOD | ORANGES | BUGS | GORE disliked_foodtypes = GROSS | CLOTH | RAW - organ_traits = list(TRAIT_SPEAKS_CLEARLY, TRAIT_WOUND_LICKER, TRAIT_FISH_EATER, TRAIT_CARPOTOXIN_IMMUNE) + organ_traits = list(TRAIT_WOUND_LICKER, TRAIT_FISH_EATER, TRAIT_CARPOTOXIN_IMMUNE) languages_native = list(/datum/language/nekomimetic) actions_types = list(/datum/action/item_action/organ_action/go_feral) var/feral_mode = FALSE