From 7826dd68f080fc791de5a4bd70621456256d1eec Mon Sep 17 00:00:00 2001 From: Dennok Date: Tue, 10 Mar 2020 03:56:42 +0200 Subject: [PATCH] Slime split fixes. (#49734) * Adult slimes death fix. Adult slimes on death drop split on turf. * Slime sptil fix. Slime appears on turf on split. * Slime split fix. Slime don't split while in closet, etc. * drip of flexibility Co-Authored-By: XDTM * drip of flexibility Co-Authored-By: XDTM * drip of flexibility Co-Authored-By: XDTM Co-authored-by: XDTM --- code/modules/mob/living/simple_animal/slime/death.dm | 2 +- code/modules/mob/living/simple_animal/slime/life.dm | 2 +- code/modules/mob/living/simple_animal/slime/powers.dm | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/simple_animal/slime/death.dm b/code/modules/mob/living/simple_animal/slime/death.dm index 0e2bfc3e45f..7be745b77f7 100644 --- a/code/modules/mob/living/simple_animal/slime/death.dm +++ b/code/modules/mob/living/simple_animal/slime/death.dm @@ -3,7 +3,7 @@ return if(!gibbed) if(is_adult) - var/mob/living/simple_animal/slime/M = new(loc, colour) + var/mob/living/simple_animal/slime/M = new(drop_location(), colour) M.rabid = TRUE M.regenerate_icons() diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index 68a098aad57..b1c00605db5 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -241,7 +241,7 @@ update_action_buttons_icon() if(amount_grown >= SLIME_EVOLUTION_THRESHOLD && !buckled && !Target && !ckey) - if(is_adult) + if(is_adult && loc.AllowDrop()) Reproduce() else Evolve() diff --git a/code/modules/mob/living/simple_animal/slime/powers.dm b/code/modules/mob/living/simple_animal/slime/powers.dm index 8ccf1fb6e4f..8bcaf63598f 100644 --- a/code/modules/mob/living/simple_animal/slime/powers.dm +++ b/code/modules/mob/living/simple_animal/slime/powers.dm @@ -174,6 +174,7 @@ var/new_nutrition = round(nutrition * 0.9) var/new_powerlevel = round(powerlevel / 4) var/datum/component/nanites/original_nanites = GetComponent(/datum/component/nanites) + var/turf/drop_loc = drop_location() for(var/i=1,i<=4,i++) var/child_colour @@ -184,7 +185,7 @@ else child_colour = colour var/mob/living/simple_animal/slime/M - M = new(loc, child_colour) + M = new(drop_loc, child_colour) if(ckey) M.set_nutrition(new_nutrition) //Player slimes are more robust at spliting. Once an oversight of poor copypasta, now a feature! M.powerlevel = new_powerlevel