Cables are now stacks

This commit is contained in:
Kelenius
2014-08-25 18:54:35 +04:00
parent 23576ffdb6
commit a1348faa8c
70 changed files with 287 additions and 270 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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 << "<span class='notice'>You start to wire [src]...</span>"
sleep(40)

View File

@@ -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()

View File

@@ -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

View File

@@ -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))

View File

@@ -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))

View File

@@ -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)

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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) ? "- <a href='?src=\ref[src];toggle=1'>[!equip_ready?"Dea":"A"]ctivate</a>|<a href='?src=\ref[src];cut=1'>Cut</a>" : 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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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!"

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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()

View File

@@ -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)

View File

@@ -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)

View File

@@ -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))

View File

@@ -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 << "<span class='notice'>[src] is already rigged!</span>"
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()

View File

@@ -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")

View File

@@ -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"

View File

@@ -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."