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