diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 2fc7d0c8ee..ae3adf9c3b 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -53,7 +53,7 @@ /obj/item/weapon/soap/deluxe icon_state = "soapdeluxe" - + /obj/item/weapon/soap/deluxe/New() desc = "A deluxe Waffle Co. brand bar of soap. Smells of [pick("lavender", "vanilla", "strawberry", "chocolate" ,"space")]." @@ -316,6 +316,12 @@ icon_state = "wood_tableparts" flags = null +/obj/item/weapon/table_parts/gambling + name = "gamble table parts" + desc = "Keep away from security." + icon_state = "gamble_tableparts" + flags = null + /obj/item/weapon/wire desc = "This is just a simple piece of regular insulated wire." name = "wire" diff --git a/code/game/objects/items/weapons/table_rack_parts.dm b/code/game/objects/items/weapons/table_rack_parts.dm index d79fa0d7a6..b93e01e7cb 100644 --- a/code/game/objects/items/weapons/table_rack_parts.dm +++ b/code/game/objects/items/weapons/table_rack_parts.dm @@ -20,7 +20,7 @@ if (istype(W, /obj/item/stack/rods)) var/obj/item/stack/rods/R = W if (R.use(4)) - new /obj/item/weapon/table_parts/reinforced(user.loc) + new /obj/item/weapon/table_parts/reinforced(get_turf(loc)) user << "You reinforce the [name]." del(src) else @@ -38,8 +38,8 @@ */ /obj/item/weapon/table_parts/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/sheet/metal( user.loc ) - new /obj/item/stack/rods( user.loc ) + new /obj/item/stack/sheet/metal( get_turf(loc) ) + new /obj/item/stack/rods( get_turf(loc) ) del(src) /obj/item/weapon/table_parts/reinforced/attack_self(mob/user as mob) @@ -52,9 +52,17 @@ * Wooden Table Parts */ /obj/item/weapon/table_parts/wood/attackby(obj/item/weapon/W as obj, mob/user as mob) + ..() if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/sheet/wood( user.loc ) + new /obj/item/stack/sheet/wood( get_turf(loc) ) + //SN src = null del(src) + if (istype(W, /obj/item/stack/tile/carpet)) + var/obj/item/stack/tile/carpet/C = W + if (C.use(1)) + new /obj/item/weapon/table_parts/gambling(get_turf(loc)) + user << "You put a layer of carpet on the table." + del(src) /obj/item/weapon/table_parts/wood/attack_self(mob/user as mob) new /obj/structure/table/woodentable( user.loc ) @@ -62,13 +70,32 @@ del(src) return +/* + * Gambling Table Parts + */ +/obj/item/weapon/table_parts/gambling/attackby(obj/item/weapon/W as obj, mob/user as mob) + if (istype(W, /obj/item/weapon/wrench)) + new /obj/item/stack/sheet/wood( get_turf(loc) ) + new /obj/item/stack/tile/carpet( get_turf(loc) ) + del(src) + if (istype(W, /obj/item/weapon/crowbar)) + new /obj/item/stack/tile/carpet( get_turf(loc) ) + new /obj/item/weapon/table_parts/wood( get_turf(loc) ) + user << "You pry the carpet out of the table." + del(src) + +/obj/item/weapon/table_parts/gambling/attack_self(mob/user as mob) + new /obj/structure/table/gamblingtable( user.loc ) + user.drop_item() + del(src) + return /* * Rack Parts */ /obj/item/weapon/rack_parts/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/sheet/metal( user.loc ) + new /obj/item/stack/sheet/metal( get_turf(loc) ) del(src) return return diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 2bda55b93f..d3463b1e7e 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -226,6 +226,22 @@ icon_state = "wood_tabledir2" if(6) icon_state = "wood_tabledir3" + else if(istype(src,/obj/structure/table/gamblingtable)) + switch(table_type) + if(0) + icon_state = "gamble_table" + if(1) + icon_state = "gamble_1tileendtable" + if(2) + icon_state = "gamble_1tilethick" + if(3) + icon_state = "gamble_tabledir" + if(4) + icon_state = "gamble_middle" + if(5) + icon_state = "gamble_tabledir2" + if(6) + icon_state = "gamble_tabledir3" else switch(table_type) if(0) @@ -520,6 +536,15 @@ icon_state = "wood_table" parts = /obj/item/weapon/table_parts/wood health = 50 +/* + * Gambling tables + */ +/obj/structure/table/gamblingtable + name = "gambling table" + desc = "A curved wooden table with a thin carpet of green fabric." + icon_state = "gamble_table" + parts = /obj/item/weapon/table_parts/gambling + health = 50 /* * Reinforced tables */ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 2a427a1f31..9a51fcc9a7 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index 6a0a37bc58..a02adb87f0 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ