diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm b/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm
index f9c62590017..8521e4d1b4c 100644
--- a/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm
+++ b/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm
@@ -81,7 +81,7 @@ datum/design/rust_fuel_compressor
"/obj/item/weapon/stock_parts/micro_laser/ultra" = 1,
"/obj/item/weapon/stock_parts/subspace/crystal" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/cable_coil" = 5)
+ "/obj/item/stack/cable_coil" = 5)
datum/design/rust_core
name = "Internal circuitry (RUST tokamak core)"
@@ -107,7 +107,7 @@ datum/design/rust_core
"/obj/item/weapon/stock_parts/scanning_module/phasic" = 1,
"/obj/item/weapon/stock_parts/matter_bin/super" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/cable_coil" = 5)
+ "/obj/item/stack/cable_coil" = 5)
datum/design/rust_injector
name = "Internal circuitry (RUST tokamak core)"
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm
index b4f1c496c4a..0c194c24dbc 100644
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm
+++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm
@@ -67,8 +67,8 @@
icon_state = "port2"
return
- else if (istype(W, /obj/item/weapon/cable_coil) && opened && !(has_electronics & 2))
- var/obj/item/weapon/cable_coil/C = W
+ else if (istype(W, /obj/item/stack/cable_coil) && opened && !(has_electronics & 2))
+ var/obj/item/stack/cable_coil/C = W
if(C.amount < 10)
user << "\red You need more wires."
return
@@ -86,7 +86,7 @@
user << "You begin to cut the cables..."
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
if(do_after(user, 50))
- new /obj/item/weapon/cable_coil(loc,10)
+ new /obj/item/stack/cable_coil(loc,10)
user.visible_message(\
"\red [user.name] cut the cabling inside the port.",\
"You cut the cabling inside the port.")
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm
index d40ed193ede..c5e7a13091f 100644
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm
+++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm
@@ -94,8 +94,8 @@
user << "You fail to [ locked ? "unlock" : "lock"] the compressor interface."
return
- else if (istype(W, /obj/item/weapon/cable_coil) && opened && !(has_electronics & 2))
- var/obj/item/weapon/cable_coil/C = W
+ else if (istype(W, /obj/item/stack/cable_coil) && opened && !(has_electronics & 2))
+ var/obj/item/stack/cable_coil/C = W
if(C.amount < 10)
user << "\red You need more wires."
return
@@ -113,7 +113,7 @@
user << "You begin to cut the cables..."
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
if(do_after(user, 50))
- new /obj/item/weapon/cable_coil(loc,10)
+ new /obj/item/stack/cable_coil(loc,10)
user.visible_message(\
"\red [user.name] cut the cabling inside the compressor.",\
"You cut the cabling inside the port.")
diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/circuits_and_designs.dm b/code/WorkInProgress/Cael_Aislinn/ShieldGen/circuits_and_designs.dm
index b85be8f74a3..1ff3f01dea7 100644
--- a/code/WorkInProgress/Cael_Aislinn/ShieldGen/circuits_and_designs.dm
+++ b/code/WorkInProgress/Cael_Aislinn/ShieldGen/circuits_and_designs.dm
@@ -14,7 +14,7 @@
"/obj/item/weapon/stock_parts/subspace/crystal" = 1,
"/obj/item/weapon/stock_parts/subspace/amplifier" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/cable_coil" = 5)
+ "/obj/item/stack/cable_coil" = 5)
datum/design/shield_gen_ex
name = "Circuit Design (Experimental hull shield generator)"
@@ -40,7 +40,7 @@ datum/design/shield_gen_ex
"/obj/item/weapon/stock_parts/subspace/crystal" = 1,
"/obj/item/weapon/stock_parts/subspace/amplifier" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/cable_coil" = 5)
+ "/obj/item/stack/cable_coil" = 5)
datum/design/shield_gen
name = "Circuit Design (Experimental shield generator)"
@@ -66,7 +66,7 @@ datum/design/shield_gen
"/obj/item/weapon/stock_parts/subspace/treatment" = 1,
"/obj/item/weapon/stock_parts/subspace/analyzer" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/cable_coil" = 5)
+ "/obj/item/stack/cable_coil" = 5)
datum/design/shield_cap
name = "Circuit Design (Experimental shield capacitor)"
diff --git a/code/WorkInProgress/pomf/spacepods/construction.dm b/code/WorkInProgress/pomf/spacepods/construction.dm
index b391aa41130..b585d18c2be 100644
--- a/code/WorkInProgress/pomf/spacepods/construction.dm
+++ b/code/WorkInProgress/pomf/spacepods/construction.dm
@@ -41,7 +41,7 @@
list(
"desc" = "An empty pod frame.",
state_next = list(
- "key" = /obj/item/weapon/cable_coil,
+ "key" = /obj/item/stack/cable_coil,
"vis_msg" = "{USER} wires the {HOLDER}.",
"self_msg" = "You wire the {HOLDER}."
)
diff --git a/code/__HELPERS/_macros.dm b/code/__HELPERS/_macros.dm
index 9defb93dc36..8f9fc4e74bd 100644
--- a/code/__HELPERS/_macros.dm
+++ b/code/__HELPERS/_macros.dm
@@ -75,7 +75,7 @@
#define iswelder(A) istype(A, /obj/item/weapon/weldingtool)
-#define iscoil(A) istype(A, /obj/item/weapon/cable_coil)
+#define iscoil(A) istype(A, /obj/item/stack/cable_coil)
#define iswirecutter(A) istype(A, /obj/item/weapon/wirecutters)
@@ -85,4 +85,4 @@
#define iscrowbar(A) istype(A, /obj/item/weapon/crowbar)
-#define iswire(O) istype(O, /obj/item/weapon/cable_coil)
+#define iswire(O) istype(O, /obj/item/stack/cable_coil)
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index c436f58e801..0f67997a480 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1211,7 +1211,7 @@ proc/get_mob_with_client_list()
//Quick type checks for some tools
var/global/list/common_tools = list(
-/obj/item/weapon/cable_coil,
+/obj/item/stack/cable_coil,
/obj/item/weapon/wrench,
/obj/item/weapon/weldingtool,
/obj/item/weapon/screwdriver,
diff --git a/code/datums/helper_datums/construction_datum.dm b/code/datums/helper_datums/construction_datum.dm
index 9fb6fb0aa6e..9dfb39acccb 100644
--- a/code/datums/helper_datums/construction_datum.dm
+++ b/code/datums/helper_datums/construction_datum.dm
@@ -60,8 +60,8 @@
else if(istype(used_atom, /obj/item/weapon/wirecutters))
playsound(holder, 'sound/items/Wirecutter.ogg', 50, 1)
- else if(istype(used_atom, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/C = used_atom
+ else if(istype(used_atom, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C = used_atom
if(C.amount<4)
user << ("There's not enough cable to finish the task.")
return 0
@@ -93,7 +93,7 @@
proc/spawn_result(mob/user as mob)
if(result)
testing("[user] finished a [result]!")
-
+
new result(get_turf(holder))
spawn()
del holder
@@ -114,8 +114,8 @@
return 0
stack.use(amount)
// CABLES
- if(istype(used_atom,/obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/coil=used_atom
+ if(istype(used_atom,/obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/coil=used_atom
if(coil.amount < amount)
user << "\red You don't have enough cable! You need at least [amount] coils."
return 0
@@ -239,8 +239,8 @@
var/spawntype=state["spawn"]
var/atom/A = new spawntype(holder.loc)
if("amount" in state)
- if(istype(A,/obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/C=A
+ if(istype(A,/obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C=A
C.amount=state["amount"]
if(istype(A,/obj/item/stack))
var/obj/item/stack/S=A
diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index 1fb766b2ca8..a15667c1285 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -348,8 +348,8 @@
if(!weight1 && !weight2) //if there's nothing attached
user.show_message("You cut the knot in the [src].")
playsound(usr, 'sound/items/Wirecutter.ogg', 50, 1)
- var /obj/item/weapon/cable_coil/C = new /obj/item/weapon/cable_coil(user.loc) //we get back the wire lengths we put in
- var /obj/item/weapon/cable_coil/S = new /obj/item/weapon/screwdriver(user.loc)
+ var /obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(user.loc) //we get back the wire lengths we put in
+ var /obj/item/stack/cable_coil/S = new /obj/item/weapon/screwdriver(user.loc)
C.amount = 10
C._color = cable_color
C.icon_state = "coil_[C._color]"
diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm
index 845edcb2858..819a9f67e7f 100644
--- a/code/game/dna/dna_modifier.dm
+++ b/code/game/dna/dna_modifier.dm
@@ -97,7 +97,7 @@
for(var/obj/O in src)
if(!istype(O,/obj/item/weapon/circuitboard/clonescanner) && \
!istype(O,/obj/item/weapon/stock_parts) && \
- !istype(O,/obj/item/weapon/cable_coil) && \
+ !istype(O,/obj/item/stack/cable_coil) && \
O != beaker)
O.loc = get_turf(src)//Ejects items that manage to get in there (exluding the components and beaker)
if(!occupant)
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index ab945466670..5d5881b43f9 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -858,8 +858,8 @@
return
if(1)
- if(istype(W, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/coil = W
+ if(istype(W, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/coil = W
if(coil.amount < 5)
user << "You need more cable for this!"
return
@@ -1002,11 +1002,11 @@ FIRE ALARM
buildstage=1
user.visible_message("[user] has cut the wiring from \the [src]!", "You have cut the last of the wiring from \the [src].")
update_icon()
- new /obj/item/weapon/cable_coil(user.loc,5)
+ new /obj/item/stack/cable_coil(user.loc,5)
playsound(get_turf(src), 'sound/items/Wirecutter.ogg', 50, 1)
if(1)
- if(istype(W, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/coil = W
+ if(istype(W, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/coil = W
if(coil.amount < 5)
user << "You need more cable for this!"
return
diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm
index 9289d2f4885..bfd72a047c2 100644
--- a/code/game/machinery/bots/ed209bot.dm
+++ b/code/game/machinery/bots/ed209bot.dm
@@ -988,8 +988,8 @@ Auto Patrol: []"},
icon_state = "[lasercolor]ed209_prox"
if(6)
- if( istype(W, /obj/item/weapon/cable_coil) )
- var/obj/item/weapon/cable_coil/coil = W
+ if( istype(W, /obj/item/stack/cable_coil) )
+ var/obj/item/stack/cable_coil/coil = W
var/turf/T = get_turf(user)
user << "You start to wire [src]..."
sleep(40)
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index aa010761cea..9e14c8dd5e2 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -912,7 +912,7 @@ var/global/mulebot_count = 0
new /obj/item/device/assembly/prox_sensor(Tsec)
new /obj/item/stack/rods(Tsec)
new /obj/item/stack/rods(Tsec)
- new /obj/item/weapon/cable_coil/cut(Tsec)
+ new /obj/item/stack/cable_coil/cut(Tsec)
if (cell)
cell.loc = Tsec
cell.update_icon()
diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm
index 9399b49fba0..642c0231463 100644
--- a/code/game/machinery/camera/camera_assembly.dm
+++ b/code/game/machinery/camera/camera_assembly.dm
@@ -59,7 +59,7 @@
if(2)
// State 2
if(iscoil(W))
- var/obj/item/weapon/cable_coil/C = W
+ var/obj/item/stack/cable_coil/C = W
if(C.use(2))
user << "You add wires to the assembly."
state = 3
@@ -112,7 +112,7 @@
else if(iswirecutter(W))
- new/obj/item/weapon/cable_coil(get_turf(src), 2)
+ new/obj/item/stack/cable_coil(get_turf(src), 2)
playsound(get_turf(src), 'sound/items/Wirecutter.ogg', 50, 1)
user << "You cut the wires from the circuits."
state = 2
diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm
index 02609ee0502..b1c231fb631 100644
--- a/code/game/machinery/computer/ai_core.dm
+++ b/code/game/machinery/computer/ai_core.dm
@@ -65,7 +65,7 @@
user << "You unfasten the circuit board."
state = 1
icon_state = "1"
- if(istype(P, /obj/item/weapon/cable_coil))
+ if(istype(P, /obj/item/stack/cable_coil))
if(P:amount >= 5)
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
if(do_after(user, 20))
@@ -83,7 +83,7 @@
user << "You remove the cables."
state = 2
icon_state = "2"
- var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( loc )
+ var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc )
A.amount = 5
if(istype(P, /obj/item/stack/sheet/glass/rglass))
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index 12938f62cc1..a4fa6ca159f 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -339,7 +339,7 @@
src.state = 1
src.icon_state = "1"
return 1
- if(istype(P, /obj/item/weapon/cable_coil))
+ if(istype(P, /obj/item/stack/cable_coil))
if(P:amount >= 5)
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
if(do_after(user, 20))
@@ -356,7 +356,7 @@
user << "You remove the cables."
src.state = 2
src.icon_state = "2"
- var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc )
+ var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( src.loc )
A.amount = 5
return 1
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index 82c42c1c3d1..3ab0b268be3 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -40,8 +40,8 @@
return
switch(state)
if(1)
- if(istype(P, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/C = P
+ if(istype(P, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C = P
if(C.amount >= 5)
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
user << "You start to add cables to the frame."
@@ -104,7 +104,7 @@
user << "You remove the cables."
state = 1
icon_state = "box_0"
- var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc )
+ var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( src.loc )
A.amount = 5
if(3)
@@ -153,11 +153,11 @@
for(var/I in req_components)
if(istype(P, text2path(I)) && (req_components[I] > 0))
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
- if(istype(P, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/CP = P
+ if(istype(P, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/CP = P
if(CP.amount >= req_components[I])
var/camt = min(CP.amount, req_components[I]) // amount of cable to take, idealy amount required, but limited by amount provided
- var/obj/item/weapon/cable_coil/CC = new /obj/item/weapon/cable_coil(src)
+ var/obj/item/stack/cable_coil/CC = new /obj/item/stack/cable_coil(src)
CC.amount = camt
CC.update_icon()
CP.use(camt)
@@ -188,7 +188,7 @@
update_desc()
break
user << desc
- if(P && P.loc != src && !istype(P, /obj/item/weapon/cable_coil))
+ if(P && P.loc != src && !istype(P, /obj/item/stack/cable_coil))
user << "You cannot add that component to the machine!"
@@ -703,7 +703,7 @@ obj/item/weapon/circuitboard/rdserver
frame_desc = "Requires 2 Manipulators, 2 Cable Coil and 2 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
- "/obj/item/weapon/cable_coil" = 2,
+ "/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/subspace/filter" = 2)
/obj/item/weapon/circuitboard/telecomms/relay
@@ -714,7 +714,7 @@ obj/item/weapon/circuitboard/rdserver
frame_desc = "Requires 2 Manipulators, 2 Cable Coil and 2 Hyperwave Filters."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
- "/obj/item/weapon/cable_coil" = 2,
+ "/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/subspace/filter" = 2)
/obj/item/weapon/circuitboard/telecomms/bus
@@ -725,7 +725,7 @@ obj/item/weapon/circuitboard/rdserver
frame_desc = "Requires 2 Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
- "/obj/item/weapon/cable_coil" = 1,
+ "/obj/item/stack/cable_coil" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1)
/obj/item/weapon/circuitboard/telecomms/processor
@@ -739,7 +739,7 @@ obj/item/weapon/circuitboard/rdserver
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
"/obj/item/weapon/stock_parts/subspace/treatment" = 2,
"/obj/item/weapon/stock_parts/subspace/analyzer" = 1,
- "/obj/item/weapon/cable_coil" = 2,
+ "/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/subspace/amplifier" = 1)
/obj/item/weapon/circuitboard/telecomms/server
@@ -750,7 +750,7 @@ obj/item/weapon/circuitboard/rdserver
frame_desc = "Requires 2 Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
- "/obj/item/weapon/cable_coil" = 1,
+ "/obj/item/stack/cable_coil" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1)
/obj/item/weapon/circuitboard/telecomms/broadcaster
@@ -761,7 +761,7 @@ obj/item/weapon/circuitboard/rdserver
frame_desc = "Requires 2 Manipulators, 1 Cable Coil, 1 Hyperwave Filter, 1 Ansible Crystal and 2 High-Powered Micro-Lasers. "
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
- "/obj/item/weapon/cable_coil" = 1,
+ "/obj/item/stack/cable_coil" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
"/obj/item/weapon/stock_parts/subspace/crystal" = 1,
"/obj/item/weapon/stock_parts/micro_laser/high" = 2)
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index b95d0b6b349..30cf0e2115e 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -123,7 +123,7 @@
src.health = max(0, src.health - damage)
if (src.health <= 0)
getFromPool(/obj/item/weapon/shard, loc)
- var/obj/item/weapon/cable_coil/CC = new /obj/item/weapon/cable_coil(src.loc)
+ var/obj/item/stack/cable_coil/CC = new /obj/item/stack/cable_coil(src.loc)
CC.amount = 2
src.density = 0
del(src)
@@ -163,7 +163,7 @@
visible_message("[user] smashes against the [src.name].", 1)
if (src.health <= 0)
getFromPool(/obj/item/weapon/shard, loc)
- var/obj/item/weapon/cable_coil/CC = new /obj/item/weapon/cable_coil(src.loc)
+ var/obj/item/stack/cable_coil/CC = new /obj/item/stack/cable_coil(src.loc)
CC.amount = 2
src.density = 0
del(src)
@@ -205,7 +205,7 @@
visible_message("\red [src] was hit by [I].")
if (src.health <= 0)
getFromPool(/obj/item/weapon/shard, loc)
- var/obj/item/weapon/cable_coil/CC = new /obj/item/weapon/cable_coil(src.loc)
+ var/obj/item/stack/cable_coil/CC = new /obj/item/stack/cable_coil(src.loc)
CC.amount = 2
src.density = 0
del(src)
diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm
index f5c9ead1c27..0fa4aa88c87 100644
--- a/code/game/machinery/embedded_controller/embedded_controller_base.dm
+++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm
@@ -74,8 +74,8 @@
"\red [user.name] has removed \the [C]!",\
"You remove \the [C].")
return 1
- if(istype(W, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/C=W
+ if(istype(W, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C=W
user << "You start adding cables to \the [src]..."
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
if(do_after(user, 20) && C.amount >= 10)
@@ -89,7 +89,7 @@
if(istype(W, /obj/item/weapon/wirecutters))
usr << "You begin to remove the wiring from \the [src]."
if(do_after(user, 50))
- new /obj/item/weapon/cable_coil(loc,5)
+ new /obj/item/stack/cable_coil(loc,5)
user.visible_message(\
"\red [user.name] cut the cables.",\
"You cut the cables.")
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index 5e52d62ae76..0feccf9ae3f 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -213,7 +213,7 @@
// ^ makes sinle list of active (R.contents) and inactive modules (R.module.modules)
for(var/obj/O in um)
// Engineering
- if(istype(O,/obj/item/weapon/cable_coil))
+ if(istype(O,/obj/item/stack/cable_coil))
if(O:amount < 50)
O:amount += 2
if(O:amount > 50)
diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm
index 3e5e4c5f068..383f197235c 100644
--- a/code/game/machinery/shieldgen.dm
+++ b/code/game/machinery/shieldgen.dm
@@ -279,8 +279,8 @@
if(..())
return 1
- if(istype(W, /obj/item/weapon/cable_coil) && malfunction && panel_open)
- var/obj/item/weapon/cable_coil/coil = W
+ if(istype(W, /obj/item/stack/cable_coil) && malfunction && panel_open)
+ var/obj/item/stack/cable_coil/coil = W
user << "\blue You begin to replace the wires."
//if(do_after(user, min(60, round( ((maxhealth/health)*10)+(malfunction*10) ))) //Take longer to repair heavier damage
if(do_after(user, 30))
diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm
index df3ec17fca6..80ea37e99d2 100644
--- a/code/game/machinery/telecomms/machine_interactions.dm
+++ b/code/game/machinery/telecomms/machine_interactions.dm
@@ -42,12 +42,12 @@
playsound(get_turf(src), 'sound/items/Wirecutter.ogg', 50, 1)
user << "You remove the cables."
construct_op ++
- var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( user.loc )
+ var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( user.loc )
A.amount = 5
stat |= BROKEN // the machine's been borked!
if(3)
- if(istype(P, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/A = P
+ if(istype(P, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/A = P
if(A.amount >= 5)
user << "You insert the cables."
A.amount -= 5
@@ -79,8 +79,8 @@
newpath = text2path(I)
var/obj/item/s = new newpath
s.loc = user.loc
- if(istype(s, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/A = s
+ if(istype(s, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/A = s
A.amount = 1
// Drop a circuit board too
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 9f18a3d572a..e351765c5c1 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -889,7 +889,7 @@
qdel(I)
new /obj/item/weapon/circuitboard/vendomat(src.loc)
- new /obj/item/weapon/cable_coil(loc,5)
+ new /obj/item/stack/cable_coil(loc,5)
return 1
return -1
@@ -907,7 +907,7 @@
qdel(I)
new /obj/item/weapon/circuitboard/vendomat(src.loc)
- new /obj/item/weapon/cable_coil(loc,5)
+ new /obj/item/stack/cable_coil(loc,5)
return 1
return -1
@@ -980,8 +980,8 @@
"[user.name] has removed \the [C]!",\
"You remove \the [C].")
return 1
- if(istype(W, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/C=W
+ if(istype(W, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C=W
user << "You start adding cables to \the [src]..."
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
if(do_after(user, 20) && C.amount >= 5)
@@ -995,7 +995,7 @@
if(istype(W, /obj/item/weapon/wirecutters))
usr << "You begin to remove the wiring from \the [src]."
if(do_after(user, 50))
- new /obj/item/weapon/cable_coil(loc,5)
+ new /obj/item/stack/cable_coil(loc,5)
user.visible_message(\
"[user.name] cut the cables.",\
"You cut the cables.")
@@ -1148,7 +1148,7 @@
icon_state = "tool"
icon_deny = "tool-deny"
//req_access_txt = "12" //Maintenance access
- products = list(/obj/item/weapon/cable_coil/random = 10,/obj/item/weapon/crowbar = 5,/obj/item/weapon/weldingtool = 3,/obj/item/weapon/wirecutters = 5,
+ products = list(/obj/item/stack/cable_coil/random = 10,/obj/item/weapon/crowbar = 5,/obj/item/weapon/weldingtool = 3,/obj/item/weapon/wirecutters = 5,
/obj/item/weapon/wrench = 5,/obj/item/device/analyzer = 5,/obj/item/device/t_scanner = 5,/obj/item/weapon/screwdriver = 5)
contraband = list(/obj/item/weapon/weldingtool/hugetank = 2,/obj/item/clothing/gloves/fyellow = 2)
premium = list(/obj/item/clothing/gloves/yellow = 1)
@@ -1177,7 +1177,7 @@
products = list(/obj/item/clothing/under/rank/chief_engineer = 4,/obj/item/clothing/under/rank/engineer = 4,/obj/item/clothing/shoes/orange = 4,/obj/item/clothing/head/hardhat = 4,
/obj/item/weapon/storage/belt/utility = 4,/obj/item/clothing/glasses/meson = 4,/obj/item/clothing/gloves/yellow = 4, /obj/item/weapon/screwdriver = 12,
/obj/item/weapon/crowbar = 12,/obj/item/weapon/wirecutters = 12,/obj/item/device/multitool = 12,/obj/item/weapon/wrench = 12,/obj/item/device/t_scanner = 12,
- /obj/item/weapon/cable_coil/heavyduty = 8, /obj/item/weapon/cell = 8, /obj/item/weapon/weldingtool = 8,/obj/item/clothing/head/welding = 8,
+ /obj/item/stack/cable_coil/heavyduty = 8, /obj/item/weapon/cell = 8, /obj/item/weapon/weldingtool = 8,/obj/item/clothing/head/welding = 8,
/obj/item/weapon/light/tube = 10,/obj/item/clothing/suit/fire = 4, /obj/item/weapon/stock_parts/scanning_module = 5,/obj/item/weapon/stock_parts/micro_laser = 5,
/obj/item/weapon/stock_parts/matter_bin = 5,/obj/item/weapon/stock_parts/manipulator = 5,/obj/item/weapon/stock_parts/console_screen = 5)
// There was an incorrect entry (cablecoil/power). I improvised to cablecoil/heavyduty.
@@ -1193,7 +1193,7 @@
icon_state = "robotics"
icon_deny = "robotics-deny"
req_access_txt = "29"
- products = list(/obj/item/clothing/suit/storage/labcoat = 4,/obj/item/clothing/under/rank/roboticist = 4,/obj/item/weapon/cable_coil = 4,/obj/item/device/flash = 4,
+ products = list(/obj/item/clothing/suit/storage/labcoat = 4,/obj/item/clothing/under/rank/roboticist = 4,/obj/item/stack/cable_coil = 4,/obj/item/device/flash = 4,
/obj/item/weapon/cell/high = 12, /obj/item/device/assembly/prox_sensor = 3,/obj/item/device/assembly/signaler = 3,/obj/item/device/healthanalyzer = 3,
/obj/item/weapon/scalpel = 2,/obj/item/weapon/circular_saw = 2,/obj/item/weapon/tank/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5,
/obj/item/weapon/screwdriver = 5,/obj/item/weapon/crowbar = 5)
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index ca32f96c374..a7f7644f7d9 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -128,8 +128,8 @@
break
del(H)
- for(var/T in typesof(/obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/test = new T
+ for(var/T in typesof(/obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/test = new T
if(test._color == color)
//world << "Found the right cable coil, _color: [test._color]"
ccoil_test = 1
@@ -181,7 +181,7 @@
H.desc = new_desc
if(ccoil_test)
- for(var/obj/item/weapon/cable_coil/H in contents)
+ for(var/obj/item/stack/cable_coil/H in contents)
//world << "DEBUG: YUP! FOUND IT!"
H._color = color
H.icon_state = "coil_[color]"
@@ -233,7 +233,7 @@
istype(W,/obj/item/clothing/gloves) || \
istype(W,/obj/item/clothing/shoes) || \
istype(W,/obj/item/clothing/suit) || \
- istype(W,/obj/item/weapon/cable_coil) || \
+ istype(W,/obj/item/stack/cable_coil) || \
istype(W,/obj/item/weapon/bedsheet))
//YES, it's hardcoded... saves a var/can_be_washed for every single clothing item.
diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm
index 5123214e927..1801678a400 100644
--- a/code/game/mecha/equipment/tools/medical_tools.dm
+++ b/code/game/mecha/equipment/tools/medical_tools.dm
@@ -242,7 +242,7 @@
var/datum/event/event
var/turf/old_turf
var/obj/structure/cable/last_piece
- var/obj/item/weapon/cable_coil/cable
+ var/obj/item/stack/cable_coil/cable
var/max_cable = 1000
New()
@@ -269,7 +269,7 @@
chassis.events.clearEvent("onMove",event)
return ..()
- action(var/obj/item/weapon/cable_coil/target)
+ action(var/obj/item/stack/cable_coil/target)
if(!action_checks(target))
return
var/result = load_cable(target)
@@ -297,7 +297,7 @@
m = min(m, cable.amount)
if(m)
use_cable(m)
- var/obj/item/weapon/cable_coil/CC = getFromPool(/obj/item/weapon/cable_coil, get_turf(chassis))
+ var/obj/item/stack/cable_coil/CC = getFromPool(/obj/item/stack/cable_coil, get_turf(chassis))
CC.amount = m
else
occupant_message("There's no more cable on the reel.")
@@ -309,14 +309,14 @@
return "[output] \[Cable: [cable ? cable.amount : 0] m\][(cable && cable.amount) ? "- [!equip_ready?"Dea":"A"]ctivate|Cut" : null]"
return
- proc/load_cable(var/obj/item/weapon/cable_coil/CC)
+ proc/load_cable(var/obj/item/stack/cable_coil/CC)
if(istype(CC) && CC.amount)
var/cur_amount = cable? cable.amount : 0
var/to_load = max(max_cable - cur_amount,0)
if(to_load)
to_load = min(CC.amount, to_load)
if(!cable)
- cable = getFromPool(/obj/item/weapon/cable_coil, src)
+ cable = getFromPool(/obj/item/stack/cable_coil, src)
cable.amount = 0
cable.amount += to_load
CC.use(to_load)
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index a825fd53a68..0ad82404469 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -702,9 +702,9 @@
state=2
user << "You close the hatch to the power unit"
return
- else if(istype(W, /obj/item/weapon/cable_coil))
+ else if(istype(W, /obj/item/stack/cable_coil))
if(state == 3 && hasInternalDamage(MECHA_INT_SHORT_CIRCUIT))
- var/obj/item/weapon/cable_coil/CC = W
+ var/obj/item/stack/cable_coil/CC = W
if(CC.amount > 1)
CC.use(2)
clearInternalDamage(MECHA_INT_SHORT_CIRCUIT)
diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm
index 64169e4fc17..089344e22b6 100644
--- a/code/game/mecha/mecha_construction_paths.dm
+++ b/code/game/mecha/mecha_construction_paths.dm
@@ -81,7 +81,7 @@
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is added"),
//12
- list("key"=/obj/item/weapon/cable_coil,
+ list("key"=/obj/item/stack/cable_coil,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The hydraulic systems are active."),
//13
@@ -125,7 +125,7 @@
holder.icon_state = "ripley4"
else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
- var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder))
+ var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder))
coil.amount = 4
holder.icon_state = "ripley2"
if(10)
@@ -315,7 +315,7 @@
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is added"),
//18
- list("key"=/obj/item/weapon/cable_coil,
+ list("key"=/obj/item/stack/cable_coil,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The hydraulic systems are active."),
//19
@@ -359,7 +359,7 @@
holder.icon_state = "gygax4"
else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
- var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder))
+ var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder))
coil.amount = 4
holder.icon_state = "gygax2"
if(16)
@@ -577,7 +577,7 @@
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is added"),
//13
- list("key"=/obj/item/weapon/cable_coil,
+ list("key"=/obj/item/stack/cable_coil,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The hydraulic systems are active."),
//14
@@ -621,7 +621,7 @@
holder.icon_state = "fireripley4"
else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
- var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder))
+ var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder))
coil.amount = 4
holder.icon_state = "fireripley2"
if(11)
@@ -897,7 +897,7 @@
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is added"),
//18
- list("key"=/obj/item/weapon/cable_coil,
+ list("key"=/obj/item/stack/cable_coil,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The hydraulic systems are active."),
//19
@@ -942,7 +942,7 @@
holder.icon_state = "durand4"
else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
- var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder))
+ var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder))
coil.amount = 4
holder.icon_state = "durand2"
if(16)
@@ -1157,7 +1157,7 @@
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is added"),
//12
- list("key"=/obj/item/weapon/cable_coil,
+ list("key"=/obj/item/stack/cable_coil,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The hydraulic systems are active."),
//13
@@ -1201,7 +1201,7 @@
holder.icon_state = "odysseus4"
else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
- var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder))
+ var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder))
coil.amount = 4
holder.icon_state = "odysseus2"
if(10)
@@ -1375,7 +1375,7 @@
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is added"),
//14
- list("key"=/obj/item/weapon/cable_coil,
+ list("key"=/obj/item/stack/cable_coil,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The hydraulic systems are active."),
//15
@@ -1413,7 +1413,7 @@
user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].")
else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
- var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder))
+ var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder))
coil.amount = 4
if(12)
if(diff==FORWARD)
diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm
index a1d886b1303..c4d03a2b9a1 100644
--- a/code/game/mecha/mecha_wreckage.dm
+++ b/code/game/mecha/mecha_wreckage.dm
@@ -11,7 +11,7 @@
anchored = 0
opacity = 0
var/list/welder_salvage = list(/obj/item/stack/sheet/plasteel,/obj/item/stack/sheet/metal,/obj/item/stack/rods)
- var/list/wirecutters_salvage = list(/obj/item/weapon/cable_coil)
+ var/list/wirecutters_salvage = list(/obj/item/stack/cable_coil)
var/list/crowbar_salvage
var/salvage_num = 5
diff --git a/code/game/objects/items/devices/deskbell.dm b/code/game/objects/items/devices/deskbell.dm
index 4f8a948071e..8d316a86e6f 100644
--- a/code/game/objects/items/devices/deskbell.dm
+++ b/code/game/objects/items/devices/deskbell.dm
@@ -274,8 +274,8 @@
M.amount = 2
qdel(src)
return
- if(istype(W,/obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/C=W
+ if(istype(W,/obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C=W
user.visible_message(
"[user.name] has added cables to \the [src]!",
"You add cables to \the [src].")
@@ -292,7 +292,7 @@
if(has_signaler)
user << "You must remove the signaler first."
return
- new /obj/item/weapon/cable_coil(get_turf(src),1)
+ new /obj/item/stack/cable_coil(get_turf(src),1)
user.visible_message(
"[user.name] cut the cables.",
"You cut the cables.")
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index 290f89fb546..54226f4450c 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -81,7 +81,7 @@
/obj/item/device/radio/intercom/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(!installed)
- if(istype(W,/obj/item/weapon/cable_coil))
+ if(istype(W,/obj/item/stack/cable_coil))
if(!circuitry_installed)
user << "\red You need to install intercom electronics first!"
return 1
diff --git a/code/game/objects/items/mountable_frames/apc_frame.dm b/code/game/objects/items/mountable_frames/apc_frame.dm
index 4292a257bd5..ac1f9b0e288 100644
--- a/code/game/objects/items/mountable_frames/apc_frame.dm
+++ b/code/game/objects/items/mountable_frames/apc_frame.dm
@@ -19,7 +19,7 @@
user << "There is another network terminal here."
return
else
- var/obj/item/weapon/cable_coil/C = new /obj/item/weapon/cable_coil(turf_loc)
+ var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(turf_loc)
C.amount = 10
user << "You cut the cables and disassemble the unused power terminal."
qdel(T)
diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm
index c1620242a2f..5a88149b1ea 100644
--- a/code/game/objects/items/robot/robot_parts.dm
+++ b/code/game/objects/items/robot/robot_parts.dm
@@ -258,12 +258,12 @@
W.loc = src
src.cell = W
user << "You insert the cell!"
- if(istype(W, /obj/item/weapon/cable_coil))
+ if(istype(W, /obj/item/stack/cable_coil))
if(src.wires)
user << "You have already inserted wire!"
return
else
- var/obj/item/weapon/cable_coil/coil = W
+ var/obj/item/stack/cable_coil/coil = W
coil.use(1)
src.wires = 1.0
user << "You insert the wire!"
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index 43d1cb8e131..95d3309be16 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -201,8 +201,8 @@
return 1
/obj/item/stack/sheet/glass/glass/attackby(obj/item/W, mob/user)
- if(istype(W,/obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/CC = W
+ if(istype(W,/obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/CC = W
if(CC.amount < 5)
user << "\b There is not enough wire in this coil. You need 5 lengths."
return
diff --git a/code/game/objects/items/stacks/sheets/light.dm b/code/game/objects/items/stacks/sheets/light.dm
index 0680b58d59c..175268738f6 100644
--- a/code/game/objects/items/stacks/sheets/light.dm
+++ b/code/game/objects/items/stacks/sheets/light.dm
@@ -15,7 +15,7 @@
/obj/item/stack/light_w/attackby(var/obj/item/O as obj, var/mob/user as mob)
..()
if(istype(O,/obj/item/weapon/wirecutters))
- var/obj/item/weapon/cable_coil/CC = new/obj/item/weapon/cable_coil(user.loc)
+ var/obj/item/stack/cable_coil/CC = new/obj/item/stack/cable_coil(user.loc)
CC.amount = 5
amount--
new/obj/item/stack/sheet/glass/glass(user.loc)
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 204f1fa3dfc..b41acce5d0b 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -109,7 +109,7 @@
list_recipes(usr, text2num(href_list["sublist"]))
if (href_list["make"])
- if (src.amount < 1) del(src) //Never should happen
+ if (src.amount < 1) returnToPool(src) //Never should happen
var/list/recipes_list = recipes
if (href_list["sublist"])
@@ -147,15 +147,19 @@
var/oldsrc = src
src = null //dont kill proc after del()
usr.before_take_item(oldsrc)
- del(oldsrc)
+ returnToPool(oldsrc)
if (istype(O,/obj/item))
usr.put_in_hands(O)
O.add_fingerprint(usr)
//BubbleWrap - so newly formed boxes are empty
if ( istype(O, /obj/item/weapon/storage) )
for (var/obj/item/I in O)
- del(I)
+ qdel(I)
//BubbleWrap END
+ if(istype(O, /obj/item/weapon/handcuffs/cable))
+ var/obj/item/weapon/handcuffs/cable/C = O
+ C._color = _color
+ C.update_icon()
if (src && usr.machine==src) //do not reopen closed window
spawn( 0 )
src.interact(usr)
@@ -172,7 +176,7 @@
if (src.amount<=0)
if(usr)
usr.before_take_item(src)
- spawn qdel(src)
+ spawn returnToPool(src)
/obj/item/stack/proc/add_to_stacks(mob/usr as mob)
var/obj/item/stack/oldsrc = src
@@ -206,7 +210,8 @@
..()
if (istype(W, src.type) && src.type==W.type)
var/obj/item/stack/S = W
- if (S.amount >= max_amount)
+ if (S.amount >= S.max_amount)
+ user << "\The [S] cannot hold anymore [S.singular_name]."
return 1
var/to_transfer as num
if (user.get_inactive_hand()==src)
@@ -214,11 +219,15 @@
else
to_transfer = min(src.amount, S.max_amount-S.amount)
S.amount+=to_transfer
- if (S && usr.machine==S)
- spawn(0) S.interact(usr)
+ user << "You add [to_transfer] [S.singular_name] to \the [S]. It now contains [S.amount] [S.singular_name]."
+ if (S && user.machine==S)
+ spawn(0) S.interact(user)
src.use(to_transfer)
- if (src && usr.machine==src)
- spawn(0) src.interact(usr)
+ if (src && user.machine==src)
+ spawn(0) src.interact(user)
+ update_icon()
+ S.update_icon()
+ return 1
else return ..()
/obj/item/stack/proc/copy_evidences(obj/item/stack/from as obj)
diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm
index 82691f02d92..8af64aa30f3 100644
--- a/code/game/objects/items/weapons/grenades/ghettobomb.dm
+++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm
@@ -49,9 +49,9 @@
/obj/item/weapon/grenade/iedcasing/attackby(var/obj/item/I, mob/user as mob) //Wiring the can for ignition
- if(istype(I, /obj/item/weapon/cable_coil))
+ if(istype(I, /obj/item/stack/cable_coil))
if(assembled == 1)
- var/obj/item/weapon/cable_coil/C = I
+ var/obj/item/stack/cable_coil/C = I
C.use(1)
assembled = 2
user << "You wire the igniter to detonate the fuel."
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index 4cf18088e84..a6472c46fc2 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -103,6 +103,7 @@
name = "cable restraints"
desc = "Looks like some cables tied together. Could be used to tie something up."
icon_state = "cuff_red"
+ _color = "red"
breakouttime = 300 //Deciseconds = 30s
/obj/item/weapon/handcuffs/cable/red
@@ -110,24 +111,35 @@
/obj/item/weapon/handcuffs/cable/yellow
icon_state = "cuff_yellow"
+ _color = "yellow"
/obj/item/weapon/handcuffs/cable/blue
icon_state = "cuff_blue"
+ _color = "blue"
/obj/item/weapon/handcuffs/cable/green
icon_state = "cuff_green"
+ _color = "green"
/obj/item/weapon/handcuffs/cable/pink
icon_state = "cuff_pink"
+ _color = "pink"
/obj/item/weapon/handcuffs/cable/orange
icon_state = "cuff_orange"
+ _color = "orange"
/obj/item/weapon/handcuffs/cable/cyan
icon_state = "cuff_cyan"
+ _color = "cyan"
/obj/item/weapon/handcuffs/cable/white
icon_state = "cuff_white"
+ _color = "white"
+
+/obj/item/weapon/handcuffs/cable/update_icon()
+ if(_color)
+ icon_state = "cuff_[_color]"
/obj/item/weapon/handcuffs/cyborg
dispenser = 1
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index a8cb5289775..325128fa4bd 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -30,7 +30,7 @@
"/obj/item/weapon/wrench",
"/obj/item/device/multitool",
"/obj/item/device/flashlight",
- "/obj/item/weapon/cable_coil",
+ "/obj/item/stack/cable_coil",
"/obj/item/device/t_scanner",
"/obj/item/device/analyzer",
"/obj/item/taperoll/engineering")
@@ -43,7 +43,7 @@
new /obj/item/weapon/crowbar(src)
new /obj/item/weapon/wirecutters(src)
new /obj/item/device/multitool(src)
- new /obj/item/weapon/cable_coil(src,30,pick("red","yellow","orange"))
+ new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange"))
/obj/item/weapon/storage/belt/utility/full/New()
..()
@@ -52,7 +52,7 @@
new /obj/item/weapon/weldingtool(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/weapon/wirecutters(src)
- new /obj/item/weapon/cable_coil(src,30,pick("red","yellow","orange"))
+ new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange"))
/obj/item/weapon/storage/belt/utility/atmostech/New()
diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm
index 994cd6e7918..83b2292514a 100644
--- a/code/game/objects/items/weapons/storage/toolbox.dm
+++ b/code/game/objects/items/weapons/storage/toolbox.dm
@@ -70,12 +70,12 @@
new /obj/item/weapon/wirecutters(src)
new /obj/item/device/t_scanner(src)
new /obj/item/weapon/crowbar(src)
- new /obj/item/weapon/cable_coil(src,30,color)
- new /obj/item/weapon/cable_coil(src,30,color)
+ new /obj/item/stack/cable_coil(src,30,color)
+ new /obj/item/stack/cable_coil(src,30,color)
if(prob(5))
new /obj/item/clothing/gloves/yellow(src)
else
- new /obj/item/weapon/cable_coil(src,30,color)
+ new /obj/item/stack/cable_coil(src,30,color)
/obj/item/weapon/storage/toolbox/syndicate
name = "suspicious looking toolbox"
@@ -91,6 +91,6 @@
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src)
new /obj/item/weapon/crowbar(src)
- new /obj/item/weapon/cable_coil(src,30,color)
+ new /obj/item/stack/cable_coil(src,30,color)
new /obj/item/weapon/wirecutters(src)
new /obj/item/device/multitool(src)
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index d6b247e2ba9..82ba3e82031 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -107,8 +107,8 @@
return eyestab(M,user)
/obj/item/weapon/screwdriver/attackby(var/obj/O)
- if(istype(O, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/C = O
+ if(istype(O, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C = O
var/mob/M = usr
if(ishuman(M) && !M.restrained() && !M.stat && !M.paralysis && ! M.stunned)
if(!istype(M.loc,/turf)) return
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index 971a0fab97c..066e4723292 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -148,11 +148,11 @@
if(prob(20))
new /obj/item/weapon/storage/belt/utility(src)
if(prob(30))
- new /obj/item/weapon/cable_coil/random(src)
+ new /obj/item/stack/cable_coil/random(src)
if(prob(30))
- new /obj/item/weapon/cable_coil/random(src)
+ new /obj/item/stack/cable_coil/random(src)
if(prob(30))
- new /obj/item/weapon/cable_coil/random(src)
+ new /obj/item/stack/cable_coil/random(src)
if(prob(20))
new /obj/item/device/multitool(src)
if(prob(5))
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index d85711176b3..b8903a6e911 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -456,7 +456,7 @@
return ..()
else if(istype(W, /obj/item/weapon/packageWrap))
return
- else if(istype(W, /obj/item/weapon/cable_coil))
+ else if(istype(W, /obj/item/stack/cable_coil))
if(rigged)
user << "[src] is already rigged!"
return
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index 9a855c8415e..a59e01dd785 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -195,9 +195,9 @@
anchored = !anchored
busy = 0
- else if(istype(W, /obj/item/weapon/cable_coil) && state == 0 && anchored )
+ else if(istype(W, /obj/item/stack/cable_coil) && state == 0 && anchored )
busy = 1
- var/obj/item/weapon/cable_coil/coil = W
+ var/obj/item/stack/cable_coil/coil = W
user.visible_message("[user] wires the airlock assembly.", "You start to wire the airlock assembly.")
if(do_after(user, 40))
if(!src) return
@@ -214,7 +214,7 @@
if(do_after(user, 40))
if(!src) return
user << "You cut the airlock wires.!"
- new/obj/item/weapon/cable_coil(src.loc, 1)
+ new/obj/item/stack/cable_coil(src.loc, 1)
src.state = 0
busy = 0
diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index 6f8ac7f0770..65f1ede7d14 100644
--- a/code/game/objects/structures/windoor_assembly.dm
+++ b/code/game/objects/structures/windoor_assembly.dm
@@ -126,12 +126,12 @@ obj/structure/windoor_assembly/Destroy()
src.name = "Secure Windoor Assembly"
//Adding cable to the assembly. Step 5 complete.
- else if(istype(W, /obj/item/weapon/cable_coil) && anchored)
+ else if(istype(W, /obj/item/stack/cable_coil) && anchored)
user.visible_message("[user] wires the windoor assembly.", "You start to wire the windoor assembly.")
if(do_after(user, 40))
if(!src) return
- var/obj/item/weapon/cable_coil/CC = W
+ var/obj/item/stack/cable_coil/CC = W
CC.use(1)
user << "You wire the windoor!"
src.state = "02"
@@ -153,7 +153,7 @@ obj/structure/windoor_assembly/Destroy()
if(!src) return
user << "You cut the windoor wires!"
- new/obj/item/weapon/cable_coil(get_turf(user), 1)
+ new/obj/item/stack/cable_coil(get_turf(user), 1)
src.state = "01"
if(src.secure)
src.name = "Secure Wired Windoor Assembly"
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 406757c8a04..4ee20bd61f3 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -534,9 +534,9 @@ turf/simulated/floor/proc/update_icon()
user << "This section is too damaged to support a tile. Use a welder to fix the damage."
- if(istype(C, /obj/item/weapon/cable_coil))
+ if(istype(C, /obj/item/stack/cable_coil))
if(is_plating() || is_catwalk())
- var/obj/item/weapon/cable_coil/coil = C
+ var/obj/item/stack/cable_coil/coil = C
coil.turf_place(src, user)
else
user << "You must remove the plating first."
diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm
index 483dbafbbf7..acfbb537f37 100644
--- a/code/game/turfs/simulated/floor_types.dm
+++ b/code/game/turfs/simulated/floor_types.dm
@@ -393,8 +393,8 @@
T:update_icon(0)
return
- if(istype(C, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/coil = C
+ if(istype(C, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/coil = C
coil.turf_place(src, user)
is_catwalk()
diff --git a/code/modules/clothing/gloves/stungloves.dm b/code/modules/clothing/gloves/stungloves.dm
index cf50324a8fb..b270b25a835 100644
--- a/code/modules/clothing/gloves/stungloves.dm
+++ b/code/modules/clothing/gloves/stungloves.dm
@@ -3,8 +3,8 @@
user << "That won't work." //i'm not putting my lips on that!
..()
return
- if(istype(W, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/C = W
+ if(istype(W, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C = W
if(!wired)
if(C.amount >= 2)
C.use(2)
diff --git a/code/modules/maps/spawners/spawners.dm b/code/modules/maps/spawners/spawners.dm
index 64a76447c0f..beef34d9d4d 100644
--- a/code/modules/maps/spawners/spawners.dm
+++ b/code/modules/maps/spawners/spawners.dm
@@ -242,7 +242,7 @@
/obj/item/toy/crayon/blue,
/obj/item/toy/crayon/orange,
/obj/item/weapon/c_tube,
- /obj/item/weapon/cable_coil/random,
+ /obj/item/stack/cable_coil/random,
/obj/item/weapon/camera_assembly,
/obj/item/weapon/cell,
/obj/item/weapon/crowbar,
@@ -508,7 +508,7 @@
/obj/item/weapon/bikehorn/rubberducky,
/obj/item/weapon/broken_bottle,
/obj/item/weapon/bucket_sensor,
- /obj/item/weapon/cable_coil,
+ /obj/item/stack/cable_coil,
/obj/item/weapon/camera_assembly,
/obj/item/weapon/cigbutt/cigarbutt,
/obj/item/weapon/clipboard,
@@ -657,7 +657,7 @@
/obj/item/robot_parts/robot_suit,
/obj/item/robot_parts/head,
/obj/item/weapon/autopsy_scanner,
- /obj/item/weapon/cable_coil/pink,
+ /obj/item/stack/cable_coil/pink,
/obj/item/weapon/cell/hyper,
/obj/item/weapon/ed209_assembly,
/obj/item/weapon/firstaid_arm_assembly,
diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm
index daf384aa907..341efbc44fa 100644
--- a/code/modules/mining/ores_coins.dm
+++ b/code/modules/mining/ores_coins.dm
@@ -378,8 +378,8 @@
icon_state = "coin_mythril"
/obj/item/weapon/coin/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if(istype(W,/obj/item/weapon/cable_coil) )
- var/obj/item/weapon/cable_coil/CC = W
+ if(istype(W,/obj/item/stack/cable_coil) )
+ var/obj/item/stack/cable_coil/CC = W
if(string_attached)
user << "\blue There already is a string attached to this coin."
return
@@ -398,7 +398,7 @@
..()
return
- var/obj/item/weapon/cable_coil/CC = new(user.loc)
+ var/obj/item/stack/cable_coil/CC = new(user.loc)
CC.amount = 1
CC.update_icon()
overlays = list()
diff --git a/code/modules/mob/living/silicon/mommi/mommi.dm b/code/modules/mob/living/silicon/mommi/mommi.dm
index fb26c6a5ba9..4e9da966d12 100644
--- a/code/modules/mob/living/silicon/mommi/mommi.dm
+++ b/code/modules/mob/living/silicon/mommi/mommi.dm
@@ -180,8 +180,8 @@ They can only use one tool at a time, they can't choose modules, and they have 1
user << "Need more welding fuel!"
return
- else if(istype(W, /obj/item/weapon/cable_coil) && wiresexposed)
- var/obj/item/weapon/cable_coil/coil = W
+ else if(istype(W, /obj/item/stack/cable_coil) && wiresexposed)
+ var/obj/item/stack/cable_coil/coil = W
adjustFireLoss(-30)
updatehealth()
coil.use(1)
diff --git a/code/modules/mob/living/silicon/mommi/mommi_modules.dm b/code/modules/mob/living/silicon/mommi/mommi_modules.dm
index b5a55b2fb4e..c25a0e4bc2d 100644
--- a/code/modules/mob/living/silicon/mommi/mommi_modules.dm
+++ b/code/modules/mob/living/silicon/mommi/mommi_modules.dm
@@ -23,7 +23,7 @@
src.modules += new /obj/item/blueprints/mommiprints(src)
src.modules += new /obj/item/device/material_synth/robot(src)
- var/obj/item/weapon/cable_coil/W = new /obj/item/weapon/cable_coil(src)
+ var/obj/item/stack/cable_coil/W = new /obj/item/stack/cable_coil(src)
W.amount = 50
W.max_amount = 50 // Override MAXCOIL
src.modules += W
@@ -33,14 +33,14 @@
var/list/what = list (
// /obj/item/stack/sheet/metal/cyborg,
// /obj/item/stack/sheet/glass/glass,
- /obj/item/weapon/cable_coil,
+ /obj/item/stack/cable_coil,
// /obj/item/stack/sheet/glass/rglass/cyborg,
)
for (var/T in what)
if (!(locate(T) in src.modules))
src.modules -= null
var/O = new T(src)
- if(istype(O,/obj/item/weapon/cable_coil))
+ if(istype(O,/obj/item/stack/cable_coil))
O:max_amount = 50
src.modules += O
O:amount = 1
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 5f7595cfc6d..5667207a1bf 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -527,7 +527,7 @@
/mob/living/silicon/robot/proc/show_cable_lengths()
- var/obj/item/weapon/cable_coil/coil = installed_module(/obj/item/weapon/cable_coil)
+ var/obj/item/stack/cable_coil/coil = installed_module(/obj/item/stack/cable_coil)
if(coil)
stat(null, text("Cable Lengths: [coil.amount]/[coil.max_amount]"))
@@ -748,11 +748,11 @@
user << "Need more welding fuel!"
return
- else if(istype(W, /obj/item/weapon/cable_coil) && wiresexposed)
+ else if(istype(W, /obj/item/stack/cable_coil) && wiresexposed)
if (!getFireLoss())
user << "Nothing to fix here!"
return
- var/obj/item/weapon/cable_coil/coil = W
+ var/obj/item/stack/cable_coil/coil = W
adjustFireLoss(-30)
updatehealth()
coil.use(1)
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index bb319c6c56d..fc7d8ab5472 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -189,7 +189,7 @@
src.modules += new /obj/item/weapon/tile_painter(src)
src.modules += new /obj/item/device/material_synth/robot/cyborg(src)
- var/obj/item/weapon/cable_coil/W = new /obj/item/weapon/cable_coil(src)
+ var/obj/item/stack/cable_coil/W = new /obj/item/stack/cable_coil(src)
W.amount = 50
W.max_amount = 50
src.modules += W
@@ -199,13 +199,13 @@
/obj/item/weapon/robot_module/engineering/respawn_consumable(var/mob/living/silicon/robot/R)
var/list/what = list (
- /obj/item/weapon/cable_coil
+ /obj/item/stack/cable_coil
)
for (var/T in what)
if (!(locate(T) in src.modules))
src.modules -= null
var/O = new T(src)
- if(istype(O,/obj/item/weapon/cable_coil))
+ if(istype(O,/obj/item/stack/cable_coil))
O:max_amount = 50
src.modules += O
O:amount = 1
@@ -225,7 +225,7 @@
// ^ makes sinle list of active (R.contents) and inactive modules (R.module.modules)
for(var/obj/O in um)
// Engineering
- if(istype(O,/obj/item/weapon/cable_coil))
+ if(istype(O,/obj/item/stack/cable_coil))
if(O:amount < 50)
O:amount += 1
R.cell.use(50) //Take power from the borg...
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 3127304dc6c..792899a2acc 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -458,11 +458,11 @@
update_icon()
else
user << "You fail to [ locked ? "unlock" : "lock"] the APC interface."
- else if (istype(W, /obj/item/weapon/cable_coil) && !terminal && opened && has_electronics!=2)
+ else if (istype(W, /obj/item/stack/cable_coil) && !terminal && opened && has_electronics!=2)
if (src.loc:intact)
user << "\red You must remove the floor plating in front of the APC first."
return
- var/obj/item/weapon/cable_coil/C = W
+ var/obj/item/stack/cable_coil/C = W
if(C.amount < 10)
user << "\red You need more wires."
return
@@ -494,7 +494,7 @@
s.set_up(5, 1, src)
s.start()
return
- new /obj/item/weapon/cable_coil(loc,10)
+ new /obj/item/stack/cable_coil(loc,10)
user.visible_message(\
"\red [user.name] cut the cables and dismantled the power terminal.",\
"You cut the cables and dismantle the power terminal.")
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 3866d37cd06..5a6c758f173 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -138,9 +138,9 @@ By design, d1 is the smallest direction and d2 is the highest
return
if(src.d1) // 0-X cables are 1 unit, X-X cables are 2 units long
- getFromPool(/obj/item/weapon/cable_coil, T, 2, l_color)
+ getFromPool(/obj/item/stack/cable_coil, T, 2, l_color)
else
- getFromPool(/obj/item/weapon/cable_coil, T, 1, l_color)
+ getFromPool(/obj/item/stack/cable_coil, T, 1, l_color)
for(var/mob/O in viewers(src, null))
O.show_message("\red [user] cuts the cable.", 1)
@@ -169,8 +169,8 @@ By design, d1 is the smallest direction and d2 is the highest
returnToPool(src)
return
- else if(istype(W, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/coil = W
+ else if(istype(W, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/coil = W
coil.cable_join(src, user)
else if(istype(W, /obj/item/device/multitool))
if((powernet) && (powernet.avail > 0)) // is it powered?
@@ -206,12 +206,12 @@ By design, d1 is the smallest direction and d2 is the highest
returnToPool(src)
if(2.0)
if(prob(50))
- getFromPool(/obj/item/weapon/cable_coil, src.loc, src.d1 ? 2 : 1, l_color)
+ getFromPool(/obj/item/stack/cable_coil, src.loc, src.d1 ? 2 : 1, l_color)
returnToPool(src)
if(3.0)
if(prob(25))
- getFromPool(/obj/item/weapon/cable_coil, src.loc, src.d1 ? 2 : 1, l_color)
+ getFromPool(/obj/item/stack/cable_coil, src.loc, src.d1 ? 2 : 1, l_color)
returnToPool(src)
return
@@ -476,15 +476,19 @@ By design, d1 is the smallest direction and d2 is the highest
// Definitions
////////////////////////////////
+var/global/list/datum/stack_recipe/cable_recipes = list ( \
+ new/datum/stack_recipe("cable cuffs", /obj/item/weapon/handcuffs/cable, 15, time = 3, one_per_turf = 0, on_floor = 0))
+
#define MAXCOIL 30
-/obj/item/weapon/cable_coil
+/obj/item/stack/cable_coil
name = "cable coil"
icon = 'icons/obj/power.dmi'
icon_state = "coil_red"
gender = NEUTER
- var/amount = MAXCOIL
- var/max_amount = MAXCOIL
+ amount = MAXCOIL
+ singular_name = "cable pieces"
+ max_amount = MAXCOIL
_color = "red"
desc = "A coil of power cable."
throwforce = 10
@@ -499,13 +503,14 @@ By design, d1 is the smallest direction and d2 is the highest
item_state = "coil_red"
attack_verb = list("whipped", "lashed", "disciplined", "flogged")
-/obj/item/weapon/cable_coil/suicide_act(mob/user)
+/obj/item/stack/cable_coil/suicide_act(mob/user)
viewers(user) << "[user] is strangling \himself with the [src.name]! It looks like \he's trying to commit suicide."
return(OXYLOSS)
-/obj/item/weapon/cable_coil/New(loc, length = MAXCOIL, var/param_color = null)
+/obj/item/stack/cable_coil/New(loc, length = MAXCOIL, var/param_color = null)
..()
- amount = length
+
+ recipes = cable_recipes
if(param_color)
_color = param_color
@@ -519,7 +524,7 @@ By design, d1 is the smallest direction and d2 is the highest
///////////////////////////////////
// you can use wires to heal robotics
-/obj/item/weapon/cable_coil/attack(mob/M as mob, mob/user as mob)
+/obj/item/stack/cable_coil/attack(mob/M as mob, mob/user as mob)
if(hasorgans(M))
var/datum/organ/external/S = M:get_organ(user.zone_sel.selecting)
@@ -542,7 +547,7 @@ By design, d1 is the smallest direction and d2 is the highest
else
return ..()
-/obj/item/weapon/cable_coil/update_icon()
+/obj/item/stack/cable_coil/update_icon()
if(!_color)
_color = pick("red", "yellow", "blue", "green")
@@ -556,7 +561,7 @@ By design, d1 is the smallest direction and d2 is the highest
icon_state = "coil_[_color]"
name = "cable coil"
-/obj/item/weapon/cable_coil/examine()
+/obj/item/stack/cable_coil/examine()
set src in view(1)
if(amount == 1)
@@ -566,90 +571,24 @@ By design, d1 is the smallest direction and d2 is the highest
else
usr << "A coil of power cable. There are [amount] lengths of cable in the coil."
-/obj/item/weapon/cable_coil/verb/make_restraint()
- set name = "Make Cable Restraints"
- set category = "Object"
-
- var/mob/M = usr
-
- if(ishuman(M) && !M.restrained() && !M.stat && M.canmove)
- if(!isturf(usr.loc))
- return
-
- if(amount <= 14)
- usr << "You need at least 15 lengths to make restraints!"
- return
-
- var/obj/item/weapon/handcuffs/cable/B = new(usr.loc)
- B.icon_state = "cuff_[_color]"
- usr << "You wind some cable together to make some restraints."
- use(15)
- else
- usr << "You cannot do that."
-
- ..()
-
// Items usable on a cable coil :
// - Wirecutters : cut them duh !
// - Cable coil : merge cables
-/obj/item/weapon/cable_coil/attackby(obj/item/weapon/W, mob/user)
- ..()
-
+/obj/item/stack/cable_coil/attackby(obj/item/weapon/W, mob/user)
if((istype(W, /obj/item/weapon/wirecutters)) && (amount > 1))
- amount--
- getFromPool(/obj/item/weapon/cable_coil, user.loc, 1, _color)
+ use(1)
+ getFromPool(/obj/item/stack/cable_coil, user.loc, 1, _color)
user << "You cut a piece off the cable coil."
update_icon()
return
- else if(istype(W, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/C = W
-
- if(C.amount >= max_amount)
- user << "The coil is too long, you cannot add any more cable to it."
- return
-
- if((C.amount + src.amount <= max_amount))
- user << "You join the cable coils together."
- C.give(amount) // give it cable
- use(amount) // make sure this one cleans up right
- return
- else
- var/amt = max_amount - C.amount
- user << "You transfer [amt] length\s of cable from one coil to the other."
- C.give(amt)
- use(amt)
- return
-
-//remove cables from the stack
-/obj/item/weapon/cable_coil/proc/use(var/used)
- if(amount < used)
- return 0
- else if (amount == used) //remove cables from the stack
- //if(ismob(loc)) //handle mob icon update
- //var/mob/M = loc
- //M.unEquip(src)
-
- returnToPool(src)
- else
- amount -= used
- update_icon()
- return 1
-
-// add cables to the stack
-/obj/item/weapon/cable_coil/proc/give(var/extra)
- if(amount + extra > max_amount)
- amount = max_amount
- else
- amount += extra
-
- update_icon()
+ return ..()
///////////////////////////////////////////////
// Cable laying procedures
//////////////////////////////////////////////
// called when cable_coil is clicked on a turf/simulated/floor
-/obj/item/weapon/cable_coil/proc/turf_place(turf/simulated/floor/F, mob/user)
+/obj/item/stack/cable_coil/proc/turf_place(turf/simulated/floor/F, mob/user)
if(!isturf(user.loc))
return
@@ -696,12 +635,12 @@ By design, d1 is the smallest direction and d2 is the highest
if(C.shock(user, 50))
if(prob(50)) // fail
- getFromPool(/obj/item/weapon/cable_coil, C.loc)
+ getFromPool(/obj/item/stack/cable_coil, C.loc)
returnToPool(C)
// called when cable_coil is click on an installed obj/cable
// or click on a turf that already contains a "node" cable
-/obj/item/weapon/cable_coil/proc/cable_join(obj/structure/cable/C, mob/user)
+/obj/item/stack/cable_coil/proc/cable_join(obj/structure/cable/C, mob/user)
var/turf/U = user.loc
if(!isturf(U))
@@ -760,7 +699,7 @@ By design, d1 is the smallest direction and d2 is the highest
if (NC.shock(user, 50))
if (prob(50)) //fail
- new/obj/item/weapon/cable_coil(NC.loc, 1, NC.l_color)
+ new/obj/item/stack/cable_coil(NC.loc, 1, NC.l_color)
returnToPool(NC)
return
@@ -805,7 +744,7 @@ By design, d1 is the smallest direction and d2 is the highest
if(C.shock(user, 50))
if(prob(50)) //fail
- getFromPool(/obj/item/weapon/cable_coil, C.loc, 1, C.l_color)
+ getFromPool(/obj/item/stack/cable_coil, C.loc, 1, C.l_color)
returnToPool(C)
return
@@ -815,45 +754,45 @@ By design, d1 is the smallest direction and d2 is the highest
// Misc.
/////////////////////////////
-/obj/item/weapon/cable_coil/cut
+/obj/item/stack/cable_coil/cut
item_state = "coil_red2"
-/obj/item/weapon/cable_coil/cut/New(loc)
+/obj/item/stack/cable_coil/cut/New(loc)
..(loc)
src.amount = rand(1, 2)
pixel_x = rand(-2, 2)
pixel_y = rand(-2, 2)
update_icon()
-/obj/item/weapon/cable_coil/yellow
+/obj/item/stack/cable_coil/yellow
_color = "yellow"
icon_state = "coil_yellow"
-/obj/item/weapon/cable_coil/blue
+/obj/item/stack/cable_coil/blue
_color = "blue"
icon_state = "coil_blue"
-/obj/item/weapon/cable_coil/green
+/obj/item/stack/cable_coil/green
_color = "green"
icon_state = "coil_green"
-/obj/item/weapon/cable_coil/pink
+/obj/item/stack/cable_coil/pink
_color = "pink"
icon_state = "coil_pink"
-/obj/item/weapon/cable_coil/orange
+/obj/item/stack/cable_coil/orange
_color = "orange"
icon_state = "coil_orange"
-/obj/item/weapon/cable_coil/cyan
+/obj/item/stack/cable_coil/cyan
_color = "cyan"
icon_state = "coil_cyan"
-/obj/item/weapon/cable_coil/white
+/obj/item/stack/cable_coil/white
_color = "white"
icon_state = "coil_white"
-/obj/item/weapon/cable_coil/random/New()
+/obj/item/stack/cable_coil/random/New()
_color = pick("red","yellow","green","blue","pink")
icon_state = "coil_[_color]"
..()
diff --git a/code/modules/power/cable_heavyduty.dm b/code/modules/power/cable_heavyduty.dm
index 48ec29db209..f5336e8a597 100644
--- a/code/modules/power/cable_heavyduty.dm
+++ b/code/modules/power/cable_heavyduty.dm
@@ -1,4 +1,4 @@
-/obj/item/weapon/cable_coil/heavyduty
+/obj/item/stack/cable_coil/heavyduty
name = "heavy cable coil"
icon = 'icons/obj/power.dmi'
icon_state = "wire"
@@ -18,7 +18,7 @@
if(istype(W, /obj/item/weapon/wirecutters))
user << "These cables are too tough to be cut with those [W.name]."
return
- else if(W.type == /obj/item/weapon/cable_coil)
+ else if(W.type == /obj/item/stack/cable_coil)
user << "You will need heavier cables to connect to these."
return
else
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 78849074553..f55d34163b0 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -68,15 +68,15 @@
src.icon_state = "tube-construct-stage1"
if("bulb")
src.icon_state = "bulb-construct-stage1"
- new /obj/item/weapon/cable_coil(get_turf(src.loc), 1, "red")
+ new /obj/item/stack/cable_coil(get_turf(src.loc), 1, "red")
user.visible_message("[user.name] removes the wiring from [src].", \
"You remove the wiring from [src].", "You hear a noise.")
playsound(get_turf(src), 'sound/items/Wirecutter.ogg', 100, 1)
return
- if(istype(W, /obj/item/weapon/cable_coil))
+ if(istype(W, /obj/item/stack/cable_coil))
if (src.stage != 1) return
- var/obj/item/weapon/cable_coil/coil = W
+ var/obj/item/stack/cable_coil/coil = W
coil.use(1)
switch(fixture_type)
if ("tube")
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index bcd6e194e2f..243d64cd24d 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -114,8 +114,8 @@ display round(lastgen) and plasmatank amount
component_parts = newlist(
/obj/item/weapon/stock_parts/matter_bin,
/obj/item/weapon/stock_parts/micro_laser,
- /obj/item/weapon/cable_coil,
- /obj/item/weapon/cable_coil,
+ /obj/item/stack/cable_coil,
+ /obj/item/stack/cable_coil,
/obj/item/weapon/stock_parts/capacitor,
board_path
)
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index 6c1a4c4daa8..4a212a84cab 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -97,8 +97,8 @@
if(..())
return 1
if(panel_open)
- if(istype(W, /obj/item/weapon/cable_coil) && !terminal)
- var/obj/item/weapon/cable_coil/CC = W
+ if(istype(W, /obj/item/stack/cable_coil) && !terminal)
+ var/obj/item/stack/cable_coil/CC = W
if (CC.amount < 10)
user << "You need 10 length cable coil to make a terminal."
@@ -126,7 +126,7 @@
s.set_up(5, 1, src)
s.start()
return
- new /obj/item/weapon/cable_coil(loc,10)
+ new /obj/item/stack/cable_coil(loc,10)
user.visible_message(\
"[user.name] cut the cables and dismantled the power terminal.",\
"You cut the cables and dismantle the power terminal.")
diff --git a/code/modules/reagents/reagent_containers/food/snacks/grown.dm b/code/modules/reagents/reagent_containers/food/snacks/grown.dm
index c6e639ff227..719474d5ad0 100644
--- a/code/modules/reagents/reagent_containers/food/snacks/grown.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks/grown.dm
@@ -85,7 +85,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
- if(istype(W, /obj/item/weapon/cable_coil))
+ if(istype(W, /obj/item/stack/cable_coil))
if(W:amount >= 5)
W:amount -= 5
if(!W:amount) qdel(W)
diff --git a/code/modules/surgery/brainrepair.dm b/code/modules/surgery/brainrepair.dm
index e33e2d23810..1301277696c 100644
--- a/code/modules/surgery/brainrepair.dm
+++ b/code/modules/surgery/brainrepair.dm
@@ -43,7 +43,7 @@
/datum/surgery_step/brain/hematoma
allowed_tools = list(
/obj/item/weapon/FixOVein = 100,
- /obj/item/weapon/cable_coil = 75,
+ /obj/item/stack/cable_coil = 75,
)
priority = 3
diff --git a/code/modules/surgery/eye.dm b/code/modules/surgery/eye.dm
index a4f6997491a..d4515d99453 100644
--- a/code/modules/surgery/eye.dm
+++ b/code/modules/surgery/eye.dm
@@ -91,7 +91,7 @@
/datum/surgery_step/eye/mend_eyes
allowed_tools = list(
/obj/item/weapon/hemostat = 100,
- /obj/item/weapon/cable_coil = 75,
+ /obj/item/stack/cable_coil = 75,
/obj/item/device/assembly/mousetrap = 10, //I don't know. Don't ask me. But I'm leaving it because hilarity.
)
diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm
index fac42a0bbcd..24cee776c7d 100644
--- a/code/modules/surgery/face.dm
+++ b/code/modules/surgery/face.dm
@@ -52,7 +52,7 @@
/datum/surgery_step/face/mend_vocal
allowed_tools = list(
/obj/item/weapon/hemostat = 100,
- /obj/item/weapon/cable_coil = 75,
+ /obj/item/stack/cable_coil = 75,
/obj/item/device/assembly/mousetrap = 10 //I don't know. Don't ask me. But I'm leaving it because hilarity.
)
diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm
index d1b5b81a43d..d75242bac28 100644
--- a/code/modules/surgery/generic.dm
+++ b/code/modules/surgery/generic.dm
@@ -182,7 +182,7 @@
/datum/surgery_step/generic/clamp_bleeders
allowed_tools = list(
/obj/item/weapon/hemostat = 100,
- /obj/item/weapon/cable_coil = 75,
+ /obj/item/stack/cable_coil = 75,
/obj/item/device/assembly/mousetrap = 20,
)
diff --git a/code/modules/surgery/headreattach.dm b/code/modules/surgery/headreattach.dm
index 7f5526b4614..a06321d12bb 100644
--- a/code/modules/surgery/headreattach.dm
+++ b/code/modules/surgery/headreattach.dm
@@ -55,7 +55,7 @@
/datum/surgery_step/head/shape
allowed_tools = list(
/obj/item/weapon/FixOVein = 100,
- /obj/item/weapon/cable_coil = 75,
+ /obj/item/stack/cable_coil = 75,
/obj/item/device/assembly/mousetrap = 10, //ok chinsky
)
@@ -92,7 +92,7 @@
/datum/surgery_step/head/suture
allowed_tools = list(
/obj/item/weapon/hemostat = 100,
- /obj/item/weapon/cable_coil = 60,
+ /obj/item/stack/cable_coil = 60,
/obj/item/weapon/FixOVein = 80,
)
diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm
index e4388893073..6d87f0af373 100644
--- a/code/modules/surgery/organs_internal.dm
+++ b/code/modules/surgery/organs_internal.dm
@@ -465,7 +465,7 @@
/datum/surgery_step/internal/attach_organ
allowed_tools = list(
/obj/item/weapon/FixOVein = 100,
- /obj/item/weapon/cable_coil = 75,
+ /obj/item/stack/cable_coil = 75,
)
min_duration = 100
diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm
index 301788a62bf..36e4dfda02f 100644
--- a/code/modules/surgery/other.dm
+++ b/code/modules/surgery/other.dm
@@ -9,7 +9,7 @@
priority = 2
allowed_tools = list(
/obj/item/weapon/FixOVein = 100,
- /obj/item/weapon/cable_coil = 75,
+ /obj/item/stack/cable_coil = 75,
)
can_infect = 1
diff --git a/html/changelogs/Comic-PR-2065.yml b/html/changelogs/Comic-PR-2065.yml
new file mode 100644
index 00000000000..4b6c9ae0a96
--- /dev/null
+++ b/html/changelogs/Comic-PR-2065.yml
@@ -0,0 +1,5 @@
+# Your name.
+author: Comic
+
+changes:
+ - tweak: Cablecuffs are now made the same way all other stack recipes are.
diff --git a/maps/defficiency.dmm b/maps/defficiency.dmm
index c7133fbcf51..b7636911448 100644
--- a/maps/defficiency.dmm
+++ b/maps/defficiency.dmm
@@ -1264,7 +1264,7 @@
"ayp" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/fore)
"ayq" = (/obj/item/weapon/crowbar,/obj/item/device/flash,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint2)
"ayr" = (/obj/machinery/power/apc{dir = 4; pixel_x = 24; pixel_y = 0},/obj/machinery/camera{c_tag = "Security Checkpoint"; dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint2)
-"ays" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 2; pixel_y = -2},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{icon_state = "floorgrime"},/area/storage/primary)
+"ays" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 2; pixel_y = -2},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{icon_state = "floorgrime"},/area/storage/primary)
"ayt" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/cyan/visible,/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/decal/warning_stripes{icon_state = "bot"},/turf/simulated/floor{icon_state = "dark"},/area/engineering/atmos)
"ayu" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
"ayv" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{icon_state = "floorgrime"},/area/storage/primary)
@@ -1897,7 +1897,7 @@
"aKy" = (/obj/machinery/light_construct/small,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating,/area/derelictparts/fore)
"aKz" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/crowbar,/turf/simulated/floor/plating,/area/derelictparts/fore)
"aKA" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/weldingtool,/turf/simulated/floor/plating,/area/derelictparts/fore)
-"aKB" = (/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/derelictparts/fore)
+"aKB" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/derelictparts/fore)
"aKC" = (/obj/machinery/hologram/holopad{name = "\improper Acid-Proof AI holopad"; unacidable = 1},/turf/simulated/floor/engine,/area/science/xenobiology)
"aKD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/engine,/area/science/telescience)
"aKE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/engine,/area/science/telescience)
@@ -2217,7 +2217,7 @@
"aQG" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
"aQH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/hydroponics)
"aQI" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/wirecutters,/turf/simulated/floor/plating,/area/storage/tech)
-"aQJ" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/weapon/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech)
+"aQJ" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech)
"aQK" = (/obj/structure/table,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech)
"aQL" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/turf/simulated/floor/plating,/area/storage/tech)
"aQM" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/turf/simulated/floor/plating,/area/storage/tech)
@@ -2457,7 +2457,7 @@
"aVm" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/insulated/visible/blue{dir = 4},/obj/machinery/door/poddoor{density = 0; dir = 4; icon_state = "pdoor0"; id_tag = "SM_Rad3"; name = "radiation shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/supermatter_room)
"aVn" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"aVo" = (/obj/structure/table,/obj/item/weapon/storage/fancy/crayons{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/fancy/crayons,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aVp" = (/obj/structure/table,/obj/item/weapon/cable_coil/random{pixel_y = 9},/obj/item/weapon/cable_coil/random{pixel_y = 6},/obj/item/weapon/cable_coil/random{pixel_y = 3},/obj/item/weapon/cable_coil/random,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
+"aVp" = (/obj/structure/table,/obj/item/weapon/storage/wallet/random{pixel_y = 9},/obj/item/weapon/storage/wallet/random{pixel_y = 6},/obj/item/weapon/storage/wallet/random{pixel_y = 3},/obj/item/weapon/storage/wallet/random,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"aVq" = (/obj/structure/table,/obj/item/device/camera,/obj/item/weapon/hand_labeler,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"aVr" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/wood,/area/derelictparts/library)
"aVs" = (/obj/structure/table/woodentable,/obj/item/trash/chips{pixel_x = -4; pixel_y = 8},/turf/simulated/floor/wood,/area/derelictparts/library)
@@ -3304,7 +3304,7 @@
"blB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/engineering/engine)
"blC" = (/obj/machinery/power/smes,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/engineering/engine)
"blD" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id_tag = "xenobio3"; name = "Containment Blast Doors"; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes{tag = "icon-warning (EAST)"; icon_state = "warning"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/science/xenobiology)
-"blE" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil,/obj/item/weapon/circuitboard/airlock,/obj/item/weapon/circuitboard/airlock,/turf/simulated/floor,/area/engineering/engine)
+"blE" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil,/obj/item/weapon/circuitboard/airlock,/obj/item/weapon/circuitboard/airlock,/turf/simulated/floor,/area/engineering/engine)
"blF" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engineering/engine)
"blG" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_y = 32},/turf/simulated/floor/plating,/area/engineering/engine)
"blH" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk,/area)
@@ -3319,7 +3319,7 @@
"blQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/nmpi{tag = "icon-maintguide (NORTH)"; icon_state = "maintguide"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"blR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"blS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; opacity = 0; icon_state = "pdoor0"; id_tag = "xenobio2"; name = "containment blast door"},/turf/simulated/floor/engine,/area/science/xenobiology)
-"blT" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/weapon/cable_coil/random{pixel_y = 3},/turf/simulated/floor{icon_state = "whitepurplecorner"},/area/science/lab)
+"blT" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/weapon/storage/wallet/random{pixel_y = 3},/turf/simulated/floor{icon_state = "whitepurplecorner"},/area/science/lab)
"blU" = (/obj/structure/lamarr,/obj/effect/decal/warning_stripes{tag = "icon-warning (EAST)"; icon_state = "warning"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/science/rd)
"blV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/door/poddoor{density = 0; opacity = 0; icon_state = "pdoor0"; id_tag = "xenobio7"; name = "containment blast door"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/engine,/area/science/xenobiology)
"blW" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/engine,/area/science/xenobiology)
@@ -3590,7 +3590,7 @@
"brb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/ai)
"brc" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"brd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bre" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/weapon/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29},/turf/simulated/floor,/area/science/robotics)
+"bre" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29},/turf/simulated/floor,/area/science/robotics)
"brf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/science/robotics)
"brg" = (/obj/machinery/r_n_d/fabricator/mech,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/science/robotics)
"brh" = (/obj/effect/decal/warning_stripes{tag = "icon-warning (WEST)"; icon_state = "warning"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/science/robotics)
@@ -3635,7 +3635,7 @@
"brU" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"brV" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 4},/obj/structure/window/reinforced/tinted{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/science/robotics)
"brW" = (/obj/structure/rack,/obj/item/clothing/mask/gas,/obj/item/device/multitool,/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/derelictparts/fsderelict)
-"brX" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelictparts/fsderelict)
+"brX" = (/obj/effect/decal/cleanable/dirt,/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelictparts/fsderelict)
"brY" = (/obj/machinery/power/apc{cell_type = 0; dir = 2; icon_state = "apc1"; opened = 1; pixel_x = 0; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/plating,/area/derelictparts/fsderelict)
"brZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
"bsa" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/derelictparts/fsderelict)
@@ -3804,7 +3804,7 @@
"bvh" = (/obj/effect/decal/cleanable/dirt,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/closet/crate,/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/coin/silver,/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/derelictparts/fsderelict)
"bvi" = (/obj/item/weapon/weldingtool,/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/derelictparts/fsderelict)
"bvj" = (/obj/effect/decal/remains/robot{icon_state = "gib7"},/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plating{icon_state = "platingdmg1"},/area/derelictparts/fsderelict)
-"bvk" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/obj/effect/decal/cleanable/generic,/obj/item/stack/sheet/metal{amount = 15},/turf/simulated/floor/plating,/area/derelictparts/fsderelict)
+"bvk" = (/obj/effect/decal/cleanable/dirt,/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/obj/effect/decal/cleanable/generic,/obj/item/stack/sheet/metal{amount = 15},/turf/simulated/floor/plating,/area/derelictparts/fsderelict)
"bvl" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/derelictparts/asderelict)
"bvm" = (/obj/item/stack/rods,/turf/simulated/floor/plating,/area/derelictparts/asderelict)
"bvn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/security/vacantoffice)
@@ -3965,9 +3965,9 @@
"bym" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plating,/area/derelictparts/fsderelict)
"byn" = (/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/derelictparts/fsderelict)
"byo" = (/obj/item/device/assembly/signaler{pixel_x = 7; pixel_y = -4},/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plating,/area/derelictparts/fsderelict)
-"byp" = (/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/maintenance/aft)
+"byp" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/maintenance/aft)
"byq" = (/obj/item/weapon/broken_bottle,/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/derelictparts/fsderelict)
-"byr" = (/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelictparts/fsderelict)
+"byr" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelictparts/fsderelict)
"bys" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating{icon_state = "platingdmg1"},/area/derelictparts/fsderelict)
"byt" = (/obj/machinery/conveyor{dir = 4; id_tag = "QMLoad2"},/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/supply/storage)
"byu" = (/obj/effect/decal/warning_stripes{tag = "icon-loading_area (WEST)"; icon_state = "loading_area"; dir = 8},/turf/simulated/floor,/area/supply/storage)
@@ -4177,7 +4177,7 @@
"bCq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/maintenance/port)
"bCr" = (/obj/machinery/light/small,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/turf/simulated/floor/plating,/area/derelictparts/asderelict)
"bCs" = (/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/turf/simulated/floor/plating,/area/derelictparts/asderelict)
-"bCt" = (/obj/structure/closet/crate,/obj/item/weapon/stock_parts/matter_bin{pixel_x = -4; pixel_y = 4},/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/micro_laser{pixel_x = 6},/obj/item/weapon/stock_parts/micro_laser{pixel_x = 2; pixel_y = -6},/obj/item/weapon/stock_parts/manipulator{pixel_x = -7; pixel_y = 3},/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator{pixel_x = -4; pixel_y = -2},/obj/item/weapon/cable_coil,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/turf/simulated/floor/plating,/area/derelictparts/asderelict)
+"bCt" = (/obj/structure/closet/crate,/obj/item/weapon/stock_parts/matter_bin{pixel_x = -4; pixel_y = 4},/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/micro_laser{pixel_x = 6},/obj/item/weapon/stock_parts/micro_laser{pixel_x = 2; pixel_y = -6},/obj/item/weapon/stock_parts/manipulator{pixel_x = -7; pixel_y = 3},/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator{pixel_x = -4; pixel_y = -2},/obj/item/stack/cable_coil,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/turf/simulated/floor/plating,/area/derelictparts/asderelict)
"bCu" = (/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/derelictparts/asderelict)
"bCv" = (/obj/machinery/light_construct/small{dir = 1},/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/vomit,/obj/item/weapon/broken_bottle,/obj/structure/toilet{desc = "The HT-451, a torque rotation-based, waste disposal unit for small matter. This one is a gruesome sight indeed."; dir = 4},/turf/simulated/floor/plating{icon_state = "platingdmg1"},/area/derelictparts/asderelict)
"bCw" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/effect/decal/remains/robot{icon_state = "gibdown"},/turf/simulated/floor/plating,/area/derelictparts/asderelict)
@@ -4257,7 +4257,7 @@
"bDS" = (/obj/machinery/mass_driver{dir = 4; id_tag = "trash"},/turf/simulated/floor/plating,/area/maintenance/disposal)
"bDT" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet{dir = 4; throw_range = 1; throw_speed = 1},/turf/simulated/floor/plating,/area/maintenance/disposal)
"bDU" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/radio,/turf/simulated/floor{icon_state = "floorscorched2"},/area/derelictparts/asderelict)
-"bDV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/cable_coil{pixel_x = 2; pixel_y = -2},/turf/simulated/floor{icon_state = "floorgrime"},/area/derelictparts/asderelict)
+"bDV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil{pixel_x = 2; pixel_y = -2},/turf/simulated/floor{icon_state = "floorgrime"},/area/derelictparts/asderelict)
"bDW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/wirecutters,/obj/item/device/multitool,/turf/simulated/floor{icon_state = "damaged2"},/area/derelictparts/asderelict)
"bDX" = (/obj/machinery/conveyor{dir = 1; id_tag = "garbage"},/obj/machinery/mineral/output,/turf/simulated/floor,/area/maintenance/disposal)
"bDY" = (/obj/effect/landmark/start{name = "Mobile MMI"},/turf/simulated/floor/engine,/area/construction/mommi_nest)
@@ -4267,7 +4267,7 @@
"bEc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Derelict Parts Access"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/derelictparts/asderelict)
"bEd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/assembly/signaler{pixel_x = 5; pixel_y = 3},/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/derelictparts/asderelict)
"bEe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/derelictparts/asderelict)
-"bEf" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelictparts/asderelict)
+"bEf" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelictparts/asderelict)
"bEg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/derelictparts/asderelict)
"bEh" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/assembly/prox_sensor,/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/derelictparts/asderelict)
"bEi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/plating{icon_state = "platingdmg1"},/area/derelictparts/asderelict)
@@ -5015,7 +5015,7 @@
"bSw" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor/plating,/area/derelictparts/port)
"bSx" = (/obj/item/weapon/circuitboard/fire_alarm{pixel_x = -7; pixel_y = 6},/obj/item/weapon/circuitboard/airlock{pixel_x = 2; pixel_y = -5},/obj/effect/decal/cleanable/dirt,/obj/item/stack/sheet/metal{amount = 6},/obj/item/stack/sheet/glass/glass{amount = 8},/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/derelictparts/port)
"bSy" = (/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/derelictparts/port)
-"bSz" = (/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/derelictparts/port)
+"bSz" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/derelictparts/port)
"bSA" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/derelictparts/port)
"bSB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/effect/decal/cleanable/ash,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/derelictparts/port)
"bSC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/effect/decal/cleanable/dirt,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/derelictparts/port)
@@ -5254,7 +5254,7 @@
"bXb" = (/obj/item/weapon/circuitboard/air_alarm,/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/derelictparts/port)
"bXc" = (/obj/item/stack/rods,/obj/item/weapon/storage/box/lights/mixed,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/derelictparts/port)
"bXd" = (/obj/structure/rack,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/cell/high,/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plating,/area/derelictparts/port)
-"bXe" = (/obj/structure/rack,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/cell/high,/obj/item/weapon/cable_coil{amount = 12},/turf/simulated/floor/plating,/area/derelictparts/port)
+"bXe" = (/obj/structure/rack,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/cell/high,/obj/item/stack/cable_coil{amount = 12},/turf/simulated/floor/plating,/area/derelictparts/port)
"bXf" = (/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/plating,/area/derelictparts/port)
"bXg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/window/reinforced,/obj/structure/closet,/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/extinguisher,/obj/item/clothing/mask/gas,/obj/item/device/flashlight/flare,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/derelictparts/port)
"bXh" = (/obj/structure/stool/bed,/turf/simulated/floor/plating{icon_state = "platingdmg1"},/area/derelictparts/port)
@@ -5329,7 +5329,7 @@
"bYy" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/derelictparts/port)
"bYz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/derelictparts/port)
"bYA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/derelictparts/port)
-"bYB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/item/weapon/cable_coil/yellow{amount = 6},/turf/simulated/floor/plating{icon_state = "platingdmg1"},/area/derelictparts/port)
+"bYB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/item/stack/cable_coil/yellow{amount = 6},/turf/simulated/floor/plating{icon_state = "platingdmg1"},/area/derelictparts/port)
"bYC" = (/obj/item/weapon/stock_parts/matter_bin,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/derelictparts/port)
"bYD" = (/obj/item/clothing/gloves/black,/turf/simulated/floor/plating,/area/derelictparts/port)
"bYE" = (/obj/item/weapon/lighter{icon_state = "lighter-r"},/obj/item/weapon/lighter/random,/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/derelictparts/port)
@@ -5805,7 +5805,7 @@
"chG" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/hallway/primary/aft)
"chH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/derelictparts/apderelict)
"chI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/derelictparts/apderelict)
-"chJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelictparts/apderelict)
+"chJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelictparts/apderelict)
"chK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/trash/candy,/turf/simulated/floor/plating,/area/derelictparts/apderelict)
"chL" = (/obj/item/device/analyzer,/turf/simulated/floor/plating,/area/derelictparts/apderelict)
"chM" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/derelictparts/apderelict)
@@ -6035,7 +6035,7 @@
"cmc" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/library)
"cmd" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library)
"cme" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/library)
-"cmf" = (/obj/effect/decal/remains/robot{icon_state = "gibdown"},/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelictparts/aft)
+"cmf" = (/obj/effect/decal/remains/robot{icon_state = "gibdown"},/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelictparts/aft)
"cmg" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library)
"cmh" = (/obj/structure/table/woodentable,/obj/item/device/camera_film,/obj/item/device/camera_film,/turf/simulated/floor/wood,/area/library)
"cmi" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/wood,/area/library)
@@ -6137,7 +6137,7 @@
"coa" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar/panel{id_tag = "aftportsolar"; name = "Aft Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aport)
"cob" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless{icon_state = "platingdmg1"},/area/solar/aport)
"coc" = (/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/wooden,/obj/effect/decal/warning_stripes{tag = "icon-warning (WEST)"; icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/derelictparts/aft)
-"cod" = (/obj/item/weapon/caution/cone,/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"},/turf/simulated/floor/plating,/area/derelictparts/aft)
+"cod" = (/obj/item/weapon/caution/cone,/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"},/turf/simulated/floor/plating,/area/derelictparts/aft)
"coe" = (/obj/structure/closet/crate,/obj/item/weapon/book/manual/engineering_construction,/obj/effect/decal/warning_stripes{tag = "icon-warning (WEST)"; icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/derelictparts/aft)
"cof" = (/obj/structure/rack,/obj/item/weapon/minihoe,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/derelictparts/aft)
"cog" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating,/area/derelictparts/aft)
@@ -6975,7 +6975,7 @@
"cEg" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor{icon_state = "floorgrime"},/area/janitor)
"cEh" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/hand_labeler,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{icon_state = "dark-markings"},/area/ai_monitored/storage/eva)
"cEi" = (/obj/structure/closet/crate/rcd,/obj/machinery/light,/obj/machinery/light_switch{pixel_x = -4; pixel_y = -27},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/ai_monitored/storage/eva)
-"cEj" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/multitool,/turf/simulated/floor{icon_state = "dark-markings"; dir = 1},/area/ai_monitored/storage/eva)
+"cEj" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/multitool,/turf/simulated/floor{icon_state = "dark-markings"; dir = 1},/area/ai_monitored/storage/eva)
"cEk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig)
"cEl" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/turf/space,/area)
"cEm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; opacity = 0; icon_state = "pdoor0"; id_tag = "bridge blast"; name = "bridge blast door"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/bridge)
@@ -7634,7 +7634,7 @@
"cQP" = (/obj/item/weapon/stock_parts/scanning_module,/turf/space,/area)
"cQQ" = (/obj/item/weapon/stock_parts/console_screen,/turf/space,/area)
"cQR" = (/obj/item/weapon/camera_assembly,/turf/space,/area)
-"cQS" = (/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/space,/area)
+"cQS" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/space,/area)
"cQT" = (/obj/item/device/assembly/igniter,/turf/space,/area)
"cQU" = (/obj/item/device/assembly/prox_sensor,/turf/space,/area)
"cQV" = (/obj/item/device/assembly/timer,/turf/space,/area)
@@ -7996,7 +7996,7 @@
"cXN" = (/obj/item/weapon/shard,/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"cXO" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"cXP" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"cXQ" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/weapon/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
+"cXQ" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"cXR" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"cXS" = (/obj/structure/rack,/obj/item/clothing/suit/syndicatefake,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"cXT" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
@@ -8048,7 +8048,7 @@
"cYN" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/no_ethereal)
"cYO" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area/no_ethereal)
"cYP" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/no_ethereal)
-"cYQ" = (/obj/item/weapon/cable_coil/cut{amount = 1},/turf/simulated/floor/plating/airless,/area/no_ethereal)
+"cYQ" = (/obj/item/stack/cable_coil/cut{amount = 1},/turf/simulated/floor/plating/airless,/area/no_ethereal)
"cYR" = (/obj/structure/stool/bed,/obj/effect/decal/remains/human,/turf/simulated/floor/airless,/area/no_ethereal)
"cYS" = (/obj/structure/window/reinforced,/turf/space,/area)
"cYT" = (/obj/structure/displaycase/gooncode,/obj/effect/decal/warning_stripes{icon_state = "unloading"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/goonroom)
@@ -8312,9 +8312,9 @@
"ddR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/bridge/access)
"ddS" = (/obj/machinery/door/airlock/command{name = "E.V.A."; req_access = null; req_access_txt = "18"},/turf/simulated/floor,/area/derelict/bridge/access)
"ddT" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station/start)
-"ddU" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/plating/airless,/area)
+"ddU" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area)
"ddV" = (/turf/simulated/floor/airless{icon_state = "solarpanel"},/area)
-"ddW" = (/obj/item/weapon/cable_coil/cut,/turf/space,/area)
+"ddW" = (/obj/item/stack/cable_coil/cut,/turf/space,/area)
"ddX" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/bridge/access)
"ddY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/derelict/bridge/access)
"ddZ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station/start)
@@ -8335,7 +8335,7 @@
"deo" = (/obj/structure/computerframe,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge)
"dep" = (/obj/structure/table,/turf/simulated/floor,/area/derelict/bridge)
"deq" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/derelict/bridge)
-"der" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/derelict/bridge)
+"der" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/derelict/bridge)
"des" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/derelict/bridge)
"det" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor,/area/derelict/bridge)
"deu" = (/obj/item/weapon/grenade/empgrenade,/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge)
@@ -8413,7 +8413,7 @@
"dfO" = (/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dfP" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dfQ" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"dfR" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/airless,/area/derelict/bridge/access)
+"dfR" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dfS" = (/obj/structure/table,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dfT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dfU" = (/turf/simulated/floor/airless{icon_state = "circuit"},/area/derelict/singularity_engine)
@@ -8440,7 +8440,7 @@
"dgp" = (/obj/machinery/power/terminal,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/djstation)
"dgq" = (/obj/item/weapon/screwdriver,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dgr" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/djstation)
-"dgs" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
+"dgs" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dgt" = (/obj/effect/decal/warning_stripes{dir = 2; icon_state = "radiation-w"},/obj/machinery/door/window{dir = 2; icon_state = "right"; name = "Radiation Zone Door"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "dark"},/area/djstation)
"dgu" = (/turf/simulated/wall,/area/derelict/hallway/primary)
"dgv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/djstation)
@@ -8655,7 +8655,7 @@
"dkw" = (/obj/structure/table,/turf/simulated/floor/airless,/area)
"dkx" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area)
"dky" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area)
-"dkz" = (/obj/structure/lattice,/obj/item/weapon/cable_coil/cut,/turf/space,/area)
+"dkz" = (/obj/structure/lattice,/obj/item/stack/cable_coil/cut,/turf/space,/area)
"dkA" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/derelict/arrival)
"dkB" = (/obj/structure/stool,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
"dkC" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Access"; req_access_txt = "24"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
@@ -8692,7 +8692,7 @@
"dlh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/wirecutters,/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
"dli" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
"dlj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"dlk" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
+"dlk" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
"dll" = (/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
"dlm" = (/turf/simulated/floor/plating/airless/catwalk,/area)
"dln" = (/obj/machinery/door/airlock/maintenance{name = "Aux Storage"; req_access_txt = "23"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
@@ -9389,7 +9389,7 @@
"dyC" = (/obj/machinery/door/airlock/glass{name = "Crew Area"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/mine/living_quarters)
"dyD" = (/obj/structure/extinguisher_cabinet{pixel_y = -28},/obj/machinery/conveyor_switch/oneway{id_tag = "mining_internal"; name = "mining conveyor"},/obj/machinery/camera{c_tag = "Production Room"; dir = 1; network = list("MINE")},/turf/simulated/floor,/area/mine/production)
"dyE" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 1; pixel_y = 2},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{icon_state = "dark-markings"},/area/mine/eva)
-"dyF" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{icon_state = "dark-markings"},/area/mine/eva)
+"dyF" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{icon_state = "dark-markings"},/area/mine/eva)
"dyG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/mine/living_quarters)
"dyH" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/device/radio/off,/obj/item/device/radio/off,/turf/simulated/floor{icon_state = "dark-markings"; dir = 1},/area/mine/eva)
"dyI" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/device/multitool,/obj/item/device/flashlight,/turf/simulated/floor{icon_state = "dark-markings"; dir = 1},/area/mine/eva)
@@ -9757,7 +9757,7 @@
"dGa" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station/start)
"dGb" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station/start)
"dGc" = (/obj/structure/table,/obj/item/clothing/glasses/night{pixel_x = -6; pixel_y = 6},/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night{pixel_x = -3; pixel_y = 3},/obj/item/clothing/glasses/night{pixel_x = 3; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = 6; pixel_y = -6},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station/start)
-"dGd" = (/obj/structure/table,/obj/item/weapon/cable_coil{amount = 50},/obj/item/device/assembly/prox_sensor,/obj/item/device/assembly/prox_sensor,/obj/item/device/assembly/prox_sensor,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station/start)
+"dGd" = (/obj/structure/table,/obj/item/stack/cable_coil{amount = 50},/obj/item/device/assembly/prox_sensor,/obj/item/device/assembly/prox_sensor,/obj/item/device/assembly/prox_sensor,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station/start)
"dGe" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station/start)
"dGf" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/item/weapon/storage/toolbox/syndicate,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station/start)
"dGg" = (/obj/machinery/door/window{name = "Infirmary"; req_access_txt = "150"},/turf/unsimulated/floor{tag = "icon-dark blue stripe (EAST)"; icon_state = "dark blue stripe"; dir = 4},/area/syndicate_station/start)
@@ -9809,7 +9809,7 @@
"dHb" = (/obj/machinery/vending/engineering,/turf/simulated/wall/r_wall,/area/derelict/research)
"dHc" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
"dHd" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/light/small{dir = 8},/obj/structure/rack,/obj/item/stack/sheet/glass/glass{amount = 50},/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
-"dHe" = (/obj/structure/table,/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/weapon/cable_coil/random,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
+"dHe" = (/obj/structure/table,/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/weapon/storage/wallet/random,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
"dHf" = (/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
"dHg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/computer/merch,/turf/simulated/floor,/area/supply/storage)
"dHh" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor,/area/research_outpost/gearstore)
@@ -9956,7 +9956,7 @@
"dJX" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
"dJY" = (/turf/simulated/floor/airless{broken = 1; icon_state = "damaged4"},/area/derelict/singularity_engine)
"dJZ" = (/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
-"dKa" = (/obj/item/weapon/cable_coil/cut,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
+"dKa" = (/obj/item/stack/cable_coil/cut,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
"dKb" = (/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
"dKc" = (/obj/structure/window/reinforced,/obj/item/weapon/table_parts/reinforced,/obj/item/weapon/table_parts/reinforced,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged4"},/area/derelict/singularity_engine)
"dKd" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged4"},/area/derelict/singularity_engine)
@@ -9968,7 +9968,7 @@
"dKj" = (/obj/structure/noticeboard{pixel_y = 28},/turf/simulated/wall,/area/derelict/singularity_engine)
"dKk" = (/obj/machinery/door/window{dir = 4; base_state = "left"; name = "Heads of Staff"; req_access_txt = "19"},/turf/simulated/floor,/area/derelict/bridge/access)
"dKl" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
-"dKm" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged4"},/area/derelict/singularity_engine)
+"dKm" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged4"},/area/derelict/singularity_engine)
"dKn" = (/obj/item/weapon/paper{info = "Objective #1: Destroy the station with a nuclear device."; name = "Objectives of a Nuclear Operative"},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dKo" = (/obj/item/weapon/shard,/obj/structure/grille{density = 0; destroyed = 1; health = 0; icon_state = "brokengrille"},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; name = "Syndicate agent remains"},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dKp" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
@@ -9976,11 +9976,11 @@
"dKr" = (/obj/structure/table,/obj/machinery/light/small,/obj/item/weapon/stamp/denied,/turf/simulated/floor,/area/derelict/bridge)
"dKs" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dKt" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
-"dKu" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
+"dKu" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
"dKv" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"dKw" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
+"dKw" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
"dKx" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
-"dKy" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
+"dKy" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dKz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dKA" = (/obj/structure/table,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dKB" = (/obj/structure/dispenser,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
diff --git a/maps/metaclub.dmm b/maps/metaclub.dmm
index 33538769365..fed0c469d13 100644
--- a/maps/metaclub.dmm
+++ b/maps/metaclub.dmm
@@ -93,7 +93,7 @@
"abO" = (/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/supply/miningdock{name = "\improper Mining Office"})
"abP" = (/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/security/prison)
"abQ" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/supply/miningdock{name = "\improper Mining Office"})
-"abR" = (/obj/structure/closet/crate,/obj/machinery/light/small{dir = 4},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor{dir = 1; icon_state = "floor"},/area/supply/miningdock{name = "\improper Mining Office"})
+"abR" = (/obj/structure/closet/crate,/obj/machinery/light/small{dir = 4},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor{dir = 1; icon_state = "floor"},/area/supply/miningdock{name = "\improper Mining Office"})
"abS" = (/obj/structure/closet/secure_closet/miner,/obj/machinery/camera{c_tag = "Cargo - Mining Office"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "brown"},/area/supply/miningdock{name = "\improper Mining Office"})
"abT" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk1"},/area/solar/auxstarboard)
"abU" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/lattice,/turf/space,/area)
@@ -620,7 +620,7 @@
"alV" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"alW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/fore)
"alX" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
-"alY" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/obj/item/weapon/crowbar/red,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
+"alY" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/crowbar/red,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"alZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"ama" = (/obj/item/weapon/caution/cone,/turf/simulated/floor/plating{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"amb" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/book/manual/chef_recipes,/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/grenade/smokebomb,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
@@ -1519,7 +1519,7 @@
"aDk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/supply/sorting{name = "\improper Warehouse"})
"aDl" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "floorgrime"},/area/supply/sorting{name = "\improper Warehouse"})
"aDm" = (/obj/structure/closet/crate,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/ore/glass,/turf/simulated/floor{icon_state = "floorgrime"},/area/supply/sorting{name = "\improper Warehouse"})
-"aDn" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil,/obj/item/weapon/circuitboard/airlock,/obj/item/weapon/circuitboard/airlock,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/effect/decal/warning_stripes{icon_state = "bot"},/obj/machinery/camera{c_tag = "Engineering - Equipment Storage"; dir = 1; network = list("SS13")},/turf/simulated/floor{dir = 2; icon_state = "floor"},/area/engineering/engine)
+"aDn" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil,/obj/item/weapon/circuitboard/airlock,/obj/item/weapon/circuitboard/airlock,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/effect/decal/warning_stripes{icon_state = "bot"},/obj/machinery/camera{c_tag = "Engineering - Equipment Storage"; dir = 1; network = list("SS13")},/turf/simulated/floor{dir = 2; icon_state = "floor"},/area/engineering/engine)
"aDo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/storage/nuke_storage)
"aDp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -30},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/storage/nuke_storage)
"aDq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/mob/living/simple_animal/mouse/brown/Tom,/turf/simulated/floor{tag = "icon-vault (SOUTHEAST)"; icon_state = "vault"; dir = 6},/area/storage/nuke_storage)
@@ -2010,7 +2010,7 @@
"aMH" = (/obj/structure/table,/obj/item/clothing/gloves/fyellow,/obj/item/device/gps,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/storage/primary)
"aMI" = (/turf/simulated/floor{dir = 1; icon_state = "brown"},/area/storage/primary)
"aMJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "brown"},/area/storage/primary)
-"aMK" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 2; pixel_y = -2},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = 5},/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{dir = 1; icon_state = "brown"},/area/storage/primary)
+"aMK" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 2; pixel_y = -2},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 5},/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{dir = 1; icon_state = "brown"},/area/storage/primary)
"aML" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{dir = 1; icon_state = "brown"},/area/storage/primary)
"aMM" = (/obj/machinery/vending/assist,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "brown"},/area/storage/primary)
"aMN" = (/obj/machinery/vending/tool,/turf/simulated/floor{dir = 1; icon_state = "brown"},/area/storage/primary)
@@ -2782,7 +2782,7 @@
"bbz" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/storage/tech)
"bbA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/storage/tech)
"bbB" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "dark"},/area/storage/tech)
-"bbC" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/weapon/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/effect/decal/warning_stripes{icon_state = "bot"},/turf/simulated/floor{icon_state = "dark"},/area/storage/tech)
+"bbC" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/effect/decal/warning_stripes{icon_state = "bot"},/turf/simulated/floor{icon_state = "dark"},/area/storage/tech)
"bbD" = (/obj/effect/decal/warning_stripes{tag = "icon-warning (EAST)"; icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/engineering/mechanics)
"bbE" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/engineering/ce)
"bbF" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/weapon/reagent_containers/pill/kelotane{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "neutral"},/area/engineering/ce)
@@ -3666,7 +3666,7 @@
"bsz" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "neutralcorner"},/area/hallway/primary/central)
"bsA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/art)
"bsB" = (/obj/machinery/light_switch{pixel_x = 0; pixel_y = 28},/obj/machinery/photocopier,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/storage/art)
-"bsC" = (/obj/structure/table,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/obj/item/weapon/airlock_painter,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/camera{c_tag = "Supplies - Art Storage"; dir = 2; network = list("SS13")},/turf/simulated/floor,/area/storage/art)
+"bsC" = (/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/airlock_painter,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/camera{c_tag = "Supplies - Art Storage"; dir = 2; network = list("SS13")},/turf/simulated/floor,/area/storage/art)
"bsD" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/storage/art)
"bsE" = (/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTHWEST)"; icon_state = "warning"; dir = 9},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "floor"},/area/engineering/engine)
"bsF" = (/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "floor"},/area/engineering/engine)
@@ -4145,7 +4145,7 @@
"bBK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/hallway/secondary/entry)
"bBL" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/hallway/secondary/entry)
"bBM" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/hallway/secondary/entry)
-"bBN" = (/obj/structure/rack,/obj/item/weapon/cable_coil{pixel_x = -1; pixel_y = -3},/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
+"bBN" = (/obj/structure/rack,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = -3},/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"bBO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"bBP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"bBQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
@@ -5236,7 +5236,7 @@
"bWJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/starboard)
"bWK" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/hallway/primary/starboard)
"bWL" = (/obj/machinery/door/airlock/maintenance{name = "Storage Room"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/starboard)
-"bWM" = (/obj/item/weapon/cable_coil{amount = 5},/turf/simulated/floor/plating,/area/maintenance/starboard)
+"bWM" = (/obj/item/stack/cable_coil{amount = 5},/turf/simulated/floor/plating,/area/maintenance/starboard)
"bWN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "purplecorner"},/area/hallway/primary/aft)
"bWO" = (/obj/machinery/pipedispenser,/turf/simulated/floor{icon_state = "dark"},/area/engineering/atmos)
"bWP" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/engineering/atmos)
@@ -5332,7 +5332,7 @@
"bYB" = (/turf/simulated/floor/plating{icon_state = "floor"; dir = 4},/area/maintenance/aft{name = "Aft Maintenance"})
"bYC" = (/obj/machinery/recharge_station,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"bYD" = (/turf/simulated/floor/plating{icon_state = "floor"; dir = 8},/area/maintenance/aft{name = "Aft Maintenance"})
-"bYE" = (/obj/structure/rack,/obj/item/weapon/cable_coil{pixel_x = -1; pixel_y = -3},/obj/item/weapon/cable_coil,/obj/item/weapon/wirecutters,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
+"bYE" = (/obj/structure/rack,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = -3},/obj/item/stack/cable_coil,/obj/item/weapon/wirecutters,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"bYF" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"bYG" = (/obj/item/weapon/rack_parts,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"bYH" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central)
@@ -6246,7 +6246,7 @@
"cqf" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo)
"cqg" = (/obj/structure/closet/secure_closet/CMO,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 26},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 30; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo)
"cqh" = (/obj/structure/table,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
-"cqi" = (/obj/item/clothing/glasses/science{pixel_x = 2; pixel_y = 4},/obj/item/clothing/glasses/science,/obj/structure/table,/obj/item/weapon/cable_coil,/obj/item/weapon/cable_coil,/obj/machinery/camera{c_tag = "Medbay - Chemistry"; dir = 4; network = list("SS13","Medbay")},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
+"cqi" = (/obj/item/clothing/glasses/science{pixel_x = 2; pixel_y = 4},/obj/item/clothing/glasses/science,/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/machinery/camera{c_tag = "Medbay - Chemistry"; dir = 4; network = list("SS13","Medbay")},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"cqj" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"cqk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/science/robotics)
"cql" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo)
@@ -6398,7 +6398,7 @@
"ctb" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 6; icon_state = "floor"},/area/medical/cryo)
"ctc" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"},/area/medical/medbay{name = "Medbay Central"})
"ctd" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo)
-"cte" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/table/reinforced,/obj/item/weapon/cable_coil,/obj/item/weapon/cable_coil,/turf/simulated/floor{dir = 1; icon_state = "floor"},/area/science/lab)
+"cte" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/table/reinforced,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor{dir = 1; icon_state = "floor"},/area/science/lab)
"ctf" = (/obj/item/stack/sheet/glass/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/obj/structure/table/reinforced,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = -30},/turf/simulated/floor{dir = 1; icon_state = "floor"},/area/science/lab)
"ctg" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/stool/bed/chair/office/light,/obj/effect/landmark/start{name = "Chief Medical Officer"},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo)
"cth" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "floor"},/area/science/lab)
@@ -6590,7 +6590,7 @@
"cwN" = (/obj/effect/spawner/lootdrop{loot = list("/obj/structure/grille","/obj/structure/grille","/obj/structure/grille","/obj/structure/grille","/obj/structure/grille","/obj/item/weapon/cigbutt","/obj/item/trash/cheesie","/obj/item/trash/candy","/obj/item/trash/chips","/obj/item/trash/deadmouse","/obj/item/trash/pistachios","/obj/item/trash/plate","/obj/item/trash/popcorn","/obj/item/trash/raisins","/obj/item/trash/sosjerky","/obj/item/trash/syndi_cakes"); name = "maint grille or trash spawner"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cwO" = (/obj/structure/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/device/flashlight/pen{pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cwP" = (/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
-"cwQ" = (/obj/structure/closet/crate,/obj/item/weapon/cable_coil,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
+"cwQ" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cwR" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/clothing/accessory/stethoscope,/obj/machinery/power/apc{dir = 8; name = "Patient Room A APC"; pixel_x = -26; pixel_y = 0},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/medical/patients_rooms{name = "Patient Room A"})
"cwS" = (/obj/structure/stool/bed/chair/office/light{dir = 8},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera{c_tag = "Medbay - Patient's Room - A"; dir = 1; network = list("SS13","Medbay")},/turf/simulated/floor{icon_state = "white"},/area/medical/patients_rooms{name = "Patient Room A"})
"cwT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/medical/genetics_cloning)
@@ -6703,7 +6703,7 @@
"cyW" = (/obj/machinery/computer/mech_bay_power_console,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/bluegrid,/area/science/chargebay)
"cyX" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/science/chargebay)
"cyY" = (/turf/simulated/floor,/area/science/chargebay)
-"cyZ" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/cable_coil{pixel_x = -1; pixel_y = -3},/obj/item/weapon/cable_coil,/turf/simulated/floor,/area/science/chargebay)
+"cyZ" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = -3},/obj/item/stack/cable_coil,/turf/simulated/floor,/area/science/chargebay)
"cza" = (/obj/structure/table,/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/camera{c_tag = "Science - Mech Bay - N"; dir = 8; network = list("SS13","RD")},/turf/simulated/floor,/area/science/chargebay)
"czb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/camera{c_tag = "Science - Hallway - C"; dir = 4; network = list("SS13","RD")},/turf/simulated/floor{icon_state = "white"},/area/science/hallway{name = "Research Division"})
"czc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/science/hallway{name = "Research Division"})
@@ -6777,7 +6777,7 @@
"cAt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/genetics_cloning)
"cAu" = (/obj/structure/stool/bed/roller,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{dir = 10; icon_state = "whiteblue"},/area/medical/genetics_cloning)
"cAv" = (/obj/machinery/power/apc{dir = 2; name = "Cloning Lab APC"; pixel_x = 0; pixel_y = -28},/obj/structure/cable/yellow,/obj/structure/stool/bed/roller,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/medical/genetics_cloning)
-"cAw" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/multitool{pixel_x = 3},/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/multitool{pixel_x = 3},/obj/item/weapon/cable_coil,/obj/effect/decal/warning_stripes{icon_state = "bot"},/obj/machinery/door_control{dir = 2; id_tag = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 0; pixel_y = 26},/turf/simulated/floor,/area/science/robotics)
+"cAw" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/multitool{pixel_x = 3},/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/multitool{pixel_x = 3},/obj/item/stack/cable_coil,/obj/effect/decal/warning_stripes{icon_state = "bot"},/obj/machinery/door_control{dir = 2; id_tag = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 0; pixel_y = 26},/turf/simulated/floor,/area/science/robotics)
"cAx" = (/obj/structure/table,/obj/item/weapon/storage/box/rxglasses{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 6; icon_state = "whiteblue"},/area/medical/genetics_cloning)
"cAy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Test Subject Cell"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/virology)
"cAz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/centcom{name = "Morgue"; opacity = 1; req_access_txt = "6"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
@@ -6800,7 +6800,7 @@
"cAQ" = (/obj/structure/closet/secure_closet/scientist,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/storage/backpack/satchel_tox{pixel_x = -5; pixel_y = 2},/turf/simulated/floor{dir = 2; icon_state = "floor"},/area/science/mixing{name = "\improper Toxins Lab"})
"cAR" = (/obj/machinery/atmospherics/unary/cold_sink/freezer,/turf/simulated/floor{dir = 2; icon_state = "floor"},/area/science/mixing{name = "\improper Toxins Lab"})
"cAS" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 2; icon_state = "floor"},/area/science/mixing{name = "\improper Toxins Lab"})
-"cAT" = (/obj/structure/table,/obj/item/weapon/cable_coil,/obj/item/device/assembly/igniter{pixel_x = -4; pixel_y = -4},/obj/item/weapon/screwdriver{pixel_y = 16},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; initialize_directions = 11},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/science/hallway{name = "Research Division"})
+"cAT" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/device/assembly/igniter{pixel_x = -4; pixel_y = -4},/obj/item/weapon/screwdriver{pixel_y = 16},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; initialize_directions = 11},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/science/hallway{name = "Research Division"})
"cAU" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/camera{c_tag = "Science - Toxins Lab - N"; dir = 2; network = list("SS13","RD")},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 2; icon_state = "floor"},/area/science/mixing{name = "\improper Toxins Lab"})
"cAV" = (/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 8},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor{dir = 2; icon_state = "floor"},/area/science/mixing{name = "\improper Toxins Lab"})
"cAW" = (/obj/machinery/atmospherics/portables_connector,/obj/structure/sign/nosmoking_2{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "floor"},/area/science/mixing{name = "\improper Toxins Lab"})
@@ -7906,7 +7906,7 @@
"cWh" = (/obj/machinery/door/poddoor{id_tag = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac)
"cWi" = (/obj/machinery/sparker{id_tag = "Xenobio"; pixel_x = -25},/turf/simulated/floor/engine,/area/science/xenobiology)
"cWj" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; unacidable = 1},/turf/simulated/floor/engine,/area/science/xenobiology)
-"cWk" = (/obj/structure/table,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/weapon/cable_coil,/obj/item/device/multitool,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/engine,/area/science/xenobiology)
+"cWk" = (/obj/structure/table,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/stack/cable_coil,/obj/item/device/multitool,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/engine,/area/science/xenobiology)
"cWl" = (/turf/space,/area/syndicate_station/south)
"cWm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/full/reinforced,/turf/unsimulated/floor,/area/centcom/evac)
"cWn" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/engine,/area/science/xenobiology)
@@ -8327,7 +8327,7 @@
"dem" = (/obj/structure/closet/crate,/obj/item/ammo_casing/rocket_rpg,/obj/item/ammo_casing/rocket_rpg,/obj/item/ammo_casing/rocket_rpg,/obj/item/ammo_casing/rocket_rpg,/obj/item/ammo_casing/rocket_rpg,/obj/item/ammo_casing/rocket_rpg,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start)
"den" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/device/assembly/infra{pixel_x = 5; pixel_y = 5},/obj/item/device/assembly/infra{pixel_x = -5; pixel_y = 5},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start)
"deo" = (/obj/structure/table,/obj/item/clothing/glasses/night{pixel_y = -4},/obj/item/clothing/glasses/night{pixel_y = -2},/obj/item/clothing/glasses/night{pixel_y = 2},/obj/item/clothing/glasses/night{pixel_y = 6},/obj/item/clothing/glasses/night{pixel_y = 10},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"dep" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 6},/obj/item/device/assembly/prox_sensor{pixel_x = -4; pixel_y = 6},/obj/item/device/assembly/signaler{pixel_x = -8},/obj/item/device/assembly/signaler{pixel_x = -4; pixel_y = 0},/obj/item/device/assembly/prox_sensor{pixel_x = 0; pixel_y = 6},/obj/item/device/assembly/signaler{pixel_x = 0; pixel_y = 0},/obj/item/device/assembly/signaler{pixel_x = 4; pixel_y = 0},/obj/item/weapon/cable_coil,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"dep" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 6},/obj/item/device/assembly/prox_sensor{pixel_x = -4; pixel_y = 6},/obj/item/device/assembly/signaler{pixel_x = -8},/obj/item/device/assembly/signaler{pixel_x = -4; pixel_y = 0},/obj/item/device/assembly/prox_sensor{pixel_x = 0; pixel_y = 6},/obj/item/device/assembly/signaler{pixel_x = 0; pixel_y = 0},/obj/item/device/assembly/signaler{pixel_x = 4; pixel_y = 0},/obj/item/stack/cable_coil,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start)
"deq" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{pixel_x = 5},/obj/item/device/flashlight/lamp,/obj/item/weapon/pen{pixel_x = 5},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
"der" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station/start)
"des" = (/obj/machinery/door/window{name = "Infirmary"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station/start)
@@ -8978,7 +8978,7 @@
"dqN" = (/obj/item/device/camera,/turf/unsimulated/beach/sand,/area/centcom/holding)
"dqO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/full/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
"dqP" = (/turf/unsimulated/floor{dir = 6; icon_state = "floor"},/area/centcom/control)
-"dqQ" = (/obj/item/weapon/cable_coil,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom)
+"dqQ" = (/obj/item/stack/cable_coil,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom)
"dqR" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom)
"dqS" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 31},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
"dqT" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/shuttle/escape/centcom)
@@ -9408,7 +9408,7 @@
"dzb" = (/obj/item/weapon/shard,/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"dzc" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"dzd" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dze" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/weapon/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
+"dze" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"dzf" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"dzg" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/medical,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/medical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"dzh" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
@@ -9452,7 +9452,7 @@
"dzT" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/airless,/area/tcommsat/chamber)
"dzU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
"dzV" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
-"dzW" = (/obj/item/weapon/cable_coil/cut{amount = 1},/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
+"dzW" = (/obj/item/stack/cable_coil/cut{amount = 1},/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
"dzX" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
"dzY" = (/obj/item/weapon/folder/yellow,/turf/simulated/floor/airless,/area/tcommsat/chamber)
"dzZ" = (/obj/structure/stool/bed,/obj/effect/decal/remains/human,/turf/simulated/floor/airless,/area/tcommsat/chamber)
@@ -9859,7 +9859,7 @@
"dHK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/bridge/access)
"dHL" = (/obj/machinery/door/airlock/command{name = "E.V.A."; req_access = null; req_access_txt = "18"},/turf/simulated/floor,/area/derelict/bridge/access)
"dHM" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/derelict/bridge/access)
-"dHN" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/plating/airless,/area)
+"dHN" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area)
"dHO" = (/turf/simulated/floor/airless{icon_state = "solarpanel"},/area)
"dHP" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/bridge/access)
"dHQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/derelict/bridge/access)
@@ -9876,20 +9876,20 @@
"dIb" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dIc" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
"dId" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"},/turf/simulated/wall/r_wall,/area/derelict/singularity_engine)
-"dIe" = (/obj/item/weapon/cable_coil/cut,/turf/space,/area)
+"dIe" = (/obj/item/stack/cable_coil/cut,/turf/space,/area)
"dIf" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge/access)
"dIg" = (/obj/structure/computerframe,/turf/simulated/floor,/area/derelict/bridge)
"dIh" = (/obj/structure/computerframe,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge)
"dIi" = (/obj/structure/table,/turf/simulated/floor,/area/derelict/bridge)
"dIj" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/derelict/bridge)
-"dIk" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/derelict/bridge)
+"dIk" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/derelict/bridge)
"dIl" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/derelict/bridge)
"dIm" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor,/area/derelict/bridge)
"dIn" = (/obj/item/weapon/grenade/empgrenade,/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge)
"dIo" = (/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
"dIp" = (/turf/simulated/floor/airless{broken = 1; icon_state = "damaged4"},/area/derelict/singularity_engine)
"dIq" = (/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
-"dIr" = (/obj/item/weapon/cable_coil/cut,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
+"dIr" = (/obj/item/stack/cable_coil/cut,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
"dIs" = (/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dIt" = (/turf/simulated/wall,/area/derelict/singularity_engine)
"dIu" = (/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor,/area/derelict/bridge)
@@ -9919,7 +9919,7 @@
"dIS" = (/obj/structure/stool,/turf/simulated/floor,/area/derelict/bridge)
"dIT" = (/obj/structure/table,/obj/item/weapon/cell,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge)
"dIU" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
-"dIV" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged4"},/area/derelict/singularity_engine)
+"dIV" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged4"},/area/derelict/singularity_engine)
"dIW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/derelict/bridge/access)
"dIX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/derelict/bridge/access)
"dIY" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/derelict/bridge/access)
@@ -9956,11 +9956,11 @@
"dJD" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dJE" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dJF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"dJG" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
+"dJG" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
"dJH" = (/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dJI" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dJJ" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"dJK" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/airless,/area/derelict/bridge/access)
+"dJK" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dJL" = (/obj/structure/table,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dJM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dJN" = (/turf/simulated/wall,/area)
@@ -9971,8 +9971,8 @@
"dJS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/derelict/bridge/access)
"dJT" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dJU" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"dJV" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
-"dJW" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
+"dJV" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
+"dJW" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dJX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dJY" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
"dJZ" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "circuit"},/area/derelict/singularity_engine)
@@ -9988,7 +9988,7 @@
"dKj" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
"dKk" = (/obj/item/weapon/screwdriver,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dKl" = (/obj/item/stack/rods,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
-"dKm" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
+"dKm" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dKn" = (/obj/structure/table,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dKo" = (/turf/simulated/wall,/area/derelict/hallway/primary)
"dKp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/hallway/primary)
@@ -10210,7 +10210,7 @@
"dOx" = (/obj/structure/table,/turf/simulated/floor/airless,/area)
"dOy" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area)
"dOz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area)
-"dOA" = (/obj/structure/lattice,/obj/item/weapon/cable_coil/cut,/turf/space,/area)
+"dOA" = (/obj/structure/lattice,/obj/item/stack/cable_coil/cut,/turf/space,/area)
"dOB" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/derelict/arrival)
"dOC" = (/obj/structure/stool,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
"dOD" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Access"; req_access_txt = "24"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
@@ -10250,7 +10250,7 @@
"dPl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/wirecutters,/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
"dPm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
"dPn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"dPo" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
+"dPo" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
"dPp" = (/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
"dPq" = (/turf/simulated/floor/plating/airless{broken = 1; icon_state = "platingdmg1"},/area/derelict/hallway/secondary)
"dPr" = (/obj/machinery/door/airlock/maintenance{name = "Aux Storage"; req_access_txt = "23"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
@@ -10455,7 +10455,7 @@
"dTi" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/mine/north_outpost)
"dTj" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
"dTk" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
-"dTl" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
+"dTl" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
"dTm" = (/obj/machinery/alarm{dir = 4; pixel_x = -23},/turf/simulated/floor,/area/research_outpost/hallway)
"dTn" = (/turf/simulated/wall/r_wall,/area/research_outpost/atmos)
"dTo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
@@ -11681,7 +11681,7 @@
"eqN" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "salvage_blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/shuttle/salvage/start)
"eqO" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/item/device/radio,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
"eqP" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
-"eqQ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/computerframe,/obj/item/weapon/cable_coil/random,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
+"eqQ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/computerframe,/obj/item/stack/cable_coil/random,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
"eqR" = (/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/pickaxe/shovel{pixel_x = -5},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/warning_stripes{icon_state = "bot"},/turf/simulated/floor/engine,/area/shuttle/salvage/start)
"eqS" = (/obj/item/weapon/rack_parts,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/warning_stripes{icon_state = "bot"},/turf/simulated/floor/engine,/area/shuttle/salvage/start)
"eqT" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate,/obj/item/device/flashlight/lantern,/obj/item/clothing/glasses/meson,/obj/effect/decal/warning_stripes{icon_state = "bot"},/turf/simulated/floor/engine,/area/shuttle/salvage/start)
diff --git a/maps/ministation.dmm b/maps/ministation.dmm
index ec40b397ff1..5c7f9189152 100644
--- a/maps/ministation.dmm
+++ b/maps/ministation.dmm
@@ -357,7 +357,7 @@
"agS" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/table,/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/design_disk,/obj/item/weapon/disk/design_disk,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/camera/autoname,/turf/simulated/floor{icon_state = "white"},/area/science/lab)
"agT" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/science/lab)
"agU" = (/obj/structure/table,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/manipulator,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "white"},/area/science/lab)
-"agV" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/cable_coil,/obj/item/weapon/stock_parts/scanning_module,/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/science/lab)
+"agV" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/stock_parts/scanning_module,/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/science/lab)
"agW" = (/obj/machinery/atmospherics/pipe/simple{dir = 5},/turf/simulated/floor/bluegrid,/area/science/lab)
"agX" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/science/lab)
"agY" = (/obj/machinery/atmospherics/pipe/simple{dir = 9},/turf/simulated/floor/bluegrid,/area/science/lab)
@@ -449,7 +449,7 @@
"aiG" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/hallway/primary/central)
"aiH" = (/obj/machinery/vending/autodrobe{req_access_txt = ""},/turf/simulated/floor{icon_state = "neutral"; dir = 9},/area/hallway/primary/central)
"aiI" = (/obj/structure/closet/wardrobe/mixed,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/central)
-"aiJ" = (/obj/machinery/camera/autoname,/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/crayons,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/central)
+"aiJ" = (/obj/machinery/camera/autoname,/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/crayons,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/central)
"aiK" = (/obj/machinery/washing_machine,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/central)
"aiL" = (/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/hallway/primary/central)
"aiM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/central)
@@ -1471,7 +1471,7 @@
"aCo" = (/obj/structure/transit_tube,/turf/space,/area)
"aCp" = (/obj/structure/transit_tube{tag = "icon-E-W-Pass"; icon_state = "E-W-Pass"},/obj/structure/lattice,/turf/space,/area)
"aCq" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/space,/area)
-"aCr" = (/obj/structure/table,/obj/item/weapon/cable_coil,/obj/item/weapon/circuitboard/airlock,/obj/item/weapon/circuitboard/airlock,/turf/simulated/floor,/area/engineering/engine)
+"aCr" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/weapon/circuitboard/airlock,/obj/item/weapon/circuitboard/airlock,/turf/simulated/floor,/area/engineering/engine)
"aCs" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor,/area/engineering/engine)
"aCt" = (/obj/structure/table,/obj/item/stack/rods{amount = 50},/obj/item/device/analyzer,/turf/simulated/floor,/area/engineering/engine)
"aCu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "10"; req_one_access_txt = "0"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/engineering/engine)
diff --git a/maps/taxistation.dmm b/maps/taxistation.dmm
index f20284b5f50..198fa56e2b8 100644
--- a/maps/taxistation.dmm
+++ b/maps/taxistation.dmm
@@ -238,7 +238,7 @@
"aeD" = (/obj/structure/table,/obj/item/weapon/storage/box/rxglasses,/obj/item/device/flashlight/pen,/obj/machinery/power/apc{dir = 4; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/medical/genetics)
"aeE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/medical/genetics)
"aeF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aeG" = (/obj/structure/table,/obj/item/weapon/cable_coil{amount = 5},/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
+"aeG" = (/obj/structure/table,/obj/item/stack/cable_coil{amount = 5},/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"aeH" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"aeI" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar/panel{id_tag = "medisolar"; name = "Medbay Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/fstarboard{name = "\improper Medbay Solar Array"})
"aeJ" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/fstarboard{name = "\improper Medbay Solar Array"})
@@ -653,7 +653,7 @@
"amC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "greenblue"},/area/tcommsat/computer)
"amD" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12;61;16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/tcommsat/computer)
"amE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/science/robotics)
-"amF" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/weapon/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/turf/simulated/floor,/area/science/robotics)
+"amF" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/turf/simulated/floor,/area/science/robotics)
"amG" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/starboard{name = "\improper Central Medical Hallway"})
"amH" = (/obj/structure/closet/wardrobe/robotics_black,/turf/simulated/floor,/area/science/robotics)
"amI" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/glasses/welding,/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id_tag = "RoboticsEntry"; name = "Robotics Entry Button"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -26},/obj/item/device/multitool{pixel_x = 3},/turf/simulated/floor,/area/science/robotics)
@@ -927,7 +927,7 @@
"arQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/cyan/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/yellow/visible,/turf/simulated/floor/plating,/area/maintenance/disposal{name = "Disposals Engineering"})
"arR" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/solar/fore{name = "\improper Engineering Solar Array"})
"arS" = (/obj/machinery/power/terminal,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/solar/fore{name = "\improper Engineering Solar Array"})
-"arT" = (/obj/item/weapon/cable_coil{pixel_x = 2; pixel_y = -2},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/solar/fore{name = "\improper Engineering Solar Array"})
+"arT" = (/obj/item/stack/cable_coil{pixel_x = 2; pixel_y = -2},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/solar/fore{name = "\improper Engineering Solar Array"})
"arU" = (/obj/machinery/power/solar/control{id_tag = "engisolar"; name = "Engineering Solar Control"},/turf/simulated/floor/plating,/area/solar/fore{name = "\improper Engineering Solar Array"})
"arV" = (/turf/simulated/wall/r_wall,/area/engineering/atmos)
"arW" = (/obj/machinery/door/poddoor{id_tag = "mix_vent"; name = "Mix Tank Emergency Vent"},/turf/simulated/floor/plating/airless,/area/engineering/atmos)
@@ -1115,7 +1115,7 @@
"avw" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/fore)
"avx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating,/area/maintenance/fore)
"avy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fore)
-"avz" = (/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fore)
+"avz" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fore)
"avA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fore)
"avB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fore)
"avC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fore)
@@ -3907,7 +3907,7 @@
"bxg" = (/obj/item/weapon/stock_parts/scanning_module,/turf/space,/area)
"bxh" = (/obj/item/weapon/stock_parts/console_screen,/turf/space,/area)
"bxi" = (/obj/item/weapon/camera_assembly,/turf/space,/area)
-"bxj" = (/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/space,/area)
+"bxj" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/space,/area)
"bxk" = (/obj/item/device/assembly/igniter,/turf/space,/area)
"bxl" = (/obj/item/device/assembly/prox_sensor,/turf/space,/area)
"bxm" = (/obj/item/device/assembly/timer,/turf/space,/area)
@@ -4154,7 +4154,7 @@
"bBT" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"bBU" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/infra,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"bBV" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"bBW" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"bBW" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"bBX" = (/turf/unsimulated/wall{icon_state = "plasma3"},/area/alien)
"bBY" = (/turf/unsimulated/floor{icon_state = "floor5"},/area/alien)
"bBZ" = (/turf/unsimulated/wall{icon_state = "plasma1"},/area/alien)
@@ -4399,7 +4399,7 @@
"bGE" = (/obj/item/weapon/shard,/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"bGF" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"bGG" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"bGH" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/weapon/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
+"bGH" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"bGI" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"bGJ" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/medical,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/medical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"bGK" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
@@ -4447,7 +4447,7 @@
"bHA" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/airless,/area/tcommsat/chamber)
"bHB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
"bHC" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
-"bHD" = (/obj/item/weapon/cable_coil/cut{amount = 1},/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
+"bHD" = (/obj/item/stack/cable_coil/cut{amount = 1},/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
"bHE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
"bHF" = (/obj/item/weapon/folder/yellow,/turf/simulated/floor/airless,/area/tcommsat/chamber)
"bHG" = (/obj/structure/stool/bed,/obj/effect/decal/remains/human,/turf/simulated/floor/airless,/area/tcommsat/chamber)
@@ -4807,7 +4807,7 @@
"bOw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/derelict/storage/equipment{icon_state = "fmaint"; name = "Derelict Fore Maintenance"})
"bOx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/item/weapon/folder,/turf/simulated/floor/plating,/area/derelict/storage/equipment{icon_state = "fmaint"; name = "Derelict Fore Maintenance"})
"bOy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/grille,/turf/simulated/floor/plating,/area/derelict/storage/equipment{icon_state = "fmaint"; name = "Derelict Fore Maintenance"})
-"bOz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelict/storage/equipment{icon_state = "fmaint"; name = "Derelict Fore Maintenance"})
+"bOz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelict/storage/equipment{icon_state = "fmaint"; name = "Derelict Fore Maintenance"})
"bOA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/derelict/storage/equipment{icon_state = "fmaint"; name = "Derelict Fore Maintenance"})
"bOB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plating,/area/derelict/storage/equipment{icon_state = "fmaint"; name = "Derelict Fore Maintenance"})
"bOC" = (/obj/structure/closet,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plating,/area/derelict/storage/storage_access{icon_state = "pmaint"; name = "Derelict Port Maintenance"})
@@ -5038,7 +5038,7 @@
"bST" = (/obj/structure/closet/crate/hydroponics,/obj/item/seeds/carrotseed,/obj/item/seeds/glowshroom,/turf/simulated/floor/plating,/area/derelict/medical{icon_state = "hydro"; name = "Derelict Hydroponics"})
"bSU" = (/obj/item/weapon/stamp/denied,/turf/simulated/floor/plating,/area/derelict/medical/morgue{name = "\improper Derelict Relaxation Room"})
"bSV" = (/turf/simulated/floor,/area/derelict/medical/morgue{name = "\improper Derelict Relaxation Room"})
-"bSW" = (/obj/item/weapon/cable_coil/random,/turf/simulated/floor/plating,/area/derelict/storage/engine_storage{icon_state = "smaint"; name = "Derelict Starboard Maintenance"})
+"bSW" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/derelict/storage/engine_storage{icon_state = "smaint"; name = "Derelict Starboard Maintenance"})
"bSX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/derelict/storage/storage_access{icon_state = "pmaint"; name = "Derelict Port Maintenance"})
"bSY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/derelict/storage/storage_access{icon_state = "pmaint"; name = "Derelict Port Maintenance"})
"bSZ" = (/obj/structure/table,/obj/machinery/pos,/turf/simulated/floor{dir = 10; icon_state = "caution"},/area/derelict/singularity_engine{icon_state = "showroom"; name = "\improper Derelict Marketplace"})
@@ -5060,7 +5060,7 @@
"bTp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/derelict/medical{icon_state = "hydro"; name = "Derelict Hydroponics"})
"bTq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/derelict/medical{icon_state = "hydro"; name = "Derelict Hydroponics"})
"bTr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/derelict/medical{icon_state = "hydro"; name = "Derelict Hydroponics"})
-"bTs" = (/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelict/medical{icon_state = "hydro"; name = "Derelict Hydroponics"})
+"bTs" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/turf/simulated/floor/plating,/area/derelict/medical{icon_state = "hydro"; name = "Derelict Hydroponics"})
"bTt" = (/obj/structure/table,/obj/item/weapon/reagent_containers/ld50_syringe/chloral,/obj/item/weapon/reagent_containers/ld50_syringe{pixel_y = 4},/turf/simulated/floor/airless{icon_state = "dark"},/area/tcommsat/chamber)
"bTu" = (/turf/simulated/floor{icon_state = "floorscorched2"; dir = 1},/area/derelict/medical/morgue{name = "\improper Derelict Relaxation Room"})
"bTv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/wirecutters{pixel_y = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/derelict/storage/engine_storage{icon_state = "smaint"; name = "Derelict Starboard Maintenance"})
@@ -5927,7 +5927,7 @@
"cjY" = (/obj/structure/window/full/reinforced,/turf/simulated/floor,/area/derelict/bridge/access)
"cjZ" = (/obj/structure/computerframe,/turf/simulated/floor,/area/derelict/bridge)
"cka" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating,/area/derelict/bridge)
-"ckb" = (/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/derelict/bridge)
+"ckb" = (/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/derelict/bridge)
"ckc" = (/obj/item/weapon/paper,/turf/simulated/floor/plating,/area/derelict/bridge)
"ckd" = (/obj/item/weapon/grenade/empgrenade,/turf/simulated/floor,/area/derelict/bridge)
"cke" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge)
@@ -6011,7 +6011,7 @@
"clE" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "salvage_blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/shuttle/salvage/start)
"clF" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/item/device/radio,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
"clG" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
-"clH" = (/obj/effect/decal/cleanable/dirt,/obj/structure/computerframe,/obj/item/weapon/cable_coil/random,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
+"clH" = (/obj/effect/decal/cleanable/dirt,/obj/structure/computerframe,/obj/item/stack/cable_coil/random,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
"clI" = (/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/pickaxe/shovel{pixel_x = -5},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/engine{icon_state = "enginebot"},/area/shuttle/salvage/start)
"clJ" = (/obj/item/weapon/rack_parts,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/engine{icon_state = "enginebot"},/area/shuttle/salvage/start)
"clK" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/giant_spider/nurse,/turf/simulated/floor/engine,/area/shuttle/salvage/start)
@@ -6630,7 +6630,7 @@
"cxz" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/research_outpost/maintstore1{name = "Outpost Storage 1"})
"cxA" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/research_outpost/maintstore1{name = "Outpost Storage 1"})
"cxB" = (/obj/structure/dispenser,/turf/simulated/floor/plating,/area/research_outpost/maintstore1{name = "Outpost Storage 1"})
-"cxC" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/maintstore1{name = "Outpost Storage 1"})
+"cxC" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/maintstore1{name = "Outpost Storage 1"})
"cxD" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/plating,/area/research_outpost/maintstore1{name = "Outpost Storage 1"})
"cxE" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/research_outpost/maintstore1{name = "Outpost Storage 1"})
"cxF" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/maintstore2{name = "Outpost Storage 2"})
@@ -6879,10 +6879,10 @@
"cCo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
"cCp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central{name = "\improper Central Security Hallway"})
"cCq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"cCr" = (/obj/item/weapon/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/obj/item/weapon/storage/box/matches,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/item/weapon/newspaper,/turf/simulated/floor/plating,/area/maintenance/maintcentral)
+"cCr" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; name = "cable piece"},/obj/item/weapon/storage/box/matches,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/item/weapon/newspaper,/turf/simulated/floor/plating,/area/maintenance/maintcentral)
"cCs" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/light/small,/turf/simulated/floor/carpet,/area/security/detectives_office)
"cCt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/engineering/engine)
-"cCu" = (/obj/structure/table,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/t_scanner,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/weapon/wirecutters,/obj/item/weapon/cable_coil{pixel_x = 2; pixel_y = -2},/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/storage/primary)
+"cCu" = (/obj/structure/table,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/t_scanner,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/weapon/wirecutters,/obj/item/stack/cable_coil{pixel_x = 2; pixel_y = -2},/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/storage/primary)
"cCv" = (/obj/machinery/vending/tool,/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/storage/primary)
"cCw" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/plating/airless,/area/engine/locker{name = "\improper Engineering Foyer"})
"cCx" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/engine)
@@ -6950,7 +6950,7 @@
"cDH" = (/obj/machinery/particle_accelerator/control_box,/turf/simulated/floor/plating,/area/engineering/engine)
"cDI" = (/turf/simulated/floor{icon_state = "warnwhite"},/area/engineering/engine)
"cDJ" = (/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/engineering/engine)
-"cDK" = (/obj/item/weapon/cable_coil/random,/turf/simulated/floor,/area/engineering/engine)
+"cDK" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/engineering/engine)
"cDL" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/wrench,/obj/item/weapon/weldingtool,/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/machinery/door_control{id_tag = "Singularity"; name = "Shutters Control"; pixel_x = 0; pixel_y = -26; req_access_txt = "10"},/turf/simulated/floor,/area/engine/locker{name = "\improper Engineering Foyer"})
"cDM" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/engine/locker{name = "\improper Engineering Foyer"})
"cDN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/closet/radiation,/turf/simulated/floor,/area/engineering/engine)
diff --git a/maps/tgstation.dmm b/maps/tgstation.dmm
index 3b1dce21d45..47667d2bab5 100644
--- a/maps/tgstation.dmm
+++ b/maps/tgstation.dmm
@@ -1989,7 +1989,7 @@
"aMm" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"aMn" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"aMo" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/ai_monitored/storage/eva)
-"aMp" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes{tag = "icon-warning (WEST)"; icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/ai_monitored/storage/eva)
+"aMp" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes{tag = "icon-warning (WEST)"; icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/ai_monitored/storage/eva)
"aMq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"aMr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"aMs" = (/obj/item/device/radio/intercom{freerange = 1; name = "Station Intercom (General)"; pixel_x = 30},/obj/effect/decal/warning_stripes{tag = "icon-warning (EAST)"; icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/ai_monitored/storage/eva)
@@ -2670,7 +2670,7 @@
"aZr" = (/obj/structure/table,/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
"aZs" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
"aZt" = (/obj/machinery/washing_machine,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
-"aZu" = (/obj/structure/table,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/obj/item/weapon/chisel,/obj/item/weapon/chisel,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/storage/art)
+"aZu" = (/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/chisel,/obj/item/weapon/chisel,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/storage/art)
"aZv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/art)
"aZw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/storage/art)
"aZx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/port)
@@ -2745,7 +2745,7 @@
"baO" = (/obj/structure/disposalpipe/segment,/obj/item/weapon/stool,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/locker)
"baP" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor,/area/crew_quarters/locker)
"baQ" = (/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
-"baR" = (/obj/structure/table,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/storage/art)
+"baR" = (/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/storage/art)
"baS" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/storage/art)
"baT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor,/area/storage/art)
"baU" = (/obj/machinery/light_switch{pixel_y = 28},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/space_heater/air_conditioner,/turf/simulated/floor/plating,/area/storage/emergency2)
@@ -2986,7 +2986,7 @@
"bfv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/port)
"bfw" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay)
"bfx" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/tools)
-"bfy" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 2; pixel_y = 2},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/storage/primary)
+"bfy" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 2; pixel_y = 2},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/storage/primary)
"bfz" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay)
"bfA" = (/obj/structure/closet/toolcloset,/turf/simulated/floor,/area/storage/tools)
"bfB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/storage/tools)
@@ -4168,7 +4168,7 @@
"bCh" = (/obj/item/weapon/tank/emergency_oxygen{pixel_x = -8},/obj/item/weapon/tank/emergency_oxygen{pixel_x = -8},/obj/item/clothing/mask/breath{pixel_x = 4},/obj/item/device/modkit/gold_rig,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/turf/simulated/floor,/area/engineering/atmos_control)
"bCi" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/science/lab)
"bCj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/science/lab)
-"bCk" = (/obj/structure/table,/obj/item/weapon/cable_coil,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "white"},/area/science/lab)
+"bCk" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "white"},/area/science/lab)
"bCl" = (/obj/structure/closet/crate,/obj/item/weapon/coin/silver,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bCm" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/space,/area/shuttle/research/station)
"bCn" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/research/station)
@@ -4604,7 +4604,7 @@
"bKB" = (/turf/simulated/wall/r_wall,/area/engineering/mechanics)
"bKC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central)
"bKD" = (/turf/simulated/floor{dir = 4; icon_state = "greencorner"},/area/hallway/primary/central)
-"bKE" = (/obj/structure/table,/obj/item/weapon/lighter,/obj/item/weapon/cable_coil{amount = 5},/obj/item/weapon/crowbar,/obj/effect/decal/warning_stripes{tag = "icon-warning (SOUTHWEST)"; icon_state = "warning"; dir = 10},/turf/simulated/floor{blocks_air = 1; icon_state = "floorgrime"},/area/medical/surgery_ghetto)
+"bKE" = (/obj/structure/table,/obj/item/weapon/lighter,/obj/item/stack/cable_coil{amount = 5},/obj/item/weapon/crowbar,/obj/effect/decal/warning_stripes{tag = "icon-warning (SOUTHWEST)"; icon_state = "warning"; dir = 10},/turf/simulated/floor{blocks_air = 1; icon_state = "floorgrime"},/area/medical/surgery_ghetto)
"bKF" = (/obj/machinery/door/window{dir = 4; base_state = "left"; name = "Medical Delivery"; req_access_txt = "5"},/obj/effect/decal/warning_stripes{icon_state = "unloading"},/turf/simulated/floor{icon_state = "dark"},/area/medical/medbay)
"bKG" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bKH" = (/obj/structure/closet/walllocker/defiblocker{pixel_y = -30},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
@@ -4995,7 +4995,7 @@
"bSc" = (/obj/structure/stool,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bSd" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bSe" = (/turf/simulated/wall/r_wall,/area/science/telescience)
-"bSf" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera{c_tag = "Toxins Storage"; dir = 4},/obj/machinery/camera{c_tag = "Gas Storage Room"; dir = 4; network = list("RD"); pixel_y = -22},/obj/structure/table,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/science/storage)
+"bSf" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera{c_tag = "Toxins Storage"; dir = 4},/obj/machinery/camera{c_tag = "Gas Storage Room"; dir = 4; network = list("RD"); pixel_y = -22},/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/science/storage)
"bSg" = (/obj/effect/decal/warning_stripes{tag = "icon-warning (EAST)"; icon_state = "warning"; dir = 4},/mob/living/simple_animal/mouse/white,/turf/simulated/floor,/area/science/storage)
"bSh" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/decal/warning_stripes{icon_state = "unloading"},/turf/simulated/floor{icon_state = "dark"},/area/science/storage)
"bSi" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/decal/warning_stripes{icon_state = "unloading"},/turf/simulated/floor{icon_state = "dark"},/area/science/storage)
@@ -5461,7 +5461,7 @@
"cba" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/grille,/turf/simulated/floor/plating,/area/storage/tech)
"cbb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/cable,/turf/simulated/floor/plating,/area/storage/tech)
"cbc" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/storage/tech)
-"cbd" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/weapon/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech)
+"cbd" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech)
"cbe" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plating,/area/storage/tech)
"cbf" = (/obj/machinery/requests_console{department = "Tech storage"; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/tech)
"cbg" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/tech)
@@ -5854,7 +5854,7 @@
"ciD" = (/obj/machinery/camera{c_tag = "Virology Access"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/medical/virology_break)
"ciE" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"ciF" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor{icon_state = "dark"},/area/science/robotics)
-"ciG" = (/obj/item/weapon/cable_coil/random,/turf/simulated/floor/plating,/area/maintenance/asmaint)
+"ciG" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"ciH" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"ciI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 13},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"ciJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/insulated/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -5907,12 +5907,12 @@
"cjE" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/engineering/atmos)
"cjF" = (/obj/machinery/atmospherics/valve/digital{_color = "yellow"; dir = 4; name = "Gas Mix Inlet Valve"},/turf/simulated/floor{icon_state = "green"; dir = 6},/area/engineering/atmos)
"cjG" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id_tag = "waste_in"; on = 1; pixel_y = 1},/obj/effect/decal/warning_stripes{icon_state = "bot"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos)
-"cjH" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/weapon/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/turf/simulated/floor{icon_state = "dark"},/area/science/robotics)
+"cjH" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/turf/simulated/floor{icon_state = "dark"},/area/science/robotics)
"cjI" = (/obj/effect/decal/warning_stripes{tag = "icon-warning (WEST)"; icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/science/mixing)
"cjJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology_break)
"cjK" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"cjL" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cjM" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/item/weapon/cable_coil{amount = 5},/turf/simulated/floor/plating,/area/maintenance/asmaint)
+"cjM" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/item/stack/cable_coil{amount = 5},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"cjN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"cjO" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"cjP" = (/obj/structure/stool/bed/chair,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -6263,7 +6263,7 @@
"cqw" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor{icon_state = "dark-markings"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomms/chamber)
"cqx" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/obj/machinery/airlock_sensor{id_tag = "tcomm_ext_airlock_sensor"; master_tag = "tcomm_airlock_control"; pixel_x = 32; pixel_y = -5},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomms/chamber)
"cqy" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cqz" = (/obj/item/weapon/cable_coil{amount = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft)
+"cqz" = (/obj/item/stack/cable_coil{amount = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft)
"cqA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/aft)
"cqB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/hallway/primary/aft)
"cqC" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/break_room)
@@ -6763,7 +6763,7 @@
"cAc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/engineering/ce)
"cAd" = (/obj/structure/lattice,/obj/structure/grille{density = 0; destroyed = 1; health = 0; icon_state = "brokengrille"},/turf/space,/area/engineering/engine)
"cAe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engineering/break_room)
-"cAf" = (/obj/structure/table,/obj/item/weapon/circuitboard/airlock,/obj/item/weapon/circuitboard/airlock,/obj/item/weapon/cable_coil,/obj/item/weapon/cable_coil,/turf/simulated/floor,/area/engineering/break_room)
+"cAf" = (/obj/structure/table,/obj/item/weapon/circuitboard/airlock,/obj/item/weapon/circuitboard/airlock,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/engineering/break_room)
"cAg" = (/obj/structure/table,/obj/item/device/radio{pixel_y = 6},/obj/item/device/radio{pixel_x = 6; pixel_y = 4},/obj/item/device/radio{pixel_x = -6; pixel_y = 4},/obj/item/device/radio,/turf/simulated/floor,/area/engineering/break_room)
"cAh" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/engineering/break_room)
"cAi" = (/obj/machinery/atmospherics/tvalve/mirrored/digital{icon_state = "tvalvem1"; state = 1},/turf/simulated/floor,/area/engineering/atmos)
@@ -7248,7 +7248,7 @@
"cJt" = (/obj/machinery/door/airlock/external{req_access_txt = "10;13"; req_one_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{blocks_air = 1},/area/engineering/engine)
"cJu" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine)
"cJv" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine)
-"cJw" = (/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/crowbar,/obj/effect/decal/warning_stripes{tag = "icon-warning (WEST)"; icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine)
+"cJw" = (/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/crowbar,/obj/effect/decal/warning_stripes{tag = "icon-warning (WEST)"; icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine)
"cJx" = (/obj/structure/stool,/turf/simulated/floor,/area/engineering/engine)
"cJy" = (/obj/structure/particle_accelerator/power_box,/turf/simulated/floor/plating,/area/engineering/engine)
"cJz" = (/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/engineering/engine)
@@ -7454,7 +7454,7 @@
"cNr" = (/turf/simulated/floor{icon_state = "dark vault stripe"},/area/engineering/antimatter_room)
"cNs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engineering/antimatter_room)
"cNt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/medical/virology_break)
-"cNu" = (/obj/item/weapon/cable_coil/cut,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
+"cNu" = (/obj/item/stack/cable_coil/cut,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
"cNv" = (/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/engineering/engine)
"cNw" = (/obj/structure/lattice,/turf/space,/area/engineering/engine)
"cNx" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/engineering/engine)
@@ -7544,7 +7544,7 @@
"cPd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/filtering/hidden{dir = 9},/turf/simulated/floor/plating,/area/engineering/supermatter_room)
"cPe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/supermatter_room)
"cPf" = (/obj/machinery/atmospherics/pipe/simple/insulated/hidden/blue,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes{tag = "icon-warning (WEST)"; icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/supermatter_room)
-"cPg" = (/obj/structure/table,/obj/item/weapon/cable_coil,/turf/simulated/floor,/area/engineering/supermatter_room)
+"cPg" = (/obj/structure/table,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/engineering/supermatter_room)
"cPh" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/decal/warning_stripes/pathmarkers/yellow{tag = "icon-pathmarker (WEST)"; icon_state = "pathmarker"; dir = 8},/turf/simulated/floor{blocks_air = 0; icon_state = "dark"},/area/engineering/supermatter_room)
"cPi" = (/obj/effect/decal/warning_stripes{icon_state = "bot"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/rad_collector{anchored = 1},/turf/simulated/floor{blocks_air = 0; icon_state = "dark"},/area/engineering/supermatter_room)
"cPj" = (/obj/machinery/atmospherics/pipe/simple/insulated/hidden/blue,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/decal/warning_stripes{tag = "icon-warning (WEST)"; icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/supermatter_room)
@@ -7967,7 +7967,7 @@
"cXk" = (/obj/structure/closet/crate,/obj/item/ammo_casing/rocket_rpg,/obj/item/ammo_casing/rocket_rpg,/obj/item/ammo_casing/rocket_rpg,/obj/item/ammo_casing/rocket_rpg,/obj/item/ammo_casing/rocket_rpg,/obj/item/ammo_casing/rocket_rpg,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start)
"cXl" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/device/assembly/infra{pixel_x = 5; pixel_y = 5},/obj/item/device/assembly/infra{pixel_x = -5; pixel_y = 5},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start)
"cXm" = (/obj/structure/table,/obj/item/clothing/glasses/night{pixel_y = -4},/obj/item/clothing/glasses/night{pixel_y = -2},/obj/item/clothing/glasses/night{pixel_y = 2},/obj/item/clothing/glasses/night{pixel_y = 6},/obj/item/clothing/glasses/night{pixel_y = 10},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cXn" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 6},/obj/item/device/assembly/prox_sensor{pixel_x = -4; pixel_y = 6},/obj/item/device/assembly/signaler{pixel_x = -8},/obj/item/device/assembly/signaler{pixel_x = -4; pixel_y = 0},/obj/item/device/assembly/prox_sensor{pixel_x = 0; pixel_y = 6},/obj/item/device/assembly/signaler{pixel_x = 0; pixel_y = 0},/obj/item/device/assembly/signaler{pixel_x = 4; pixel_y = 0},/obj/item/weapon/cable_coil,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"cXn" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 6},/obj/item/device/assembly/prox_sensor{pixel_x = -4; pixel_y = 6},/obj/item/device/assembly/signaler{pixel_x = -8},/obj/item/device/assembly/signaler{pixel_x = -4; pixel_y = 0},/obj/item/device/assembly/prox_sensor{pixel_x = 0; pixel_y = 6},/obj/item/device/assembly/signaler{pixel_x = 0; pixel_y = 0},/obj/item/device/assembly/signaler{pixel_x = 4; pixel_y = 0},/obj/item/stack/cable_coil,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start)
"cXo" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
"cXp" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{pixel_x = 5},/obj/item/device/flashlight/lamp,/obj/item/weapon/pen{pixel_x = 5},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
"cXq" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station/start)
@@ -9028,7 +9028,7 @@
"drF" = (/obj/item/weapon/shard,/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"drG" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"drH" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"drI" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/weapon/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
+"drI" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"drJ" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"drK" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"drL" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
@@ -9575,7 +9575,7 @@
"dCg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/bridge/access)
"dCh" = (/obj/machinery/door/airlock/command{name = "E.V.A."; req_access = null; req_access_txt = "18"},/turf/simulated/floor,/area/derelict/bridge/access)
"dCi" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/derelict/bridge/access)
-"dCj" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/plating/airless,/area)
+"dCj" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area)
"dCk" = (/turf/simulated/floor/airless{icon_state = "solarpanel"},/area)
"dCl" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/bridge/access)
"dCm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/derelict/bridge/access)
@@ -9592,13 +9592,13 @@
"dCx" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dCy" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dCz" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"},/turf/simulated/wall/r_wall,/area/derelict/singularity_engine)
-"dCA" = (/obj/item/weapon/cable_coil/cut,/turf/space,/area)
+"dCA" = (/obj/item/stack/cable_coil/cut,/turf/space,/area)
"dCB" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge/access)
"dCC" = (/obj/structure/computerframe,/turf/simulated/floor,/area/derelict/bridge)
"dCD" = (/obj/structure/computerframe,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge)
"dCE" = (/obj/structure/table,/turf/simulated/floor,/area/derelict/bridge)
"dCF" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/derelict/bridge)
-"dCG" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/derelict/bridge)
+"dCG" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/derelict/bridge)
"dCH" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/derelict/bridge)
"dCI" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor,/area/derelict/bridge)
"dCJ" = (/obj/item/weapon/grenade/empgrenade,/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge)
@@ -9676,7 +9676,7 @@
"dEd" = (/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dEe" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dEf" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"dEg" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/airless,/area/derelict/bridge/access)
+"dEg" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dEh" = (/obj/structure/table,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dEi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dEj" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area)
@@ -9697,7 +9697,7 @@
"dEy" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dEz" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
"dEA" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
-"dEB" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
+"dEB" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
"dEC" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dED" = (/obj/machinery/door/airlock/maintenance{name = "Tech Storage"; req_access_txt = "23"},/turf/simulated/floor/airless,/area/derelict/bridge/access)
"dEE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/derelict/bridge/access)
@@ -9705,11 +9705,11 @@
"dEG" = (/obj/structure/table,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dEH" = (/obj/item/weapon/screwdriver,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dEI" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged5"},/area/derelict/singularity_engine)
-"dEJ" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
+"dEJ" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dEK" = (/obj/structure/grille,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
"dEL" = (/turf/simulated/wall,/area/derelict/hallway/primary)
-"dEM" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
-"dEN" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
+"dEM" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged3"},/area/derelict/singularity_engine)
+"dEN" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dEO" = (/turf/simulated/floor/airless,/area/derelict/hallway/primary)
"dEP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dEQ" = (/obj/item/weapon/ore/slag,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
@@ -9719,7 +9719,7 @@
"dEU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
"dEV" = (/obj/item/weapon/paper{info = "Objective #1: Destroy the station with a nuclear device."; name = "Objectives of a Nuclear Operative"},/turf/simulated/floor/airless{broken = 1; icon_state = "damaged2"},/area/derelict/singularity_engine)
"dEW" = (/obj/structure/window/basic{dir = 4},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"dEX" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged4"},/area/derelict/singularity_engine)
+"dEX" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{broken = 1; icon_state = "damaged4"},/area/derelict/singularity_engine)
"dEY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dEZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"dFa" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
@@ -9931,7 +9931,7 @@
"dIY" = (/obj/structure/table,/turf/simulated/floor/airless,/area)
"dIZ" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area)
"dJa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area)
-"dJb" = (/obj/structure/lattice,/obj/item/weapon/cable_coil/cut,/turf/space,/area)
+"dJb" = (/obj/structure/lattice,/obj/item/stack/cable_coil/cut,/turf/space,/area)
"dJc" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/derelict/arrival)
"dJd" = (/obj/structure/stool,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
"dJe" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Access"; req_access_txt = "24"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
@@ -9971,7 +9971,7 @@
"dJM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/wirecutters,/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
"dJN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
"dJO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"dJP" = (/obj/item/weapon/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
+"dJP" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
"dJQ" = (/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
"dJR" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/unsimulated/floor/asteroid,/area/mine/explored)
"dJS" = (/obj/machinery/door/airlock/maintenance{name = "Aux Storage"; req_access_txt = "23"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
@@ -10956,7 +10956,7 @@
"ecN" = (/obj/structure/transit_tube,/obj/effect/decal/warning_stripes{icon_state = "unloading"},/turf/unsimulated/floor/airless{icon_state = "asteroidplating"},/area/mine/explored)
"ecO" = (/obj/machinery/vending/security,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/turf/simulated/floor/vox,/area/vox_trading_post/vault)
"ecP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/djstation)
-"ecQ" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
+"ecQ" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
"ecR" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos)
"ecS" = (/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
"ecT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/research_outpost/atmos)
@@ -11584,7 +11584,7 @@
"epa" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "salvage_blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/shuttle/salvage/start)
"epb" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/item/device/radio,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
"epc" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
-"epd" = (/obj/effect/decal/cleanable/dirt,/obj/structure/computerframe,/obj/item/weapon/cable_coil/random,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
+"epd" = (/obj/effect/decal/cleanable/dirt,/obj/structure/computerframe,/obj/item/stack/cable_coil/random,/turf/simulated/floor/carpet,/area/shuttle/salvage/start)
"epe" = (/obj/structure/girder/reinforced,/turf/simulated/floor/plating/airless,/area/engineering/engine)
"epf" = (/obj/structure/disposalpipe/segment,/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/engineering/break_room)
"epg" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/giant_spider/nurse,/turf/simulated/floor/engine,/area/shuttle/salvage/start)
@@ -11660,7 +11660,7 @@
"eqy" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters)
"eqz" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/camera{c_tag = "Sleeper Room"; dir = 1; network = list("MINE")},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters)
"eqA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/mine/living_quarters)
-
+
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa