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!", \