From 54cffd53b4047fd9cc0503d3dfe8f9f407bafd01 Mon Sep 17 00:00:00 2001 From: Certh Date: Thu, 31 Dec 2015 10:29:57 +0100 Subject: [PATCH 1/3] Creating pool tables no longer uses up the entire stack of grass --- code/game/objects/structures/tables_racks.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 3cbad10c5c9..354a7c1b83c 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -566,7 +566,8 @@ /obj/structure/table/woodentable/attackby(obj/item/I as obj, mob/user as mob, params) if (istype(I, /obj/item/stack/tile/grass)) - qdel(I) + var/obj/item/stack/tile/grass/gr = I + gr.use(1) new /obj/structure/table/woodentable/poker( src.loc ) qdel(src) visible_message("[user] adds the grass to the wooden table") @@ -610,7 +611,7 @@ qdel(src) return - if(!(I.flags & ABSTRACT)) + if(!(I.flags & ABSTRACT) && !(istype(I, /obj/item/stack/tile/grass))) if(user.drop_item()) I.Move(loc) var/list/click_params = params2list(params) @@ -621,6 +622,7 @@ I.pixel_x = Clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2) I.pixel_y = Clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2) + return 1 /obj/structure/table/woodentable/poker //No specialties, Just a mapping object. From 4082b597975e029d2798531bf1f4613e5c9bc281 Mon Sep 17 00:00:00 2001 From: Certh Date: Thu, 31 Dec 2015 11:42:55 +0100 Subject: [PATCH 2/3] Dismantling girders now returns the same amount of metal as was used in construction the girders --- code/game/objects/structures/girders.dm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index d59055afdcf..1fa27723486 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -5,6 +5,11 @@ layer = TURF_LAYER + 0.9 var/state = 0 var/health = 200 + var/metalUsed = 2 //used to determine amount returned in deconstruction + +/obj/structure/girder/proc/refundMetal(metalAmount) //refunds metal used in construction when deconstructed + for(var/i=0;i < metalAmount;i++) + new /obj/item/stack/sheet/metal(get_turf(src)) /obj/structure/girder/attackby(obj/item/W as obj, mob/user as mob, params) if(istype(W, /obj/item/weapon/wrench) && state == 0) @@ -14,7 +19,7 @@ if(do_after(user,40, target = src)) if(!src) return user << "\blue You dissasembled the girder!" - new /obj/item/stack/sheet/metal(get_turf(src)) + refundMetal(metalUsed) qdel(src) else if(!anchored) playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) @@ -29,18 +34,18 @@ if(do_after(user,30, target = src)) if(!src) return user << "\blue You slice apart the girder!" - new /obj/item/stack/sheet/metal(get_turf(src)) + refundMetal(metalUsed) qdel(src) else if(istype(W, /obj/item/weapon/pickaxe/drill/diamonddrill)) user << "\blue You drill through the girder!" - new /obj/item/stack/sheet/metal(get_turf(src)) + refundMetal(metalUsed) qdel(src) else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer)) playsound(src.loc, 'sound/weapons/sonic_jackhammer.ogg', 100, 1) user << "You Disintegrate the girder!" - new /obj/item/stack/sheet/metal(get_turf(src)) + refundMetal(metalUsed) qdel(src) else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced)) From d69a6918405a90cabbf75911f2a6b469a08fb45e Mon Sep 17 00:00:00 2001 From: Certh Date: Thu, 31 Dec 2015 12:07:22 +0100 Subject: [PATCH 3/3] Dismantling table parts now returns same amount of metal as was used in construction --- code/game/objects/items/weapons/table_rack_parts.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/weapons/table_rack_parts.dm b/code/game/objects/items/weapons/table_rack_parts.dm index 6498aaa227a..d66945d1b75 100644 --- a/code/game/objects/items/weapons/table_rack_parts.dm +++ b/code/game/objects/items/weapons/table_rack_parts.dm @@ -50,6 +50,7 @@ /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 qdel(src)