From 1b8dc12a7c167fa9c2a0c25f173d997944a8eb26 Mon Sep 17 00:00:00 2001 From: Aryn Date: Wed, 19 Mar 2014 01:02:27 -0600 Subject: [PATCH] I think I fixed everything it is possible to stuff a light source into. --- baystation12.dme | 1 + code/__HELPERS/loc.dm | 7 +++ code/game/atoms_movable.dm | 2 +- code/game/dna/dna_modifier.dm | 26 ++++----- code/game/machinery/Sleeper.dm | 16 +++--- code/game/machinery/adv_med.dm | 18 +++--- code/game/machinery/cryo.dm | 8 +-- code/game/machinery/cryopod.dm | 16 +++--- code/game/machinery/rechargestation.dm | 4 +- code/game/machinery/suit_storage_unit.dm | 12 ++-- code/game/mecha/mecha.dm | 2 +- .../items/weapons/implants/implantchair.dm | 4 +- .../objects/items/weapons/storage/storage.dm | 8 +-- .../structures/crates_lockers/closets.dm | 28 +++++----- .../structures/crates_lockers/crates.dm | 16 +++--- .../structures/crates_lockers/largecrate.dm | 2 +- code/game/objects/structures/morgue.dm | 32 +++++------ code/game/objects/structures/safe.dm | 4 +- code/game/objects/structures/transit_tubes.dm | 14 ++--- code/game/objects/structures/watercloset.dm | 4 +- code/modules/detectivework/detective_work.dm | 12 ++-- code/modules/reagents/Chemistry-Machinery.dm | 20 +++---- code/modules/recycling/disposal.dm | 56 +++++++++---------- .../machinery/geosample_scanner.dm | 12 ++-- 24 files changed, 166 insertions(+), 158 deletions(-) create mode 100644 code/__HELPERS/loc.dm diff --git a/baystation12.dme b/baystation12.dme index 85c0b6fed13..5be875477e1 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -21,6 +21,7 @@ #include "code\__HELPERS\global_lists.dm" #include "code\__HELPERS\icons.dm" #include "code\__HELPERS\lists.dm" +#include "code\__HELPERS\loc.dm" #include "code\__HELPERS\logging.dm" #include "code\__HELPERS\maths.dm" #include "code\__HELPERS\mobs.dm" diff --git a/code/__HELPERS/loc.dm b/code/__HELPERS/loc.dm new file mode 100644 index 00000000000..91be708854d --- /dev/null +++ b/code/__HELPERS/loc.dm @@ -0,0 +1,7 @@ +atom/movable/proc/setloc(newloc) + if(light) + var/oldloc = loc + loc = newloc + if(isturf(newloc) != isturf(oldloc)) light.Reset() + else + loc = newloc diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 1326e65e5eb..2fe49744f17 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -39,7 +39,7 @@ if(destination) if(loc) loc.Exited(src) - loc = destination + setloc(destination) loc.Entered(src) return 1 return 0 diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index eadbfb06e14..6aea809d4ad 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -87,10 +87,10 @@ src.go_out() for(var/obj/O in src) if((!istype(O,/obj/item/weapon/reagent_containers)) && (!istype(O,/obj/item/weapon/circuitboard/clonescanner)) && (!istype(O,/obj/item/weapon/stock_parts)) && (!istype(O,/obj/item/weapon/cable_coil))) - O.loc = get_turf(src)//Ejects items that manage to get in there (exluding the components) + O.setloc(get_turf(src))//Ejects items that manage to get in there (exluding the components) if(!occupant) for(var/mob/M in src)//Failsafe so you can get mobs out - M.loc = get_turf(src) + M.setloc(get_turf(src)) /obj/machinery/dna_scannernew/verb/move_inside() set src in oview(1) @@ -111,7 +111,7 @@ usr.stop_pulling() usr.client.perspective = EYE_PERSPECTIVE usr.client.eye = src - usr.loc = src + usr.setloc(src) src.occupant = usr src.icon_state = "scanner_1" src.add_fingerprint(usr) @@ -125,7 +125,7 @@ beaker = item user.drop_item() - item.loc = src + item.setloc(src) user.visible_message("[user] adds \a [item] to \the [src]!", "You add \a [item] to \the [src]!") return else if (!istype(item, /obj/item/weapon/grab)) @@ -148,7 +148,7 @@ if(M.client) M.client.perspective = EYE_PERSPECTIVE M.client.eye = src - M.loc = src + M.setloc(src) src.occupant = M src.icon_state = "scanner_1" @@ -171,7 +171,7 @@ if (src.occupant.client) src.occupant.client.eye = src.occupant.client.mob src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc + src.occupant.setloc(src.loc) src.occupant = null src.icon_state = "scanner_0" return @@ -180,7 +180,7 @@ switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) //Foreach goto(35) //SN src = null @@ -189,7 +189,7 @@ if(2.0) if (prob(50)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) //Foreach goto(108) //SN src = null @@ -198,7 +198,7 @@ if(3.0) if (prob(25)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) //Foreach goto(181) //SN src = null @@ -211,7 +211,7 @@ /obj/machinery/dna_scannernew/blob_act() if(prob(75)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) del(src) /obj/machinery/computer/scan_consolenew @@ -454,15 +454,15 @@ if (connected.beaker.reagents && connected.beaker.reagents.reagent_list.len) for(var/datum/reagent/R in connected.beaker.reagents.reagent_list) data["beakerVolume"] += R.volume - + // update the ui if it exists, returns null if no ui is passed/found - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data) + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm ui = new(user, src, ui_key, "dna_modifier.tmpl", "DNA Modifier Console", 660, 700) // when the ui is first opened this is the data it will use - ui.set_initial_data(data) + ui.set_initial_data(data) // open the new ui window ui.open() // auto update every Master Controller tick diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 7eb8fa096e9..5df229c39c3 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -190,7 +190,7 @@ blob_act() if(prob(75)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) A.blob_act() del(src) return @@ -200,7 +200,7 @@ if(!beaker) beaker = G user.drop_item() - G.loc = src + G.setloc(src) user.visible_message("[user] adds \a [G] to \the [src]!", "You add \a [G] to \the [src]!") src.updateUsrDialog() return @@ -232,7 +232,7 @@ if(M.client) M.client.perspective = EYE_PERSPECTIVE M.client.eye = src - M.loc = src + M.setloc(src) src.occupant = M src.icon_state = "sleeper_1" if(orient == "RIGHT") @@ -252,21 +252,21 @@ switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) del(src) return if(2.0) if(prob(50)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) del(src) return if(3.0) if(prob(25)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) del(src) return @@ -312,7 +312,7 @@ if(src.occupant.client) src.occupant.client.eye = src.occupant.client.mob src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc + src.occupant.setloc(src.loc) src.occupant = null if(orient == "RIGHT") icon_state = "sleeper_0-r" @@ -408,7 +408,7 @@ usr.stop_pulling() usr.client.perspective = EYE_PERSPECTIVE usr.client.eye = src - usr.loc = src + usr.setloc(src) src.occupant = usr src.icon_state = "sleeper_1" if(orient == "RIGHT") diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index b7d6ad8ef76..1a69c36c6d5 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -46,7 +46,7 @@ usr.pulling = null usr.client.perspective = EYE_PERSPECTIVE usr.client.eye = src - usr.loc = src + usr.setloc(src) src.occupant = usr src.icon_state = "body_scanner_1" for(var/obj/O in src) @@ -60,12 +60,12 @@ if ((!( src.occupant ) || src.locked)) return for(var/obj/O in src) - O.loc = src.loc + O.setloc(src.loc) //Foreach goto(30) if (src.occupant.client) src.occupant.client.eye = src.occupant.client.mob src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc + src.occupant.setloc(src.loc) src.occupant = null src.icon_state = "body_scanner_0" return @@ -83,11 +83,11 @@ if (M.client) M.client.perspective = EYE_PERSPECTIVE M.client.eye = src - M.loc = src + M.setloc(src) src.occupant = M src.icon_state = "body_scanner_1" for(var/obj/O in src) - O.loc = src.loc + O.setloc(src.loc) //Foreach goto(154) src.add_fingerprint(user) //G = null @@ -98,7 +98,7 @@ switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) //Foreach goto(35) //SN src = null @@ -107,7 +107,7 @@ if(2.0) if (prob(50)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) //Foreach goto(108) //SN src = null @@ -116,7 +116,7 @@ if(3.0) if (prob(25)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) //Foreach goto(181) //SN src = null @@ -128,7 +128,7 @@ /obj/machinery/bodyscanner/blob_act() if(prob(50)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) del(src) /obj/machinery/body_scanconsole/ex_act(severity) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index b909404a1c9..d98ccc9da02 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -121,13 +121,13 @@ data["beakerVolume"] += R.volume // update the ui if it exists, returns null if no ui is passed/found - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data) + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm ui = new(user, src, ui_key, "cryo.tmpl", "Cryo Cell Control System", 520, 410) // when the ui is first opened this is the data it will use - ui.set_initial_data(data) + ui.set_initial_data(data) // open the new ui window ui.open() // auto update every Master Controller tick @@ -251,7 +251,7 @@ if (occupant.client) occupant.client.eye = occupant.client.mob occupant.client.perspective = MOB_PERSPECTIVE - occupant.loc = get_step(loc, SOUTH) //this doesn't account for walls or anything, but i don't forsee that being a problem. + occupant.setloc(get_step(loc, SOUTH)) //this doesn't account for walls or anything, but i don't forsee that being a problem. if (occupant.bodytemperature < 261 && occupant.bodytemperature >= 70) //Patch by Aranclanos to stop people from taking burn damage after being ejected occupant.bodytemperature = 261 // Changed to 70 from 140 by Zuhayr due to reoccurance of bug. // occupant.metabslow = 0 @@ -275,7 +275,7 @@ M.client.perspective = EYE_PERSPECTIVE M.client.eye = src M.stop_pulling() - M.loc = src + M.setloc(src) if(M.health > -100 && (M.health < 0 || M.sleeping)) M << "\blue You feel a cold liquid surround you. Your skin starts to freeze up." occupant = M diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 5246d97e321..5d537787b75 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -80,7 +80,7 @@ obj/machinery/computer/cryopod/Topic(href, href_list) visible_message("\blue The console beeps happily as it disgorges \the [I].", 3) - I.loc = get_turf(src) + I.setloc(get_turf(src)) frozen_items -= I else if(href_list["allitems"]) @@ -92,7 +92,7 @@ obj/machinery/computer/cryopod/Topic(href, href_list) visible_message("\blue The console beeps happily as it disgorges the desired objects.", 3) for(var/obj/item/I in frozen_items) - I.loc = get_turf(src) + I.setloc(get_turf(src)) frozen_items -= I else if(href_list["crew"]) @@ -186,11 +186,11 @@ obj/machinery/computer/cryopod/Topic(href, href_list) //Drop all items into the pod. for(var/obj/item/W in occupant) occupant.drop_from_inventory(W) - W.loc = src + W.setloc(src) if(W.contents.len) //Make sure we catch anything not handled by del() on the items. for(var/obj/item/O in W.contents) - O.loc = src + O.setloc(src) //Delete all items not on the preservation list. var/list/items = src.contents @@ -240,7 +240,7 @@ obj/machinery/computer/cryopod/Topic(href, href_list) current_mode.possible_traitors.Remove(occupant) // Delete them from datacore. - + if(PDA_Manifest.len) PDA_Manifest.Cut() for(var/datum/data/record/R in data_core.medical) @@ -305,7 +305,7 @@ obj/machinery/computer/cryopod/Topic(href, href_list) if(do_after(user, 20)) if(!M || !G || !G:affecting) return - M.loc = src + M.setloc(src) if(M.client) M.client.perspective = EYE_PERSPECTIVE @@ -375,7 +375,7 @@ obj/machinery/computer/cryopod/Topic(href, href_list) usr.stop_pulling() usr.client.perspective = EYE_PERSPECTIVE usr.client.eye = src - usr.loc = src + usr.setloc(src) src.occupant = usr if(orient_right) @@ -401,7 +401,7 @@ obj/machinery/computer/cryopod/Topic(href, href_list) occupant.client.eye = src.occupant.client.mob occupant.client.perspective = MOB_PERSPECTIVE - occupant.loc = get_turf(src) + occupant.setloc(get_turf(src)) occupant = null if(orient_right) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 8d5e888a976..210aae7062c 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -76,7 +76,7 @@ if (src.occupant.client) src.occupant.client.eye = src.occupant.client.mob src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc + src.occupant.setloc(src.loc) src.occupant = null build_icon() src.use_power = 1 @@ -113,7 +113,7 @@ if(usr && usr.client) usr.client.perspective = EYE_PERSPECTIVE usr.client.eye = src - usr.loc = src + usr.setloc(src) src.occupant = usr /*for(var/obj/O in src) O.loc = src.loc*/ diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 1d8fd6a36b7..3cca5c6960b 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -410,7 +410,7 @@ src.OCCUPANT.client.eye = src.OCCUPANT.client.mob src.OCCUPANT.client.perspective = MOB_PERSPECTIVE - src.OCCUPANT.loc = src.loc + src.OCCUPANT.setloc(src.loc) src.OCCUPANT = null if(!src.isopen) src.isopen = 1 @@ -453,7 +453,7 @@ usr.stop_pulling() usr.client.perspective = EYE_PERSPECTIVE usr.client.eye = src - usr.loc = src + usr.setloc(src) // usr.metabslow = 1 src.OCCUPANT = usr src.isopen = 0 //Close the thing after the guy gets inside @@ -499,7 +499,7 @@ if (M.client) M.client.perspective = EYE_PERSPECTIVE M.client.eye = src - M.loc = src + M.setloc(src) src.OCCUPANT = M src.isopen = 0 //close ittt @@ -520,7 +520,7 @@ return user << "You load the [S.name] into the storage compartment." user.drop_item() - S.loc = src + S.setloc(src) src.SUIT = S src.update_icon() src.updateUsrDialog() @@ -534,7 +534,7 @@ return user << "You load the [H.name] into the storage compartment." user.drop_item() - H.loc = src + H.setloc(src) src.HELMET = H src.update_icon() src.updateUsrDialog() @@ -548,7 +548,7 @@ return user << "You load the [M.name] into the storage compartment." user.drop_item() - M.loc = src + M.setloc(src) src.MASK = M src.update_icon() src.updateUsrDialog() diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 77807c2ca1c..ec209281a7f 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -529,7 +529,7 @@ var/obj/mecha/working/ripley/R = src if(R.cargo) for(var/obj/O in R.cargo) //Dump contents of stored cargo - O.loc = T + O.setloc(T) R.cargo -= O T.Entered(O) diff --git a/code/game/objects/items/weapons/implants/implantchair.dm b/code/game/objects/items/weapons/implants/implantchair.dm index 535a4264c0b..71e5c635986 100644 --- a/code/game/objects/items/weapons/implants/implantchair.dm +++ b/code/game/objects/items/weapons/implants/implantchair.dm @@ -97,7 +97,7 @@ if (src.occupant.client) src.occupant.client.eye = src.occupant.client.mob src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc + src.occupant.setloc(src.loc) if(injecting) implant(src.occupant) injecting = 0 @@ -117,7 +117,7 @@ M.client.perspective = EYE_PERSPECTIVE M.client.eye = src M.stop_pulling() - M.loc = src + M.setloc(src) src.occupant = M src.add_fingerprint(usr) icon_state = "implantchair_on" diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 9ad77255dc4..0d47b045d84 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -250,7 +250,7 @@ if(usr) usr.u_equip(W) usr.update_icons() //update our overlays - W.loc = src + W.setloc(src) W.on_enter_storage(src) if(usr) if (usr.client && usr.s_active != src) @@ -293,9 +293,9 @@ W.layer = 20 else W.layer = initial(W.layer) - W.loc = new_location + W.setloc(new_location) else - W.loc = get_turf(src) + W.setloc(get_turf(src)) if(usr) src.orient2hud(usr) @@ -325,7 +325,7 @@ user << "\red The tray won't fit in [src]." return 1 else - W.loc = user.loc + W.setloc(user.loc) if ((user.client && user.s_active != src)) user.client.screen -= W W.dropped(user) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 0e2a4e3b04e..f41b3354e8a 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -21,7 +21,7 @@ if(!opened) // if closed, any item at the crate's loc is put in the contents for(var/obj/item/I in src.loc) if(I.density || I.anchored || I == src) continue - I.loc = src + I.setloc(src) /obj/structure/closet/alter_health() return get_turf(src) @@ -44,13 +44,13 @@ /obj/structure/closet/proc/dump_contents() //Cham Projector Exception for(var/obj/effect/dummy/chameleon/AD in src) - AD.loc = src.loc + AD.setloc(src.loc) for(var/obj/I in src) - I.loc = src.loc + I.setloc(src.loc) for(var/mob/M in src) - M.loc = src.loc + M.setloc(src.loc) if(M.client) M.client.eye = M.client.mob M.client.perspective = MOB_PERSPECTIVE @@ -85,14 +85,14 @@ for(var/obj/effect/dummy/chameleon/AD in src.loc) if(itemcount >= storage_capacity) break - AD.loc = src + AD.setloc(src) itemcount++ for(var/obj/item/I in src.loc) if(itemcount >= storage_capacity) break if(!I.anchored) - I.loc = src + I.setloc(src) itemcount++ for(var/mob/M in src.loc) @@ -107,7 +107,7 @@ M.client.perspective = EYE_PERSPECTIVE M.client.eye = src - M.loc = src + M.setloc(src) itemcount++ src.icon_state = src.icon_closed @@ -130,19 +130,19 @@ switch(severity) if(1) for(var/atom/movable/A as mob|obj in src)//pulls everything out of the locker and hits it with an explosion - A.loc = src.loc + A.setloc(src.loc) A.ex_act(severity++) del(src) if(2) if(prob(50)) for (var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) A.ex_act(severity++) del(src) if(3) if(prob(5)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) A.ex_act(severity++) del(src) @@ -151,7 +151,7 @@ ..() if(health <= 0) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) del(src) return @@ -160,14 +160,14 @@ if(user.wall_smash) visible_message("\red [user] destroys the [src]. ") for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) del(src) // this should probably use dump_contents() /obj/structure/closet/blob_act() if(prob(75)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) del(src) /obj/structure/closet/meteorhit(obj/O as obj) @@ -197,7 +197,7 @@ return usr.drop_item() if(W) - W.loc = src.loc + W.setloc(src.loc) else if(istype(W, /obj/item/weapon/packageWrap)) return else if(istype(W, /obj/item/weapon/weldingtool)) diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 4c4df81ae0a..a2362c023a1 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -33,7 +33,7 @@ playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3) for(var/obj/O in src) - O.loc = get_turf(src) + O.setloc(get_turf(src)) icon_state = icon_opened src.opened = 1 return 1 @@ -55,7 +55,7 @@ var/obj/structure/stool/bed/B = O if(B.buckled_mob) continue - O.loc = src + O.setloc(src) itemcount++ icon_state = icon_closed @@ -68,7 +68,7 @@ return user.drop_item() if(W) - W.loc = src.loc + W.setloc(src.loc) else if(istype(W, /obj/item/weapon/packageWrap)) return else if(istype(W, /obj/item/weapon/cable_coil)) @@ -84,7 +84,7 @@ if(rigged) user << "You attach [W] to [src]." user.drop_item() - W.loc = src + W.setloc(src) return else if(istype(W, /obj/item/weapon/wirecutters)) if(rigged) @@ -424,12 +424,12 @@ continue if(!S.anchored) found = 1 - S.loc = src + S.setloc(src) break if(!found) for(var/obj/machinery/M in src.loc) if(!M.anchored) - M.loc = src + M.setloc(src) break return @@ -452,12 +452,12 @@ continue if(!S.anchored) found = 1 - S.loc = src + S.setloc(src) break if(!found) for(var/obj/machinery/M in src.loc) if(!M.anchored) - M.loc = src + M.setloc(src) break return diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index c13aafb5927..888b52739f2 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -15,7 +15,7 @@ new /obj/item/stack/sheet/wood(src) var/turf/T = get_turf(src) for(var/obj/O in contents) - O.loc = T + O.setloc(T) user.visible_message("[user] pries \the [src] open.", \ "You pry open \the [src].", \ "You hear splitting wood.") diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index eea03587634..aeefb9f151f 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -34,21 +34,21 @@ switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) del(src) return if(2.0) if (prob(50)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) del(src) return if(3.0) if (prob(5)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) del(src) return @@ -64,7 +64,7 @@ if (src.connected) for(var/atom/movable/A as mob|obj in src.connected.loc) if (!( A.anchored )) - A.loc = src + A.setloc(src) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) //src.connected = null del(src.connected) @@ -78,7 +78,7 @@ src.connected.connected = src src.icon_state = "morgue0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.setloc(src.connected.loc) src.connected.icon_state = "morguet" src.connected.dir = src.dir else @@ -114,7 +114,7 @@ src.connected.connected = src src.icon_state = "morgue0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.setloc(src.connected.loc) //Foreach goto(106) src.connected.icon_state = "morguet" else @@ -144,7 +144,7 @@ if (src.connected) for(var/atom/movable/A as mob|obj in src.loc) if (!( A.anchored )) - A.loc = src.connected + A.setloc(src.connected) //Foreach goto(26) src.connected.connected = null src.connected.update() @@ -161,7 +161,7 @@ return if (!ismob(user) || user.stat || user.lying || user.stunned) return - O.loc = src.loc + O.setloc(src.loc) if (user != O) for(var/mob/B in viewers(user, 3)) if ((B.client && !( B.blinded ))) @@ -199,21 +199,21 @@ switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) del(src) return if(2.0) if (prob(50)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) del(src) return if(3.0) if (prob(5)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.setloc(src.loc) ex_act(severity) del(src) return @@ -238,7 +238,7 @@ if ((src.connected) && (src.locked == 0)) for(var/atom/movable/A as mob|obj in src.connected.loc) if (!( A.anchored )) - A.loc = src + A.setloc(src) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) //src.connected = null del(src.connected) @@ -252,7 +252,7 @@ src.connected.connected = src src.icon_state = "crema0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.setloc(src.connected.loc) src.connected.icon_state = "cremat" else //src.connected = null @@ -286,7 +286,7 @@ src.connected.connected = src src.icon_state = "crema0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.setloc(src.connected.loc) //Foreach goto(106) src.connected.icon_state = "cremat" else @@ -360,7 +360,7 @@ if (src.connected) for(var/atom/movable/A as mob|obj in src.loc) if (!( A.anchored )) - A.loc = src.connected + A.setloc(src.connected) //Foreach goto(26) src.connected.connected = null src.connected.update() @@ -377,7 +377,7 @@ return if (!ismob(user) || user.stat || user.lying || user.stunned) return - O.loc = src.loc + O.setloc(src.loc) if (user != O) for(var/mob/B in viewers(user, 3)) if ((B.client && !( B.blinded ))) diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 00946b8678c..cdab10c884b 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -36,7 +36,7 @@ FLOOR SAFES return if(I.w_class + space <= maxspace) space += I.w_class - I.loc = src + I.setloc(src) /obj/structure/safe/proc/check_unlocked(mob/user as mob, canhear) @@ -147,7 +147,7 @@ FLOOR SAFES if(I.w_class + space <= maxspace) space += I.w_class user.drop_item() - I.loc = src + I.setloc(src) user << "You put [I] in [src]." updateUsrDialog() return diff --git a/code/game/objects/structures/transit_tubes.dm b/code/game/objects/structures/transit_tubes.dm index 8126296a154..f96bf87eee2 100644 --- a/code/game/objects/structures/transit_tubes.dm +++ b/code/game/objects/structures/transit_tubes.dm @@ -49,7 +49,7 @@ /obj/structure/transit_tube_pod/Del() for(var/atom/movable/AM in contents) - AM.loc = loc + AM.setloc(loc) ..() @@ -60,7 +60,7 @@ obj/structure/ex_act(severity) switch(severity) if(1.0) for(var/atom/movable/AM in contents) - AM.loc = loc + AM.setloc(loc) AM.ex_act(severity++) del(src) @@ -68,7 +68,7 @@ obj/structure/ex_act(severity) if(2.0) if(prob(50)) for(var/atom/movable/AM in contents) - AM.loc = loc + AM.setloc(loc) AM.ex_act(severity++) del(src) @@ -105,7 +105,7 @@ obj/structure/ex_act(severity) AM << "The tube's support pylons block your way." return ..() else - AM.loc = src.loc + AM.setloc(src.loc) AM << "You slip under the tube." @@ -118,7 +118,7 @@ obj/structure/ex_act(severity) if(!pod_moving && icon_state == "open" && istype(AM, /mob)) for(var/obj/structure/transit_tube_pod/pod in loc) if(!pod.moving && pod.dir in directions()) - AM.loc = pod + AM.setloc(pod) return @@ -412,7 +412,7 @@ obj/structure/ex_act(severity) if(istype(mob, /mob) && mob.client) // If the pod is not in a tube at all, you can get out at any time. if(!(locate(/obj/structure/transit_tube) in loc)) - mob.loc = loc + mob.setloc(loc) mob.client.Move(get_step(loc, direction), direction) //if(moving && istype(loc, /turf/space)) @@ -425,7 +425,7 @@ obj/structure/ex_act(severity) if(!station.pod_moving) if(direction == station.dir) if(station.icon_state == "open") - mob.loc = loc + mob.setloc(loc) mob.client.Move(get_step(loc, direction), direction) else diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 237ee6c92f1..933a9a62637 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -31,7 +31,7 @@ if(ishuman(user)) user.put_in_hands(I) else - I.loc = get_turf(src) + I.setloc(get_turf(src)) user << "You find \an [I] in the cistern." w_items -= I.w_class return @@ -84,7 +84,7 @@ user << "The cistern is full." return user.drop_item() - I.loc = src + I.setloc(src) w_items += I.w_class user << "You carefully place \the [I] into the cistern." return diff --git a/code/modules/detectivework/detective_work.dm b/code/modules/detectivework/detective_work.dm index 725351c777f..72c82c4ac71 100644 --- a/code/modules/detectivework/detective_work.dm +++ b/code/modules/detectivework/detective_work.dm @@ -142,7 +142,7 @@ obj/machinery/computer/forensic_scanning temp = null if("eject") if(scanning) - scanning.loc = loc + scanning.setloc(loc) scanning = null else temp = "Eject Failed: No Object" @@ -152,13 +152,13 @@ obj/machinery/computer/forensic_scanning if(I && istype(I)) if(istype(I, /obj/item/weapon/evidencebag)) scanning = I.contents[1] - scanning.loc = src + scanning.setloc(src) I.overlays -= scanning I.icon_state = "evidenceobj" else scanning = I M.drop_item() - I.loc = src + I.setloc(src) else usr << "Invalid Object Rejected." if("card") //Processing a fingerprint card. @@ -173,11 +173,11 @@ obj/machinery/computer/forensic_scanning if(card.amount > 1 || !card.fingerprints.len) usr << "\red ERROR: No prints/too many cards." if(card.loc == src) - card.loc = src.loc + card.setloc(src.loc) card = null return M.drop_item() - I.loc = src + I.setloc(src) process_card() else usr << "\red Invalid Object Rejected." @@ -607,7 +607,7 @@ obj/machinery/computer/forensic_scanning else usr << "\red ERROR: No prints/too many cards." if(card.loc == src) - card.loc = src.loc + card.setloc(src.loc) card = null return return diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index bf8e2338131..c971e4f8387 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -204,7 +204,7 @@ user << "This machine only accepts beakers" src.beaker = B user.drop_item() - B.loc = src + B.setloc(src) user << "You set [B] on the machine." nanomanager.update_uis(src) // update all UIs attached to src return @@ -331,7 +331,7 @@ return src.beaker = B user.drop_item() - B.loc = src + B.setloc(src) user << "You add the beaker to the machine!" src.updateUsrDialog() icon_state = "mixer1" @@ -344,7 +344,7 @@ src.loaded_pill_bottle = B user.drop_item() - B.loc = src + B.setloc(src) user << "You add the pill bottle into the dispenser slot!" src.updateUsrDialog() return @@ -360,7 +360,7 @@ if (href_list["ejectp"]) if(loaded_pill_bottle) - loaded_pill_bottle.loc = src.loc + loaded_pill_bottle.setloc(src.loc) loaded_pill_bottle = null else if(href_list["close"]) usr << browse(null, "window=chemmaster") @@ -462,7 +462,7 @@ reagents.trans_to(P,amount_per_pill) if(src.loaded_pill_bottle) if(loaded_pill_bottle.contents.len < loaded_pill_bottle.storage_slots) - P.loc = loaded_pill_bottle + P.setloc(loaded_pill_bottle) src.updateUsrDialog() else if (href_list["createbottle"]) @@ -958,7 +958,7 @@ else src.beaker = O user.drop_item() - O.loc = src + O.setloc(src) update_icon() src.updateUsrDialog() return 0 @@ -972,7 +972,7 @@ for (var/obj/item/weapon/reagent_containers/food/snacks/grown/G in O.contents) O.contents -= G - G.loc = src + G.setloc(src) holdingitems += G if(holdingitems && holdingitems.len >= limit) //Sanity checking so the blender doesn't overfill user << "You fill the All-In-One grinder to the brim." @@ -989,7 +989,7 @@ return 1 user.before_take_item(O) - O.loc = src + O.setloc(src) holdingitems += O src.updateUsrDialog() return 0 @@ -1072,7 +1072,7 @@ return if (!beaker) return - beaker.loc = src.loc + beaker.setloc(src.loc) beaker = null update_icon() @@ -1084,7 +1084,7 @@ return for(var/obj/item/O in holdingitems) - O.loc = src.loc + O.setloc(src.loc) holdingitems -= O holdingitems = list() diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 876860491d7..2cae4fd6b77 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -112,7 +112,7 @@ if (GM.client) GM.client.perspective = EYE_PERSPECTIVE GM.client.eye = src - GM.loc = src + GM.setloc(src) for (var/mob/C in viewers(src)) C.show_message("\red [GM.name] has been placed in the [src] by [user].", 3) del(G) @@ -125,7 +125,7 @@ user.drop_item() if(I) - I.loc = src + I.setloc(src) user << "You place \the [I] into the [src]." for(var/mob/M in viewers(src)) @@ -170,7 +170,7 @@ if (target.client) target.client.perspective = EYE_PERSPECTIVE target.client.eye = src - target.loc = src + target.setloc(src) for (var/mob/C in viewers(src)) if(C == user) @@ -197,7 +197,7 @@ if (user.client) user.client.eye = user.client.mob user.client.perspective = MOB_PERSPECTIVE - user.loc = src.loc + user.setloc(src.loc) update() return @@ -308,7 +308,7 @@ // eject the contents of the disposal unit proc/eject() for(var/atom/movable/AM in src) - AM.loc = src.loc + AM.setloc(src.loc) AM.pipe_eject(0) update() @@ -367,7 +367,7 @@ return use_power = 1 - + if(mode != 1) // if off or ready, no need to charge return @@ -447,7 +447,7 @@ for(var/atom/movable/AM in H) target = get_offset_target_turf(src.loc, rand(5)-rand(5), rand(5)-rand(5)) - AM.loc = src.loc + AM.setloc(src.loc) AM.pipe_eject(0) spawn(1) if(AM) @@ -462,7 +462,7 @@ if(istype(I, /obj/item/projectile)) return if(prob(75)) - I.loc = src + I.setloc(src) for(var/mob/M in viewers(src)) M.show_message("\the [I] lands in \the [src].", 3) else @@ -510,7 +510,7 @@ // now everything inside the disposal gets put into the holder // note AM since can contain mobs or objs for(var/atom/movable/AM in D) - AM.loc = src + AM.setloc(src) if(istype(AM, /mob/living/carbon/human)) var/mob/living/carbon/human/H = AM if(FAT in H.mutations) // is a human and fat? @@ -587,7 +587,7 @@ // used when a a holder meets a stuck holder proc/merge(var/obj/structure/disposalholder/other) for(var/atom/movable/AM in other) - AM.loc = src // move everything in other holder to this one + AM.setloc(src) // move everything in other holder to this one if(ismob(AM)) var/mob/M = AM if(M.client) // if a client mob, update eye to follow this holder @@ -649,7 +649,7 @@ // this is unlikely, but just dump out everything into the turf in case for(var/atom/movable/AM in H) - AM.loc = T + AM.setloc(T) AM.pipe_eject(0) del(H) ..() @@ -680,9 +680,9 @@ if(H2 && !H2.active) H.merge(H2) - H.loc = P + H.setloc(P) else // if wasn't a pipe, then set loc to turf - H.loc = T + H.setloc(T) return null return P @@ -721,7 +721,7 @@ if(T.density) // dense ouput turf, so stop holder H.active = 0 - H.loc = src + H.setloc(src) return if(T.intact && istype(T,/turf/simulated/floor)) //intact floor, pop the tile var/turf/simulated/floor/F = T @@ -741,7 +741,7 @@ playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0) if(H) for(var/atom/movable/AM in H) - AM.loc = T + AM.setloc(T) AM.pipe_eject(direction) spawn(1) if(AM) @@ -756,7 +756,7 @@ for(var/atom/movable/AM in H) target = get_offset_target_turf(T, rand(5)-rand(5), rand(5)-rand(5)) - AM.loc = T + AM.setloc(T) AM.pipe_eject(0) spawn(1) if(AM) @@ -789,7 +789,7 @@ // this is unlikely, but just dump out everything into the turf in case for(var/atom/movable/AM in H) - AM.loc = T + AM.setloc(T) AM.pipe_eject(0) del(H) return @@ -940,7 +940,7 @@ if(controller.up) T = locate(src.x, src.y, controller.up_target) if(!T) - H.loc = src.loc + H.setloc(src.loc) return else for(var/obj/structure/disposalpipe/down/F in T) @@ -956,9 +956,9 @@ if(H2 && !H2.active) H.merge(H2) - H.loc = P + H.setloc(P) else // if wasn't a pipe, then set loc to turf - H.loc = T + H.setloc(T) return null return P @@ -993,7 +993,7 @@ if(controller.down) T = locate(src.x, src.y, controller.down_target) if(!T) - H.loc = src.loc + H.setloc(src.loc) return else for(var/obj/structure/disposalpipe/up/F in T) @@ -1009,9 +1009,9 @@ if(H2 && !H2.active) H.merge(H2) - H.loc = P + H.setloc(P) else // if wasn't a pipe, then set loc to turf - H.loc = T + H.setloc(T) return null return P @@ -1139,9 +1139,9 @@ if(H2 && !H2.active) H.merge(H2) - H.loc = P + H.setloc(P) else // if wasn't a pipe, then set loc to turf - H.loc = T + H.setloc(T) return null return P @@ -1201,9 +1201,9 @@ if(H2 && !H2.active) H.merge(H2) - H.loc = P + H.setloc(P) else // if wasn't a pipe, then set loc to turf - H.loc = T + H.setloc(T) return null return P @@ -1370,7 +1370,7 @@ if(H) for(var/atom/movable/AM in H) - AM.loc = src.loc + AM.setloc(src.loc) AM.pipe_eject(dir) spawn(5) AM.throw_at(target, 3, 1) diff --git a/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm b/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm index eaf92181b23..10080549788 100644 --- a/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm +++ b/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm @@ -92,7 +92,7 @@ update_coolant() return user.drop_item() - I.loc = src + I.setloc(src) scanned_item = I /obj/machinery/radiocarbon_spectrometer/proc/update_coolant() @@ -144,15 +144,15 @@ data["radiation"] = round(radiation) data["t_left_radspike"] = round(t_left_radspike) data["rad_shield_on"] = rad_shield - + // update the ui if it exists, returns null if no ui is passed/found - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data) + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm ui = new(user, src, ui_key, "geoscanner.tmpl", "High Res Radiocarbon Spectrometer", 900, 825) // when the ui is first opened this is the data it will use - ui.set_initial_data(data) + ui.set_initial_data(data) // open the new ui window ui.open() // auto update every Master Controller tick @@ -319,7 +319,7 @@ last_scan_data = P.info P.loc = src.loc - scanned_item.loc = src.loc + scanned_item.setloc(src.loc) scanned_item = null /obj/machinery/radiocarbon_spectrometer/Topic(href, href_list) @@ -355,7 +355,7 @@ if(href_list["ejectItem"]) if(scanned_item) - scanned_item.loc = src.loc + scanned_item.setloc(src.loc) scanned_item = null add_fingerprint(usr)