diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm
index 77bb50e8c4..cab6c98536 100644
--- a/code/game/machinery/computer/_computer.dm
+++ b/code/game/machinery/computer/_computer.dm
@@ -111,15 +111,16 @@
if(!(flags_1 & NODECONSTRUCT_1))
if(circuit) //no circuit, no computer frame
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer(src.loc)
+ A.dir = dir
A.circuit = circuit
A.anchored = TRUE
if(stat & BROKEN)
if(user)
to_chat(user, "The broken glass falls out.")
else
- playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
- new /obj/item/shard(src.loc)
- new /obj/item/shard(src.loc)
+ playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
+ new /obj/item/shard(drop_location())
+ new /obj/item/shard(drop_location())
A.state = 3
A.icon_state = "3"
else
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index 58d29d0698..4e65cc6951 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -8,7 +8,7 @@
switch(state)
if(0)
if(istype(P, /obj/item/wrench))
- playsound(src.loc, P.usesound, 50, 1)
+ playsound(src, P.usesound, 50, 1)
to_chat(user, "You start wrenching the frame into place...")
if(do_after(user, 20*P.toolspeed, target = src))
to_chat(user, "You wrench the frame into place.")
@@ -21,19 +21,19 @@
if(!WT.isOn())
to_chat(user, "[WT] must be on to complete this task!")
return
- playsound(src.loc, P.usesound, 50, 1)
+ playsound(src, P.usesound, 50, 1)
to_chat(user, "You start deconstructing the frame...")
if(do_after(user, 20*P.toolspeed, target = src))
if(!src || !WT.isOn())
return
to_chat(user, "You deconstruct the frame.")
- var/obj/item/stack/sheet/metal/M = new (loc, 5)
+ var/obj/item/stack/sheet/metal/M = new (drop_location(), 5)
M.add_fingerprint(user)
qdel(src)
return
if(1)
if(istype(P, /obj/item/wrench))
- playsound(src.loc, P.usesound, 50, 1)
+ playsound(src, P.usesound, 50, 1)
to_chat(user, "You start to unfasten the frame...")
if(do_after(user, 20*P.toolspeed, target = src))
to_chat(user, "You unfasten the frame.")
@@ -43,7 +43,7 @@
if(istype(P, /obj/item/circuitboard/computer) && !circuit)
if(!user.transferItemToLoc(P, null))
return
- playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
+ playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
to_chat(user, "You place [P] inside the frame.")
icon_state = "1"
circuit = P
@@ -54,13 +54,13 @@
to_chat(user, "This frame does not accept circuit boards of this type!")
return
if(istype(P, /obj/item/screwdriver) && circuit)
- playsound(src.loc, P.usesound, 50, 1)
+ playsound(src, P.usesound, 50, 1)
to_chat(user, "You screw [circuit] into place.")
state = 2
icon_state = "2"
return
if(istype(P, /obj/item/crowbar) && circuit)
- playsound(src.loc, P.usesound, 50, 1)
+ playsound(src, P.usesound, 50, 1)
to_chat(user, "You remove [circuit].")
state = 1
icon_state = "0"
@@ -70,7 +70,7 @@
return
if(2)
if(istype(P, /obj/item/screwdriver) && circuit)
- playsound(src.loc, P.usesound, 50, 1)
+ playsound(src, P.usesound, 50, 1)
to_chat(user, "You unfasten the circuit board.")
state = 1
icon_state = "1"
@@ -78,7 +78,7 @@
if(istype(P, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = P
if(C.get_amount() >= 5)
- playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
+ playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
to_chat(user, "You start adding cables to the frame...")
if(do_after(user, 20*P.toolspeed, target = src))
if(C.get_amount() >= 5 && state == 2)
@@ -91,11 +91,11 @@
return
if(3)
if(istype(P, /obj/item/wirecutters))
- playsound(src.loc, P.usesound, 50, 1)
+ playsound(src, P.usesound, 50, 1)
to_chat(user, "You remove the cables.")
state = 2
icon_state = "2"
- var/obj/item/stack/cable_coil/A = new (loc)
+ var/obj/item/stack/cable_coil/A = new (drop_location())
A.amount = 5
A.add_fingerprint(user)
return
@@ -106,7 +106,7 @@
to_chat(user, "You need two glass sheets to continue construction!")
return
else
- playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
+ playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
to_chat(user, "You start to put in the glass panel...")
if(do_after(user, 20, target = src))
if(G.get_amount() >= 2 && state == 3)
@@ -117,17 +117,17 @@
return
if(4)
if(istype(P, /obj/item/crowbar))
- playsound(src.loc, P.usesound, 50, 1)
+ playsound(src, P.usesound, 50, 1)
to_chat(user, "You remove the glass panel.")
state = 3
icon_state = "3"
- var/obj/item/stack/sheet/glass/G = new (loc, 2)
+ var/obj/item/stack/sheet/glass/G = new (drop_location(), 2)
G.add_fingerprint(user)
return
if(istype(P, /obj/item/screwdriver))
- playsound(src.loc, P.usesound, 50, 1)
+ playsound(src, P.usesound, 50, 1)
to_chat(user, "You connect the monitor.")
- var/obj/B = new src.circuit.build_path (src.loc, circuit)
+ var/obj/B = new src.circuit.build_path (src, circuit)
transfer_fingerprints_to(B)
qdel(src)
return
@@ -138,8 +138,24 @@
/obj/structure/frame/computer/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
if(state == 4)
- new /obj/item/shard(loc)
- new /obj/item/shard(loc)
+ new /obj/item/shard(drop_location())
+ new /obj/item/shard(drop_location())
if(state >= 3)
+<<<<<<< HEAD
new /obj/item/stack/cable_coil(loc , 5)
- ..()
\ No newline at end of file
+ ..()
+=======
+ new /obj/item/stack/cable_coil(drop_location(), 5)
+ ..()
+
+/obj/structure/frame/computer/AltClick(mob/user)
+ ..()
+ if(!in_range(src, user) || !isliving(user) || user.incapacitated())
+ return
+
+ if(anchored)
+ to_chat(usr, "You must unwrench [src] before rotating it!")
+ return
+
+ setDir(turn(dir, -90))
+>>>>>>> d89eb78... Allows rotating computer frames, fixes rotation on deconstruction, switches dropped materials to use drop_location() (#32877)