From f39d514a07dc68fdf6f74c42bdb7a3784c187aac Mon Sep 17 00:00:00 2001 From: GDN <96800819+GDNgit@users.noreply.github.com> Date: Fri, 24 Nov 2023 09:55:10 -0600 Subject: [PATCH] fixes xeno headslugging not working (#23317) * fixes xeno headslugging not working * tweak Honestly I think the logic behind this is super fucking questionable, so have fun changing this back in like five years me * Update code/modules/mob/living/simple_animal/hostile/headslug.dm Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> * Update code/modules/mob/living/simple_animal/hostile/headslug.dm --------- Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> --- .../mob/living/simple_animal/hostile/headslug.dm | 4 ++++ code/modules/surgery/organs/organ.dm | 11 ++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/headslug.dm b/code/modules/mob/living/simple_animal/hostile/headslug.dm index 49b3bb92f87..1fd512d6d57 100644 --- a/code/modules/mob/living/simple_animal/hostile/headslug.dm +++ b/code/modules/mob/living/simple_animal/hostile/headslug.dm @@ -108,6 +108,10 @@ M.key = origin.key M.revive() // better make sure some weird shit doesn't happen, because it has in the pas M.forceMove(get_turf(owner)) // So that they are not stuck inside + if(!ishuman(owner)) + owner.gib() + return + owner.apply_damage(300, BRUTE, BODY_ZONE_CHEST) owner.bleed(BLOOD_VOLUME_NORMAL) var/obj/item/organ/external/chest = owner.get_organ(BODY_ZONE_CHEST) diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm index a496b34cd11..2b000ee9604 100644 --- a/code/modules/surgery/organs/organ.dm +++ b/code/modules/surgery/organs/organ.dm @@ -56,17 +56,14 @@ ..(holder) if(!max_damage) max_damage = min_broken_damage * 2 - if(istype(holder)) + if(ishuman(holder)) if(holder.dna) dna = holder.dna.Clone() + if(!blood_DNA) + blood_DNA = list() + blood_DNA[dna.unique_enzymes] = dna.blood_type else stack_trace("[holder] spawned without a proper DNA.") - var/mob/living/carbon/human/H = holder - if(istype(H)) - if(dna) - if(!blood_DNA) - blood_DNA = list() - blood_DNA[dna.unique_enzymes] = dna.blood_type else dna = new /datum/dna(null) if(species_override)