Dionae organ removal and eating tweak (#12281)

This commit is contained in:
Alberyk
2021-08-05 18:08:01 +02:00
committed by GitHub
parent 02f664efde
commit a4e0ec8128
5 changed files with 22 additions and 12 deletions
@@ -559,7 +559,7 @@
if (!H.exhaust_threshold)
return 1 // Handled.
cost += H.getOxyLoss() * 0.1 //The less oxygen we get, the more we strain.
cost += H.getOxyLoss() * 0.1 //The less oxygen we get, the more we strain.
cost *= H.sprint_cost_factor
if(H.is_drowsy())
cost *= 1.25
@@ -703,6 +703,9 @@
/datum/species/proc/is_naturally_insulated()
return FALSE
/datum/species/proc/bypass_food_fullness(var/mob/living/carbon/human/H) //proc used to see if the species can eat more than their nutrition value allows
return FALSE
// the records var is so that untagged shells can appear human
/datum/species/proc/get_species(var/reference, var/mob/living/carbon/human/H, var/records)
if(reference)
@@ -64,15 +64,7 @@
grab_mod = 0.6 // Viney Tentacles and shit to cling onto
resist_mod = 1.5 // Reasonably stronk, not moreso than an Unathi or robot.
has_organ = list(
"nutrient channel" = /obj/item/organ/internal/diona/nutrients,
"neural strata" = /obj/item/organ/internal/diona/strata,
"response node" = /obj/item/organ/internal/diona/node,
"gas bladder" = /obj/item/organ/internal/diona/bladder,
"polyp segment" = /obj/item/organ/internal/diona/polyp,
"anchoring ligament" = /obj/item/organ/internal/diona/ligament,
BP_STOMACH = /obj/item/organ/internal/stomach/diona
)
has_organ = list( BP_STOMACH = /obj/item/organ/internal/stomach/diona)
has_limbs = list(
BP_CHEST = list("path" = /obj/item/organ/external/chest/diona),
@@ -181,6 +173,9 @@
/datum/species/diona/has_psi_potential()
return FALSE
/datum/species/diona/is_naturally_insulated()
return TRUE
/datum/species/diona/bypass_food_fullness(var/mob/living/carbon/human/H)
return TRUE
@@ -60,7 +60,7 @@
return
/obj/item/organ/internal/stomach/diona
name = "digestion chamber"
name = "digestion cavity"
should_process_alcohol = FALSE
icon = 'icons/mob/npc/alien.dmi'
icon_state = "chitin"
@@ -91,6 +91,11 @@
var/is_full = (fullness >= user.max_nutrition)
if(ishuman(user))
var/mob/living/carbon/human/H = user
if (H.species && H.species.bypass_food_fullness())
is_full = FALSE
if(user == target)
if(!user.can_eat(src))
return