From 6491bcd5f15d0fbcaab1987c6c6ce0c0e7ddef45 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 1 Jul 2016 20:32:32 -0400 Subject: [PATCH] Fixed hand labelers being unable to label storage items. Fixed being unable to resist out of wrapped lockers. Fixed being unable to resist out of lockers inside morgues. Fixed mechs being able to spam doors they do not have access to. --- code/game/machinery/doors/airlock.dm | 3 --- code/game/machinery/doors/door.dm | 4 ++++ code/game/objects/items/weapons/storage/storage.dm | 4 ++++ code/game/objects/structures/morgue.dm | 4 ++++ code/modules/recycling/sortingmachinery.dm | 2 +- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 1afec0c473d..2fbe23b0e92 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -152,9 +152,6 @@ var/list/airlock_overlays = list() return ..() -/obj/machinery/door/airlock/bumpopen(mob/living/simple_animal/user) - ..() - /obj/machinery/door/airlock/proc/isElectrified() if(src.secondsElectrified != 0) return 1 diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 681c114b90c..e3705a2df0d 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -61,6 +61,10 @@ if(istype(AM, /obj/mecha)) var/obj/mecha/mecha = AM if(density) + if(mecha.occupant) + if(world.time - mecha.occupant.last_bumped <= 10) + return + mecha.occupant.last_bumped = world.time if(mecha.occupant && (src.allowed(mecha.occupant) || src.check_access_list(mecha.operation_req_access) || emergency == 1)) open() else diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 7947a228a35..d9cd0e32560 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -368,6 +368,10 @@ //This proc is called when you want to place an item into the storage item. /obj/item/weapon/storage/attackby(obj/item/W, mob/user, params) ..() + if(istype(W, /obj/item/weapon/hand_labeler)) + var/obj/item/weapon/hand_labeler/labeler = W + if(labeler.mode) + return 0 . = 1 //no afterattack if(isrobot(user)) return //Robots can't interact with storage items. diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index e142ca61091..8c70edb0579 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -80,6 +80,10 @@ /obj/structure/bodycontainer/container_resist() open() +/obj/structure/bodycontainer/relay_container_resist(mob/living/user, obj/O) + user << "You slam yourself into the side of [O]." + container_resist() + /obj/structure/bodycontainer/proc/open() playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) var/turf/T = get_step(src, opendir) diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 58155f71804..6bdd139484c 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -54,7 +54,7 @@ return user << "You lean on the back of [O] and start pushing to rip the wrapping around it." if(do_after(user, 50, target = O)) - if(!user || user.stat != CONSCIOUS || user.loc != src || O.loc != src ) + if(!user || user.stat != CONSCIOUS || user.loc != O || O.loc != src ) return user << "You successfully removed [O]'s wrapping !" O.loc = loc