From 4331050876ea284fa4a849953d1166fbcdb7d929 Mon Sep 17 00:00:00 2001 From: Gandalf Date: Mon, 23 Nov 2020 20:56:24 +0000 Subject: [PATCH] Aliens no longer gib [NON-MODULAR] (#1714) * Update alien_embryo.dm * Update alien_embryo.dm * Some other minor bugfixes * Update alien_embryo.dm * Update alien_embryo.dm * Update code/modules/mob/living/carbon/alien/special/alien_embryo.dm Co-authored-by: Azarak * Update alien_embryo.dm * Update alien_embryo.dm * Update alien_embryo.dm Co-authored-by: Azarak --- .../carbon/alien/special/alien_embryo.dm | 22 +++++++++++++------ .../modules/mob/hostile/true_changeling.dm | 10 ++++----- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm index d48a980d2e1..de05430b753 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -60,7 +60,7 @@ -/obj/item/organ/body_egg/alien_embryo/proc/AttemptGrow(gib_on_success=TRUE) +/obj/item/organ/body_egg/alien_embryo/proc/AttemptGrow() if(!owner || bursting) return @@ -102,13 +102,21 @@ new_xeno.notransform = 0 new_xeno.invisibility = 0 - if(gib_on_success) - new_xeno.visible_message("[new_xeno] bursts out of [owner] in a shower of gore!", "You exit [owner], your previous host.", "You hear organic matter ripping and tearing!") - owner.gib(TRUE) + new_xeno.visible_message("[new_xeno] bursts out of [owner] in a shower of gore!", "You exit [owner], your previous host.", "You hear organic matter ripping and tearing!") + //owner.gib(TRUE) - ORIGINAL + //SKYRAT EDIT CHANGE - ALIEN QOL + if(owner.getBruteLoss() >= 150) + for(var/obj/item/bodypart/BP in owner.bodyparts) //We want to check if there is a chest to dismember. + if(BP.name == "chest") + BP.dismember() + break else - new_xeno.visible_message("[new_xeno] wriggles out of [owner]!", "You exit [owner], your previous host.") - owner.adjustBruteLoss(40) - owner.cut_overlay(overlay) + var/obj/item/bodypart/affecting = owner.get_bodypart("chest") + if(affecting) + affecting.receive_damage(40) + owner.spawn_gibs() + //SKYRAT EDIT END + owner.cut_overlay(overlay) qdel(src) diff --git a/modular_skyrat/modules/horrorform/code/modules/mob/hostile/true_changeling.dm b/modular_skyrat/modules/horrorform/code/modules/mob/hostile/true_changeling.dm index cc8545bd530..c26ec72ce7f 100644 --- a/modular_skyrat/modules/horrorform/code/modules/mob/hostile/true_changeling.dm +++ b/modular_skyrat/modules/horrorform/code/modules/mob/hostile/true_changeling.dm @@ -160,7 +160,7 @@ var/mob/living/simple_animal/hostile/true_changeling/T = owner if(T.devouring) T << "We are already feasting on a human!" - return 0 + return FALSE var/list/potential_targets = list() for(var/mob/living/carbon/human/H in range(1, usr)) if(H == T.stored_changeling || (H.mind && H.mind.has_antag_datum(/datum/antagonist/changeling))) //You can't eat changelings in human form @@ -168,24 +168,24 @@ potential_targets.Add(H) if(!potential_targets.len) T << "There are no humans nearby!" - return 0 + return FALSE var/mob/living/carbon/human/lunch if(potential_targets.len == 1) lunch = potential_targets[1] else lunch = input(T, "Choose a human to devour.", "Lunch") as null|anything in potential_targets if(!lunch && !ishuman(lunch)) - return 0 + return FALSE if(lunch.getBruteLoss() + lunch.getFireLoss() >= 200) //Overall physical damage, basically T.visible_message("[lunch] provides no further nutrients for [T]!", \ "[lunch] has no more useful flesh for us to consume!!") - return 0 + return FALSE T.devouring = TRUE T.visible_message("[T] begins ripping apart and feasting on [lunch]!", \ "We begin to feast upon [lunch]...") if(!do_mob(usr, 50, target = lunch)) T.devouring = FALSE - return 0 + return FALSE T.devouring = FALSE lunch.adjustBruteLoss(60) T.visible_message("[T] tears a chunk from [lunch]'s flesh!", \