From 150bf4085d3c0e180d6d410ebfa9499bf55e944d Mon Sep 17 00:00:00 2001 From: Coffee Date: Tue, 12 Jul 2022 17:47:50 -0500 Subject: [PATCH] Golems now have tongues again, except cardboard golems (#68168) * vocal cord slot * puts vocal chords back * reverts changes i couldnt figure out how to make mutant_vocalcords work * cleanup * woops * Makes cardboard golems have no tongues * adds no tongue to the greet --- code/__DEFINES/DNA.dm | 3 +++ .../objects/items/devices/scanners/health_analyzer.dm | 2 ++ .../mob/living/carbon/human/species_types/golems.dm | 8 +++----- code/modules/surgery/organs/tongue.dm | 3 +++ 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 9e24b265142..b757879efa3 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -75,6 +75,9 @@ #define NOSTOMACH 10 #define NO_DNA_COPY 11 #define DRINKSBLOOD 12 +/// Stops species from spawning with tongue. Doesn't actually make the species able to talk with no tongue +#define NOTONGUE 13 + /// Use this if you want to change the race's color without the player being able to pick their own color. AKA special color shifting #define DYNCOLORS 13 #define AGENDER 14 diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm index 68ece23a22d..e138a1bc57f 100644 --- a/code/game/objects/items/devices/scanners/health_analyzer.dm +++ b/code/game/objects/items/devices/scanners/health_analyzer.dm @@ -279,6 +279,8 @@ missing_organs += "liver" if(!(NOSTOMACH in the_dudes_species.species_traits) && !humantarget.getorganslot(ORGAN_SLOT_STOMACH)) missing_organs += "stomach" + if(!(NOTONGUE in the_dudes_species.species_traits) && !humantarget.getorganslot(ORGAN_SLOT_TONGUE)) + missing_organs += "tongue" if(!humantarget.getorganslot(ORGAN_SLOT_EARS)) missing_organs += "ears" if(!humantarget.getorganslot(ORGAN_SLOT_EYES)) diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 386baf3d921..cf523f5565a 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -21,7 +21,6 @@ ) inherent_biotypes = MOB_HUMANOID|MOB_MINERAL mutant_organs = list(/obj/item/organ/internal/adamantine_resonator) - mutanttongue = /obj/item/organ/internal/vocal_cords/adamantine speedmod = 2 payday_modifier = 0.75 armor = 55 @@ -89,8 +88,7 @@ name = "Adamantine Golem" id = SPECIES_GOLEM_ADAMANTINE meat = /obj/item/food/meat/slab/human/mutant/golem/adamantine - mutant_organs = list(/obj/item/organ/internal/adamantine_resonator) - mutanttongue = /obj/item/organ/internal/vocal_cords/adamantine + mutant_organs = list(/obj/item/organ/internal/adamantine_resonator, /obj/item/organ/internal/vocal_cords/adamantine) fixed_mut_color = "#44eedd" info_text = "As an Adamantine Golem, you possess special vocal cords allowing you to \"resonate\" messages to all golems. Your unique mineral makeup makes you immune to most types of magic." prefix = "Adamantine" @@ -1059,8 +1057,8 @@ id = SPECIES_GOLEM_CARDBOARD prefix = "Cardboard" special_names = list("Box") - info_text = "As a Cardboard Golem, you aren't very strong, but you are a bit quicker and can easily create more brethren by using cardboard on yourself." - species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYESPRITES) + info_text = "As a Cardboard Golem, you aren't very strong, but you are a bit quicker and can easily create more brethren by using cardboard on yourself. Cardboard makes a poor building material for tongues, so you'll have difficulty speaking." + species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYESPRITES,NOTONGUE) inherent_traits = list( TRAIT_ADVANCEDTOOLUSER, TRAIT_CAN_STRIP, diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 56dca48440c..e0d6f0b6343 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -76,6 +76,9 @@ /obj/item/organ/internal/tongue/could_speak_language(language) return is_type_in_typecache(language, languages_possible) +/obj/item/organ/internal/tongue/get_availability(datum/species/owner_species) + return !(NOTONGUE in owner_species.species_traits) + /obj/item/organ/internal/tongue/lizard name = "forked tongue" desc = "A thin and long muscle typically found in reptilian races, apparently moonlights as a nose."