replacing IPC eating with APC siphoning

oracle port
This commit is contained in:
sarcoph
2022-05-14 02:06:56 -08:00
parent f45e803bd0
commit b4163be383
14 changed files with 128 additions and 6 deletions
+3
View File
@@ -487,6 +487,9 @@
if(HAS_TRAIT(src, TRAIT_NOHUNGER))
return 1
if(!has_mouth())
return 1
if(nutrition < 100 && !blood)
if(message)
visible_message("<span class='warning'>[src] dry heaves!</span>", \
@@ -318,15 +318,24 @@ GLOBAL_LIST_EMPTY(roundstart_races)
var/mob/living/carbon/human/H = C
if(NOGENITALS in H.dna.species.species_traits)
H.give_genitals(TRUE) //call the clean up proc to delete anything on the mob then return.
// EDIT ENDS
if(NOMOUTH in species_traits)
for(var/obj/item/bodypart/head/head in C.bodyparts)
head.mouth = FALSE
/datum/species/proc/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load)
if(C.dna.species.exotic_bloodtype)
if(!new_species.exotic_bloodtype)
C.dna.blood_type = random_blood_type()
else
C.dna.blood_type = new_species.exotic_bloodtype
if(NOMOUTH in species_traits)
for(var/obj/item/bodypart/head/head in C.bodyparts)
head.mouth = TRUE
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(TRUE)
for(var/X in inherent_traits)
@@ -65,6 +65,12 @@
var/who = (isnull(user) || eater == user) ? "your" : "[eater.p_their()]"
to_chat(user, "<span class='warning'>You have to remove [who] [covered] first!</span>")
return 0
if(!eater.has_mouth())
if(eater == user)
to_chat(eater, "<span class='warning'>You have no mouth, and cannot eat.</span>")
else
to_chat(user, "<span class='warning'>You can't feed [eater], because they have no mouth!</span>")
return 0
return 1
/obj/item/reagent_containers/ex_act()
+3
View File
@@ -34,6 +34,9 @@
var/lip_color = "white"
//If the head is a special sprite
var/custom_head
// if head has mouth; may depend on species
var/mouth = TRUE
/obj/item/bodypart/head/can_dismember(obj/item/I)
if(!((owner.stat == DEAD) || owner.InFullCritical()))
+23 -2
View File
@@ -120,6 +120,27 @@
return
owner.vomit(stun = FALSE)
/obj/item/organ/stomach/ipc
name = "ipc stomach"
/obj/item/organ/stomach/synthliz
name = "synthetic lizardperson stomach"
icon_state = "stomach-ipc"
// ipc power cell from oracle
/obj/item/organ/stomach/cell
name = "micro-cell"
icon_state = "microcell"
w_class = WEIGHT_CLASS_NORMAL
zone = BODY_ZONE_CHEST
slot = ORGAN_SLOT_STOMACH
status = ORGAN_ROBOTIC
attack_verb = list("assault and battery'd")
desc = "A micro-cell, for IPC use only. Do not swallow."
/obj/item/organ/stomach/cell/emp_act(severity)
switch(severity)
if(1)
owner.nutrition = 50
to_chat(owner, "<span class='warning'>Alert: Heavy EMP Detected. Rebooting power cell to prevent damage.</span>")
if(2)
owner.nutrition = 250
to_chat(owner, "<span class='warning'>Alert: EMP Detected. Cycling battery.</span>")