From 675b5570b8c7fc13c8158d0e0a3d03872e9fdf41 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 31 Mar 2018 00:02:46 -0400 Subject: [PATCH 1/2] Merge pull request #36807 from vuonojenmustaturska/champrojectoragain Fixes some edge cases with chameleon projectors and sleepers --- code/game/machinery/Sleeper.dm | 7 ++++++- code/game/objects/items/devices/chameleonproj.dm | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 52702868f7..cefc471d08 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -58,8 +58,13 @@ "You climb out of [src]!") open_machine() +/obj/machinery/sleeper/Exited(atom/movable/user) + if (!state_open && user == occupant) + container_resist(user) + /obj/machinery/sleeper/relaymove(mob/user) - container_resist(user) + if (!state_open) + container_resist(user) /obj/machinery/sleeper/open_machine() if(!state_open && !panel_open) diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index a07d8d8d60..c7865ac576 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -28,7 +28,10 @@ disrupt() /obj/item/device/chameleon/attack_self(mob/user) - toggle(user) + if (isturf(user.loc) || istype(user.loc, /obj/structure) || active_dummy) + toggle(user) + else + to_chat(user, "You can't use [src] while inside something.") /obj/item/device/chameleon/afterattack(atom/target, mob/user , proximity) if(!proximity)