This commit is contained in:
Timothy Teakettle
2022-08-09 11:59:10 +01:00
parent 8ee01d0bc4
commit e71686d8ac
3 changed files with 11 additions and 1 deletions
+1 -1
View File
@@ -51,4 +51,4 @@
#define ORGAN_NO_SPOIL (1<<5) //Do not spoil under any circumstances
#define ORGAN_NO_DISMEMBERMENT (1<<6) //Immune to disembowelment.
#define ORGAN_EDIBLE (1<<7) //is a snack? :D
#define ORGAN_SYNTHETIC_EMP (1<<6) //Synthetic organ affected by an EMP. Deteriorates over time.
#define ORGAN_SYNTHETIC_EMP (1<<8) //Synthetic organ affected by an EMP. Deteriorates over time.
+7
View File
@@ -87,6 +87,7 @@
actions_types = list(/datum/action/item_action/organ_action/dullahan)
zone = "abstract"
tint = INFINITY // used to switch the vision perspective to the head on species_gain().
organ_flags = ORGAN_NO_SPOIL | ORGAN_NO_DISMEMBERMENT
/obj/item/dullahan_head
name = "coders lament"
@@ -180,8 +181,10 @@
var/mob/living/carbon/human/H = parent
var/obj/item/organ/eyes/new_eyes = new H.dna.species.mutanteyes()
var/obj/item/organ/brain/new_brain = new H.dna.species.mutant_brain()
var/obj/item/organ/tongue/new_tongue = new H.dna.species.mutanttongue()
var/obj/item/organ/eyes/old_eyes = H.getorganslot(ORGAN_SLOT_EYES)
var/obj/item/organ/brain/old_brain = H.getorganslot(ORGAN_SLOT_BRAIN)
var/obj/item/organ/tongue/old_tongue = H.getorganslot(ORGAN_SLOT_TONGUE)
old_brain.Remove(TRUE,TRUE)
QDEL_NULL(old_brain)
@@ -190,4 +193,8 @@
old_eyes.Remove(TRUE,TRUE)
QDEL_NULL(old_eyes)
new_eyes.Insert(H, TRUE, TRUE)
old_tongue.Remove(TRUE,TRUE)
QDEL_NULL(old_tongue)
new_tongue.Insert(H, TRUE, TRUE)
. = ..()
@@ -103,6 +103,7 @@
is_cold()
if(organ_flags & ORGAN_FROZEN)
return
message_admins("fuck you we're killing [owner]")
applyOrganDamage(maxHealth * decay_factor * (seconds * 0.5))
/obj/item/organ/proc/can_decay()
@@ -155,6 +156,7 @@
if(organ_flags & ORGAN_FAILING || !owner)
return FALSE
if(organ_flags & ORGAN_SYNTHETIC_EMP) //Synthetic organ has been emped, is now failing.
message_admins("emp go brrr")
applyOrganDamage(maxHealth * decay_factor)
return FALSE
if(organ_flags & ORGAN_SYNTHETIC)
@@ -165,6 +167,7 @@
///Damage decrements again by a percent of its maxhealth, up to a total of 4 extra times depending on the owner's satiety
healing_amount -= owner.satiety > 0 ? 4 * (maxHealth * healing_factor) * (owner.satiety / MAX_SATIETY) : 0
if(healing_amount)
message_admins("we um are healing")
applyOrganDamage(healing_amount) //to FERMI_TWEAK
return TRUE