mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
IPC Culinary Processing Implant (#30475)
* add the ipc culinary implant * add spans
This commit is contained in:
@@ -1780,25 +1780,27 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/human/can_eat(flags = 255)
|
||||
return dna.species && (dna.species.dietflags & flags)
|
||||
return dna.species && ((dna.species.dietflags & flags) || HAS_TRAIT(src, TRAIT_IPC_CAN_EAT))
|
||||
|
||||
/mob/living/carbon/human/selfFeed(obj/item/food/toEat, fullness)
|
||||
if(!check_has_mouth())
|
||||
to_chat(src, "Where do you intend to put \the [toEat]? You don't have a mouth!")
|
||||
return FALSE
|
||||
if(!ismachineperson(src) || (ismachineperson(src) && !HAS_TRAIT(src, TRAIT_IPC_CAN_EAT)))
|
||||
to_chat(src, "<span class='notice'>Where do you intend to put [toEat]? You don't have a mouth!</span>")
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/human/forceFed(obj/item/food/toEat, mob/user, fullness)
|
||||
if(!check_has_mouth())
|
||||
if(!((istype(toEat, /obj/item/reagent_containers/drinks) && (ismachineperson(src)))))
|
||||
to_chat(user, "Where do you intend to put \the [toEat]? \The [src] doesn't have a mouth!")
|
||||
return FALSE
|
||||
if(!ismachineperson(src) || !HAS_TRAIT(src, TRAIT_IPC_CAN_EAT))
|
||||
if(!((istype(toEat, /obj/item/reagent_containers/drinks) && (ismachineperson(src)))))
|
||||
to_chat(user, "<span class='notice'>Where do you intend to put [toEat]? \The [src] doesn't have a mouth!</span>")
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/human/selfDrink(obj/item/reagent_containers/drinks/toDrink)
|
||||
if(!check_has_mouth())
|
||||
if(!ismachineperson(src))
|
||||
to_chat(src, "Where do you intend to put \the [src]? You don't have a mouth!")
|
||||
to_chat(src, "<span class='notice'>Where do you intend to put \the [src]? You don't have a mouth!</span>")
|
||||
return FALSE
|
||||
else
|
||||
to_chat(src, "<span class='notice'>You pour a bit of liquid from [toDrink] into your connection port.</span>")
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
return TASTE_SENSITIVITY_NORMAL
|
||||
|
||||
/mob/living/carbon/human/get_taste_sensitivity()
|
||||
if(dna.species)
|
||||
if(HAS_TRAIT(src, TRAIT_IPC_CAN_EAT))
|
||||
return TASTE_SENSITIVITY_NORMAL
|
||||
else if(dna.species)
|
||||
return dna.species.taste_sensitivity
|
||||
else
|
||||
return TASTE_SENSITIVITY_NORMAL
|
||||
|
||||
@@ -1478,6 +1478,17 @@
|
||||
build_path = /obj/item/organ/internal/cyberimp/chest/ipc_joints/flayer_pacification
|
||||
category = list("IPC Upgrades")
|
||||
|
||||
/datum/design/culinary_processing_implant
|
||||
name = "Culinary Processing Implant"
|
||||
desc = "This implant emulates the functions of a gastrointestinal system, allowing IPCs to eat and experience taste."
|
||||
id = "ci-culinary_implant"
|
||||
req_tech = list("materials" = 3, "powerstorage" = 4, "biotech" = 3)
|
||||
build_type = MECHFAB
|
||||
construction_time = 60
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_GOLD = 500)
|
||||
build_path = /obj/item/organ/internal/cyberimp/chest/ipc_food
|
||||
category = list("IPC Upgrades")
|
||||
|
||||
// Misc
|
||||
/datum/design/mecha_tracking
|
||||
name = "Exosuit Tracking Beacon"
|
||||
|
||||
@@ -1022,6 +1022,22 @@
|
||||
REMOVE_TRAIT(M, TRAIT_MINDFLAYER_NULLIFIED, UNIQUE_TRAIT_SOURCE(src))
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/internal/cyberimp/chest/ipc_food
|
||||
name = "Culinary Processing Implant"
|
||||
desc = "This implant emulates the functions of a gastrointestinal system, allowing IPCs to eat and experience taste."
|
||||
implant_color = "#d8780a"
|
||||
origin_tech = "materials=2;powerstorage=2;biotech=2"
|
||||
slot = "gastrointestinal"
|
||||
requires_machine_person = TRUE
|
||||
|
||||
/obj/item/organ/internal/cyberimp/chest/ipc_food/insert(mob/living/carbon/M, special = FALSE)
|
||||
..()
|
||||
ADD_TRAIT(M, TRAIT_IPC_CAN_EAT, "ipc_food[UID()]")
|
||||
|
||||
/obj/item/organ/internal/cyberimp/chest/ipc_food/remove(mob/living/carbon/M, special = FALSE)
|
||||
REMOVE_TRAIT(M, TRAIT_IPC_CAN_EAT, "ipc_food[UID()]")
|
||||
return ..()
|
||||
|
||||
//BOX O' IMPLANTS
|
||||
|
||||
/obj/item/storage/box/cyber_implants
|
||||
|
||||
Reference in New Issue
Block a user