mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-07 20:31:13 +01:00
a958e7b16a
* Rework tastes to allow for synthetic enjoyment. * Remove duplicate vars. * Fix taste sorting for strongest taste first. * Add yuck descriptions for new drinks. * Add yuck descriptions with a T like there should be.
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
/mob/living/proc/get_taste_sensitivity()
|
|
return TASTE_SENSITIVITY_NORMAL
|
|
|
|
/mob/living/carbon/human/get_taste_sensitivity()
|
|
if(dna.species)
|
|
return dna.species.taste_sensitivity
|
|
return ..()
|
|
|
|
/mob/living/proc/get_taste_category()
|
|
return TASTE_CATEGORY_ORGANIC
|
|
|
|
/mob/living/silicon/get_taste_category()
|
|
return TASTE_CATEGORY_SYNTHETIC
|
|
|
|
/mob/living/carbon/human/get_taste_category()
|
|
if(HAS_TRAIT(src, TRAIT_IPC_CAN_EAT))
|
|
return TASTE_CATEGORY_BOTH
|
|
if(dna.species)
|
|
return dna.species.taste_category
|
|
return ..()
|
|
|
|
// non destructively tastes a reagent container
|
|
/mob/living/proc/taste(datum/reagents/from)
|
|
if(last_taste_time + 50 < world.time)
|
|
var/text_output = from.generate_taste_message(get_taste_sensitivity(), get_taste_category())
|
|
// We dont want to spam the same message over and over again at the
|
|
// person. Give it a bit of a buffer.
|
|
if(AmountHallucinate() > 50 SECONDS && 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, SPAN_NOTICE("You can taste [text_output]."))
|
|
// "something indescribable" -> too many tastes, not enough flavor.
|
|
|
|
last_taste_time = world.time
|
|
last_taste_text = text_output
|