Fixes table stacking, refactors table parts

This commit is contained in:
Tastyfish
2016-05-17 08:21:26 -04:00
parent e60ba418d0
commit d05fdccba4
@@ -15,6 +15,11 @@
materials = list(MAT_METAL=4000)
flags = CONDUCT
attack_verb = list("slammed", "bashed", "battered", "bludgeoned", "thrashed", "whacked")
var/upgradable = 1
var/result = /obj/structure/table
var/parts = list(
/obj/item/stack/sheet/metal,
/obj/item/stack/sheet/metal)
/obj/item/weapon/table_parts/reinforced
name = "reinforced table parts"
@@ -23,18 +28,33 @@
icon_state = "reinf_tableparts"
materials = list(MAT_METAL=8000)
flags = CONDUCT
upgradable = 0
result = /obj/structure/table/reinforced
parts = list(
/obj/item/stack/sheet/metal,
/obj/item/stack/rods)
/obj/item/weapon/table_parts/wood
name = "wooden table parts"
desc = "Keep away from fire."
icon_state = "wood_tableparts"
flags = null
upgradable = 0
result = /obj/structure/table/woodentable
parts = list(
/obj/item/stack/sheet/wood,
/obj/item/stack/sheet/wood)
/obj/item/weapon/table_parts/glass
name = "glass table parts"
desc = "fragile!"
icon_state = "glass_tableparts"
flags = null
upgradable = 0
result = /obj/structure/glasstable_frame
parts = list(
/obj/item/stack/sheet/metal,
/obj/item/stack/sheet/metal)
/obj/item/weapon/rack_parts
name = "rack parts"
@@ -49,71 +69,26 @@
*/
/obj/item/weapon/table_parts/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if (istype(W, /obj/item/weapon/wrench))
new /obj/item/stack/sheet/metal( user.loc )
new /obj/item/stack/sheet/metal( user.loc )
//SN src = null
if(istype(W, /obj/item/weapon/wrench))
for(var/p in parts)
new p(user.loc)
qdel(src)
if (istype(W, /obj/item/stack/rods))
if (W:amount >= 4)
new /obj/item/weapon/table_parts/reinforced( user.loc )
else if(upgradable && istype(W, /obj/item/stack/rods))
if(W:amount >= 4)
new /obj/item/weapon/table_parts/reinforced(user.loc)
to_chat(user, "\blue You reinforce the [name].")
W:use(4)
qdel(src)
else if (W:amount < 4)
else if(W:amount < 4)
to_chat(user, "\red You need at least four rods to do this.")
/obj/item/weapon/table_parts/attack_self(mob/user as mob)
new /obj/structure/table( user.loc )
for(var/obj/structure/table/T in user.loc)
to_chat(user, "<span class=warning>You can't build tables on top of tables!</span>")
return
new result(user.loc)
user.drop_item()
qdel(src)
return
/*
* Reinforced Table Parts
*/
/obj/item/weapon/table_parts/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/wrench))
new /obj/item/stack/sheet/metal( user.loc )
new /obj/item/stack/rods( user.loc )
qdel(src)
/obj/item/weapon/table_parts/reinforced/attack_self(mob/user as mob)
new /obj/structure/table/reinforced( user.loc )
user.drop_item()
qdel(src)
return
/*
* Wooden Table Parts
*/
/obj/item/weapon/table_parts/wood/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/wrench))
new /obj/item/stack/sheet/wood(get_turf(src))
new /obj/item/stack/sheet/wood(get_turf(src))
qdel(src)
/obj/item/weapon/table_parts/wood/attack_self(mob/user as mob)
new /obj/structure/table/woodentable( user.loc )
user.drop_item()
qdel(src)
return
/*
* Glass Table Parts
*/
/obj/item/weapon/table_parts/glass/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/wrench))
new /obj/item/stack/sheet/metal( user.loc )
new /obj/item/stack/sheet/metal( user.loc )
qdel(src)
/obj/item/weapon/table_parts/glass/attack_self(mob/user as mob)
new /obj/structure/glasstable_frame( user.loc )
user.drop_item()
qdel(src)
return
/*
* Rack Parts
@@ -121,14 +96,11 @@
/obj/item/weapon/rack_parts/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if (istype(W, /obj/item/weapon/wrench))
new /obj/item/stack/sheet/metal( user.loc )
new /obj/item/stack/sheet/metal(user.loc)
qdel(src)
return
return
/obj/item/weapon/rack_parts/attack_self(mob/user as mob)
var/obj/structure/rack/R = new /obj/structure/rack( user.loc )
var/obj/structure/rack/R = new /obj/structure/rack(user.loc)
R.add_fingerprint(user)
user.drop_item()
qdel(src)
return
qdel(src)