From 41d6fd9630f6f66b4b70a3e3578a85094ae0688b Mon Sep 17 00:00:00 2001 From: dearmochi Date: Mon, 23 Nov 2020 13:23:03 +0100 Subject: [PATCH] Fix marker beacon duplication exploit (#14973) --- code/modules/mining/equipment/marker_beacons.dm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index 3df1699c7c1..ff6fc61f607 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -107,15 +107,18 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list( . = ..() if(.) return + if(user.incapacitated()) + to_chat(user, "You can't do that right now!") + return to_chat(user, "You start picking [src] up...") if(do_after(user, remove_speed, target = src)) var/obj/item/stack/marker_beacon/M = new(loc) M.picked_color = picked_color M.update_icon() transfer_fingerprints_to(M) - if(user.put_in_hands(M, TRUE)) //delete the beacon if it fails - playsound(src, 'sound/items/deconstruct.ogg', 50, 1) - qdel(src) //otherwise delete us + user.put_in_hands(M) + playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) + qdel(src) /obj/structure/marker_beacon/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/stack/marker_beacon))