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

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