From d8415aa6345ae5aed8cf9bd1a1a6f3a5afc37683 Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Thu, 13 Feb 2020 14:44:08 +0100
Subject: [PATCH 1/3] Fixing tongue organ damage spam.
---
code/modules/surgery/organs/tongue.dm | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm
index 8ad293fbcb..d540d12d14 100644
--- a/code/modules/surgery/organs/tongue.dm
+++ b/code/modules/surgery/organs/tongue.dm
@@ -30,6 +30,12 @@
/obj/item/organ/tongue/Initialize(mapload)
. = ..()
+ low_threshold_passed = "Your [name] feels a little sore."
+ low_threshold_cleared = "Your [name] soreness subsides."
+ high_threshold_passed = "Your [name] is really starting to hurt."
+ high_threshold_cleared = "The pain of your [name] subsides a little."
+ now_failing = "Your [name] feels like it's about to fall out!."
+ now_fixed = "The excruciating pain of your [name] subsides."
languages_possible = languages_possible_base
/obj/item/organ/tongue/proc/handle_speech(datum/source, list/speech_args)
@@ -40,7 +46,7 @@
return
if(organ_flags & ORGAN_SYNTHETIC)
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)].")
+ owner.say("The pH is appropriately [pick(errormessage)].", forced = "EMPed synthetic tongue")
/obj/item/organ/tongue/applyOrganDamage(var/d, var/maximum = maxHealth)
@@ -58,11 +64,6 @@
to_chat(owner, "Your tongue is singed beyond recognition, and disintegrates!")
SSblackbox.record_feedback("tally", "fermi_chem", 1, "Tongues lost to Fermi")
qdel(src)
- else if ((damage / maxHealth) > 0.85)
- to_chat(owner, "Your tongue feels like it's about to fall out!.")
- else if ((damage / maxHealth) > 0.5)
- to_chat(owner, "Your tongue is really starting to hurt.")
-
/obj/item/organ/tongue/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE)
..()
From 747b84d25579757998524861939edaef89e18c2f Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Thu, 13 Feb 2020 14:47:53 +0100
Subject: [PATCH 2/3] Thank you fermis very cool
---
code/modules/surgery/organs/tongue.dm | 22 ++++++----------------
1 file changed, 6 insertions(+), 16 deletions(-)
diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm
index d540d12d14..d71aa097d1 100644
--- a/code/modules/surgery/organs/tongue.dm
+++ b/code/modules/surgery/organs/tongue.dm
@@ -31,11 +31,11 @@
/obj/item/organ/tongue/Initialize(mapload)
. = ..()
low_threshold_passed = "Your [name] feels a little sore."
- low_threshold_cleared = "Your [name] soreness subsides."
+ low_threshold_cleared = "Your [name] soreness has subsided."
high_threshold_passed = "Your [name] is really starting to hurt."
- high_threshold_cleared = "The pain of your [name] subsides a little."
+ high_threshold_cleared = "The pain of your [name] has subsided a little."
now_failing = "Your [name] feels like it's about to fall out!."
- now_fixed = "The excruciating pain of your [name] subsides."
+ 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)
@@ -48,19 +48,9 @@
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/applyOrganDamage(var/d, var/maximum = maxHealth)
-
- if(!d) //Micro-optimization.
- return
- if(maximum < damage)
- return
- damage = CLAMP(damage + d, 0, maximum)
- var/mess = check_damage_thresholds(owner)
- prev_damage = damage
- if(mess && owner)
- to_chat(owner, mess)
-
- if ((damage / maxHealth) > 1)
+/obj/item/organ/tongue/applyOrganDamage(d, maximum = 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)
From 23f7879057ee67b68dd33a06538ea8f17ab16de8 Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Thu, 13 Feb 2020 14:57:08 +0100
Subject: [PATCH 3/3] taste spam
---
code/modules/mob/living/taste.dm | 39 ++++++++++++++-------------
code/modules/surgery/organs/tongue.dm | 16 +++++------
2 files changed, 29 insertions(+), 26 deletions(-)
diff --git a/code/modules/mob/living/taste.dm b/code/modules/mob/living/taste.dm
index e4d1aa94a5..46d0608f44 100644
--- a/code/modules/mob/living/taste.dm
+++ b/code/modules/mob/living/taste.dm
@@ -16,21 +16,22 @@
// non destructively tastes a reagent container
/mob/living/proc/taste(datum/reagents/from)
- if(last_taste_time + 50 < world.time)
- var/taste_sensitivity = get_taste_sensitivity()
- var/text_output = from.generate_taste_message(taste_sensitivity)
- // We dont want to spam the same message over and over again at the
- // person. Give it a bit of a buffer.
- if(hallucination > 50 && prob(25))
- text_output = pick("spiders","dreams","nightmares","the future","the past","victory",\
- "defeat","pain","bliss","revenge","poison","time","space","death","life","truth","lies","justice","memory",\
- "regrets","your soul","suffering","music","noise","blood","hunger","the american way")
- if(text_output != last_taste_text || last_taste_time + 100 < world.time)
- to_chat(src, "You can taste [text_output].")
- // "something indescribable" -> too many tastes, not enough flavor.
-
- last_taste_time = world.time
- last_taste_text = text_output
+ if(last_taste_time + 50 > world.time)
+ return FALSE
+ var/taste_sensitivity = get_taste_sensitivity()
+ var/text_output = from.generate_taste_message(taste_sensitivity)
+ // We dont want to spam the same message over and over again at the
+ // person. Give it a bit of a buffer.
+ if(hallucination > 50 && prob(25))
+ text_output = pick("spiders","dreams","nightmares","the future","the past","victory",\
+ "defeat","pain","bliss","revenge","poison","time","space","death","life","truth","lies","justice","memory",\
+ "regrets","your soul","suffering","music","noise","blood","hunger","the american way")
+ if(text_output != last_taste_text || last_taste_time + 100 < world.time)
+ to_chat(src, "You can taste [text_output].")
+ // "something indescribable" -> too many tastes, not enough flavor.
+ last_taste_time = world.time
+ last_taste_text = text_output
+ return TRUE
//FermiChem - How to check pH of a beaker without a meter/pH paper.
//Basically checks the pH of the holder and burns your poor tongue if it's too acidic!
@@ -41,22 +42,24 @@
if (!T)
return
.=..()
+ if(!.)
+ return
if ((from.pH > 12.5) || (from.pH < 1.5))
- to_chat(src, "You taste chemical burns!")
T.applyOrganDamage(5)
+ to_chat(src, "You taste chemical burns!")
if(istype(T, /obj/item/organ/tongue/cybernetic))
to_chat(src, "Your tongue moves on it's own in response to the liquid.")
say("The pH is appropriately [round(from.pH, 1)].")
return
if (!HAS_TRAIT(src, TRAIT_AGEUSIA)) //I'll let you get away with not having 1 damage.
switch(from.pH)
- if(11.5 to INFINITY)
+ if(11.5 to 12.5)
to_chat(src, "You taste a strong alkaline flavour!")
if(8.5 to 11.5)
to_chat(src, "You taste a sort of soapy tone in the mixture.")
if(2.5 to 5.5)
to_chat(src, "You taste a sort of acid tone in the mixture.")
- if(-INFINITY to 2.5)
+ if(1.5 to 2.5)
to_chat(src, "You taste a strong acidic flavour!")
#undef DEFAULT_TASTE_SENSITIVITY
diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm
index d71aa097d1..bcc764d00a 100644
--- a/code/modules/surgery/organs/tongue.dm
+++ b/code/modules/surgery/organs/tongue.dm
@@ -39,14 +39,7 @@
languages_possible = languages_possible_base
/obj/item/organ/tongue/proc/handle_speech(datum/source, list/speech_args)
-
-/obj/item/organ/tongue/emp_act(severity)
- . = ..()
- if(. & EMP_PROTECT_SELF)
- return
- if(organ_flags & ORGAN_SYNTHETIC)
- 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")
+ return
/obj/item/organ/tongue/applyOrganDamage(d, maximum = maxHealth)
. = ..()
@@ -302,6 +295,13 @@
maxHealth = 60 //It's robotic!
organ_flags = ORGAN_SYNTHETIC
+/obj/item/organ/tongue/cybernetic/emp_act(severity)
+ . = ..()
+ if(. & EMP_PROTECT_SELF)
+ return
+ 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