From e099ed957840ce71573cb6e72093b04943e140a2 Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Wed, 12 Feb 2020 09:24:49 +0100
Subject: [PATCH 1/3] Further mob holder fixes.
---
code/datums/elements/mob_holder.dm | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm
index 5b471a0dc7..6f0ec98efc 100644
--- a/code/datums/elements/mob_holder.dm
+++ b/code/datums/elements/mob_holder.dm
@@ -40,7 +40,7 @@
to_chat(user, "Your hands are full!")
return FALSE
if(source.buckled)
- to_chat(user, "[src] is buckled to something!")
+ to_chat(user, "[source] is buckled to something!")
return FALSE
if(source == user)
to_chat(user, "You can't pick yourself up.")
@@ -52,7 +52,7 @@
source.visible_message("[user] picks up [source]!", \
"[user] picks you up!")
- to_chat(user, "You pick [src] up.")
+ to_chat(user, "You pick [source] up.")
source.drop_all_held_items()
var/obj/item/clothing/head/mob_holder/holder = new(get_turf(source), source, worn_state, alt_worn, right_hand, left_hand, inv_slots)
if(proctype)
@@ -101,6 +101,8 @@
target.forceMove(src)
var/image/I = new //work around to retain the same appearance to the mob idependently from inhands/worn states.
I.appearance = target.appearance
+ I.layer = FLOAT_LAYER //So it doesn't get screwed up by layer overrides.
+ I.plane = FLOAT_PLANE //Same as above but for planes.
I.override = TRUE
add_overlay(I)
name = target.name
@@ -158,7 +160,7 @@
/obj/item/clothing/head/mob_holder/container_resist()
if(isliving(loc))
var/mob/living/L = loc
- L.visible_message("[src] escapes from [L]!", "[src] escapes your grip!")
+ L.visible_message("[held_mob] escapes from [L]!", "[held_mob] escapes your grip!")
release()
/obj/item/clothing/head/mob_holder/assume_air(datum/gas_mixture/env)
From e5ab230b26bc92af51ee3da7c70c6ecfa837a90a Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Wed, 12 Feb 2020 09:32:38 +0100
Subject: [PATCH 2/3] Monky chokehold deluxe.
---
code/datums/elements/mob_holder.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm
index 6f0ec98efc..57fac65591 100644
--- a/code/datums/elements/mob_holder.dm
+++ b/code/datums/elements/mob_holder.dm
@@ -172,7 +172,7 @@
location = location.loc
if(ismob(location))
return location.loc.assume_air(env)
- return loc.assume_air(env)
+ return location.assume_air(env)
/obj/item/clothing/head/mob_holder/remove_air(amount)
var/atom/location = loc
@@ -183,4 +183,4 @@
location = location.loc
if(ismob(location))
return location.loc.remove_air(amount)
- return loc.remove_air(amount)
+ return location.remove_air(amount)
From 12b84aa3339519bfe256abfa8a18f8de3f47f129 Mon Sep 17 00:00:00 2001
From: Ghom <42542238+Ghommie@users.noreply.github.com>
Date: Wed, 12 Feb 2020 12:43:47 +0100
Subject: [PATCH 3/3] Update mob_holder.dm
---
code/datums/elements/mob_holder.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm
index 57fac65591..56fb60979d 100644
--- a/code/datums/elements/mob_holder.dm
+++ b/code/datums/elements/mob_holder.dm
@@ -130,7 +130,7 @@
if(AM == held_mob)
held_mob.reset_perspective()
held_mob = null
- qdel(src)
+ QDEL_IN(src, 1) //To avoid a qdel loop.
/obj/item/clothing/head/mob_holder/Entered(atom/movable/AM, atom/newloc)
. = ..()