diff --git a/code/TriDimension/Turfs.dm b/code/TriDimension/Turfs.dm
index ae7bf8202e..adc51d2fa8 100644
--- a/code/TriDimension/Turfs.dm
+++ b/code/TriDimension/Turfs.dm
@@ -80,7 +80,7 @@
//overwrite the attackby of space to transform it to openspace if necessary
/turf/space/attackby(obj/item/C as obj, mob/user as mob)
- if (istype(C, /obj/item/weapon/cable_coil) && src.hasbelow())
+ if (istype(C, /obj/item/stack/cable_coil) && src.hasbelow())
var/turf/simulated/floor/open/W = src.ChangeTurf(/turf/simulated/floor/open)
W.attackby(C, user)
return
@@ -92,8 +92,8 @@
/turf/simulated/floor/open/attackby(obj/item/C as obj, mob/user as mob)
(..)
- if (istype(C, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/cable = C
+ if (istype(C, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/cable = C
cable.turf_place(src, user)
return
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm b/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm
index ee5f1def1b..bf71c4fe9a 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 f13780c280..b012d1c360 100644
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm
+++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm
@@ -78,8 +78,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
@@ -97,7 +97,7 @@
user << "You begin to cut the cables..."
playsound(src.loc, '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 5d1c272016..fab9eb87d5 100644
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm
+++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm
@@ -105,8 +105,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
@@ -124,7 +124,7 @@
user << "You begin to cut the cables..."
playsound(src.loc, '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/Tastyfish/wallmount_frame.dm b/code/WorkInProgress/Tastyfish/wallmount_frame.dm
index 3a1e737d86..16bdb12d6c 100644
--- a/code/WorkInProgress/Tastyfish/wallmount_frame.dm
+++ b/code/WorkInProgress/Tastyfish/wallmount_frame.dm
@@ -33,7 +33,7 @@
return
switch(state)
if(1)
- if(istype(P, /obj/item/weapon/cable_coil))
+ if(istype(P, /obj/item/stack/cable_coil))
if(P:amount >= 5)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
user << "\blue You start to add cables to the frame."
@@ -80,7 +80,7 @@
user << "\blue You remove the cables."
state = 1
icon_state = "wm_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)
@@ -136,11 +136,11 @@
for(var/I in req_components)
if(istype(P, text2path(I)) && (req_components[I] > 0))
playsound(src.loc, '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 > 1)
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)
@@ -155,7 +155,7 @@
update_desc()
break
user << desc
- if(P.loc != src && !istype(P, /obj/item/weapon/cable_coil))
+ if(P.loc != src && !istype(P, /obj/item/stack/cable_coil))
user << "\red You cannot add that component to the machine!"
/obj/item/weapon/circuitboard/firealarm
@@ -168,7 +168,7 @@
req_components = list(
"/obj/item/weapon/stock_parts/scanning_module" = 1,
"/obj/item/weapon/stock_parts/capacitor" = 1,
- "/obj/item/weapon/cable_coil" = 2)
+ "/obj/item/stack/cable_coil" = 2)
/obj/item/weapon/circuitboard/alarm
name = "Circuit board (Atmospheric Alarm)"
@@ -180,7 +180,7 @@
req_components = list(
"/obj/item/weapon/stock_parts/scanning_module" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/cable_coil" = 2)
+ "/obj/item/stack/cable_coil" = 2)
/* oh right, not a machine :(
/obj/item/weapon/circuitboard/intercom
@@ -192,7 +192,7 @@
contain_parts = 0
req_components = list(
"/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/cable_coil" = 2)
+ "/obj/item/stack/cable_coil" = 2)
*/
/* too complex to set up the dept for an RC in a way intuitive for the user
@@ -206,7 +206,7 @@
req_components = list(
"/obj/item/device/radio" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1
- "/obj/item/weapon/cable_coil" = 1)
+ "/obj/item/stack/cable_coil" = 1)
*/
/obj/item/weapon/circuitboard/status_display
@@ -218,7 +218,7 @@
contain_parts = 0
req_components = list(
"/obj/item/weapon/stock_parts/console_screen" = 2,
- "/obj/item/weapon/cable_coil" = 1)
+ "/obj/item/stack/cable_coil" = 1)
/obj/item/weapon/circuitboard/light_switch
name = "Circuit board (Light Switch)"
@@ -228,4 +228,4 @@
frame_desc = "Requires 2 pieces of cable."
contain_parts = 0
req_components = list(
- "/obj/item/weapon/cable_coil" = 2)
+ "/obj/item/stack/cable_coil" = 2)
diff --git a/code/WorkInProgress/computer3/buildandrepair.dm b/code/WorkInProgress/computer3/buildandrepair.dm
index 0b1f2d8fd0..38db742ee6 100644
--- a/code/WorkInProgress/computer3/buildandrepair.dm
+++ b/code/WorkInProgress/computer3/buildandrepair.dm
@@ -154,7 +154,7 @@
user << "\red There's already \an [battery] in [src]!"
- if(istype(P, /obj/item/weapon/cable_coil))
+ if(istype(P, /obj/item/stack/cable_coil))
if(P:amount >= 5)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
if(do_after(user, 20))
@@ -173,7 +173,7 @@
user << "\blue 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
if(istype(P, /obj/item/weapon/crowbar)) // complicated check
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index bc1afd8778..85fad60526 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1175,7 +1175,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,
@@ -1199,7 +1199,7 @@ var/global/list/common_tools = list(
return 0
/proc/iscoil(O)
- if(istype(O, /obj/item/weapon/cable_coil))
+ if(istype(O, /obj/item/stack/cable_coil))
return 1
return 0
@@ -1224,7 +1224,7 @@ var/global/list/common_tools = list(
return 0
/proc/iswire(O)
- if(istype(O, /obj/item/weapon/cable_coil))
+ if(istype(O, /obj/item/stack/cable_coil))
return 1
return 0
diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm
index d4450cbb78..06f1faf0db 100644
--- a/code/game/dna/dna_modifier.dm
+++ b/code/game/dna/dna_modifier.dm
@@ -58,8 +58,8 @@
component_parts += new /obj/item/weapon/stock_parts/manipulator(src)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(src)
component_parts += new /obj/item/weapon/stock_parts/console_screen(src)
- component_parts += new /obj/item/weapon/cable_coil(src)
- component_parts += new /obj/item/weapon/cable_coil(src)
+ component_parts += new /obj/item/stack/cable_coil(src)
+ component_parts += new /obj/item/stack/cable_coil(src)
RefreshParts()
/obj/machinery/dna_scannernew/allow_drop()
@@ -87,7 +87,7 @@
/obj/machinery/dna_scannernew/proc/eject_occupant()
src.go_out()
for(var/obj/O in src)
- if((!istype(O,/obj/item/weapon/reagent_containers)) && (!istype(O,/obj/item/weapon/circuitboard/clonescanner)) && (!istype(O,/obj/item/weapon/stock_parts)) && (!istype(O,/obj/item/weapon/cable_coil)))
+ if((!istype(O,/obj/item/weapon/reagent_containers)) && (!istype(O,/obj/item/weapon/circuitboard/clonescanner)) && (!istype(O,/obj/item/weapon/stock_parts)) && (!istype(O,/obj/item/stack/cable_coil)))
O.loc = get_turf(src)//Ejects items that manage to get in there (exluding the components)
if(!occupant)
for(var/mob/M in src)//Failsafe so you can get mobs out
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 1914e5206c..ac33b4f236 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -1112,8 +1112,8 @@ table tr:first-child th:first-child { border: none;}
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
@@ -1303,8 +1303,8 @@ FIRE ALARM
else
user.visible_message("\red [user] has disconnected [src]'s detecting unit!", "You have disconnected [src]'s detecting unit.")
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 e7d3ded73f..ec02d10e80 100644
--- a/code/game/machinery/bots/ed209bot.dm
+++ b/code/game/machinery/bots/ed209bot.dm
@@ -959,8 +959,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 37d2bc37a5..f3c521f9d4 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -954,7 +954,7 @@
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 8f0739b13e..6b5249c693 100644
--- a/code/game/machinery/camera/camera_assembly.dm
+++ b/code/game/machinery/camera/camera_assembly.dm
@@ -56,7 +56,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
@@ -115,7 +115,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(src.loc, '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 1c70db6d67..5351b08d77 100644
--- a/code/game/machinery/computer/ai_core.dm
+++ b/code/game/machinery/computer/ai_core.dm
@@ -62,7 +62,7 @@
user << "\blue 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))
@@ -80,7 +80,7 @@
user << "\blue 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/rglass))
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index 3689ad9f2e..8dc84807b8 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -402,7 +402,7 @@
user << "\blue You unfasten the circuit board."
src.state = 1
src.icon_state = "1"
- if(istype(P, /obj/item/weapon/cable_coil))
+ if(istype(P, /obj/item/stack/cable_coil))
if(P:amount >= 5)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
if(do_after(user, 20))
@@ -418,7 +418,7 @@
user << "\blue 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
if(istype(P, /obj/item/stack/sheet/glass))
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index 7e7fcc5a59..d1440b05dd 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -34,8 +34,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(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
user << "\blue You start to add cables to the frame."
@@ -85,7 +85,7 @@
user << "\blue 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)
@@ -128,15 +128,15 @@
new_machine.RefreshParts()
del(src)
else
- if(istype(P, /obj/item/weapon))
+ if(istype(P, /obj/item))
for(var/I in req_components)
if(istype(P, text2path(I)) && (req_components[I] > 0))
playsound(src.loc, '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 > 1)
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)
@@ -151,7 +151,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 << "\red You cannot add that component to the machine!"
@@ -215,7 +215,7 @@ to destroy them and players will be able to make replacements.
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 1,
"/obj/item/weapon/stock_parts/micro_laser" = 1,
- "/obj/item/weapon/cable_coil" = 2,
+ "/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/capacitor" = 1)
/obj/item/weapon/circuitboard/pacman/super
@@ -235,7 +235,7 @@ obj/item/weapon/circuitboard/rdserver
origin_tech = "programming=3"
frame_desc = "Requires 2 pieces of cable, and 1 Scanning Module."
req_components = list(
- "/obj/item/weapon/cable_coil" = 2,
+ "/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/scanning_module" = 1)
/obj/item/weapon/circuitboard/mechfab
@@ -257,7 +257,7 @@ obj/item/weapon/circuitboard/rdserver
origin_tech = "programming=3;biotech=3"
frame_desc = "Requires 2 Manipulator, 2 Scanning Module, 2 pieces of cable and 1 Console Screen."
req_components = list(
- "/obj/item/weapon/cable_coil" = 2,
+ "/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/scanning_module" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/stock_parts/console_screen" = 1)
@@ -273,7 +273,7 @@ obj/item/weapon/circuitboard/rdserver
"/obj/item/weapon/stock_parts/manipulator" = 1,
"/obj/item/weapon/stock_parts/micro_laser" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/cable_coil" = 2,)
+ "/obj/item/stack/cable_coil" = 2,)
/obj/item/weapon/circuitboard/gas_heater
name = "Circuit Board (Gas Heating System)"
@@ -282,7 +282,7 @@ obj/item/weapon/circuitboard/rdserver
origin_tech = "powerstorage=2;engineering=1"
frame_desc = "Requires 5 Pieces of Cable, 1 Matter Bin, and 2 Capacitors."
req_components = list(
- "/obj/item/weapon/cable_coil" = 5,
+ "/obj/item/stack/cable_coil" = 5,
"/obj/item/weapon/stock_parts/matter_bin" = 1,
"/obj/item/weapon/stock_parts/capacitor" = 2)
@@ -293,7 +293,7 @@ obj/item/weapon/circuitboard/rdserver
origin_tech = "magnets=2;engineering=2"
frame_desc = "Requires 2 Pieces of Cable, 1 Matter Bin, 1 Micro Manipulator, and 2 Capacitors."
req_components = list(
- "/obj/item/weapon/cable_coil" = 2,
+ "/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/matter_bin" = 1,
"/obj/item/weapon/stock_parts/capacitor" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 1)
@@ -320,7 +320,7 @@ obj/item/weapon/circuitboard/rdserver
frame_desc = "Requires 2 Micro 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
@@ -331,7 +331,7 @@ obj/item/weapon/circuitboard/rdserver
frame_desc = "Requires 2 Micro 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
@@ -342,7 +342,7 @@ obj/item/weapon/circuitboard/rdserver
frame_desc = "Requires 2 Micro 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
@@ -356,7 +356,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
@@ -367,7 +367,7 @@ obj/item/weapon/circuitboard/rdserver
frame_desc = "Requires 2 Micro 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
@@ -378,7 +378,7 @@ obj/item/weapon/circuitboard/rdserver
frame_desc = "Requires 2 Micro 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 44d374b85c..288465a160 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -125,7 +125,7 @@
src.health = max(0, src.health - damage)
if (src.health <= 0)
new /obj/item/weapon/shard(src.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
var/obj/item/weapon/airlock_electronics/ae
if(!electronics)
diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm
index 39ce187fb4..5a78c9bd4f 100644
--- a/code/game/machinery/telecomms/machine_interactions.dm
+++ b/code/game/machinery/telecomms/machine_interactions.dm
@@ -58,12 +58,12 @@
playsound(src.loc, '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
@@ -93,8 +93,8 @@
newpath = text2path(I)
var/obj/item/s = new newpath
s.loc = user.loc
- 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
A.amount = 1
// Drop a circuit board too
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 15e243559d..a758eed75c 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -916,7 +916,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)
@@ -941,7 +941,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.
@@ -955,7 +955,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/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm
index 015c8f8a24..2cddf3648c 100644
--- a/code/game/mecha/equipment/tools/medical_tools.dm
+++ b/code/game/mecha/equipment/tools/medical_tools.dm
@@ -243,7 +243,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()
@@ -270,7 +270,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)
@@ -298,7 +298,7 @@
m = min(m, cable.amount)
if(m)
use_cable(m)
- var/obj/item/weapon/cable_coil/CC = new (get_turf(chassis))
+ var/obj/item/stack/cable_coil/CC = new (get_turf(chassis))
CC.amount = m
else
occupant_message("There's no more cable on the reel.")
@@ -310,7 +310,7 @@
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)
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 3c877d3908..0a1d40d652 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -697,9 +697,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 e9c6d644a8..bd1762db67 100644
--- a/code/game/mecha/mecha_construction_paths.dm
+++ b/code/game/mecha/mecha_construction_paths.dm
@@ -18,8 +18,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
@@ -51,8 +51,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
@@ -146,7 +146,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
@@ -190,7 +190,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)
@@ -380,7 +380,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
@@ -424,7 +424,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)
@@ -642,7 +642,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
@@ -686,7 +686,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)
@@ -883,7 +883,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
@@ -928,7 +928,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)
@@ -1163,7 +1163,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
@@ -1207,7 +1207,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)
diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm
index 9ef33ea8f8..5a44b5a52d 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/apc_frame.dm b/code/game/objects/items/apc_frame.dm
index 4ed920fd12..f2e760a34a 100644
--- a/code/game/objects/items/apc_frame.dm
+++ b/code/game/objects/items/apc_frame.dm
@@ -35,7 +35,7 @@
usr << "\red There is another network terminal here."
return
else
- var/obj/item/weapon/cable_coil/C = new /obj/item/weapon/cable_coil(loc)
+ var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(loc)
C.amount = 10
usr << "You cut the cables and disassemble the unused power terminal."
del(T)
diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm
index 5215bc282e..83b0b29968 100644
--- a/code/game/objects/items/robot/robot_parts.dm
+++ b/code/game/objects/items/robot/robot_parts.dm
@@ -251,12 +251,12 @@
W.loc = src
src.cell = W
user << "\blue You insert the cell!"
- if(istype(W, /obj/item/weapon/cable_coil))
+ if(istype(W, /obj/item/stack/cable_coil))
if(src.wires)
user << "\blue 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 << "\blue 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 d24c9350fa..f784183bd8 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -32,8 +32,8 @@
/obj/item/stack/sheet/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 f9d64e495d..170f792e4d 100644
--- a/code/game/objects/items/stacks/sheets/light.dm
+++ b/code/game/objects/items/stacks/sheets/light.dm
@@ -14,7 +14,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(user.loc)
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 32d704cdc5..72e088c42c 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -162,15 +162,24 @@
return
return
-/obj/item/stack/proc/use(var/amount)
- src.amount-=amount
- if (src.amount<=0)
+/obj/item/stack/proc/use(var/used)
+ if (amount < used)
+ return 0
+ amount -= used
+ if (amount <= 0)
var/oldsrc = src
src = null //dont kill proc after del()
if(usr)
usr.before_take_item(oldsrc)
del(oldsrc)
- return
+ return 1
+
+/obj/item/stack/proc/add(var/extra)
+ if(amount + extra > max_amount)
+ return 0
+ else
+ amount += extra
+ return 1
/obj/item/stack/proc/add_to_stacks(mob/usr as mob)
var/obj/item/stack/oldsrc = src
@@ -189,7 +198,7 @@
/obj/item/stack/attack_hand(mob/user as mob)
if (user.get_inactive_hand() == src)
- var/obj/item/stack/F = new src.type( user, 1)
+ var/obj/item/stack/F = new src.type(user, 1)
F.copy_evidences(src)
user.put_in_hands(F)
src.add_fingerprint(user)
@@ -212,7 +221,7 @@
to_transfer = 1
else
to_transfer = min(src.amount, S.max_amount-S.amount)
- S.amount+=to_transfer
+ S.add(to_transfer)
if (S && usr.machine==S)
spawn(0) S.interact(usr)
src.use(to_transfer)
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index b7f6c88165..3ba674ca3e 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -21,7 +21,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")
@@ -34,7 +34,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 4223ab8818..2c25e8adac 100644
--- a/code/game/objects/items/weapons/storage/toolbox.dm
+++ b/code/game/objects/items/weapons/storage/toolbox.dm
@@ -60,12 +60,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"
@@ -81,6 +81,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)
\ No newline at end of file
diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm
index e8daca1fbb..d9ed995845 100644
--- a/code/game/objects/random/random.dm
+++ b/code/game/objects/random/random.dm
@@ -99,7 +99,7 @@
prob(2);/obj/random/bomb_supply,\
prob(1);/obj/item/weapon/extinguisher,\
prob(1);/obj/item/clothing/gloves/fyellow,\
- prob(3);/obj/item/weapon/cable_coil,\
+ prob(3);/obj/item/stack/cable_coil,\
prob(2);/obj/random/toolbox,\
prob(2);/obj/item/weapon/storage/belt/utility,\
prob(5);/obj/random/tool)
\ No newline at end of file
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 c3609bdbc4..550c5aa499 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -129,11 +129,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 29a6b39658..342b386958 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -75,7 +75,7 @@
W.loc = src.loc
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
@@ -182,7 +182,7 @@
src.toggle(user)
/obj/structure/closet/crate/secure/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if(is_type_in_list(W, list(/obj/item/weapon/packageWrap, /obj/item/weapon/cable_coil, /obj/item/device/radio/electropack, /obj/item/weapon/wirecutters)))
+ if(is_type_in_list(W, list(/obj/item/weapon/packageWrap, /obj/item/stack/cable_coil, /obj/item/device/radio/electropack, /obj/item/weapon/wirecutters)))
return ..()
if(locked && (istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)))
overlays.Cut()
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index 788ab8cd7f..480f2ebb83 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -184,8 +184,8 @@ obj/structure/door_assembly
user << "\blue You [anchored? "un" : ""]secured the airlock assembly!"
anchored = !anchored
- else if(istype(W, /obj/item/weapon/cable_coil) && state == 0 && anchored )
- var/obj/item/weapon/cable_coil/coil = W
+ else if(istype(W, /obj/item/stack/cable_coil) && state == 0 && anchored )
+ 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
@@ -200,7 +200,7 @@ obj/structure/door_assembly
if(do_after(user, 40))
if(!src) return
user << "\blue 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
else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1 && W:icon_state != "door_electronics_smoked")
diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index e9ae0567bc..34d90c31a3 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/Del()
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 << "\blue You wire the windoor!"
src.state = "02"
@@ -153,7 +153,7 @@ obj/structure/windoor_assembly/Del()
if(!src) return
user << "\blue 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 Anchored Windoor Assembly"
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 7af70b386e..1dcbfca15a 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -532,9 +532,9 @@ turf/simulated/floor/proc/update_icon()
user << "\blue 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())
- var/obj/item/weapon/cable_coil/coil = C
+ var/obj/item/stack/cable_coil/coil = C
coil.turf_place(src, user)
else
user << "\red You must remove the plating first."
diff --git a/code/modules/clothing/gloves/stungloves.dm b/code/modules/clothing/gloves/stungloves.dm
index d1b02685b0..a97237a8fa 100644
--- a/code/modules/clothing/gloves/stungloves.dm
+++ b/code/modules/clothing/gloves/stungloves.dm
@@ -5,8 +5,8 @@
return
//add wires
- 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 (clipped)
user << "The [src] are too badly mangled for wiring."
return
diff --git a/code/modules/mining/coins.dm b/code/modules/mining/coins.dm
index cff2892f67..91de0e2d07 100644
--- a/code/modules/mining/coins.dm
+++ b/code/modules/mining/coins.dm
@@ -44,8 +44,8 @@
icon_state = "coin_adamantine"
/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
@@ -64,7 +64,7 @@
..()
return
- 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 = 1
CC.updateicon()
overlays = list()
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
index 18adecccc3..94a9e138e9 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
@@ -301,7 +301,7 @@
else
module_string += text("[O]: Activate
")
- if((istype(O,/obj/item/weapon) || istype(O,/obj/item/device)) && !(istype(O,/obj/item/weapon/cable_coil)))
+ if((istype(O,/obj/item/weapon) || istype(O,/obj/item/device)) && !(istype(O,/obj/item/stack/cable_coil)))
tools += module_string
else
resources += module_string
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index a6e71ca7b3..c540e0b2db 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -613,11 +613,11 @@
user << "Need more welding fuel!"
return
- else if(istype(W, /obj/item/weapon/cable_coil) && (wiresexposed || istype(src,/mob/living/silicon/robot/drone)))
+ else if(istype(W, /obj/item/stack/cable_coil) && (wiresexposed || istype(src,/mob/living/silicon/robot/drone)))
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 42f923aa29..356010ea5e 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -190,7 +190,7 @@
/obj/item/stack/sheet/metal = 50,
/obj/item/stack/sheet/glass = 50,
/obj/item/stack/sheet/rglass = 50,
- /obj/item/weapon/cable_coil = 50,
+ /obj/item/stack/cable_coil = 50,
/obj/item/stack/rods = 15,
/obj/item/stack/tile/plasteel = 15
)
@@ -226,7 +226,7 @@
G.amount = 50
src.modules += G
- 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
src.modules += W
@@ -407,7 +407,7 @@
/obj/item/stack/tile/plasteel = 15,
/obj/item/stack/sheet/metal = 20,
/obj/item/stack/sheet/glass = 20,
- /obj/item/weapon/cable_coil = 30
+ /obj/item/stack/cable_coil = 30
)
New()
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 3fa162557b..db4a8bcf99 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -496,11 +496,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
@@ -532,7 +532,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 9ab93680ad..229d82eec5 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -2,9 +2,9 @@
/obj/machinery/power/attackby(obj/item/weapon/W, mob/user)
- if(istype(W, /obj/item/weapon/cable_coil))
+ if(istype(W, /obj/item/stack/cable_coil))
- var/obj/item/weapon/cable_coil/coil = W
+ var/obj/item/stack/cable_coil/coil = W
var/turf/T = user.loc
@@ -125,9 +125,9 @@
return
if(src.d1) // 0-X cables are 1 unit, X-X cables are 2 units long
- new/obj/item/weapon/cable_coil(T, 2, color)
+ new/obj/item/stack/cable_coil(T, 2, color)
else
- new/obj/item/weapon/cable_coil(T, 1, color)
+ new/obj/item/stack/cable_coil(T, 1, color)
for(var/mob/O in viewers(src, null))
O.show_message("[user] cuts the cable.", 1)
@@ -148,8 +148,8 @@
return // not needed, but for clarity
- 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))
@@ -189,23 +189,24 @@
del(src)
if(2.0)
if (prob(50))
- new/obj/item/weapon/cable_coil(src.loc, src.d1 ? 2 : 1, color)
+ new/obj/item/stack/cable_coil(src.loc, src.d1 ? 2 : 1, color)
del(src)
if(3.0)
if (prob(25))
- new/obj/item/weapon/cable_coil(src.loc, src.d1 ? 2 : 1, color)
+ new/obj/item/stack/cable_coil(src.loc, src.d1 ? 2 : 1, color)
del(src)
return
// the cable coil object, used for laying cable
#define MAXCOIL 30
-/obj/item/weapon/cable_coil
+/obj/item/stack/cable_coil
name = "cable coil"
icon = 'icons/obj/power.dmi'
icon_state = "coil"
- var/amount = MAXCOIL
+ amount = MAXCOIL
+ max_amount = MAXCOIL
item_color = COLOR_RED
desc = "A coil of power cable."
throwforce = 10
@@ -223,7 +224,7 @@
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)
..()
src.amount = length
if (param_color)
@@ -235,7 +236,7 @@
updateicon()
update_wclass()
-/obj/item/weapon/cable_coil/proc/updateicon()
+/obj/item/stack/cable_coil/proc/updateicon()
if (!color)
color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_ORANGE, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN)
item_color = color
@@ -249,13 +250,13 @@
icon_state = "coil"
name = "cable coil"
-/obj/item/weapon/cable_coil/proc/update_wclass()
+/obj/item/stack/cable_coil/proc/update_wclass()
if(amount == 1)
w_class = 1.0
else
w_class = 2.0
-/obj/item/weapon/cable_coil/examine()
+/obj/item/stack/cable_coil/examine()
set src in view(1)
if(amount == 1)
@@ -265,7 +266,7 @@
else
usr << "A coil of power cable. There are [amount] lengths of cable in the coil."
-/obj/item/weapon/cable_coil/verb/make_restraint()
+/obj/item/stack/cable_coil/verb/make_restraint()
set name = "Make Cable Restraints"
set category = "Object"
var/mob/M = usr
@@ -283,54 +284,61 @@
usr << "\blue You cannot do that."
..()
-/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) && src.amount > 1)
src.amount--
- new/obj/item/weapon/cable_coil(user.loc, 1,item_color)
+ new/obj/item/stack/cable_coil(user.loc, 1,item_color)
user << "You cut a piece off the cable coil."
src.updateicon()
src.update_wclass()
return
- else if( istype(W, /obj/item/weapon/cable_coil) )
- var/obj/item/weapon/cable_coil/C = W
- if(C.amount == MAXCOIL)
- user << "The coil is too long, you cannot add any more cable to it."
+ else if( istype(W, /obj/item/stack/cable_coil) )
+ var/obj/item/stack/cable_coil/C = W
+ if(C.amount >= MAXCOIL)
+ user << "The coil is too long, you cannot add any more cable to it."
return
if( (C.amount + src.amount <= MAXCOIL) )
- C.amount += src.amount
- user << "You join the cable coils together."
- C.updateicon()
- C.update_wclass()
- del(src)
- return
+ user << "You join the cable coils together."
+ C.add(src.amount) // give it cable
+ src.use(src.amount) // make sure this one cleans up right
else
- user << "You transfer [MAXCOIL - C.amount ] length\s of cable from one coil to the other."
- src.amount -= (MAXCOIL-C.amount)
- src.updateicon()
- src.update_wclass()
- C.amount = MAXCOIL
- C.updateicon()
- C.update_wclass()
- return
+ var/amt = MAXCOIL - C.amount
+ user << "You transfer [amt] length\s of cable from one coil to the other."
+ C.add(amt)
+ src.use(amt)
+ return
+ ..()
-/obj/item/weapon/cable_coil/proc/use(var/used)
- if(src.amount < used)
- return 0
- else if (src.amount == used)
- del(src)
+/obj/item/stack/cable_coil/attack_hand(mob/user as mob)
+ if (user.get_inactive_hand() == src)
+ var/obj/item/stack/cable_coil/F = new /obj/item/stack/cable_coil(user, 1, color)
+ F.copy_evidences(src)
+ user.put_in_hands(F)
+ src.add_fingerprint(user)
+ F.add_fingerprint(user)
+ use(1)
else
- amount -= used
- updateicon()
- update_wclass()
- return 1
+ ..()
+ return
+
+/obj/item/stack/cable_coil/use(var/used)
+ . = ..()
+ updateicon()
+ update_wclass()
+ return
+
+/obj/item/stack/cable_coil/add(var/extra)
+ . = ..()
+ updateicon()
+ update_wclass()
+ return
// 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
@@ -422,7 +430,7 @@
use(1)
if (C.shock(user, 50))
if (prob(50)) //fail
- new/obj/item/weapon/cable_coil(C.loc, 1, C.color)
+ new/obj/item/stack/cable_coil(C.loc, 1, C.color)
del(C)
//src.laying = 1
//last = C
@@ -430,7 +438,7 @@
// called when cable_coil is click on an installed obj/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))
@@ -482,7 +490,7 @@
use(1)
if (NC.shock(user, 50))
if (prob(50)) //fail
- new/obj/item/weapon/cable_coil(NC.loc, 1, NC.color)
+ new/obj/item/stack/cable_coil(NC.loc, 1, NC.color)
del(NC)
return
@@ -521,7 +529,7 @@
use(1)
if (C.shock(user, 50))
if (prob(50)) //fail
- new/obj/item/weapon/cable_coil(C.loc, 2, C.color)
+ new/obj/item/stack/cable_coil(C.loc, 2, C.color)
del(C)
return
@@ -599,10 +607,10 @@ obj/structure/cable/proc/cableColor(var/colorC)
color_n = colorC
color = color_n
-/obj/item/weapon/cable_coil/cut
+/obj/item/stack/cable_coil/cut
item_state = "coil2"
-/obj/item/weapon/cable_coil/cut/New(loc)
+/obj/item/stack/cable_coil/cut/New(loc)
..()
src.amount = rand(1,2)
pixel_x = rand(-2,2)
@@ -610,32 +618,32 @@ obj/structure/cable/proc/cableColor(var/colorC)
updateicon()
update_wclass()
-/obj/item/weapon/cable_coil/yellow
+/obj/item/stack/cable_coil/yellow
item_color = COLOR_YELLOW
-/obj/item/weapon/cable_coil/blue
+/obj/item/stack/cable_coil/blue
item_color = COLOR_BLUE
-/obj/item/weapon/cable_coil/green
+/obj/item/stack/cable_coil/green
item_color = COLOR_GREEN
-/obj/item/weapon/cable_coil/pink
+/obj/item/stack/cable_coil/pink
item_color = COLOR_PINK
-/obj/item/weapon/cable_coil/orange
+/obj/item/stack/cable_coil/orange
item_color = COLOR_ORANGE
-/obj/item/weapon/cable_coil/cyan
+/obj/item/stack/cable_coil/cyan
item_color = COLOR_CYAN
-/obj/item/weapon/cable_coil/white
+/obj/item/stack/cable_coil/white
item_color = COLOR_WHITE
-/obj/item/weapon/cable_coil/random/New()
+/obj/item/stack/cable_coil/random/New()
item_color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN)
..()
-/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)
diff --git a/code/modules/power/cable_heavyduty.dm b/code/modules/power/cable_heavyduty.dm
index 6d701ca402..36bd4f93eb 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))
usr << "\blue These cables are too tough to be cut with those [W.name]."
return
- else if(istype(W, /obj/item/weapon/cable_coil))
+ else if(istype(W, /obj/item/stack/cable_coil))
usr << "\blue 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 d7238c5658..aebe60c5f9 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -128,15 +128,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(src.loc, '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/pacman2.dm b/code/modules/power/pacman2.dm
index 497148bb33..44fd17499d 100644
--- a/code/modules/power/pacman2.dm
+++ b/code/modules/power/pacman2.dm
@@ -35,8 +35,8 @@
component_parts = list()
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(src)
- component_parts += new /obj/item/weapon/cable_coil(src)
- component_parts += new /obj/item/weapon/cable_coil(src)
+ component_parts += new /obj/item/stack/cable_coil(src)
+ component_parts += new /obj/item/stack/cable_coil(src)
component_parts += new /obj/item/weapon/stock_parts/capacitor(src)
component_parts += new board_path(src)
RefreshParts()
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index 2b05440aa3..55f95624fb 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -115,8 +115,8 @@ display round(lastgen) and phorontank amount
component_parts = list()
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(src)
- component_parts += new /obj/item/weapon/cable_coil(src)
- component_parts += new /obj/item/weapon/cable_coil(src)
+ component_parts += new /obj/item/stack/cable_coil(src)
+ component_parts += new /obj/item/stack/cable_coil(src)
component_parts += new /obj/item/weapon/stock_parts/capacitor(src)
component_parts += new board_path(src)
var/obj/sheet = new sheet_path(null)
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index 0edd242761..497718d510 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -214,9 +214,9 @@
open_hatch = 0
user << "You close the maintenance hatch of [src]."
if (open_hatch)
- if(istype(W, /obj/item/weapon/cable_coil) && !terminal && !building_terminal)
+ if(istype(W, /obj/item/stack/cable_coil) && !terminal && !building_terminal)
building_terminal = 1
- var/obj/item/weapon/cable_coil/CC = W
+ var/obj/item/stack/cable_coil/CC = W
if (CC.amount < 10)
user << "You need more cables."
building_terminal = 0
@@ -248,7 +248,7 @@
s.start()
building_terminal = 0
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/projectiles/guns/projectile/crossbow.dm b/code/modules/projectiles/guns/projectile/crossbow.dm
index 84bd0d096a..41635b6397 100644
--- a/code/modules/projectiles/guns/projectile/crossbow.dm
+++ b/code/modules/projectiles/guns/projectile/crossbow.dm
@@ -228,8 +228,8 @@
buildstate++
update_icon()
return
- else if(istype(W,/obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/C = W
+ else if(istype(W,/obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C = W
if(buildstate == 2)
if(C.amount >= 5)
C.use(5)
diff --git a/code/modules/reagents/reagent_containers/food/snacks/grown.dm b/code/modules/reagents/reagent_containers/food/snacks/grown.dm
index c93de6ad17..9c887171bb 100644
--- a/code/modules/reagents/reagent_containers/food/snacks/grown.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks/grown.dm
@@ -84,7 +84,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) del(W)
diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm
index b7011cd261..99b4719e28 100644
--- a/code/modules/research/server.dm
+++ b/code/modules/research/server.dm
@@ -19,8 +19,8 @@
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/rdserver(src)
component_parts += new /obj/item/weapon/stock_parts/scanning_module(src)
- component_parts += new /obj/item/weapon/cable_coil(src)
- component_parts += new /obj/item/weapon/cable_coil(src)
+ component_parts += new /obj/item/stack/cable_coil(src)
+ component_parts += new /obj/item/stack/cable_coil(src)
RefreshParts()
src.initialize(); //Agouri
diff --git a/code/modules/shieldgen/circuits_and_designs.dm b/code/modules/shieldgen/circuits_and_designs.dm
index 0d948d1cde..a831d40798 100644
--- a/code/modules/shieldgen/circuits_and_designs.dm
+++ b/code/modules/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 (Bubble 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 (Shield capacitor)"
diff --git a/code/modules/shieldgen/emergency_shield.dm b/code/modules/shieldgen/emergency_shield.dm
index 7ab3afd006..20c5df5c4d 100644
--- a/code/modules/shieldgen/emergency_shield.dm
+++ b/code/modules/shieldgen/emergency_shield.dm
@@ -299,8 +299,8 @@
user << "\blue You open the panel and expose the wiring."
is_open = 1
- else if(istype(W, /obj/item/weapon/cable_coil) && malfunction && is_open)
- var/obj/item/weapon/cable_coil/coil = W
+ else if(istype(W, /obj/item/stack/cable_coil) && malfunction && is_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/modules/surgery/braincore.dm b/code/modules/surgery/braincore.dm
index 267e989a41..3e05a4e4b0 100644
--- a/code/modules/surgery/braincore.dm
+++ b/code/modules/surgery/braincore.dm
@@ -157,7 +157,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
)
min_duration = 90
diff --git a/code/modules/surgery/eye.dm b/code/modules/surgery/eye.dm
index 69e238679e..9504b43a60 100644
--- a/code/modules/surgery/eye.dm
+++ b/code/modules/surgery/eye.dm
@@ -79,7 +79,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 7c04800f5a..36a4e99788 100644
--- a/code/modules/surgery/face.dm
+++ b/code/modules/surgery/face.dm
@@ -47,7 +47,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 5109b72ef2..9ded7beb50 100644
--- a/code/modules/surgery/generic.dm
+++ b/code/modules/surgery/generic.dm
@@ -146,7 +146,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 72da44cc81..c08b109e3c 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
min_duration = 80
@@ -88,7 +88,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)
min_duration = 80
diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm
index 7d113950e2..67f3cb82de 100644
--- a/code/modules/surgery/other.dm
+++ b/code/modules/surgery/other.dm
@@ -8,7 +8,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
blood_level = 1
diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm
index c018064349..c15c587efd 100644
--- a/code/modules/vehicles/vehicle.dm
+++ b/code/modules/vehicles/vehicle.dm
@@ -197,7 +197,7 @@
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.forceMove(Tsec)
diff --git a/code/unused/Agouri_stuff.dm b/code/unused/Agouri_stuff.dm
index de3fa1a031..3844884fe0 100644
--- a/code/unused/Agouri_stuff.dm
+++ b/code/unused/Agouri_stuff.dm
@@ -1630,9 +1630,9 @@ turf/simulated/floor/return_siding_icon_state()
user << "\blue 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())
- var/obj/item/weapon/cable_coil/coil = C
+ var/obj/item/stack/cable_coil/coil = C
coil.turf_place(src, user)
else
user << "\red You must remove the plating first."
diff --git a/code/unused/computer2/buildandrepair.dm b/code/unused/computer2/buildandrepair.dm
index 1e1a77afce..69e7b5fb82 100644
--- a/code/unused/computer2/buildandrepair.dm
+++ b/code/unused/computer2/buildandrepair.dm
@@ -84,7 +84,7 @@
W.loc = src.loc
src.peripherals.Remove(W)
- if(istype(P, /obj/item/weapon/cable_coil))
+ if(istype(P, /obj/item/stack/cable_coil))
if(P:amount >= 5)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
if(do_after(user, 20))
@@ -99,7 +99,7 @@
user << "\blue 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
if(src.hd)
src.hd.loc = src.loc
diff --git a/code/unused/conveyor.dm b/code/unused/conveyor.dm
index 55581eb234..2e31653790 100644
--- a/code/unused/conveyor.dm
+++ b/code/unused/conveyor.dm
@@ -80,7 +80,7 @@
if(C)
M.buckled = C
else
- new/obj/item/weapon/cable_coil/cut(M.loc)
+ new/obj/item/stack/cable_coil/cut(M.loc)
else
step(M,movedir)
else
@@ -97,7 +97,7 @@
G.affecting.Move(src.loc)
del(G)
return
- else if(istype(I, /obj/item/weapon/cable_coil)) // if cable, see if a mob is present
+ else if(istype(I, /obj/item/stack/cable_coil)) // if cable, see if a mob is present
var/mob/M = locate() in src.loc
if(M)
if (M == user)
diff --git a/code/unused/hivebot/hive_modules.dm b/code/unused/hivebot/hive_modules.dm
index 404e500951..c0ae3196ca 100644
--- a/code/unused/hivebot/hive_modules.dm
+++ b/code/unused/hivebot/hive_modules.dm
@@ -52,6 +52,6 @@
G.amount = 50
src.modules += G
- 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
src.modules += W
diff --git a/code/unused/pipe_filter.dm b/code/unused/pipe_filter.dm
index 8c67b9031f..10f0673728 100644
--- a/code/unused/pipe_filter.dm
+++ b/code/unused/pipe_filter.dm
@@ -118,11 +118,11 @@
user.show_message(text("\red Done!"),1)
src.updateicon()
return
- if(istype(W, /obj/item/weapon/cable_coil) && !bypassed)
+ if(istype(W, /obj/item/stack/cable_coil) && !bypassed)
if(src.locked)
user.show_message(text("\red You must remove the panel first!"),1)
return
- var/obj/item/weapon/cable_coil/C = W
+ var/obj/item/stack/cable_coil/C = W
if(C.use(4))
user.show_message(text("\red You unravel some cable.."),1)
else
diff --git a/maps/RandomZLevels/Academy.dmm b/maps/RandomZLevels/Academy.dmm
index 8a46a084eb..878f74e61a 100644
--- a/maps/RandomZLevels/Academy.dmm
+++ b/maps/RandomZLevels/Academy.dmm
@@ -125,7 +125,7 @@
"cu" = (/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
"cv" = (/obj/machinery/door/window{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
"cw" = (/obj/structure/table,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster)
-"cx" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/weapon/cable_coil/random,/turf/simulated/floor,/area/awaymission/academy/classrooms)
+"cx" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/awaymission/academy/classrooms)
"cy" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/awaymission/academy/classrooms)
"cz" = (/obj/item/target,/turf/simulated/floor/engine,/area/awaymission/academy/classrooms)
"cA" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/awaymission/academy/classrooms)
@@ -440,7 +440,7 @@
"ix" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/rack,/obj/item/stack/sheet/metal,/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft)
"iy" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft)
"iz" = (/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/awaymission/academy/academyaft)
-"iA" = (/obj/item/weapon/cable_coil/random,/turf/simulated/floor,/area/awaymission/academy/academyaft)
+"iA" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/awaymission/academy/academyaft)
"iB" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
"iC" = (/obj/item/device/multitool,/turf/simulated/floor/engine,/area/awaymission/academy/academyaft)
"iD" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine,/area/awaymission/academy/academyaft)
@@ -515,7 +515,7 @@
"jU" = (/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
"jV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
"jW" = (/obj/machinery/power/apc{dir = 1; environ = 3; equipment = 3; locked = 0; req_access = ""},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
-"jX" = (/obj/item/weapon/cable_coil/random,/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
+"jX" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
"jY" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
"jZ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
"ka" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
diff --git a/maps/RandomZLevels/blackmarketpackers.dmm b/maps/RandomZLevels/blackmarketpackers.dmm
index 4e2f97a313..d6c1ca8455 100644
--- a/maps/RandomZLevels/blackmarketpackers.dmm
+++ b/maps/RandomZLevels/blackmarketpackers.dmm
@@ -331,13 +331,13 @@
"gs" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/BMPship1)
"gt" = (/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/BMPship1)
"gu" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/BMPship1)
-"gv" = (/obj/item/weapon/cable_coil,/turf/simulated/floor,/area/awaymission/BMPship1)
+"gv" = (/obj/item/stack/cable_coil,/turf/simulated/floor,/area/awaymission/BMPship1)
"gw" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/BMPship1)
"gx" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area)
"gy" = (/turf/simulated/floor/plating/airless{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/awaymission/BMPship3)
"gz" = (/obj/structure/lattice,/turf/space,/area/awaymission/BMPship3)
"gA" = (/turf/simulated/floor/plating/airless{tag = "icon-platingdmg3"; icon_state = "platingdmg3"},/area/awaymission/BMPship3)
-"gB" = (/obj/item/weapon/cable_coil{amount = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship3)
+"gB" = (/obj/item/stack/cable_coil{amount = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship3)
"gC" = (/obj/item/weapon/shard{icon_state = "small"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship3)
"gD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/awaymission/BMPship3)
"gE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless{tag = "icon-platingdmg3"; icon_state = "platingdmg3"},/area/awaymission/BMPship3)
@@ -400,7 +400,7 @@
"hJ" = (/turf/simulated/floor/plating{tag = "icon-platingdmg3"; icon_state = "platingdmg3"},/area/awaymission)
"hK" = (/obj/item/apc_frame,/turf/simulated/floor/plating/airless,/area/awaymission)
"hL" = (/obj/structure/ore_box,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission)
-"hM" = (/obj/item/weapon/cable_coil{amount = 5},/turf/simulated/floor/plating/airless,/area/awaymission)
+"hM" = (/obj/item/stack/cable_coil{amount = 5},/turf/simulated/floor/plating/airless,/area/awaymission)
"hN" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless,/area/awaymission)
"hO" = (/obj/machinery/computer/arcade,/turf/simulated/floor,/area/awaymission/BMPship1)
"hP" = (/obj/effect/decal/remains/human,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/awaymission/BMPship1)
diff --git a/maps/RandomZLevels/example.dmm b/maps/RandomZLevels/example.dmm
index 18e6eb0dc6..246137e61d 100644
--- a/maps/RandomZLevels/example.dmm
+++ b/maps/RandomZLevels/example.dmm
@@ -102,7 +102,7 @@
"bX" = (/obj/structure/table,/obj/item/device/analyzer,/turf/simulated/floor,/area/awaymission/example)
"bY" = (/obj/structure/table,/obj/item/weapon/rack_parts,/turf/simulated/floor,/area/awaymission/example)
"bZ" = (/obj/structure/table,/obj/item/device/toner,/turf/simulated/floor,/area/awaymission/example)
-"ca" = (/obj/structure/table,/obj/item/weapon/wirecutters,/obj/item/weapon/cable_coil/yellow,/turf/simulated/floor,/area/awaymission/example)
+"ca" = (/obj/structure/table,/obj/item/weapon/wirecutters,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor,/area/awaymission/example)
"cb" = (/obj/structure/table,/obj/item/weapon/wrench,/turf/simulated/floor,/area/awaymission/example)
"cc" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/awaymission/example)
"cd" = (/obj/structure/ladder{id = "example"},/turf/simulated/floor/plating,/area/awaymission/example)
diff --git a/maps/RandomZLevels/stationCollision.dmm b/maps/RandomZLevels/stationCollision.dmm
index d213d8c245..e401ac1ed4 100644
--- a/maps/RandomZLevels/stationCollision.dmm
+++ b/maps/RandomZLevels/stationCollision.dmm
@@ -204,7 +204,7 @@
"dV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/northblock)
"dW" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
"dX" = (/obj/item/weapon/table_parts,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
-"dY" = (/obj/structure/table,/obj/item/weapon/cable_coil{amount = 5},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
+"dY" = (/obj/structure/table,/obj/item/stack/cable_coil{amount = 5},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
"dZ" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
"ea" = (/obj/machinery/light,/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
"eb" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
@@ -248,7 +248,7 @@
"eN" = (/obj/machinery/power/apc{cell_type = 5000; dir = 4; name = "North Block APC"; pixel_x = 28},/obj/structure/cable,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/awaymission/northblock)
"eO" = (/obj/structure/window/reinforced,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/northblock)
"eP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/northblock)
-"eQ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/grown/potato,/obj/item/weapon/cable_coil{amount = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
+"eQ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/grown/potato,/obj/item/stack/cable_coil{amount = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
"eR" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
"eS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
"eT" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/book/manual/research_and_development,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
@@ -271,7 +271,7 @@
"fk" = (/obj/structure/table,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/northblock)
"fl" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/awaymission/northblock)
"fm" = (/obj/machinery/door/airlock/gold{name = "Airlock"},/turf/simulated/floor,/area/awaymission/northblock)
-"fn" = (/obj/structure/table,/obj/item/weapon/cable_coil,/obj/item/weapon/cable_coil{pixel_x = -3; pixel_y = 5},/obj/item/weapon/cell/crap,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
+"fn" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 5},/obj/item/weapon/cell/crap,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
"fo" = (/obj/structure/table,/obj/item/weapon/stock_parts/matter_bin{pixel_x = 3},/obj/item/weapon/stock_parts/matter_bin{pixel_x = -3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
"fp" = (/obj/machinery/door/window/eastleft{name = "Windoor"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
"fq" = (/obj/structure/target_stake,/obj/item/target/syndicate,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research)
diff --git a/maps/RandomZLevels/zresearchlabs.dmm b/maps/RandomZLevels/zresearchlabs.dmm
index 64416038fd..28309859e9 100644
--- a/maps/RandomZLevels/zresearchlabs.dmm
+++ b/maps/RandomZLevels/zresearchlabs.dmm
@@ -17,7 +17,7 @@
"aq" = (/obj/machinery/door/airlock/maintenance_hatch{name = "Underground Maintenance"},/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"ar" = (/obj/effect/critter/fleshmonster,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"as" = (/obj/effect/critter/fleshmonster,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
-"at" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
+"at" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"au" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"av" = (/obj/structure/table,/obj/item/weapon/camera_assembly,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"aw" = (/obj/machinery/power/port_gen,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
@@ -33,7 +33,7 @@
"aG" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"aH" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"aI" = (/turf/unsimulated/desert,/area/awaymission/labs/cave)
-"aJ" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/weapon/cable_coil{pixel_x = 0; pixel_y = 3},/obj/item/weapon/cable_coil{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/labs/cave)
+"aJ" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/stack/cable_coil{pixel_x = 0; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"aK" = (/obj/structure/table,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"aL" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/camera{c_tag = "Engineering SMES Room"; dir = 4; network = "SS13"},/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"aM" = (/obj/structure/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/module/power_control,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
@@ -60,7 +60,7 @@
"bh" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"bi" = (/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/dirt,/obj/effect/landmark/corpse/alien/laborer,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
"bj" = (/obj/effect/critter/fleshmonster,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave)
-"bk" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/weapon/circuitboard/autolathe,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave)
+"bk" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/weapon/circuitboard/autolathe,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave)
"bl" = (/obj/effect/decal/cleanable/blood/tracks,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave)
"bm" = (/obj/structure/door_assembly/door_assembly_research,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave)
"bn" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating,/area/awaymission/labs/cave)
@@ -470,7 +470,7 @@
"jb" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/researchdivision)
"jc" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/research_and_development{pixel_x = -1; pixel_y = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision)
"jd" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision)
-"je" = (/obj/structure/table/reinforced,/obj/item/weapon/cable_coil{pixel_y = 3},/obj/item/weapon/cable_coil{pixel_y = 3},/obj/item/weapon/cable_coil{pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision)
+"je" = (/obj/structure/table/reinforced,/obj/item/stack/cable_coil{pixel_y = 3},/obj/item/stack/cable_coil{pixel_y = 3},/obj/item/stack/cable_coil{pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision)
"jf" = (/obj/structure/table,/turf/simulated/floor/plating,/area/awaymission/labs/solars)
"jg" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/awaymission/labs/solars)
"jh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/labs/solars)
@@ -618,7 +618,7 @@
"lT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "solarpanel"; temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"})
"lU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/labs/solars)
"lV" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/awaymission/labs/solars)
-"lW" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_y = -3},/obj/item/weapon/cable_coil{pixel_y = 3},/obj/item/weapon/cable_coil{pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/labs/solars)
+"lW" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_y = -3},/obj/item/stack/cable_coil{pixel_y = 3},/obj/item/stack/cable_coil{pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/labs/solars)
"lX" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"})
"lY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"})
"lZ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"})
diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm
index b13c0978bc..4dee33e459 100644
--- a/maps/tgstation2.dmm
+++ b/maps/tgstation2.dmm
@@ -115,7 +115,7 @@
"ack" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"acl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"acm" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/fore)
-"acn" = (/obj/item/weapon/cable_coil/random,/turf/space,/area/space)
+"acn" = (/obj/item/stack/cable_coil/random,/turf/space,/area/space)
"aco" = (/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
"acp" = (/obj/effect/decal/cleanable/blood/oil/streak,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"acq" = (/obj/structure/cable,/obj/machinery/power/solar_control{id = "auxsolarnorth"; name = "Fore Solar Control"; track = 0},/turf/simulated/floor/plating,/area/solar/fore)
@@ -1201,7 +1201,7 @@
"axe" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/camera{c_tag = "Auxiliary Tool Storage"; dir = 2},/turf/simulated/floor,/area/storage/tools)
"axf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
"axg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"axh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; icon_state = "map_vent_out"; on = 1},/obj/structure/table,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/turf/simulated/floor,/area/storage/art)
+"axh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; icon_state = "map_vent_out"; on = 1},/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/storage/art)
"axi" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/hallway/primary/port)
"axj" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"axk" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
@@ -1622,7 +1622,7 @@
"aFj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aFk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/port)
"aFl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"aFm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/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/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
+"aFm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/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/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
"aFn" = (/obj/machinery/suit_cycler/medical,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
"aFo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A. Cycler Access"; req_access_txt = "0"; req_one_access_txt = "1;5;11;18;24"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"aFp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/storage/emergency2)
@@ -2321,7 +2321,7 @@
"aSG" = (/obj/structure/closet/secure_closet/personal,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/crew_quarters/locker)
"aSH" = (/obj/structure/closet/wardrobe/mixed,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor,/area/crew_quarters/locker)
"aSI" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor,/area/crew_quarters/locker)
-"aSJ" = (/obj/structure/table,/obj/item/weapon/cable_coil/random,/obj/item/weapon/cable_coil/random,/turf/simulated/floor,/area/storage/art)
+"aSJ" = (/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/storage/art)
"aSK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/storage/art)
"aSL" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/camera{c_tag = "Dormitory Bedroom 2"},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep/bedrooms)
"aSM" = (/obj/machinery/light_switch{pixel_y = 28},/obj/structure/closet/hydrant{pixel_x = -32},/turf/simulated/floor/plating,/area/storage/emergency2)
@@ -3508,7 +3508,7 @@
"bpx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
"bpy" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/assembly/chargebay)
"bpz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/assembly/robotics)
-"bpA" = (/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/assembly/robotics)
+"bpA" = (/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/assembly/robotics)
"bpB" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor,/area/assembly/robotics)
"bpC" = (/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics)
"bpD" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/assembly/robotics)
@@ -4767,7 +4767,7 @@
"bNI" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
"bNJ" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
"bNK" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
-"bNL" = (/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/rnd/lab)
+"bNL" = (/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/rnd/lab)
"bNM" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/crew_quarters/heads)
"bNN" = (/obj/structure/table/reinforced,/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"; req_access_txt = "0"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access_txt = "57"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor,/area/crew_quarters/heads)
"bNO" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/mining/station)
@@ -4816,7 +4816,7 @@
"bOF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
"bOG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/rnd/mixing)
"bOH" = (/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/medical/sleeper)
-"bOI" = (/obj/machinery/camera{c_tag = "Telescience Chamber"; dir = 8; network = list("Telesci Test Area")},/obj/structure/table,/obj/structure/table,/obj/item/weapon/cable_coil,/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/engine,/area/rnd/misc_lab)
+"bOI" = (/obj/machinery/camera{c_tag = "Telescience Chamber"; dir = 8; network = list("Telesci Test Area")},/obj/structure/table,/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/engine,/area/rnd/misc_lab)
"bOJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
"bOK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
"bOL" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/medbreak)
@@ -4846,7 +4846,7 @@
"bPj" = (/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,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/storage/tech)
"bPk" = (/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,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/storage/tech)
"bPl" = (/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},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/storage/tech)
-"bPm" = (/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)
+"bPm" = (/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)
"bPn" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
"bPo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/teleporter)
"bPp" = (/obj/machinery/atmospherics/unary/vent_pump{icon_state = "map_vent_out"; on = 1},/turf/simulated/floor{icon_state = "vault"; dir = 4},/area/security/nuke_storage)
@@ -5448,7 +5448,7 @@
"caN" = (/obj/effect/decal/cleanable/blood/oil{amount = 0},/turf/simulated/floor,/area/engine/workshop)
"caO" = (/turf/simulated/wall/r_wall,/area/engine/workshop)
"caP" = (/turf/simulated/floor,/area/engine/workshop)
-"caQ" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/cable_coil,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = 3},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engine/workshop)
+"caQ" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engine/workshop)
"caR" = (/obj/structure/stool/bed/chair,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engine/workshop)
"caS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engine/hallway)
"caT" = (/turf/simulated/floor,/area/engine/hallway)
@@ -6378,7 +6378,7 @@
"csH" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engine/engineering_monitoring)
"csI" = (/obj/machinery/light_construct,/obj/structure/rack,/obj/item/clothing/suit/storage/hazardvest,/obj/item/device/flashlight,/turf/simulated/floor,/area/construction)
"csJ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/starboard)
-"csK" = (/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/cable_coil,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/plating,/area/construction)
+"csK" = (/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/plating,/area/construction)
"csL" = (/obj/item/device/multitool,/turf/space,/area/space)
"csM" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/atmos,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northleft{name = "Atmospherics Hardsuits"; req_access_txt = "24"},/turf/simulated/floor,/area/engine/engine_eva)
"csN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/engine/engine_eva_maintenance)
@@ -6418,7 +6418,7 @@
"ctv" = (/turf/space,/area/syndicate_station/southwest)
"ctw" = (/turf/space,/area/syndicate_station/southeast)
"ctx" = (/turf/space,/area/syndicate_station/south)
-"cty" = (/obj/item/weapon/cable_coil,/turf/space,/area/space)
+"cty" = (/obj/item/stack/cable_coil,/turf/space,/area/space)
"ctz" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/turf/simulated/floor,/area/engine/hallway)
"ctA" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/lattice,/turf/space,/area/space)
"ctB" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/lattice,/turf/space,/area/space)
@@ -8034,7 +8034,7 @@
"cYz" = (/obj/item/weapon/shard,/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"cYA" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"cYB" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"cYC" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/weapon/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
+"cYC" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
"cYD" = (/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)
"cYE" = (/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)
"cYF" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
@@ -8649,7 +8649,7 @@
"dkq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station)
"dkr" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/item/weed_extract,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station)
"dks" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/item/robot_parts/chest,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station)
-"dkt" = (/obj/structure/table/reinforced,/obj/item/weapon/scalpel,/obj/item/weapon/cable_coil,/obj/item/weapon/storage/firstaid/regular,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station)
+"dkt" = (/obj/structure/table/reinforced,/obj/item/weapon/scalpel,/obj/item/stack/cable_coil,/obj/item/weapon/storage/firstaid/regular,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station)
"dku" = (/obj/structure/table/reinforced,/obj/item/weapon/circular_saw,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station)
"dkv" = (/obj/structure/table/reinforced,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/firstaid/toxin,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station)
"dkw" = (/obj/machinery/optable,/obj/item/brain,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station)
@@ -9018,7 +9018,7 @@
"drv" = (/obj/machinery/camera{c_tag = "South Solars"; dir = 4; network = list("Tcomsat")},/turf/space,/area/space)
"drw" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
"drx" = (/obj/structure/closet/hydrant{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
-"dry" = (/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)
+"dry" = (/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)
"drz" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
"drA" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
"drB" = (/obj/structure/transit_tube{icon_state = "NE-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
@@ -9703,7 +9703,7 @@
"dEE" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage)
"dEF" = (/obj/structure/table,/obj/item/clothing/suit/space/rig/engineering,/obj/item/clothing/head/helmet/space/rig/engineering,/turf/simulated/floor/plating,/area/djstation)
"dEG" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"dEH" = (/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_mothership)
+"dEH" = (/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_mothership)
"dEI" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
"dEJ" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/maint)
"dEK" = (/obj/machinery/artifact_analyser,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/bluegrid,/area/research_outpost/anomaly)