GOODBYE SPECIES, HELLO COMPONENT

This commit is contained in:
Timothy Teakettle
2022-08-05 18:19:22 +01:00
parent b05f6e221d
commit b4330b2f3d
10 changed files with 36 additions and 39 deletions
+22
View File
@@ -161,3 +161,25 @@
H.reset_perspective(H)
else
H.reset_perspective(dullahan_head)
/datum/component/dullahan/Destroy()
UnregisterSignal(parent, COMSIG_LIVING_REGENERATE_LIMBS)
qdel(dullahan_head)
REMOVE_TRAIT(parent, TRAIT_DULLAHAN, "dullahan_component")
// work out what organs to give them based on their species
if(ishuman(parent))
var/mob/living/carbon/human/H = parent
var/obj/item/organ/eyes/new_eyes = new H.dna.species.mutant_eyes()
var/obj/item/organ/brain/new_brain = new H.dna.species.mutant_brain()
var/obj/item/organ/eyes/old_eyes = H.getorganslot(ORGAN_SLOT_EYES)
var/obj/item/organ/brain/old_brain = H.getorganslot(ORGAN_SLOT_BRAIN)
old_brain.Remove(TRUE,TRUE)
QDEL_NULL(old_brain)
new_brain.Insert(C, TRUE, TRUE)
old_eyes.Remove(TRUE,TRUE)
QDEL_NULL(old_eyes)
new_eyes.Insert(C, TRUE, TRUE)
. = ..()
+6 -9
View File
@@ -717,16 +717,13 @@
death()
petrify(INFINITY)
if(3)
if(prob(90))
var/obj/item/bodypart/BP = get_bodypart(pick(BODY_ZONE_CHEST,BODY_ZONE_HEAD))
if(BP)
BP.dismember()
else
unequip_everything()
drop_all_held_items()
gib()
var/obj/item/bodypart/BP = get_bodypart(pick(BODY_ZONE_CHEST,BODY_ZONE_HEAD))
if(BP)
BP.dismember()
else
set_species(/datum/species/dullahan)
unequip_everything()
drop_all_held_items()
gib()
/datum/dna/proc/update_body_size(old_size)
if(!holder || features["body_size"] == old_size)
+1 -1
View File
@@ -177,7 +177,7 @@
if(isinsect(victim) || iscatperson(victim) || ismammal(victim) || isdwarf(victim) || ismonkey(victim)) // Yep you can lick monkeys.
user.reagents.add_reagent(/datum/reagent/hairball, 2)
else if(ishumanbasic(victim) || isflyperson(victim) || islizard(victim) || isdullahan(victim))
else if(ishumanbasic(victim) || isflyperson(victim) || islizard(victim) || HAS_TRAIT(victim, TRAIT_DULLAHAN))
user.reagents.add_reagent(/datum/reagent/hairball, 1)
if(blood_flow > minimum_flow)