diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm
index f616f2c848..55d60006cf 100644
--- a/code/modules/antagonists/slaughter/slaughter.dm
+++ b/code/modules/antagonists/slaughter/slaughter.dm
@@ -129,13 +129,12 @@
/mob/living/simple_animal/slaughter/proc/release_victims()
if(!consumed_mobs)
return
-
+ var/turf/T = get_turf(src)
+ if(!T)
+ T = find_safe_turf()
for(var/mob/living/M in consumed_mobs)
if(!M)
continue
- var/turf/T = find_safe_turf()
- if(!T)
- T = get_turf(src)
M.forceMove(T)
/mob/living/simple_animal/slaughter/proc/refresh_consumed_buff()
@@ -263,12 +262,12 @@
if(!consumed_mobs)
return
+ var/turf/T = get_turf(src)
+ if(!T)
+ T = find_safe_turf()
for(var/mob/living/M in consumed_mobs)
if(!M)
- continue
- var/turf/T = find_safe_turf()
- if(!T)
- T = get_turf(src)
+ continue
M.forceMove(T)
if(M.revive(full_heal = TRUE, admin_revive = TRUE))
M.grab_ghost(force = TRUE)
diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm
index 5722cfda07..39e9e84ed2 100644
--- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm
+++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm
@@ -109,7 +109,7 @@
continue
playsound(src, 'sound/effects/splat.ogg', 50, TRUE)
visible_message("[src] vomits up [consumed_mob]!")
- consumed_mob.forceMove(loc)
+ consumed_mob.forceMove(get_turf(src))
consumed_mob.Paralyze(50)
if((rifts_charged == 3 || (SSshuttle.emergency.mode == SHUTTLE_DOCKED && rifts_charged > 0)) && !objective_complete)
victory()
@@ -123,6 +123,7 @@
to_chat(src, "You've failed to summon the rift in a timely manner! You're being pulled back from whence you came!")
destroy_rifts()
playsound(src, 'sound/magic/demon_dies.ogg', 100, TRUE)
+ empty_contents()
QDEL_NULL(src)
/mob/living/simple_animal/hostile/space_dragon/AttackingTarget()
@@ -351,7 +352,7 @@
*/
/mob/living/simple_animal/hostile/space_dragon/proc/empty_contents()
for(var/atom/movable/AM in src)
- AM.forceMove(loc)
+ AM.forceMove(get_turf(src))
if(prob(90))
step(AM, pick(GLOB.alldirs))
@@ -529,7 +530,7 @@
/obj/structure/carp_rift
name = "carp rift"
desc = "A rift akin to the ones space carp use to travel long distances."
- armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 100)
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 100, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
max_integrity = 300
icon = 'icons/obj/carp_rift.dmi'
icon_state = "carp_rift_carpspawn"
@@ -636,7 +637,7 @@
icon_state = "carp_rift_charged"
light_color = LIGHT_COLOR_YELLOW
update_light()
- armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100)
+ armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
resistance_flags = INDESTRUCTIBLE
dragon.rifts_charged += 1
if(dragon.rifts_charged != 3 && !dragon.objective_complete)