mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-30 16:38:22 +01:00
Gustatory Augment (#11434)
This commit is contained in:
@@ -146,6 +146,7 @@
|
||||
#define BP_AUG_PEN "retractable combipen"
|
||||
#define BP_AUG_LIGHTER "retractable lighter"
|
||||
#define BP_AUG_HEALTHSCAN "integrated health scanner"
|
||||
#define BP_AUG_GUSTATORIAL "integrated gustatorial centre"
|
||||
#define BP_AUG_TESLA "tesla spine"
|
||||
#define BP_AUG_EYE_SENSORS "integrated eyes sensors"
|
||||
#define BP_AUG_HAIR "synthetic hair extensions"
|
||||
|
||||
@@ -133,3 +133,24 @@
|
||||
goldendeep["golden deep suit"] = /obj/item/clothing/under/goldendeep/suit
|
||||
goldendeep["golden deep skirtsuit"] = /obj/item/clothing/under/goldendeep/skirtsuit
|
||||
gear_tweaks += new/datum/gear_tweak/path(goldendeep)
|
||||
|
||||
/datum/gear/augment/machine/gustatorial
|
||||
display_name = "gustatorial centre (tongue)"
|
||||
description = "An extremely complex augment, capable of translating taste into binary code, allowing synthetic beings to experience food."
|
||||
path = /obj/item/organ/internal/augment/gustatorial
|
||||
cost = 1
|
||||
whitelisted = list(SPECIES_IPC_SHELL)
|
||||
sort_category = "Xenowear - IPC"
|
||||
|
||||
/datum/gear/augment/machine/gustatorial/hands
|
||||
display_name = "gustatorial centre (hands)"
|
||||
description = "An extremely complex augment, capable of translating taste into binary code, allowing synthetic beings to experience food."
|
||||
path = /obj/item/organ/internal/augment/gustatorial/hand
|
||||
whitelisted = list(SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
|
||||
/datum/gear/augment/machine/gustatorial/hands/New()
|
||||
..()
|
||||
var/list/handies = list()
|
||||
handies["gustatorial centre (right hand)"] = /obj/item/organ/internal/augment/gustatorial/hand
|
||||
handies["gustatorial centre (left hand)"] = /obj/item/organ/internal/augment/gustatorial/hand/left
|
||||
gear_tweaks += new /datum/gear_tweak/path(handies)
|
||||
@@ -14,9 +14,11 @@
|
||||
catalogue the 'taste strength' of each one
|
||||
calculate text size per text.
|
||||
*/
|
||||
/datum/reagents/proc/generate_taste_message(mob/living/carbon/taster = null)
|
||||
/datum/reagents/proc/generate_taste_message(mob/living/carbon/taster = null, var/force_taste_sensitivity)
|
||||
var/minimum_percent = 15
|
||||
if(ishuman(taster))
|
||||
if(force_taste_sensitivity)
|
||||
minimum_percent = round(15 / force_taste_sensitivity)
|
||||
else if(ishuman(taster))
|
||||
var/mob/living/carbon/human/H = taster
|
||||
var/total_taste_sensitivity
|
||||
|
||||
|
||||
@@ -349,6 +349,48 @@
|
||||
name = "C'thur language processor"
|
||||
augment_languages = list(LANGUAGE_SKRELLIAN)
|
||||
|
||||
/obj/item/organ/internal/augment/gustatorial
|
||||
name = "gustatorial centre"
|
||||
action_button_name = "Activate Gustatorial Centre (tongue)"
|
||||
action_button_icon = "augment"
|
||||
organ_tag = BP_AUG_GUSTATORIAL
|
||||
parent_organ = BP_HEAD
|
||||
activable = TRUE
|
||||
cooldown = 8
|
||||
|
||||
var/taste_sensitivity = TASTE_NORMAL
|
||||
var/action_verb = "licks"
|
||||
var/self_action_verb = "lick"
|
||||
|
||||
/obj/item/organ/internal/augment/gustatorial/attack_self(var/mob/user)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return FALSE
|
||||
|
||||
var/obj/item/reagent_containers/food/F = user.get_active_hand()
|
||||
if(istype(F))
|
||||
if(!F.is_open_container())
|
||||
to_chat(user, SPAN_WARNING("\The [F] is closed!"))
|
||||
return
|
||||
user.visible_message("<b>[user]</b> [action_verb] \the [F].", SPAN_NOTICE("You [self_action_verb] \the [F]."))
|
||||
to_chat(user, SPAN_NOTICE("\The [src] reports that \the [F] tastes like: [F.reagents.generate_taste_message(user, taste_sensitivity)]"))
|
||||
else
|
||||
var/list/tastes = list("Hypersensitive" = TASTE_HYPERSENSITIVE, "Sensitive" = TASTE_SENSITIVE, "Normal" = TASTE_NORMAL, "Dull" = TASTE_DULL, "Numb" = TASTE_NUMB)
|
||||
var/taste_choice = input(user, "How well do you want to taste?", "Taste Sensitivity", "Normal") as null|anything in tastes
|
||||
if(taste_choice)
|
||||
to_chat(user, SPAN_NOTICE("\The [src] will now output taste as if you were <b>[taste_choice]</b>."))
|
||||
taste_sensitivity = tastes[taste_choice]
|
||||
|
||||
/obj/item/organ/internal/augment/gustatorial/hand
|
||||
parent_organ = BP_R_HAND
|
||||
action_button_name = "Activate Gustatorial Centre (hand)"
|
||||
|
||||
action_verb = "sticks their finger in"
|
||||
self_action_verb = "stick your finger in"
|
||||
|
||||
/obj/item/organ/internal/augment/gustatorial/hand/left
|
||||
parent_organ = BP_L_HAND
|
||||
|
||||
// Snakebitten!
|
||||
/obj/item/organ/internal/augment/psi
|
||||
name = "psionic receiver"
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
author: Geeves
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- rscadd: "Added a gustatoral centre augment for IPCs. This will allow them to taste food in their active hand as if they've eaten it. Using it with no food in their hand will let them change how sensitive it is."
|
||||
- rscadd: "Shell IPCs get an additional gustatoral centre augment variation that goes in their tongue, allowing them to taste food without their finger."
|
||||
Reference in New Issue
Block a user