diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 23485ea9d5e..8b63badad6c 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -333,7 +333,64 @@
icon_state = "woodtable"
-/obj/structure/table/woodentable/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/table/woodentable/attackby(obj/item/I as obj, mob/user as mob)
+
+ if (istype(I, /obj/item/stack/tile/grass))
+ del(I)
+ new /obj/structure/table/woodentable/poker( src.loc )
+ del(src)
+ visible_message("[user] adds the grass to the wooden table")
+
+
+ if (istype(I, /obj/item/weapon/grab))
+ var/obj/item/weapon/grab/G = I
+ if(G.affecting.buckled)
+ user << "[G.affecting] is buckled to [G.affecting.buckled]!"
+ return
+ if(G.state < GRAB_AGGRESSIVE)
+ user << "You need a better grip to do that!"
+ return
+ if(!G.confirm())
+ return
+ G.affecting.loc = src.loc
+ G.affecting.Weaken(5)
+ visible_message("\red [G.assailant] puts [G.affecting] on the table.")
+ del(I)
+ return
+ if (istype(I, /obj/item/weapon/wrench))
+ user << "\blue Now disassembling the wooden table"
+ playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ sleep(50)
+ new /obj/item/weapon/table_parts/wood( src.loc )
+ playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
+ del(src)
+ return
+
+ if(isrobot(user))
+ return
+ if(istype(I, /obj/item/weapon/melee/energy/blade))
+ var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
+ spark_system.set_up(5, 0, src.loc)
+ spark_system.start()
+ playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
+ playsound(src.loc, "sparks", 50, 1)
+ for(var/mob/O in viewers(user, 4))
+ O.show_message("\blue The wooden table was sliced apart by [user]!", 1, "\red You hear wood coming apart.", 2)
+ new /obj/item/weapon/table_parts/wood( src.loc )
+ del(src)
+ return
+
+ user.drop_item(src)
+ //if(W && W.loc) W.loc = src.loc
+ return 1
+
+/obj/structure/table/woodentable/poker //No specialties, Just a mapping object.
+ name = "gambling table"
+ desc = "A seedy table for seedy dealings in seedy places."
+ icon_state = "pokertable"
+
+
+/obj/structure/table/woodentable/poker/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
@@ -355,6 +412,7 @@
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
sleep(50)
new /obj/item/weapon/table_parts/wood( src.loc )
+ new /obj/item/stack/tile/grass( src.loc)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
del(src)
return
@@ -370,17 +428,13 @@
for(var/mob/O in viewers(user, 4))
O.show_message("\blue The wooden table was sliced apart by [user]!", 1, "\red You hear wood coming apart.", 2)
new /obj/item/weapon/table_parts/wood( src.loc )
+ new /obj/item/stack/tile/grass( src.loc)
del(src)
return
user.drop_item(src)
- //if(W && W.loc) W.loc = src.loc
return 1
-/obj/structure/table/woodentable/poker //No specialties, Just a mapping object.
- name = "gambling table"
- desc = "A seedy table for seedy dealings in seedy places."
- icon_state = "pokertable"
/*
* Reinforced tables