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,