mirror of
https://github.com/quotefox/Hyper-Station-13.git
synced 2026-08-26 06:06:17 +01:00
replacing IPC eating with APC siphoning
oracle port
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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()))
|
||||
|
||||
@@ -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>")
|
||||
Reference in New Issue
Block a user