diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index a7d62d74b94..b6fba3cc5ad 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -181,6 +181,7 @@ update_flag if(src.destroyed) src.overlays = 0 src.icon_state = text("[]-1", src.canister_color["prim"])//yes, I KNOW the colours don't reflect when the can's borked, whatever. + return if(icon_state != src.canister_color["prim"]) icon_state = src.canister_color["prim"] @@ -420,9 +421,9 @@ update_flag data["hasHoldingTank"] = holding ? 1 : 0 if(holding) - data["holdingTank"] = list("name" = holding.name, "tankPressure" = round(holding.air_contents.return_pressure())) - - return data + data["holdingTank"] = list("name" = holding.name, "tankPressure" = round(holding.air_contents.return_pressure())) + + return data /obj/machinery/portable_atmospherics/canister/Topic(href, href_list) if(..()) diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm index 27a671590db..6fbd805f6b0 100644 --- a/code/modules/paperwork/faxmachine.dm +++ b/code/modules/paperwork/faxmachine.dm @@ -109,16 +109,18 @@ var/list/alldepartments = list() if(href_list["paper"]) if(copyitem) - copyitem.loc = usr.loc - usr.put_in_hands(copyitem) - to_chat(usr, "You take \the [copyitem] out of \the [src].") + copyitem.forceMove(get_turf(src)) + if(ishuman(usr)) + if(!usr.get_active_hand()) + usr.put_in_hands(copyitem) + to_chat(usr, "You eject \the [copyitem] from \the [src].") copyitem = null else var/obj/item/I = usr.get_active_hand() if(istype(I, /obj/item/weapon/paper) || istype(I, /obj/item/weapon/photo) || istype(I, /obj/item/weapon/paper_bundle)) usr.drop_item() copyitem = I - I.loc = src + I.forceMove(src) to_chat(usr, "You insert \the [I] into \the [src].") flick(insert_anim, src) @@ -163,24 +165,24 @@ var/list/alldepartments = list() /obj/machinery/photocopier/faxmachine/proc/scan(var/obj/item/weapon/card/id/card = null) if(scan) // Card is in machine if(ishuman(usr)) - scan.loc = usr.loc + scan.forceMove(get_turf(usr)) if(!usr.get_active_hand()) usr.put_in_hands(scan) scan = null else - scan.loc = src.loc + scan.forceMove(get_turf(src)) scan = null else if(!card) var/obj/item/I = usr.get_active_hand() if(istype(I, /obj/item/weapon/card/id)) usr.drop_item() - I.loc = src + I.forceMove(src) scan = I else if(istype(card)) usr.drop_item() - card.loc = src + card.forceMove(src) scan = card nanomanager.update_uis(src) diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 104de41520e..d333ed1cf47 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -79,8 +79,10 @@ updateUsrDialog() else if(href_list["remove"]) if(copyitem) - copyitem.loc = usr.loc - usr.put_in_hands(copyitem) + copyitem.forceMove(get_turf(src)) + if(ishuman(usr)) + if(!usr.get_active_hand()) + usr.put_in_hands(copyitem) to_chat(usr, "You take \the [copyitem] out of \the [src].") copyitem = null updateUsrDialog() @@ -125,7 +127,7 @@ if(!copyitem) user.drop_item() copyitem = O - O.loc = src + O.forceMove(src) to_chat(user, "You insert \the [O] into \the [src].") flick(insert_anim, src) updateUsrDialog() @@ -150,10 +152,10 @@ if(ismob(G.affecting) && G.affecting != ass) var/mob/GM = G.affecting visible_message("[usr] drags [GM.name] onto the photocopier!") - GM.loc = get_turf(src) + GM.forceMove(get_turf(src)) ass = GM if(copyitem) - copyitem.loc = src.loc + copyitem.forceMove(get_turf(src)) copyitem = null updateUsrDialog() return @@ -290,10 +292,10 @@ W = copy(W) else if(istype(W, /obj/item/weapon/photo)) W = photocopy(W) - W.loc = p + W.forceMove(p) p.amount++ p.amount-- - p.loc = src.loc + p.forceMove(get_turf(src)) p.update_icon() p.icon_state = "paper_words" p.name = bundle.name @@ -313,10 +315,10 @@ if(target.anchored) return if(!ishuman(user)) return visible_message("[usr] drags [target.name] onto the photocopier!") - target.loc = get_turf(src) + target.forceMove(get_turf(src)) ass = target if(copyitem) - copyitem.loc = src.loc + copyitem.forceMove(get_turf(src)) visible_message("[copyitem] is shoved out of the way by [ass]!") copyitem = null updateUsrDialog()