diff --git a/code/modules/mob/living/taste.dm b/code/modules/mob/living/taste.dm
index e4d1aa94..f48fb528 100644
--- a/code/modules/mob/living/taste.dm
+++ b/code/modules/mob/living/taste.dm
@@ -3,6 +3,8 @@
/mob/living
var/last_taste_time
var/last_taste_text
+ var/last_ph_taste_time
+ var/last_ph_taste_number
/mob/living/proc/get_taste_sensitivity()
return DEFAULT_TASTE_SENSITIVITY
@@ -49,14 +51,30 @@
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)
- 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)
- to_chat(src, "You taste a strong acidic flavour!")
+ if(last_ph_taste_time + 50 < world.time)
+ var/ph_taste_number
+ switch(from.pH)
+ if(11.5 to INFINITY)
+ ph_taste_number = 1
+ if(8.5 to 11.5)
+ ph_taste_number = 2
+ if(2.5 to 5.5)
+ ph_taste_number = 3
+ if(-INFINITY to 2.5)
+ ph_taste_number = 4
+
+ if(ph_taste_number != last_ph_taste_number || last_ph_taste_time + 200 < world.time)
+ if (ph_taste_number == 1)
+ to_chat(src, "You taste a strong alkaline flavour!")
+ if (ph_taste_number == 2)
+ to_chat(src, "You taste a sort of soapy tone in the mixture.")
+ if (ph_taste_number == 3)
+ to_chat(src, "You taste a sort of acid tone in the mixture.")
+ if (ph_taste_number == 4)
+ to_chat(src, "You taste a strong acidic flavour!")
+
+ last_ph_taste_time = world.time
+ last_ph_taste_number = ph_taste_number
+
#undef DEFAULT_TASTE_SENSITIVITY