diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index ca86c4ba839..bca87a8bad8 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -381,7 +381,7 @@ Class Procs: for(var/obj/item/I in component_parts) if(I.reliability != 100 && crit_fail) I.crit_fail = 1 - I.loc = src.loc + I.forceMove(loc) qdel(src) /obj/machinery/proc/default_deconstruction_screwdriver(var/mob/user, var/icon_state_open, var/icon_state_closed, var/obj/item/weapon/screwdriver/S) diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index 67eb53c2e0d..daf02b7e2a2 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -101,22 +101,23 @@ inserted_id = I interact(user) return + if(exchange_parts(user, W)) return - if(default_deconstruction_crowbar(W)) - return - - if(default_unfasten_wrench(user, W)) - return - if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", W)) - updateUsrDialog() - return if(panel_open) if(istype(W, /obj/item/weapon/crowbar)) empty_content() default_deconstruction_crowbar(W) - return 1 + return + + if(default_unfasten_wrench(user, W)) + return + + if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", W)) + updateUsrDialog() + return + ..() /obj/machinery/mineral/ore_redemption/proc/SmeltMineral(var/obj/item/weapon/ore/O) @@ -253,7 +254,7 @@ while(s.amount > s.max_amount) new s.type(loc,s.max_amount) s.use(s.max_amount) - s.loc = loc + s.forceMove(loc) s.layer = initial(s.layer) /**********************Mining Equipment Locker**************************/