From de640254c7bec5f63e3149e1ffd3127bab2fa01a Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Sat, 5 Sep 2020 20:32:22 +0100 Subject: [PATCH 1/5] tidyup --- code/modules/surgery/organs/tongue.dm | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 09e6f0ef42..62d072a40d 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -39,10 +39,10 @@ now_fixed = "The excruciating pain of your [name] has subsided." languages_possible = languages_possible_base for(var/accent in initial_accents) - initial_accents += new accent + accents += new accent /obj/item/organ/tongue/proc/handle_speech(datum/source, list/speech_args) //this wont proc unless there's initial_accents - for(var/datum/accent/speech_modifier in initial_accents) + for(var/datum/accent/speech_modifier in accents) speech_args = speech_modifier.modify_speech(speech_args, source, owner) /obj/item/organ/tongue/applyOrganDamage(d, maximum = maxHealth) @@ -166,8 +166,8 @@ var/list/phomeme_types = list(/datum/accent/span/sans, /datum/accent/span/papyrus) /obj/item/organ/tongue/bone/Initialize() - . = ..() initial_accents += pick(phomeme_types) + . = ..() /obj/item/organ/tongue/bone/applyOrganDamage(var/d, var/maximum = maxHealth) if(d < 0) @@ -205,9 +205,6 @@ /obj/item/organ/tongue/robot/could_speak_language(language) return ..() || electronics_magic -/obj/item/organ/tongue/robot/handle_speech(datum/source, list/speech_args) - ..() - /obj/item/organ/tongue/fluffy name = "fluffy tongue" desc = "OwO what's this?" @@ -220,6 +217,7 @@ name = "cybernetic tongue" desc = "A state of the art robotic tongue that can detect the pH of anything drank." icon_state = "tonguecybernetic" + initial_accents = list(/datum/accent/span/robot) taste_sensitivity = 10 maxHealth = 60 //It's robotic! organ_flags = ORGAN_SYNTHETIC @@ -231,10 +229,6 @@ var/errormessage = list("Runtime in tongue.dm, line 39: Undefined operation \"zapzap ow my tongue\"", "afhsjifksahgjkaslfhashfjsak", "-1.#IND", "Graham's number", "inside you all along", "awaiting at least 1 approving review before merging this taste request") owner.say("The pH is appropriately [pick(errormessage)].", forced = "EMPed synthetic tongue") -/obj/item/organ/tongue/cybernetic/handle_speech(datum/source, list/speech_args) - speech_args[SPEECH_SPANS] |= SPAN_ROBOT - ..() - /obj/item/organ/tongue/robot/ipc name = "positronic voicebox" say_mod = "beeps" From 5f5455add12900868c1679b326f12bddf653ff00 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Sun, 6 Sep 2020 18:48:59 +0100 Subject: [PATCH 2/5] yes --- code/modules/surgery/organs/tongue.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 62d072a40d..bea53fe19d 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -30,6 +30,8 @@ decay_factor = STANDARD_ORGAN_DECAY/2 /obj/item/organ/tongue/Initialize(mapload) + for(var/accent in initial_accents) + accents += new accent . = ..() low_threshold_passed = "Your [name] feels a little sore." low_threshold_cleared = "Your [name] soreness has subsided." @@ -38,8 +40,6 @@ now_failing = "Your [name] feels like it's about to fall out!." now_fixed = "The excruciating pain of your [name] has subsided." languages_possible = languages_possible_base - for(var/accent in initial_accents) - accents += new accent /obj/item/organ/tongue/proc/handle_speech(datum/source, list/speech_args) //this wont proc unless there's initial_accents for(var/datum/accent/speech_modifier in accents) @@ -56,7 +56,7 @@ ..() if(say_mod && M.dna && M.dna.species) M.dna.species.say_mod = say_mod - if(initial_accents) + if(length(accents)) RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) M.UnregisterSignal(M, COMSIG_MOB_SAY) From d51fb00ebfe66f791d21c234f4b9663db4dc072a Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Sun, 6 Sep 2020 18:57:17 +0100 Subject: [PATCH 3/5] makes more sense this way --- code/modules/surgery/organs/tongue.dm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index bea53fe19d..f64b388fe6 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -30,9 +30,9 @@ decay_factor = STANDARD_ORGAN_DECAY/2 /obj/item/organ/tongue/Initialize(mapload) + . = ..() for(var/accent in initial_accents) accents += new accent - . = ..() low_threshold_passed = "Your [name] feels a little sore." low_threshold_cleared = "Your [name] soreness has subsided." high_threshold_passed = "Your [name] is really starting to hurt." @@ -41,7 +41,7 @@ now_fixed = "The excruciating pain of your [name] has subsided." languages_possible = languages_possible_base -/obj/item/organ/tongue/proc/handle_speech(datum/source, list/speech_args) //this wont proc unless there's initial_accents +/obj/item/organ/tongue/proc/handle_speech(datum/source, list/speech_args) for(var/datum/accent/speech_modifier in accents) speech_args = speech_modifier.modify_speech(speech_args, source, owner) @@ -56,8 +56,7 @@ ..() if(say_mod && M.dna && M.dna.species) M.dna.species.say_mod = say_mod - if(length(accents)) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) M.UnregisterSignal(M, COMSIG_MOB_SAY) /obj/item/organ/tongue/Remove(special = FALSE) From 8fe55e131790ccc62aeea9eb963976e1ca2beffd Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Sun, 6 Sep 2020 19:16:30 +0100 Subject: [PATCH 4/5] travis what the fuck --- code/modules/surgery/organs/tongue.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index f64b388fe6..146c33b70f 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -41,13 +41,13 @@ now_fixed = "The excruciating pain of your [name] has subsided." languages_possible = languages_possible_base -/obj/item/organ/tongue/proc/handle_speech(datum/source, list/speech_args) +/obj/item/organ/tongue/proc/handle_speech(datum/source, list/speech_args) //this wont proc unless there's initial_accents on the tongue for(var/datum/accent/speech_modifier in accents) speech_args = speech_modifier.modify_speech(speech_args, source, owner) /obj/item/organ/tongue/applyOrganDamage(d, maximum = maxHealth) . = ..() - if (damage >= maxHealth) + if(damage >= maxHealth) to_chat(owner, "Your tongue is singed beyond recognition, and disintegrates!") SSblackbox.record_feedback("tally", "fermi_chem", 1, "Tongues lost to Fermi") qdel(src) @@ -56,7 +56,8 @@ ..() if(say_mod && M.dna && M.dna.species) M.dna.species.say_mod = say_mod - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + if(length(initial_accents) || length(accents)) + RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) M.UnregisterSignal(M, COMSIG_MOB_SAY) /obj/item/organ/tongue/Remove(special = FALSE) From 98a7332e23b97f5bceb76939242181ce3d04100d Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Sun, 6 Sep 2020 21:02:24 +0100 Subject: [PATCH 5/5] is this really the root of the issue --- code/modules/surgery/organs/tongue.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 146c33b70f..929b42f96d 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -12,7 +12,7 @@ var/taste_sensitivity = 15 // lower is more sensitive. maxHealth = TONGUE_MAX_HEALTH var/list/initial_accents //the ones the tongue starts with, not what it currently has - var/list/accents //done in order of priority (please always apply abductor accent and stuttering last) + var/list/accents = list() //done in order of priority (please always apply abductor accent and stuttering last) var/static/list/languages_possible_base = typecacheof(list( /datum/language/common, /datum/language/draconic,